From c91011cb6469080ac02d10adbffa6ac385d6a6f9 Mon Sep 17 00:00:00 2001 From: Tipu_Singh Date: Fri, 20 Jun 2025 15:47:05 +0530 Subject: [PATCH 01/13] feat: added support for otel and signoz Signed-off-by: Tipu_Singh --- .env.demo | 7 + package.json | 10 + src/server.ts | 4 +- src/tracer.ts | 60 ++++++ src/utils/logger.ts | 45 +++- yarn.lock | 495 +++++++++++++++++++++++++++++++++++++++++++- 6 files changed, 611 insertions(+), 10 deletions(-) create mode 100644 src/tracer.ts diff --git a/.env.demo b/.env.demo index 1398f623..033e26aa 100644 --- a/.env.demo +++ b/.env.demo @@ -23,6 +23,13 @@ RPC_URL=https://polygon-rpc.com SERVER_URL=https://schema.credebl.id FILE_SERVER_TOKEN= +OTEL_SERVICE_NAME='CREDEBL-CREDO-CONTROLLER-SERVICE' +OTEL_SERVICE_VERSION='1.0.0' +OTEL_TRACES_OTLP_ENDPOINT='http://localhost:4318/v1/traces' +OTEL_LOGS_OTLP_ENDPOINT='http://localhost:4318/v1/logs' +OTEL_HEADERS_KEY='88caXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' +OTEL_LOGGER_NAME='credo-controller-logger' + BCOVRIN_TEST_GENESIS='{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"138.197.138.255","client_port":9702,"node_ip":"138.197.138.255","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node2","blskey":"37rAPpXVoxzKhz7d9gkUe52XuXryuLXoM6P6LbWDB7LSbG62Lsb33sfG7zqS8TK1MXwuCHj1FKNzVpsnafmqLG1vXN88rt38mNFs9TENzm4QHdBzsvCuoBnPH7rpYYDo9DZNJePaDvRvqJKByCabubJz3XXKbEeshzpz4Ma5QYpJqjk","blskey_pop":"Qr658mWZ2YC8JXGXwMDQTzuZCWF7NK9EwxphGmcBvCh6ybUuLxbG65nsX4JvD4SPNtkJ2w9ug1yLTj6fgmuDg41TgECXjLCij3RMsV8CwewBVgVN67wsA45DFWvqvLtu4rjNnE9JbdFTc1Z4WCPA3Xan44K1HoHAq9EVeaRYs8zoF5","client_ip":"138.197.138.255","client_port":9704,"node_ip":"138.197.138.255","node_port":9703,"services":["VALIDATOR"]},"dest":"8ECVSk179mjsjKRLWiQtssMLgp6EPhWXtaYyStWPSGAb"},"metadata":{"from":"EbP4aYNeTHL6q385GuVpRV"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"1ac8aece2a18ced660fef8694b61aac3af08ba875ce3026a160acbc3a3af35fc"},"ver":"1"} {"reqSignature":{},"txn":{"data":{"data":{"alias":"Node3","blskey":"3WFpdbg7C5cnLYZwFZevJqhubkFALBfCBBok15GdrKMUhUjGsk3jV6QKj6MZgEubF7oqCafxNdkm7eswgA4sdKTRc82tLGzZBd6vNqU8dupzup6uYUf32KTHTPQbuUM8Yk4QFXjEf2Usu2TJcNkdgpyeUSX42u5LqdDDpNSWUK5deC5","blskey_pop":"QwDeb2CkNSx6r8QC8vGQK3GRv7Yndn84TGNijX8YXHPiagXajyfTjoR87rXUu4G4QLk2cF8NNyqWiYMus1623dELWwx57rLCFqGh7N4ZRbGDRP4fnVcaKg1BcUxQ866Ven4gw8y4N56S5HzxXNBZtLYmhGHvDtk6PFkFwCvxYrNYjh","client_ip":"138.197.138.255","client_port":9706,"node_ip":"138.197.138.255","node_port":9705,"services":["VALIDATOR"]},"dest":"DKVxG2fXXTU8yT5N7hGEbXB3dfdAnYv1JczDUHpmDxya"},"metadata":{"from":"4cU41vWW82ArfxJxHkzXPG"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"7e9f355dffa78ed24668f0e0e369fd8c224076571c51e2ea8be5f26479edebe4"},"ver":"1"} diff --git a/package.json b/package.json index d4ea9547..34a040d4 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,16 @@ "@hyperledger/anoncreds-nodejs": "0.2.2", "@hyperledger/aries-askar-nodejs": "0.2.1", "@hyperledger/indy-vdr-nodejs": "0.2.2", + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/exporter-logs-otlp-http": "^0.202.0", + "@opentelemetry/exporter-trace-otlp-http": "^0.202.0", + "@opentelemetry/instrumentation-express": "^0.51.0", + "@opentelemetry/instrumentation-http": "^0.202.0", + "@opentelemetry/instrumentation-nestjs-core": "^0.48.0", + "@opentelemetry/resources": "^2.0.1", + "@opentelemetry/sdk-logs": "^0.202.0", + "@opentelemetry/sdk-node": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.34.0", "@tsoa/runtime": "^6.0.0", "@types/node-fetch": "^2.6.4", "@types/ref-struct-di": "^1.1.9", diff --git a/src/server.ts b/src/server.ts index e9a06f31..e9bd8ff4 100644 --- a/src/server.ts +++ b/src/server.ts @@ -1,4 +1,5 @@ -import 'reflect-metadata' +// eslint-disable-next-line import/order +import { otelSDK } from './tracer' import type { ServerConfig } from './utils/ServerConfig' import type { Response as ExResponse, Request as ExRequest, NextFunction } from 'express' @@ -28,6 +29,7 @@ import { ValidateError } from 'tsoa' dotenv.config() export const setupServer = async (agent: Agent, config: ServerConfig, apiKey?: string) => { + await otelSDK.start() container.registerInstance(Agent, agent) fs.writeFileSync('config.json', JSON.stringify(config, null, 2)) const app = config.app ?? express() diff --git a/src/tracer.ts b/src/tracer.ts new file mode 100644 index 00000000..116cc1e6 --- /dev/null +++ b/src/tracer.ts @@ -0,0 +1,60 @@ +/* eslint-disable import/order */ +/* eslint-disable no-console */ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-nocheck +import { NodeSDK } from '@opentelemetry/sdk-node' +import * as process from 'process' + +import { HttpInstrumentation } from '@opentelemetry/instrumentation-http' +import { ExpressInstrumentation } from '@opentelemetry/instrumentation-express' +import { NestInstrumentation } from '@opentelemetry/instrumentation-nestjs-core' + +import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http' +import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http' + +import { resourceFromAttributes } from '@opentelemetry/resources' +import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' + +import { LoggerProvider, BatchLogRecordProcessor } from '@opentelemetry/sdk-logs' +import { DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api' + +diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO) + +const resource = new resourceFromAttributes({ + [SemanticResourceAttributes.SERVICE_NAME]: process.env.OTEL_SERVICE_NAME, + [SemanticResourceAttributes.SERVICE_VERSION]: process.env.OTEL_SERVICE_VERSION, + [SemanticResourceAttributes.SERVICE_INSTANCE_ID]: process.env.HOSTNAME, +}) + +const traceExporter = new OTLPTraceExporter({ + url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT, + headers: { + Authorization: `Api-Key ${process.env.OTEL_HEADERS_KEY}`, + }, +}) + +const logExporter = new OTLPLogExporter({ + url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT, + headers: { + Authorization: `Api-Key ${process.env.OTEL_HEADERS_KEY}`, + }, +}) +const logProvider = new LoggerProvider({ resource }) +logProvider.addLogRecordProcessor(new BatchLogRecordProcessor(logExporter)) +export const otelLogger = logProvider.getLogger('credo-controller-logger') +export const otelLoggerProviderInstance = logProvider + +export const otelSDK = new NodeSDK({ + traceExporter, + resource, + instrumentations: [new HttpInstrumentation(), new ExpressInstrumentation(), new NestInstrumentation()], +}) + +if (typeof process?.on === 'function') { + process.on('SIGTERM', () => { + Promise.all([otelSDK.shutdown(), logProvider.shutdown()]) + .then(() => console.log('SDK and Logger shut down successfully')) + .catch((err) => console.error('Error during shutdown', err)) + .finally(() => process.exit(0)) + }) +} diff --git a/src/utils/logger.ts b/src/utils/logger.ts index 4ae1b57a..1505908d 100644 --- a/src/utils/logger.ts +++ b/src/utils/logger.ts @@ -1,11 +1,12 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ - import type { ILogObject } from 'tslog' import { LogLevel, BaseLogger } from '@credo-ts/core' import { appendFileSync } from 'fs' import { Logger } from 'tslog' +import { otelLogger } from '../tracer' + function logToTransport(logObject: ILogObject) { appendFileSync('logs.txt', JSON.stringify(logObject) + '\n') } @@ -13,7 +14,6 @@ function logToTransport(logObject: ILogObject) { export class TsLogger extends BaseLogger { private logger: Logger - // Map our log levels to tslog levels private tsLogLevelMap = { [LogLevel.test]: 'silly', [LogLevel.trace]: 'trace', @@ -24,12 +24,12 @@ export class TsLogger extends BaseLogger { [LogLevel.fatal]: 'fatal', } as const - public constructor(logLevel: LogLevel, name?: string) { + public constructor(logLevel: LogLevel, private readonly serviceName = 'credo-controller-service' as string) { super(logLevel) this.logger = new Logger({ - name, - minLevel: this.logLevel == LogLevel.off ? undefined : this.tsLogLevelMap[this.logLevel], + name: serviceName, + minLevel: logLevel === LogLevel.off ? undefined : this.tsLogLevelMap[logLevel], ignoreStackLevels: 5, attachedTransports: [ { @@ -42,14 +42,17 @@ export class TsLogger extends BaseLogger { error: logToTransport, fatal: logToTransport, }, - // always log to file minLevel: 'silly', }, ], }) } - private log(level: Exclude, message: string, data?: Record): void { + private log( + level: Exclude, + message: string | { message: string }, + data?: Record + ): void { const tsLogLevel = this.tsLogLevelMap[level] if (data) { @@ -57,6 +60,34 @@ export class TsLogger extends BaseLogger { } else { this.logger[tsLogLevel](message) } + otelLogger.emit({ + body: `${ + typeof message === 'string' + ? message + : typeof message === 'object' && 'message' in message + ? message.message + : '' + }`, + severityText: LogLevel[level].toUpperCase(), + attributes: { + source: this.serviceName, + ...(data || {}), + ...(data?.error + ? { + error: + typeof data.error === 'string' + ? data.error + : data.error instanceof Error + ? { + name: data.error.name, + message: data.error.message, + stack: data.error.stack, + } + : JSON.parse(JSON.stringify(data.error)), + } + : {}), + }, + }) } public test(message: string, data?: Record): void { diff --git a/yarn.lock b/yarn.lock index c7958edd..66fc0506 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1056,6 +1056,24 @@ resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== +"@grpc/grpc-js@^1.7.1": + version "1.13.4" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.13.4.tgz#922fbc496e229c5fa66802d2369bf181c1df1c5a" + integrity sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg== + dependencies: + "@grpc/proto-loader" "^0.7.13" + "@js-sdsl/ordered-map" "^4.4.2" + +"@grpc/proto-loader@^0.7.13": + version "0.7.15" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.15.tgz#4cdfbf35a35461fc843abe8b9e2c0770b5095e60" + integrity sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ== + dependencies: + lodash.camelcase "^4.3.0" + long "^5.0.0" + protobufjs "^7.2.5" + yargs "^17.7.2" + "@hapi/accept@^6.0.1": version "6.0.3" resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-6.0.3.tgz#eef0800a4f89cd969da8e5d0311dc877c37279ab" @@ -1646,6 +1664,11 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@js-sdsl/ordered-map@^4.4.2": + version "4.4.2" + resolved "https://registry.yarnpkg.com/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz#9299f82874bab9e4c7f9c48d865becbfe8d6907c" + integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== + "@mapbox/node-pre-gyp@^1.0.10", "@mapbox/node-pre-gyp@^1.0.11": version "1.0.11" resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" @@ -1714,6 +1737,314 @@ table "^6.8.0" undici "^5.14.0" +"@opentelemetry/api-logs@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.202.0.tgz#78ddb3b4a30232fd0916b99f27777b1936355d03" + integrity sha512-fTBjMqKCfotFWfLzaKyhjLvyEyq5vDKTTFfBmx21btv3gvy8Lq6N5Dh2OzqeuN4DjtpSvNT1uNVfg08eD2Rfxw== + dependencies: + "@opentelemetry/api" "^1.3.0" + +"@opentelemetry/api@^1.3.0", "@opentelemetry/api@^1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" + integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== + +"@opentelemetry/context-async-hooks@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-2.0.1.tgz#4416bc2df780c1dda1129afb9392d55831dd861d" + integrity sha512-XuY23lSI3d4PEqKA+7SLtAgwqIfc6E/E9eAQWLN1vlpC53ybO3o6jW4BsXo1xvz9lYyyWItfQDDLzezER01mCw== + +"@opentelemetry/core@2.0.1", "@opentelemetry/core@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-2.0.1.tgz#44e1149d5666a4743cde943ef89841db3ce0f8bc" + integrity sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw== + dependencies: + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/exporter-logs-otlp-grpc@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-logs-otlp-grpc/-/exporter-logs-otlp-grpc-0.202.0.tgz#f179be218f7acf8ae004c343c718af9958ef9a6a" + integrity sha512-Y84L8Yja/A2qjGEzC/To0yrMUXHrtwJzHtZ2za1/ulZplRe5QFsLNyHixIS42ZYUKuNyWMDgOFhnN2Pz5uThtg== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-grpc-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + "@opentelemetry/sdk-logs" "0.202.0" + +"@opentelemetry/exporter-logs-otlp-http@0.202.0", "@opentelemetry/exporter-logs-otlp-http@^0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.202.0.tgz#d04df38de696946aa9a09475ef2b7fceddafbd82" + integrity sha512-mJWLkmoG+3r+SsYQC+sbWoy1rjowJhMhFvFULeIPTxSI+EZzKPya0+NZ3+vhhgx2UTybGQlye3FBtCH3o6Rejg== + dependencies: + "@opentelemetry/api-logs" "0.202.0" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + "@opentelemetry/sdk-logs" "0.202.0" + +"@opentelemetry/exporter-logs-otlp-proto@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-logs-otlp-proto/-/exporter-logs-otlp-proto-0.202.0.tgz#6bb06346d350c97025f070f0ed652090e9475619" + integrity sha512-qYwbmNWPkP7AbzX8o4DRu5bb/a0TWYNcpZc1NEAOhuV7pgBpAUPEClxRWPN94ulIia+PfQjzFGMaRwmLGmNP6g== + dependencies: + "@opentelemetry/api-logs" "0.202.0" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-logs" "0.202.0" + "@opentelemetry/sdk-trace-base" "2.0.1" + +"@opentelemetry/exporter-metrics-otlp-grpc@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.202.0.tgz#1e41a129fdc1806d53d6a6712755e96952577fc6" + integrity sha512-/dq/rf4KCkTYoP+NyPXTE+5wjvfhAHSqK62vRsJ/IalG61VPQvwaL18yWcavbI+44ImQwtMeZxfIJSox7oQL0w== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/exporter-metrics-otlp-http" "0.202.0" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-grpc-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-metrics" "2.0.1" + +"@opentelemetry/exporter-metrics-otlp-http@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.202.0.tgz#a0d1e7c2e38d84a4dfc25679120dad056ed9a342" + integrity sha512-ooYcrf/m9ZuVGpQnER7WRH+JZbDPD389HG7VS/EnvIEF5WpNYEqf+NdmtaAcs51d81QrytTYAubc5bVWi//28w== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-metrics" "2.0.1" + +"@opentelemetry/exporter-metrics-otlp-proto@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.202.0.tgz#79270c82efe2eb2ff02e0735e82e392efed69ece" + integrity sha512-X0RpPpPjyCAmIq9tySZm0Hk3Ltw8KWsqeNq5I7gS9AR9RzbVHb/l+eiMI1CqSRvW9R47HXcUu/epmEzY8ebFAg== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/exporter-metrics-otlp-http" "0.202.0" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-metrics" "2.0.1" + +"@opentelemetry/exporter-prometheus@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.202.0.tgz#3f769b3ab1ca4e950e9d08236d31762bbc8ffe71" + integrity sha512-6RvQqZHAPFiwL1OKRJe4ta6SgJx/g8or41B+OovVVEie3HeCDhDGL9S1VJNkBozUz6wTY8a47fQwdMrCOUdMhQ== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-metrics" "2.0.1" + +"@opentelemetry/exporter-trace-otlp-grpc@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.202.0.tgz#b34aee12bc1af9c538dc7e18429c8b9bc42dc899" + integrity sha512-d5wLdbNA3ahpSeD0I34vbDFMTh4vPsXemH0bKDXLeCVULCAjOJXuZmEiuRammiDgVvvX7CAb/IGLDz8d2QHvoA== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-grpc-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-trace-base" "2.0.1" + +"@opentelemetry/exporter-trace-otlp-http@0.202.0", "@opentelemetry/exporter-trace-otlp-http@^0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.202.0.tgz#5587696379696bf14f6bfb3ad63e489ac56d9e13" + integrity sha512-/hKE8DaFCJuaQqE1IxpgkcjOolUIwgi3TgHElPVKGdGRBSmJMTmN/cr6vWa55pCJIXPyhKvcMrbrya7DZ3VmzA== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-trace-base" "2.0.1" + +"@opentelemetry/exporter-trace-otlp-proto@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.202.0.tgz#63bb4b432b7c32f4e0709c20983dedc0491f0bd1" + integrity sha512-z3vzdMclCETGIn8uUBgpz7w651ftCiH2qh3cewhBk+rF0EYPNQ3mJvyxktLnKIBZ/ci0zUknAzzYC7LIIZmggQ== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-trace-base" "2.0.1" + +"@opentelemetry/exporter-zipkin@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-zipkin/-/exporter-zipkin-2.0.1.tgz#a54731fa3f2b6f2119238e17657c97c1357e059b" + integrity sha512-a9eeyHIipfdxzCfc2XPrE+/TI3wmrZUDFtG2RRXHSbZZULAny7SyybSvaDvS77a7iib5MPiAvluwVvbGTsHxsw== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-trace-base" "2.0.1" + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/instrumentation-express@^0.51.0": + version "0.51.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-express/-/instrumentation-express-0.51.0.tgz#b63fdf82ff68dbbe685f790ce4c85c613ebea10c" + integrity sha512-v1mgfvyeQh7yfsZ8wZlr+jgFGk9FxzLfNH0EH0UYGO9das8fCIkixsEasZMWhjwAJKjlf+ElTZ2jE2pT7I3DyQ== + dependencies: + "@opentelemetry/core" "^2.0.0" + "@opentelemetry/instrumentation" "^0.202.0" + "@opentelemetry/semantic-conventions" "^1.27.0" + +"@opentelemetry/instrumentation-http@^0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-http/-/instrumentation-http-0.202.0.tgz#a7edc11314c867737663c6e5b979636fa93ae56c" + integrity sha512-oX+jyY2KBg4/nVH3vZhSWDbhywkHgE0fq3YinhUBx0jv+YUWC2UKA7qLkxr/CSzfKsFi/Km0NKV+llH17yYGKw== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/instrumentation" "0.202.0" + "@opentelemetry/semantic-conventions" "^1.29.0" + forwarded-parse "2.1.2" + +"@opentelemetry/instrumentation-nestjs-core@^0.48.0": + version "0.48.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.48.0.tgz#86f1d1af48a6654adc8497a8fccd31eb234a6357" + integrity sha512-ytK4ABSkWcD9vyMU8GpinvodAGaRxBFuxybP/m7sgLtEboXMJjdWnEHb7lH/CX1ICiVKRXWdYg9npdu6yBCW5Q== + dependencies: + "@opentelemetry/instrumentation" "^0.202.0" + "@opentelemetry/semantic-conventions" "^1.30.0" + +"@opentelemetry/instrumentation@0.202.0", "@opentelemetry/instrumentation@^0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.202.0.tgz#9468829b23039e1d675635c63f18c8676dce3079" + integrity sha512-Uz3BxZWPgDwgHM2+vCKEQRh0R8WKrd/q6Tus1vThRClhlPO39Dyz7mDrOr6KuqGXAlBQ1e5Tnymzri4RMZNaWA== + dependencies: + "@opentelemetry/api-logs" "0.202.0" + import-in-the-middle "^1.8.1" + require-in-the-middle "^7.1.1" + +"@opentelemetry/otlp-exporter-base@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.202.0.tgz#f5d9904c2f37a6eed31d73178485138dbe6cb1f1" + integrity sha512-nMEOzel+pUFYuBJg2znGmHJWbmvMbdX5/RhoKNKowguMbURhz0fwik5tUKplLcUtl8wKPL1y9zPnPxeBn65N0Q== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/otlp-transformer" "0.202.0" + +"@opentelemetry/otlp-grpc-exporter-base@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.202.0.tgz#dbb38442745a8e20d39159d6f4692dcc01308b3d" + integrity sha512-yIEHVxFA5dmYif7lZbbB66qulLLhrklj6mI2X3cuGW5hYPyUErztEmbroM+6teu/XobBi9bLHid2VT4NIaRuGg== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/otlp-exporter-base" "0.202.0" + "@opentelemetry/otlp-transformer" "0.202.0" + +"@opentelemetry/otlp-transformer@0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.202.0.tgz#0df9b419e68b726f6de9b85ee3ba3e373ef041b7" + integrity sha512-5XO77QFzs9WkexvJQL9ksxL8oVFb/dfi9NWQSq7Sv0Efr9x3N+nb1iklP1TeVgxqJ7m1xWiC/Uv3wupiQGevMw== + dependencies: + "@opentelemetry/api-logs" "0.202.0" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-logs" "0.202.0" + "@opentelemetry/sdk-metrics" "2.0.1" + "@opentelemetry/sdk-trace-base" "2.0.1" + protobufjs "^7.3.0" + +"@opentelemetry/propagator-b3@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-2.0.1.tgz#0b2875724a9c3f8353366e05cc2f701763faa940" + integrity sha512-Hc09CaQ8Tf5AGLmf449H726uRoBNGPBL4bjr7AnnUpzWMvhdn61F78z9qb6IqB737TffBsokGAK1XykFEZ1igw== + dependencies: + "@opentelemetry/core" "2.0.1" + +"@opentelemetry/propagator-jaeger@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-2.0.1.tgz#c4eddd44a30c50223e7e6dcd620ef01aad2ab944" + integrity sha512-7PMdPBmGVH2eQNb/AtSJizQNgeNTfh6jQFqys6lfhd6P4r+m/nTh3gKPPpaCXVdRQ+z93vfKk+4UGty390283w== + dependencies: + "@opentelemetry/core" "2.0.1" + +"@opentelemetry/resources@2.0.1", "@opentelemetry/resources@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-2.0.1.tgz#0365d134291c0ed18d96444a1e21d0e6a481c840" + integrity sha512-dZOB3R6zvBwDKnHDTB4X1xtMArB/d324VsbiPkX/Yu0Q8T2xceRthoIVFhJdvgVM2QhGVUyX9tzwiNxGtoBJUw== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/sdk-logs@0.202.0", "@opentelemetry/sdk-logs@^0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.202.0.tgz#7caab8f764d5c95e5809a42f5df3ff1ad5ebd862" + integrity sha512-pv8QiQLQzk4X909YKm0lnW4hpuQg4zHwJ4XBd5bZiXcd9urvrJNoNVKnxGHPiDVX/GiLFvr5DMYsDBQbZCypRQ== + dependencies: + "@opentelemetry/api-logs" "0.202.0" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/resources" "2.0.1" + +"@opentelemetry/sdk-metrics@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-2.0.1.tgz#efb6e9349e8a9038ac622e172692bfcdcad8010b" + integrity sha512-wf8OaJoSnujMAHWR3g+/hGvNcsC16rf9s1So4JlMiFaFHiE4HpIA3oUh+uWZQ7CNuK8gVW/pQSkgoa5HkkOl0g== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/resources" "2.0.1" + +"@opentelemetry/sdk-node@^0.202.0": + version "0.202.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-node/-/sdk-node-0.202.0.tgz#b0661a3c9bfcc2ed46f2cf6dd876ea0bbdf1b619" + integrity sha512-SF9vXWVd9I5CZ69mW3GfwfLI2SHgyvEqntcg0en5y8kRp5+2PPoa3Mkgj0WzFLrbSgTw4PsXn7c7H6eSdrtV0w== + dependencies: + "@opentelemetry/api-logs" "0.202.0" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/exporter-logs-otlp-grpc" "0.202.0" + "@opentelemetry/exporter-logs-otlp-http" "0.202.0" + "@opentelemetry/exporter-logs-otlp-proto" "0.202.0" + "@opentelemetry/exporter-metrics-otlp-grpc" "0.202.0" + "@opentelemetry/exporter-metrics-otlp-http" "0.202.0" + "@opentelemetry/exporter-metrics-otlp-proto" "0.202.0" + "@opentelemetry/exporter-prometheus" "0.202.0" + "@opentelemetry/exporter-trace-otlp-grpc" "0.202.0" + "@opentelemetry/exporter-trace-otlp-http" "0.202.0" + "@opentelemetry/exporter-trace-otlp-proto" "0.202.0" + "@opentelemetry/exporter-zipkin" "2.0.1" + "@opentelemetry/instrumentation" "0.202.0" + "@opentelemetry/propagator-b3" "2.0.1" + "@opentelemetry/propagator-jaeger" "2.0.1" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/sdk-logs" "0.202.0" + "@opentelemetry/sdk-metrics" "2.0.1" + "@opentelemetry/sdk-trace-base" "2.0.1" + "@opentelemetry/sdk-trace-node" "2.0.1" + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/sdk-trace-base@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.0.1.tgz#25808bb6a3d08a501ad840249e4d43d3493eb6e5" + integrity sha512-xYLlvk/xdScGx1aEqvxLwf6sXQLXCjk3/1SQT9X9AoN5rXRhkdvIFShuNNmtTEPRBqcsMbS4p/gJLNI2wXaDuQ== + dependencies: + "@opentelemetry/core" "2.0.1" + "@opentelemetry/resources" "2.0.1" + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/sdk-trace-node@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.0.1.tgz#bbb9bdb4985d7930941b3d4023e1661ba46f60c1" + integrity sha512-UhdbPF19pMpBtCWYP5lHbTogLWx9N0EBxtdagvkn5YtsAnCBZzL7SjktG+ZmupRgifsHMjwUaCCaVmqGfSADmA== + dependencies: + "@opentelemetry/context-async-hooks" "2.0.1" + "@opentelemetry/core" "2.0.1" + "@opentelemetry/sdk-trace-base" "2.0.1" + +"@opentelemetry/semantic-conventions@^1.27.0", "@opentelemetry/semantic-conventions@^1.29.0", "@opentelemetry/semantic-conventions@^1.30.0", "@opentelemetry/semantic-conventions@^1.34.0": + version "1.34.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.34.0.tgz#8b6a46681b38a4d5947214033ac48128328c1738" + integrity sha512-aKcOkyrorBGlajjRdVoJWHTxfxO1vCNHLJVlSDaRHDIdjU+pX8IYQPvPDkYiujKLbRnWU+1TBwEt0QRgSm4SGA== + "@peculiar/asn1-schema@^2.3.8": version "2.3.13" resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.13.tgz#ec8509cdcbc0da3abe73fd7e690556b57a61b8f4" @@ -1746,6 +2077,59 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + "@sd-jwt/core@^0.6.1": version "0.6.1" resolved "https://registry.yarnpkg.com/@sd-jwt/core/-/core-0.6.1.tgz#d28be10d0f4b672636fcf7ad71737cb08e5dae96" @@ -2247,6 +2631,13 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== +"@types/node@>=13.7.0": + version "24.0.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.3.tgz#f935910f3eece3a3a2f8be86b96ba833dc286cab" + integrity sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg== + dependencies: + undici-types "~7.8.0" + "@types/node@^18.18.8": version "18.19.44" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.44.tgz#875a8322d17ff12bf82b3af8c07b9310a00e72f8" @@ -2521,6 +2912,11 @@ accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== + acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -2543,6 +2939,11 @@ acorn@^8.11.0, acorn@^8.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== +acorn@^8.14.0: + version "8.15.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" + integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + aes-js@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" @@ -3173,6 +3574,11 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== +cjs-module-lexer@^1.2.2: + version "1.4.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz#0f79731eb8cfe1ec72acd4066efac9d61991b00d" + integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q== + class-transformer@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/class-transformer/-/class-transformer-0.5.1.tgz#24147d5dffd2a6cea930a3250a677addf96ab336" @@ -3434,6 +3840,13 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.3.5: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== + dependencies: + ms "^2.1.3" + decode-uri-component@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" @@ -4422,6 +4835,11 @@ formidable@^2.1.2: once "^1.4.0" qs "^6.11.0" +forwarded-parse@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/forwarded-parse/-/forwarded-parse-2.1.2.tgz#08511eddaaa2ddfd56ba11138eee7df117a09325" + integrity sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw== + forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -4833,6 +5251,16 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-in-the-middle@^1.8.1: + version "1.14.2" + resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.14.2.tgz#283661625a88ff7c0462bd2984f77715c3bc967c" + integrity sha512-5tCuY9BV8ujfOpwtAGgsTx9CGUapcFMEEyByLv1B+v2+6DhAcw+Zr0nhQT7uwaZ7DiourxFEscghOR8e1aPLQw== + dependencies: + acorn "^8.14.0" + acorn-import-attributes "^1.9.5" + cjs-module-lexer "^1.2.2" + module-details-from-path "^1.0.3" + import-local@^3.0.2: version "3.2.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" @@ -4927,6 +5355,13 @@ is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1: dependencies: hasown "^2.0.2" +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + is-data-view@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" @@ -5815,6 +6250,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -5870,6 +6310,11 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== +long@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/long/-/long-5.3.2.tgz#1d84463095999262d7d7b7f8bfd4a8cc55167f83" + integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA== + loose-envify@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -6092,6 +6537,11 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +module-details-from-path@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.4.tgz#b662fdcd93f6c83d3f25289da0ce81c8d9685b94" + integrity sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -6102,7 +6552,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -6586,6 +7036,24 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" +protobufjs@^7.2.5, protobufjs@^7.3.0: + version "7.5.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.5.3.tgz#13f95a9e3c84669995ec3652db2ac2fb00b89363" + integrity sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -6775,6 +7243,15 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== +require-in-the-middle@^7.1.1: + version "7.5.2" + resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.5.2.tgz#dc25b148affad42e570cf0e41ba30dc00f1703ec" + integrity sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ== + dependencies: + debug "^4.3.5" + module-details-from-path "^1.0.3" + resolve "^1.22.8" + resolve-alpn@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" @@ -6816,6 +7293,15 @@ resolve@^1.0.0, resolve@^1.20.0, resolve@^1.22.4: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.22.8: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + dependencies: + is-core-module "^2.16.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + responselike@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" @@ -7611,6 +8097,11 @@ undici-types@~6.13.0: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.13.0.tgz#e3e79220ab8c81ed1496b5812471afd7cf075ea5" integrity sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg== +undici-types@~7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294" + integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw== + undici@^5.14.0, undici@^5.21.2: version "5.28.4" resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" @@ -7882,7 +8373,7 @@ yargs-parser@^21.0.1, yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^17.3.1, yargs@^17.7.1: +yargs@^17.3.1, yargs@^17.7.1, yargs@^17.7.2: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== From ddcb50003baf7d041b53004b9dc4f028773253ef Mon Sep 17 00:00:00 2001 From: Tipu_Singh Date: Fri, 20 Jun 2025 16:05:14 +0530 Subject: [PATCH 02/13] refactor: added comment Signed-off-by: Tipu_Singh --- src/tracer.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/tracer.ts b/src/tracer.ts index 116cc1e6..a2a1c20b 100644 --- a/src/tracer.ts +++ b/src/tracer.ts @@ -1,7 +1,6 @@ /* eslint-disable import/order */ /* eslint-disable no-console */ -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-nocheck +// @ts-nocheck //TODO: Remove this when the code is stable and types are fixed import { NodeSDK } from '@opentelemetry/sdk-node' import * as process from 'process' From c7b255e58a44d2592bb6d27ec8a11f0d56c60ee7 Mon Sep 17 00:00:00 2001 From: Tipu_Singh Date: Fri, 20 Jun 2025 16:15:28 +0530 Subject: [PATCH 03/13] refactor: resolved sonarcloud issues Signed-off-by: Tipu_Singh --- src/utils/logger.ts | 49 ++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/src/utils/logger.ts b/src/utils/logger.ts index 1505908d..80e3a60e 100644 --- a/src/utils/logger.ts +++ b/src/utils/logger.ts @@ -60,32 +60,39 @@ export class TsLogger extends BaseLogger { } else { this.logger[tsLogLevel](message) } + let logMessage = '' + if (typeof message === 'string') { + logMessage = message + } else if (typeof message === 'object' && 'message' in message) { + logMessage = message.message + } + + let errorDetails + if (data?.error) { + const error = data.error + if (typeof error === 'string') { + errorDetails = error + } else if (error instanceof Error) { + errorDetails = { + name: error.name, + message: error.message, + stack: error.stack, + } + } else { + try { + errorDetails = JSON.parse(JSON.stringify(error)) + } catch { + errorDetails = String(error) + } + } + } otelLogger.emit({ - body: `${ - typeof message === 'string' - ? message - : typeof message === 'object' && 'message' in message - ? message.message - : '' - }`, + body: logMessage, severityText: LogLevel[level].toUpperCase(), attributes: { source: this.serviceName, ...(data || {}), - ...(data?.error - ? { - error: - typeof data.error === 'string' - ? data.error - : data.error instanceof Error - ? { - name: data.error.name, - message: data.error.message, - stack: data.error.stack, - } - : JSON.parse(JSON.stringify(data.error)), - } - : {}), + ...(errorDetails ? { error: errorDetails } : {}), }, }) } From 73233d6a43dda08f58dbe70072d204834dae9a22 Mon Sep 17 00:00:00 2001 From: Tipu_Singh Date: Fri, 20 Jun 2025 19:01:08 +0530 Subject: [PATCH 04/13] refactor: resolve trace issue Signed-off-by: Tipu_Singh --- package.json | 234 +- src/routes/routes.ts | 971 +++---- src/server.ts | 24 +- src/tracer.ts | 3 +- src/utils/TsyringeAdapter.ts | 4 +- src/utils/tsyringeTsoaIocContainer.ts | 4 +- tsconfig.build.json | 9 +- yarn.lock | 3648 +++++++++++++++---------- 8 files changed, 2775 insertions(+), 2122 deletions(-) diff --git a/package.json b/package.json index 34a040d4..51e7d442 100644 --- a/package.json +++ b/package.json @@ -1,118 +1,118 @@ { - "name": "credo-controller", - "main": "build/index", - "types": "build/index", - "version": "2.0.0", - "files": [ - "build" - ], - "publishConfig": { - "access": "public" - }, - "license": "Apache-2.0", - "description": "Rest endpoint wrapper for using your agent over HTTP", - "homepage": "https://github.com/hyperledger/aries-framework-javascript-ext/tree/main/packages/rest", - "repository": { - "type": "git", - "url": "https://github.com/hyperledger/aries-framework-javascript-ext", - "directory": "packages/rest" - }, - "bin": { - "afj-rest": "bin/afj-rest.js" - }, - "scripts": { - "check-types": "tsc --noEmit -p tsconfig.build.json", - "prettier": "prettier '**/*.+(js|json|ts|md|yml|yaml)'", - "format": "yarn prettier --write", - "check-format": "yarn prettier --list-different", - "tsoa": "tsoa spec-and-routes", - "dev": "tsoa spec-and-routes && tsnd --respawn samples/sampleWithApp.ts", - "build": "yarn run clean && yarn run compile", - "prestart:dev": "yarn run clean && yarn run compile", - "start:dev": "./bin/afj-rest.js --config ./samples/cliConfig.json", - "clean": "rimraf -rf ./build", - "compile": "tsoa spec-and-routes && tsc -p tsconfig.build.json", - "prepublishOnly": "yarn run build", - "test": "jest", - "postinstall": "patch-package", - "lint": "eslint --ignore-path .gitignore .", - "validate": "yarn lint && yarn check-types && yarn check-format" - }, - "dependencies": { - "@ayanworks/credo-polygon-w3c-module": "1.0.1-alpha.1", - "@credo-ts/anoncreds": "0.5.3", - "@credo-ts/askar": "0.5.3", - "@credo-ts/core": "0.5.3", - "@credo-ts/indy-vdr": "0.5.3", - "@credo-ts/node": "0.5.3", - "@credo-ts/push-notifications": "^0.7.0", - "@credo-ts/question-answer": "0.5.3", - "@credo-ts/tenants": "0.5.3", - "@hyperledger/anoncreds-nodejs": "0.2.2", - "@hyperledger/aries-askar-nodejs": "0.2.1", - "@hyperledger/indy-vdr-nodejs": "0.2.2", - "@opentelemetry/api": "^1.9.0", - "@opentelemetry/exporter-logs-otlp-http": "^0.202.0", - "@opentelemetry/exporter-trace-otlp-http": "^0.202.0", - "@opentelemetry/instrumentation-express": "^0.51.0", - "@opentelemetry/instrumentation-http": "^0.202.0", - "@opentelemetry/instrumentation-nestjs-core": "^0.48.0", - "@opentelemetry/resources": "^2.0.1", - "@opentelemetry/sdk-logs": "^0.202.0", - "@opentelemetry/sdk-node": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.34.0", - "@tsoa/runtime": "^6.0.0", - "@types/node-fetch": "^2.6.4", - "@types/ref-struct-di": "^1.1.9", - "@types/uuid": "^8.3.4", - "@types/ws": "^8.5.4", - "axios": "^1.4.0", - "body-parser": "^1.20.0", - "cors": "^2.8.5", - "dotenv": "^16.4.5", - "express": "^4.18.1", - "express-rate-limit": "^7.1.5", - "joi": "^17.12.3", - "jsonwebtoken": "^9.0.2", - "node-fetch": "^2.6.7", - "patch-package": "^8.0.0", - "postinstall-postinstall": "^2.1.0", - "reflect-metadata": "^0.1.13", - "swagger-ui-express": "^4.4.0", - "tslog": "^3.3.3", - "tsoa": "^6.0.1", - "tsyringe": "^4.8.0", - "yargs": "^17.3.1" - }, - "devDependencies": { - "@types/body-parser": "^1.19.2", - "@types/cors": "^2.8.12", - "@types/eslint": "^8.40.2", - "@types/express": "^4.17.13", - "@types/jest": "^27.0.3", - "@types/jsonwebtoken": "^9.0.5", - "@types/multer": "^1.4.7", - "@types/node": "^18.18.8", - "@types/ref-array-di": "^1.2.8", - "@types/ref-struct-di": "^1.1.9", - "@types/supertest": "^2.0.12", - "@types/swagger-ui-express": "^4.1.3", - "@typescript-eslint/eslint-plugin": "^6.19.1", - "@typescript-eslint/parser": "^6.19.1", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.8.0", - "eslint-import-resolver-typescript": "^3.5.5", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-prettier": "^4.2.1", - "jest": "^29.7.0", - "ngrok": "^4.3.1", - "prettier": "^2.8.8", - "supertest": "^6.2.3", - "ts-jest": "^29.1.2", - "ts-node-dev": "^2.0.0", - "typescript": "^5.3.3" - }, - "engines": { - "node": "18.19.0" - } -} + "name": "credo-controller", + "main": "build/index", + "types": "build/index", + "version": "2.0.0", + "files": [ + "build" + ], + "publishConfig": { + "access": "public" + }, + "license": "Apache-2.0", + "description": "Rest endpoint wrapper for using your agent over HTTP", + "homepage": "https://github.com/hyperledger/aries-framework-javascript-ext/tree/main/packages/rest", + "repository": { + "type": "git", + "url": "https://github.com/hyperledger/aries-framework-javascript-ext", + "directory": "packages/rest" + }, + "bin": { + "afj-rest": "bin/afj-rest.js" + }, + "scripts": { + "check-types": "tsc --noEmit -p tsconfig.build.json", + "prettier": "prettier '**/*.+(js|json|ts|md|yml|yaml)'", + "format": "yarn prettier --write", + "check-format": "yarn prettier --list-different", + "tsoa": "tsoa spec-and-routes", + "dev": "tsoa spec-and-routes && tsnd --respawn samples/sampleWithApp.ts", + "build": "yarn run clean && yarn run compile", + "prestart:dev": "yarn run clean && yarn run compile", + "start:dev": "./bin/afj-rest.js --config ./samples/cliConfig.json", + "clean": "rimraf -rf ./build", + "compile": "tsoa spec-and-routes && tsc -p tsconfig.build.json", + "prepublishOnly": "yarn run build", + "test": "jest", + "postinstall": "patch-package", + "lint": "eslint --ignore-path .gitignore .", + "validate": "yarn lint && yarn check-types && yarn check-format" + }, + "dependencies": { + "@ayanworks/credo-polygon-w3c-module": "1.0.1-alpha.1", + "@credo-ts/anoncreds": "0.5.3", + "@credo-ts/askar": "0.5.3", + "@credo-ts/core": "0.5.3", + "@credo-ts/indy-vdr": "0.5.3", + "@credo-ts/node": "0.5.3", + "@credo-ts/push-notifications": "^0.7.0", + "@credo-ts/question-answer": "0.5.3", + "@credo-ts/tenants": "0.5.3", + "@hyperledger/anoncreds-nodejs": "0.2.2", + "@hyperledger/aries-askar-nodejs": "0.2.1", + "@hyperledger/indy-vdr-nodejs": "0.2.2", + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/exporter-logs-otlp-http": "^0.202.0", + "@opentelemetry/exporter-trace-otlp-http": "^0.202.0", + "@opentelemetry/instrumentation-express": "^0.51.0", + "@opentelemetry/instrumentation-http": "^0.202.0", + "@opentelemetry/instrumentation-nestjs-core": "^0.48.0", + "@opentelemetry/resources": "^2.0.1", + "@opentelemetry/sdk-logs": "^0.202.0", + "@opentelemetry/sdk-node": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.34.0", + "@tsoa/runtime": "^6.0.0", + "@types/node-fetch": "^2.6.4", + "@types/ref-struct-di": "^1.1.9", + "@types/uuid": "^8.3.4", + "@types/ws": "^8.5.4", + "axios": "^1.4.0", + "body-parser": "^1.20.0", + "cors": "^2.8.5", + "dotenv": "^16.4.5", + "express": "^5.1.0", + "express-rate-limit": "^7.5.0", + "joi": "^17.12.3", + "jsonwebtoken": "^9.0.2", + "node-fetch": "^2.6.7", + "patch-package": "^8.0.0", + "postinstall-postinstall": "^2.1.0", + "reflect-metadata": "^0.1.13", + "swagger-ui-express": "^4.4.0", + "tslog": "^3.3.3", + "tsoa": "^6.0.1", + "tsyringe": "^4.8.0", + "yargs": "^17.3.1" + }, + "devDependencies": { + "@types/body-parser": "^1.19.2", + "@types/cors": "^2.8.12", + "@types/eslint": "^8.40.2", + "@types/express": "^5.0.2", + "@types/jest": "^27.0.3", + "@types/jsonwebtoken": "^9.0.5", + "@types/multer": "^1.4.7", + "@types/node": "^18.18.8", + "@types/ref-array-di": "^1.2.8", + "@types/ref-struct-di": "^1.1.9", + "@types/supertest": "^2.0.12", + "@types/swagger-ui-express": "^4.1.8", + "@typescript-eslint/eslint-plugin": "^6.19.1", + "@typescript-eslint/parser": "^6.19.1", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.8.0", + "eslint-import-resolver-typescript": "^3.5.5", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-prettier": "^4.2.1", + "jest": "^29.7.0", + "ngrok": "^4.3.1", + "prettier": "^2.8.8", + "supertest": "^6.2.3", + "ts-jest": "^29.1.2", + "ts-node-dev": "^2.0.0", + "typescript": "^5.3.3" + }, + "engines": { + "node": "18.19.0" + } +} \ No newline at end of file diff --git a/src/routes/routes.ts b/src/routes/routes.ts index 68fbc8c9..a41ecc98 100644 --- a/src/routes/routes.ts +++ b/src/routes/routes.ts @@ -1,7 +1,8 @@ /* tslint:disable */ /* eslint-disable */ // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { TsoaRoute, fetchMiddlewares, ExpressTemplateService } from '@tsoa/runtime'; +import type { TsoaRoute } from '@tsoa/runtime'; +import { fetchMiddlewares, ExpressTemplateService } from '@tsoa/runtime'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { ProofController } from './../controllers/proofs/ProofController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa @@ -1378,21 +1379,21 @@ export function RegisterRoutes(app: Router) { + const argsProofController_getAllProofs: Record = { + threadId: {"in":"query","name":"threadId","dataType":"string"}, + }; app.get('/proofs', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ProofController)), ...(fetchMiddlewares(ProofController.prototype.getAllProofs)), async function ProofController_getAllProofs(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - threadId: {"in":"query","name":"threadId","dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_getAllProofs, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1414,21 +1415,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsProofController_getProofById: Record = { + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"ref":"RecordId"}, + }; app.get('/proofs/:proofRecordId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ProofController)), ...(fetchMiddlewares(ProofController.prototype.getProofById)), async function ProofController_getProofById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_getProofById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1450,21 +1451,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsProofController_proposeProof: Record = { + requestProofProposalOptions: {"in":"body","name":"requestProofProposalOptions","required":true,"ref":"RequestProofProposalOptions"}, + }; app.post('/proofs/propose-proof', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ProofController)), ...(fetchMiddlewares(ProofController.prototype.proposeProof)), async function ProofController_proposeProof(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - requestProofProposalOptions: {"in":"body","name":"requestProofProposalOptions","required":true,"ref":"RequestProofProposalOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_proposeProof, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1486,21 +1487,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsProofController_acceptProposal: Record = { + acceptProposal: {"in":"body","name":"acceptProposal","required":true,"ref":"AcceptProofProposal"}, + }; app.post('/proofs/:proofRecordId/accept-proposal', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ProofController)), ...(fetchMiddlewares(ProofController.prototype.acceptProposal)), async function ProofController_acceptProposal(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - acceptProposal: {"in":"body","name":"acceptProposal","required":true,"ref":"AcceptProofProposal"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_acceptProposal, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1522,21 +1523,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsProofController_requestProof: Record = { + requestProofOptions: {"in":"body","name":"requestProofOptions","required":true,"ref":"RequestProofOptions"}, + }; app.post('/proofs/request-proof', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ProofController)), ...(fetchMiddlewares(ProofController.prototype.requestProof)), async function ProofController_requestProof(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - requestProofOptions: {"in":"body","name":"requestProofOptions","required":true,"ref":"RequestProofOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_requestProof, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1558,21 +1559,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsProofController_createRequest: Record = { + createRequestOptions: {"in":"body","name":"createRequestOptions","required":true,"ref":"CreateProofRequestOobOptions"}, + }; app.post('/proofs/create-request-oob', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ProofController)), ...(fetchMiddlewares(ProofController.prototype.createRequest)), async function ProofController_createRequest(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - createRequestOptions: {"in":"body","name":"createRequestOptions","required":true,"ref":"CreateProofRequestOobOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_createRequest, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1594,22 +1595,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsProofController_acceptRequest: Record = { + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + request: {"in":"body","name":"request","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"comment":{"dataType":"string"},"filterByNonRevocationRequirements":{"dataType":"boolean"},"filterByPresentationPreview":{"dataType":"boolean"}}}, + }; app.post('/proofs/:proofRecordId/accept-request', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ProofController)), ...(fetchMiddlewares(ProofController.prototype.acceptRequest)), async function ProofController_acceptRequest(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"comment":{"dataType":"string"},"filterByNonRevocationRequirements":{"dataType":"boolean"},"filterByPresentationPreview":{"dataType":"boolean"}}}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_acceptRequest, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1631,21 +1632,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsProofController_acceptPresentation: Record = { + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + }; app.post('/proofs/:proofRecordId/accept-presentation', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ProofController)), ...(fetchMiddlewares(ProofController.prototype.acceptPresentation)), async function ProofController_acceptPresentation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_acceptPresentation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1667,21 +1668,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsProofController_proofFormData: Record = { + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + }; app.get('/proofs/:proofRecordId/form-data', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ProofController)), ...(fetchMiddlewares(ProofController.prototype.proofFormData)), async function ProofController_proofFormData(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_proofFormData, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1703,20 +1704,20 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsPolygon_createKeyPair: Record = { + }; app.post('/polygon/create-keys', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(Polygon)), ...(fetchMiddlewares(Polygon.prototype.createKeyPair)), async function Polygon_createKeyPair(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_createKeyPair, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1738,21 +1739,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsPolygon_createSchema: Record = { + createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, + }; app.post('/polygon/create-schema', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(Polygon)), ...(fetchMiddlewares(Polygon.prototype.createSchema)), async function Polygon_createSchema(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_createSchema, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1774,21 +1775,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsPolygon_estimateTransaction: Record = { + estimateTransactionRequest: {"in":"body","name":"estimateTransactionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"transaction":{"dataType":"any","required":true},"operation":{"dataType":"any","required":true}}}, + }; app.post('/polygon/estimate-transaction', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(Polygon)), ...(fetchMiddlewares(Polygon.prototype.estimateTransaction)), async function Polygon_estimateTransaction(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - estimateTransactionRequest: {"in":"body","name":"estimateTransactionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"transaction":{"dataType":"any","required":true},"operation":{"dataType":"any","required":true}}}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_estimateTransaction, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1810,22 +1811,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsPolygon_getSchemaById: Record = { + did: {"in":"path","name":"did","required":true,"dataType":"string"}, + schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, + }; app.get('/polygon/:did/:schemaId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(Polygon)), ...(fetchMiddlewares(Polygon.prototype.getSchemaById)), async function Polygon_getSchemaById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - did: {"in":"path","name":"did","required":true,"dataType":"string"}, - schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_getSchemaById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1847,21 +1848,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsOutOfBandController_getAllOutOfBandRecords: Record = { + invitationId: {"in":"query","name":"invitationId","ref":"RecordId"}, + }; app.get('/oob', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), ...(fetchMiddlewares(OutOfBandController.prototype.getAllOutOfBandRecords)), async function OutOfBandController_getAllOutOfBandRecords(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - invitationId: {"in":"query","name":"invitationId","ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_getAllOutOfBandRecords, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1883,21 +1884,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsOutOfBandController_getOutOfBandRecordById: Record = { + outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, + }; app.get('/oob/:outOfBandId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), ...(fetchMiddlewares(OutOfBandController.prototype.getOutOfBandRecordById)), async function OutOfBandController_getOutOfBandRecordById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_getOutOfBandRecordById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1919,21 +1920,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsOutOfBandController_createInvitation: Record = { + config: {"in":"body","name":"config","required":true,"dataType":"intersection","subSchemas":[{"ref":"CreateInvitationOptions"},{"ref":"RecipientKeyOption"}]}, + }; app.post('/oob/create-invitation', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), ...(fetchMiddlewares(OutOfBandController.prototype.createInvitation)), async function OutOfBandController_createInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - config: {"in":"body","name":"config","required":true,"dataType":"intersection","subSchemas":[{"ref":"CreateInvitationOptions"},{"ref":"RecipientKeyOption"}]}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_createInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1955,21 +1956,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsOutOfBandController_createLegacyInvitation: Record = { + config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateLegacyInvitationConfig.routing_"},{"ref":"RecipientKeyOption"}]}, + }; app.post('/oob/create-legacy-invitation', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyInvitation)), async function OutOfBandController_createLegacyInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateLegacyInvitationConfig.routing_"},{"ref":"RecipientKeyOption"}]}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_createLegacyInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -1991,21 +1992,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsOutOfBandController_createLegacyConnectionlessInvitation: Record = { + config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"domain":{"dataType":"string","required":true},"message":{"ref":"AgentMessageType","required":true},"recordId":{"dataType":"string","required":true}}}, + }; app.post('/oob/create-legacy-connectionless-invitation', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyConnectionlessInvitation)), async function OutOfBandController_createLegacyConnectionlessInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"domain":{"dataType":"string","required":true},"message":{"ref":"AgentMessageType","required":true},"recordId":{"dataType":"string","required":true}}}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_createLegacyConnectionlessInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2027,21 +2028,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsOutOfBandController_receiveInvitation: Record = { + invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationProps"}, + }; app.post('/oob/receive-invitation', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitation)), async function OutOfBandController_receiveInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationProps"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_receiveInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2063,21 +2064,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsOutOfBandController_receiveInvitationFromUrl: Record = { + invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationByUrlProps"}, + }; app.post('/oob/receive-invitation-url', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitationFromUrl)), async function OutOfBandController_receiveInvitationFromUrl(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationByUrlProps"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_receiveInvitationFromUrl, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2099,22 +2100,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsOutOfBandController_acceptInvitation: Record = { + outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, + acceptInvitationConfig: {"in":"body","name":"acceptInvitationConfig","required":true,"ref":"AcceptInvitationConfig"}, + }; app.post('/oob/:outOfBandId/accept-invitation', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), ...(fetchMiddlewares(OutOfBandController.prototype.acceptInvitation)), async function OutOfBandController_acceptInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, - acceptInvitationConfig: {"in":"body","name":"acceptInvitationConfig","required":true,"ref":"AcceptInvitationConfig"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_acceptInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2136,21 +2137,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsOutOfBandController_deleteOutOfBandRecord: Record = { + outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, + }; app.delete('/oob/:outOfBandId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(OutOfBandController)), ...(fetchMiddlewares(OutOfBandController.prototype.deleteOutOfBandRecord)), async function OutOfBandController_deleteOutOfBandRecord(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_deleteOutOfBandRecord, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2172,21 +2173,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createTenant: Record = { + createTenantOptions: {"in":"body","name":"createTenantOptions","required":true,"ref":"CreateTenantOptions"}, + }; app.post('/multi-tenancy/create-tenant', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createTenant)), async function MultiTenancyController_createTenant(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - createTenantOptions: {"in":"body","name":"createTenantOptions","required":true,"ref":"CreateTenantOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createTenant, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2208,22 +2209,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createDid: Record = { + createDidOptions: {"in":"body","name":"createDidOptions","required":true,"ref":"DidCreate"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.post('/multi-tenancy/create-did/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createDid)), async function MultiTenancyController_createDid(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - createDidOptions: {"in":"body","name":"createDidOptions","required":true,"ref":"DidCreate"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createDid, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2245,21 +2246,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getDids: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/dids/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getDids)), async function MultiTenancyController_getDids(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getDids, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2281,22 +2282,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_didNymTransaction: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + didNymTransaction: {"in":"body","name":"didNymTransaction","required":true,"ref":"DidNymTransaction"}, + }; app.post('/multi-tenancy/transactions/set-endorser-role/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.didNymTransaction)), async function MultiTenancyController_didNymTransaction(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - didNymTransaction: {"in":"body","name":"didNymTransaction","required":true,"ref":"DidNymTransaction"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_didNymTransaction, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2318,22 +2319,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_endorserTransaction: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + endorserTransaction: {"in":"body","name":"endorserTransaction","required":true,"ref":"EndorserTransaction"}, + }; app.post('/multi-tenancy/transactions/endorse/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.endorserTransaction)), async function MultiTenancyController_endorserTransaction(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - endorserTransaction: {"in":"body","name":"endorserTransaction","required":true,"ref":"EndorserTransaction"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_endorserTransaction, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2355,22 +2356,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getConnectionById: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + }; app.get('/multi-tenancy/connections/:connectionId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getConnectionById)), async function MultiTenancyController_getConnectionById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getConnectionById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2392,22 +2393,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createInvitation: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateOutOfBandInvitationConfig.routing_"},{"ref":"RecipientKeyOption"}]}, + }; app.post('/multi-tenancy/create-invitation/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createInvitation)), async function MultiTenancyController_createInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateOutOfBandInvitationConfig.routing_"},{"ref":"RecipientKeyOption"}]}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2429,22 +2430,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createLegacyInvitation: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages_"},{"ref":"RecipientKeyOption"}]}, + }; app.post('/multi-tenancy/create-legacy-invitation/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createLegacyInvitation)), async function MultiTenancyController_createLegacyInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages_"},{"ref":"RecipientKeyOption"}]}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createLegacyInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2466,22 +2467,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_receiveInvitation: Record = { + invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationProps"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.post('/multi-tenancy/receive-invitation/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.receiveInvitation)), async function MultiTenancyController_receiveInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationProps"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_receiveInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2503,22 +2504,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_receiveInvitationFromUrl: Record = { + invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationByUrlProps"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.post('/multi-tenancy/receive-invitation-url/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.receiveInvitationFromUrl)), async function MultiTenancyController_receiveInvitationFromUrl(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationByUrlProps"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_receiveInvitationFromUrl, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2540,22 +2541,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getAllOutOfBandRecords: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/oob/:invitationId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getAllOutOfBandRecords)), async function MultiTenancyController_getAllOutOfBandRecords(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getAllOutOfBandRecords, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2577,27 +2578,27 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getAllConnections: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + outOfBandId: {"in":"query","name":"outOfBandId","dataType":"string"}, + alias: {"in":"query","name":"alias","dataType":"string"}, + state: {"in":"query","name":"state","ref":"DidExchangeState"}, + myDid: {"in":"query","name":"myDid","dataType":"string"}, + theirDid: {"in":"query","name":"theirDid","dataType":"string"}, + theirLabel: {"in":"query","name":"theirLabel","dataType":"string"}, + }; app.get('/multi-tenancy/connections/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getAllConnections)), async function MultiTenancyController_getAllConnections(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - outOfBandId: {"in":"query","name":"outOfBandId","dataType":"string"}, - alias: {"in":"query","name":"alias","dataType":"string"}, - state: {"in":"query","name":"state","ref":"DidExchangeState"}, - myDid: {"in":"query","name":"myDid","dataType":"string"}, - theirDid: {"in":"query","name":"theirDid","dataType":"string"}, - theirLabel: {"in":"query","name":"theirLabel","dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getAllConnections, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2619,21 +2620,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getInvitation: Record = { + invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/url/:tenantId/:invitationId', ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getInvitation)), async function MultiTenancyController_getInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2655,22 +2656,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createSchema: Record = { + schema: {"in":"body","name":"schema","required":true,"ref":"CreateSchemaInput"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.post('/multi-tenancy/schema/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createSchema)), async function MultiTenancyController_createSchema(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - schema: {"in":"body","name":"schema","required":true,"ref":"CreateSchemaInput"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createSchema, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2692,22 +2693,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createPolygonW3CSchema: Record = { + createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.post('/multi-tenancy/polygon-w3c/schema/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createPolygonW3CSchema)), async function MultiTenancyController_createPolygonW3CSchema(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createPolygonW3CSchema, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2729,23 +2730,23 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getPolygonW3CSchemaById: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + did: {"in":"path","name":"did","required":true,"dataType":"string"}, + schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/polygon-w3c/schema/:did/:schemaId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getPolygonW3CSchemaById)), async function MultiTenancyController_getPolygonW3CSchemaById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - did: {"in":"path","name":"did","required":true,"dataType":"string"}, - schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getPolygonW3CSchemaById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2767,22 +2768,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_writeSchemaAndCredDefOnLedger: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + writeTransaction: {"in":"body","name":"writeTransaction","required":true,"ref":"WriteTransaction"}, + }; app.post('/multi-tenancy/transactions/write/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.writeSchemaAndCredDefOnLedger)), async function MultiTenancyController_writeSchemaAndCredDefOnLedger(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - writeTransaction: {"in":"body","name":"writeTransaction","required":true,"ref":"WriteTransaction"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_writeSchemaAndCredDefOnLedger, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2804,22 +2805,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getSchemaById: Record = { + schemaId: {"in":"path","name":"schemaId","required":true,"ref":"SchemaId"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/schema/:schemaId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getSchemaById)), async function MultiTenancyController_getSchemaById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - schemaId: {"in":"path","name":"schemaId","required":true,"ref":"SchemaId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getSchemaById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2841,22 +2842,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createCredentialDefinition: Record = { + credentialDefinitionRequest: {"in":"body","name":"credentialDefinitionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"tag":{"dataType":"string","required":true},"schemaId":{"dataType":"string","required":true},"issuerId":{"dataType":"string","required":true}}}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.post('/multi-tenancy/credential-definition/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createCredentialDefinition)), async function MultiTenancyController_createCredentialDefinition(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - credentialDefinitionRequest: {"in":"body","name":"credentialDefinitionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"tag":{"dataType":"string","required":true},"schemaId":{"dataType":"string","required":true},"issuerId":{"dataType":"string","required":true}}}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createCredentialDefinition, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2878,22 +2879,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getCredentialDefinitionById: Record = { + credentialDefinitionId: {"in":"path","name":"credentialDefinitionId","required":true,"ref":"CredentialDefinitionId"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/credential-definition/:credentialDefinitionId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getCredentialDefinitionById)), async function MultiTenancyController_getCredentialDefinitionById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - credentialDefinitionId: {"in":"path","name":"credentialDefinitionId","required":true,"ref":"CredentialDefinitionId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getCredentialDefinitionById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2915,22 +2916,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createOffer: Record = { + createOfferOptions: {"in":"body","name":"createOfferOptions","required":true,"ref":"CreateOfferOptions"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.post('/multi-tenancy/credentials/create-offer/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createOffer)), async function MultiTenancyController_createOffer(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - createOfferOptions: {"in":"body","name":"createOfferOptions","required":true,"ref":"CreateOfferOptions"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createOffer, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2952,22 +2953,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createOfferOob: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + createOfferOptions: {"in":"body","name":"createOfferOptions","required":true,"ref":"CreateOfferOobOptions"}, + }; app.post('/multi-tenancy/credentials/create-offer-oob/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createOfferOob)), async function MultiTenancyController_createOfferOob(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - createOfferOptions: {"in":"body","name":"createOfferOptions","required":true,"ref":"CreateOfferOobOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createOfferOob, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -2989,22 +2990,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_acceptOffer: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + acceptCredentialOfferOptions: {"in":"body","name":"acceptCredentialOfferOptions","required":true,"ref":"AcceptCredentialOfferOptions"}, + }; app.post('/multi-tenancy/credentials/accept-offer/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.acceptOffer)), async function MultiTenancyController_acceptOffer(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - acceptCredentialOfferOptions: {"in":"body","name":"acceptCredentialOfferOptions","required":true,"ref":"AcceptCredentialOfferOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_acceptOffer, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3026,22 +3027,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getCredentialById: Record = { + credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"ref":"RecordId"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/credentials/:credentialRecordId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getCredentialById)), async function MultiTenancyController_getCredentialById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getCredentialById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3063,24 +3064,24 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getAllCredentials: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + threadId: {"in":"query","name":"threadId","dataType":"string"}, + connectionId: {"in":"query","name":"connectionId","dataType":"string"}, + state: {"in":"query","name":"state","ref":"CredentialState"}, + }; app.get('/multi-tenancy/credentials/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getAllCredentials)), async function MultiTenancyController_getAllCredentials(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - threadId: {"in":"query","name":"threadId","dataType":"string"}, - connectionId: {"in":"query","name":"connectionId","dataType":"string"}, - state: {"in":"query","name":"state","ref":"CredentialState"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getAllCredentials, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3102,22 +3103,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_credentialFormData: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/credentials/form-data/:tenantId/:credentialRecordId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.credentialFormData)), async function MultiTenancyController_credentialFormData(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_credentialFormData, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3139,22 +3140,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getAllProofs: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + threadId: {"in":"query","name":"threadId","dataType":"string"}, + }; app.get('/multi-tenancy/proofs/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getAllProofs)), async function MultiTenancyController_getAllProofs(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - threadId: {"in":"query","name":"threadId","dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getAllProofs, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3176,22 +3177,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_proofFormData: Record = { + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/form-data/:tenantId/:proofRecordId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.proofFormData)), async function MultiTenancyController_proofFormData(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_proofFormData, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3213,22 +3214,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_requestProof: Record = { + requestProofOptions: {"in":"body","name":"requestProofOptions","required":true,"ref":"RequestProofOptions"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.post('/multi-tenancy/proofs/request-proof/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.requestProof)), async function MultiTenancyController_requestProof(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - requestProofOptions: {"in":"body","name":"requestProofOptions","required":true,"ref":"RequestProofOptions"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_requestProof, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3250,22 +3251,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createRequest: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + createRequestOptions: {"in":"body","name":"createRequestOptions","required":true,"ref":"CreateProofRequestOobOptions"}, + }; app.post('/multi-tenancy/proofs/create-request-oob/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createRequest)), async function MultiTenancyController_createRequest(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - createRequestOptions: {"in":"body","name":"createRequestOptions","required":true,"ref":"CreateProofRequestOobOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createRequest, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3287,23 +3288,23 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_acceptRequest: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + request: {"in":"body","name":"request","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"comment":{"dataType":"string"},"filterByNonRevocationRequirements":{"dataType":"boolean"},"filterByPresentationPreview":{"dataType":"boolean"}}}, + }; app.post('/multi-tenancy/proofs/:proofRecordId/accept-request/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.acceptRequest)), async function MultiTenancyController_acceptRequest(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"comment":{"dataType":"string"},"filterByNonRevocationRequirements":{"dataType":"boolean"},"filterByPresentationPreview":{"dataType":"boolean"}}}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_acceptRequest, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3325,22 +3326,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_acceptPresentation: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + }; app.post('/multi-tenancy/proofs/:proofRecordId/accept-presentation/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.acceptPresentation)), async function MultiTenancyController_acceptPresentation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_acceptPresentation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3362,22 +3363,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getProofById: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"ref":"RecordId"}, + }; app.get('/multi-tenancy/proofs/:proofRecordId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getProofById)), async function MultiTenancyController_getProofById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getProofById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3399,21 +3400,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_deleteTenantById: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.delete('/multi-tenancy/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.deleteTenantById)), async function MultiTenancyController_deleteTenantById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_deleteTenantById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3435,22 +3436,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createDidWeb: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + didOptions: {"in":"body","name":"didOptions","required":true,"ref":"DidCreate"}, + }; app.post('/multi-tenancy/did/web/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createDidWeb)), async function MultiTenancyController_createDidWeb(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - didOptions: {"in":"body","name":"didOptions","required":true,"ref":"DidCreate"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createDidWeb, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3472,22 +3473,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_createDidKey: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + didOptions: {"in":"body","name":"didOptions","required":true,"ref":"DidCreate"}, + }; app.post('/multi-tenancy/did/key:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.createDidKey)), async function MultiTenancyController_createDidKey(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - didOptions: {"in":"body","name":"didOptions","required":true,"ref":"DidCreate"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createDidKey, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3509,25 +3510,25 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getQuestionAnswerRecords: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + connectionId: {"in":"query","name":"connectionId","dataType":"string"}, + role: {"in":"query","name":"role","ref":"QuestionAnswerRole"}, + state: {"in":"query","name":"state","ref":"QuestionAnswerState"}, + threadId: {"in":"query","name":"threadId","dataType":"string"}, + }; app.get('/multi-tenancy/question-answer/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getQuestionAnswerRecords)), async function MultiTenancyController_getQuestionAnswerRecords(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - connectionId: {"in":"query","name":"connectionId","dataType":"string"}, - role: {"in":"query","name":"role","ref":"QuestionAnswerRole"}, - state: {"in":"query","name":"state","ref":"QuestionAnswerState"}, - threadId: {"in":"query","name":"threadId","dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getQuestionAnswerRecords, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3549,23 +3550,23 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_sendQuestion: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"detail":{"dataType":"string"},"validResponses":{"dataType":"array","array":{"dataType":"refObject","ref":"ValidResponse"},"required":true},"question":{"dataType":"string","required":true}}}, + }; app.post('/multi-tenancy/question-answer/question/:connectionId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.sendQuestion)), async function MultiTenancyController_sendQuestion(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"detail":{"dataType":"string"},"validResponses":{"dataType":"array","array":{"dataType":"refObject","ref":"ValidResponse"},"required":true},"question":{"dataType":"string","required":true}}}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_sendQuestion, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3587,23 +3588,23 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_sendAnswer: Record = { + id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + request: {"in":"body","name":"request","required":true,"ref":"Record_response.string_"}, + }; app.post('/multi-tenancy/question-answer/answer/:id/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.sendAnswer)), async function MultiTenancyController_sendAnswer(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"ref":"Record_response.string_"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_sendAnswer, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3625,22 +3626,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getQuestionAnswerRecordById: Record = { + id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/question-answer/:id/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getQuestionAnswerRecordById)), async function MultiTenancyController_getQuestionAnswerRecordById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getQuestionAnswerRecordById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3662,22 +3663,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_getBasicMessages: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + }; app.get('/multi-tenancy/basic-messages/:connectionId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.getBasicMessages)), async function MultiTenancyController_getBasicMessages(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getBasicMessages, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3699,23 +3700,23 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_sendMessage: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + request: {"in":"body","name":"request","required":true,"ref":"Record_content.string_"}, + }; app.post('/multi-tenancy/basic-messages/:connectionId/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.sendMessage)), async function MultiTenancyController_sendMessage(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"ref":"Record_content.string_"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_sendMessage, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3737,22 +3738,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_verify: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + request: {"in":"body","name":"request","required":true,"ref":"VerifyDataOptions"}, + }; app.post('/multi-tenancy/verify/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.verify)), async function MultiTenancyController_verify(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"ref":"VerifyDataOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_verify, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3774,24 +3775,24 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_signCredential: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + storeCredential: {"in":"query","name":"storeCredential","required":true,"dataType":"boolean"}, + dataTypeToSign: {"in":"query","name":"dataTypeToSign","required":true,"dataType":"union","subSchemas":[{"dataType":"enum","enums":["rawData"]},{"dataType":"enum","enums":["jsonLd"]}]}, + data: {"in":"body","name":"data","required":true,"dataType":"union","subSchemas":[{"ref":"CustomW3cJsonLdSignCredentialOptions"},{"ref":"SignDataOptions"},{"dataType":"any"}]}, + }; app.post('/multi-tenancy/credential/sign/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.signCredential)), async function MultiTenancyController_signCredential(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - storeCredential: {"in":"query","name":"storeCredential","required":true,"dataType":"boolean"}, - dataTypeToSign: {"in":"query","name":"dataTypeToSign","required":true,"dataType":"union","subSchemas":[{"dataType":"enum","enums":["rawData"]},{"dataType":"enum","enums":["jsonLd"]}]}, - data: {"in":"body","name":"data","required":true,"dataType":"union","subSchemas":[{"ref":"CustomW3cJsonLdSignCredentialOptions"},{"ref":"SignDataOptions"},{"dataType":"any"}]}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_signCredential, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3813,22 +3814,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsMultiTenancyController_verifyCredential: Record = { + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + credentialToVerify: {"in":"body","name":"credentialToVerify","required":true,"dataType":"union","subSchemas":[{"ref":"SafeW3cJsonLdVerifyCredentialOptions"},{"dataType":"any"}]}, + }; app.post('/multi-tenancy/credential/verify/:tenantId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(MultiTenancyController)), ...(fetchMiddlewares(MultiTenancyController.prototype.verifyCredential)), async function MultiTenancyController_verifyCredential(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - credentialToVerify: {"in":"body","name":"credentialToVerify","required":true,"dataType":"union","subSchemas":[{"ref":"SafeW3cJsonLdVerifyCredentialOptions"},{"dataType":"any"}]}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_verifyCredential, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3850,21 +3851,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsEndorserTransactionController_endorserTransaction: Record = { + endorserTransaction: {"in":"body","name":"endorserTransaction","required":true,"ref":"EndorserTransaction"}, + }; app.post('/transactions/endorse', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(EndorserTransactionController)), ...(fetchMiddlewares(EndorserTransactionController.prototype.endorserTransaction)), async function EndorserTransactionController_endorserTransaction(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - endorserTransaction: {"in":"body","name":"endorserTransaction","required":true,"ref":"EndorserTransaction"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEndorserTransactionController_endorserTransaction, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3886,21 +3887,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsEndorserTransactionController_didNymTransaction: Record = { + didNymTransaction: {"in":"body","name":"didNymTransaction","required":true,"ref":"DidNymTransaction"}, + }; app.post('/transactions/set-endorser-role', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(EndorserTransactionController)), ...(fetchMiddlewares(EndorserTransactionController.prototype.didNymTransaction)), async function EndorserTransactionController_didNymTransaction(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - didNymTransaction: {"in":"body","name":"didNymTransaction","required":true,"ref":"DidNymTransaction"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEndorserTransactionController_didNymTransaction, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3922,21 +3923,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsEndorserTransactionController_writeSchemaAndCredDefOnLedger: Record = { + writeTransaction: {"in":"body","name":"writeTransaction","required":true,"ref":"WriteTransaction"}, + }; app.post('/transactions/write', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(EndorserTransactionController)), ...(fetchMiddlewares(EndorserTransactionController.prototype.writeSchemaAndCredDefOnLedger)), async function EndorserTransactionController_writeSchemaAndCredDefOnLedger(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - writeTransaction: {"in":"body","name":"writeTransaction","required":true,"ref":"WriteTransaction"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEndorserTransactionController_writeSchemaAndCredDefOnLedger, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3958,21 +3959,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsDidController_getDidRecordByDid: Record = { + did: {"in":"path","name":"did","required":true,"ref":"Did"}, + }; app.get('/dids/:did', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(DidController)), ...(fetchMiddlewares(DidController.prototype.getDidRecordByDid)), async function DidController_getDidRecordByDid(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - did: {"in":"path","name":"did","required":true,"ref":"Did"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsDidController_getDidRecordByDid, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -3994,21 +3995,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsDidController_writeDid: Record = { + createDidOptions: {"in":"body","name":"createDidOptions","required":true,"ref":"DidCreate"}, + }; app.post('/dids/write', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(DidController)), ...(fetchMiddlewares(DidController.prototype.writeDid)), async function DidController_writeDid(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - createDidOptions: {"in":"body","name":"createDidOptions","required":true,"ref":"DidCreate"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsDidController_writeDid, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4030,20 +4031,20 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsDidController_getDids: Record = { + }; app.get('/dids', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(DidController)), ...(fetchMiddlewares(DidController.prototype.getDids)), async function DidController_getDids(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsDidController_getDids, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4065,21 +4066,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsSchemaController_getSchemaById: Record = { + schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, + }; app.get('/schemas/:schemaId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(SchemaController)), ...(fetchMiddlewares(SchemaController.prototype.getSchemaById)), async function SchemaController_getSchemaById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSchemaController_getSchemaById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4101,21 +4102,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsSchemaController_createSchema: Record = { + schema: {"in":"body","name":"schema","required":true,"ref":"CreateSchemaInput"}, + }; app.post('/schemas', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(SchemaController)), ...(fetchMiddlewares(SchemaController.prototype.createSchema)), async function SchemaController_createSchema(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - schema: {"in":"body","name":"schema","required":true,"ref":"CreateSchemaInput"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSchemaController_createSchema, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4137,21 +4138,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialDefinitionController_getCredentialDefinitionById: Record = { + credentialDefinitionId: {"in":"path","name":"credentialDefinitionId","required":true,"ref":"CredentialDefinitionId"}, + }; app.get('/credential-definitions/:credentialDefinitionId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialDefinitionController)), ...(fetchMiddlewares(CredentialDefinitionController.prototype.getCredentialDefinitionById)), async function CredentialDefinitionController_getCredentialDefinitionById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - credentialDefinitionId: {"in":"path","name":"credentialDefinitionId","required":true,"ref":"CredentialDefinitionId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialDefinitionController_getCredentialDefinitionById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4173,21 +4174,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialDefinitionController_createCredentialDefinition: Record = { + credentialDefinitionRequest: {"in":"body","name":"credentialDefinitionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"tag":{"dataType":"string","required":true},"schemaId":{"ref":"SchemaId","required":true},"issuerId":{"dataType":"string","required":true}}}, + }; app.post('/credential-definitions', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialDefinitionController)), ...(fetchMiddlewares(CredentialDefinitionController.prototype.createCredentialDefinition)), async function CredentialDefinitionController_createCredentialDefinition(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - credentialDefinitionRequest: {"in":"body","name":"credentialDefinitionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"tag":{"dataType":"string","required":true},"schemaId":{"ref":"SchemaId","required":true},"issuerId":{"dataType":"string","required":true}}}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialDefinitionController_createCredentialDefinition, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4209,25 +4210,25 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_getAllCredentials: Record = { + threadId: {"in":"query","name":"threadId","ref":"ThreadId"}, + parentThreadId: {"in":"query","name":"parentThreadId","ref":"ThreadId"}, + connectionId: {"in":"query","name":"connectionId","ref":"RecordId"}, + state: {"in":"query","name":"state","ref":"CredentialState"}, + role: {"in":"query","name":"role","ref":"CredentialRole"}, + }; app.get('/credentials', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.getAllCredentials)), async function CredentialController_getAllCredentials(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - threadId: {"in":"query","name":"threadId","ref":"ThreadId"}, - parentThreadId: {"in":"query","name":"parentThreadId","ref":"ThreadId"}, - connectionId: {"in":"query","name":"connectionId","ref":"RecordId"}, - state: {"in":"query","name":"state","ref":"CredentialState"}, - role: {"in":"query","name":"role","ref":"CredentialRole"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_getAllCredentials, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4249,20 +4250,20 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_getAllW3c: Record = { + }; app.get('/credentials/w3c', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.getAllW3c)), async function CredentialController_getAllW3c(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_getAllW3c, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4284,21 +4285,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_getW3cById: Record = { + id: {"in":"path","name":"id","required":true,"dataType":"string"}, + }; app.get('/credentials/w3c/:id', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.getW3cById)), async function CredentialController_getW3cById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - id: {"in":"path","name":"id","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_getW3cById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4320,21 +4321,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_getCredentialById: Record = { + credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"ref":"RecordId"}, + }; app.get('/credentials/:credentialRecordId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.getCredentialById)), async function CredentialController_getCredentialById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_getCredentialById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4356,21 +4357,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_proposeCredential: Record = { + proposeCredentialOptions: {"in":"body","name":"proposeCredentialOptions","required":true,"ref":"ProposeCredentialOptions"}, + }; app.post('/credentials/propose-credential', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.proposeCredential)), async function CredentialController_proposeCredential(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - proposeCredentialOptions: {"in":"body","name":"proposeCredentialOptions","required":true,"ref":"ProposeCredentialOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_proposeCredential, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4392,21 +4393,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_acceptProposal: Record = { + acceptCredentialProposal: {"in":"body","name":"acceptCredentialProposal","required":true,"ref":"AcceptCredentialProposalOptions"}, + }; app.post('/credentials/accept-proposal', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.acceptProposal)), async function CredentialController_acceptProposal(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - acceptCredentialProposal: {"in":"body","name":"acceptCredentialProposal","required":true,"ref":"AcceptCredentialProposalOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_acceptProposal, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4428,21 +4429,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_createOffer: Record = { + createOfferOptions: {"in":"body","name":"createOfferOptions","required":true,"ref":"CreateOfferOptions"}, + }; app.post('/credentials/create-offer', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.createOffer)), async function CredentialController_createOffer(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - createOfferOptions: {"in":"body","name":"createOfferOptions","required":true,"ref":"CreateOfferOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_createOffer, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4464,21 +4465,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_createOfferOob: Record = { + outOfBandOption: {"in":"body","name":"outOfBandOption","required":true,"ref":"CreateOfferOobOptions"}, + }; app.post('/credentials/create-offer-oob', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.createOfferOob)), async function CredentialController_createOfferOob(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - outOfBandOption: {"in":"body","name":"outOfBandOption","required":true,"ref":"CreateOfferOobOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_createOfferOob, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4500,21 +4501,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_acceptOffer: Record = { + acceptCredentialOfferOptions: {"in":"body","name":"acceptCredentialOfferOptions","required":true,"ref":"CredentialOfferOptions"}, + }; app.post('/credentials/accept-offer', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.acceptOffer)), async function CredentialController_acceptOffer(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - acceptCredentialOfferOptions: {"in":"body","name":"acceptCredentialOfferOptions","required":true,"ref":"CredentialOfferOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_acceptOffer, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4536,21 +4537,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_acceptRequest: Record = { + acceptCredentialRequestOptions: {"in":"body","name":"acceptCredentialRequestOptions","required":true,"ref":"AcceptCredentialRequestOptions"}, + }; app.post('/credentials/accept-request', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.acceptRequest)), async function CredentialController_acceptRequest(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - acceptCredentialRequestOptions: {"in":"body","name":"acceptCredentialRequestOptions","required":true,"ref":"AcceptCredentialRequestOptions"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_acceptRequest, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4572,21 +4573,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_acceptCredential: Record = { + acceptCredential: {"in":"body","name":"acceptCredential","required":true,"ref":"AcceptCredential"}, + }; app.post('/credentials/accept-credential', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.acceptCredential)), async function CredentialController_acceptCredential(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - acceptCredential: {"in":"body","name":"acceptCredential","required":true,"ref":"AcceptCredential"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_acceptCredential, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4608,21 +4609,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsCredentialController_credentialFormData: Record = { + credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"dataType":"string"}, + }; app.get('/credentials/:credentialRecordId/form-data', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.credentialFormData)), async function CredentialController_credentialFormData(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialController_credentialFormData, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4644,26 +4645,26 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsConnectionController_getAllConnections: Record = { + outOfBandId: {"in":"query","name":"outOfBandId","dataType":"string"}, + alias: {"in":"query","name":"alias","dataType":"string"}, + state: {"in":"query","name":"state","ref":"DidExchangeState"}, + myDid: {"in":"query","name":"myDid","dataType":"string"}, + theirDid: {"in":"query","name":"theirDid","dataType":"string"}, + theirLabel: {"in":"query","name":"theirLabel","dataType":"string"}, + }; app.get('/connections', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.getAllConnections)), async function ConnectionController_getAllConnections(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - outOfBandId: {"in":"query","name":"outOfBandId","dataType":"string"}, - alias: {"in":"query","name":"alias","dataType":"string"}, - state: {"in":"query","name":"state","ref":"DidExchangeState"}, - myDid: {"in":"query","name":"myDid","dataType":"string"}, - theirDid: {"in":"query","name":"theirDid","dataType":"string"}, - theirLabel: {"in":"query","name":"theirLabel","dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsConnectionController_getAllConnections, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4685,21 +4686,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsConnectionController_getConnectionById: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + }; app.get('/connections/:connectionId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.getConnectionById)), async function ConnectionController_getConnectionById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsConnectionController_getConnectionById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4721,21 +4722,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsConnectionController_deleteConnection: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + }; app.delete('/connections/:connectionId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.deleteConnection)), async function ConnectionController_deleteConnection(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsConnectionController_deleteConnection, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4757,21 +4758,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsConnectionController_acceptRequest: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + }; app.post('/connections/:connectionId/accept-request', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.acceptRequest)), async function ConnectionController_acceptRequest(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsConnectionController_acceptRequest, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4793,21 +4794,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsConnectionController_acceptResponse: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + }; app.post('/connections/:connectionId/accept-response', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.acceptResponse)), async function ConnectionController_acceptResponse(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsConnectionController_acceptResponse, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4829,20 +4830,20 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsConnectionController_getInvitation: Record = { + invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, + }; app.get('/url/:invitationId', ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.getInvitation)), async function ConnectionController_getInvitation(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsConnectionController_getInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4864,21 +4865,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsBasicMessageController_getBasicMessages: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + }; app.get('/basic-messages/:connectionId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(BasicMessageController)), ...(fetchMiddlewares(BasicMessageController.prototype.getBasicMessages)), async function BasicMessageController_getBasicMessages(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsBasicMessageController_getBasicMessages, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4900,22 +4901,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsBasicMessageController_sendMessage: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + request: {"in":"body","name":"request","required":true,"ref":"Record_content.string_"}, + }; app.post('/basic-messages/:connectionId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(BasicMessageController)), ...(fetchMiddlewares(BasicMessageController.prototype.sendMessage)), async function BasicMessageController_sendMessage(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - request: {"in":"body","name":"request","required":true,"ref":"Record_content.string_"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsBasicMessageController_sendMessage, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4937,19 +4938,19 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsAgentController_getAgentInfo: Record = { + }; app.get('/agent', ...(fetchMiddlewares(AgentController)), ...(fetchMiddlewares(AgentController.prototype.getAgentInfo)), async function AgentController_getAgentInfo(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_getAgentInfo, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -4971,20 +4972,20 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsAgentController_deleteWallet: Record = { + }; app.delete('/agent/wallet', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(AgentController)), ...(fetchMiddlewares(AgentController.prototype.deleteWallet)), async function AgentController_deleteWallet(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_deleteWallet, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -5006,24 +5007,24 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsQuestionAnswerController_getQuestionAnswerRecords: Record = { + connectionId: {"in":"query","name":"connectionId","dataType":"string"}, + role: {"in":"query","name":"role","ref":"QuestionAnswerRole"}, + state: {"in":"query","name":"state","ref":"QuestionAnswerState"}, + threadId: {"in":"query","name":"threadId","dataType":"string"}, + }; app.get('/question-answer', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(QuestionAnswerController)), ...(fetchMiddlewares(QuestionAnswerController.prototype.getQuestionAnswerRecords)), async function QuestionAnswerController_getQuestionAnswerRecords(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"query","name":"connectionId","dataType":"string"}, - role: {"in":"query","name":"role","ref":"QuestionAnswerRole"}, - state: {"in":"query","name":"state","ref":"QuestionAnswerState"}, - threadId: {"in":"query","name":"threadId","dataType":"string"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_getQuestionAnswerRecords, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -5045,22 +5046,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsQuestionAnswerController_sendQuestion: Record = { + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"detail":{"dataType":"string"},"validResponses":{"dataType":"array","array":{"dataType":"refObject","ref":"ValidResponse"},"required":true},"question":{"dataType":"string","required":true}}}, + }; app.post('/question-answer/question/:connectionId', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(QuestionAnswerController)), ...(fetchMiddlewares(QuestionAnswerController.prototype.sendQuestion)), async function QuestionAnswerController_sendQuestion(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"detail":{"dataType":"string"},"validResponses":{"dataType":"array","array":{"dataType":"refObject","ref":"ValidResponse"},"required":true},"question":{"dataType":"string","required":true}}}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_sendQuestion, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -5082,22 +5083,22 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsQuestionAnswerController_sendAnswer: Record = { + id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, + request: {"in":"body","name":"request","required":true,"ref":"Record_response.string_"}, + }; app.post('/question-answer/answer/:id', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(QuestionAnswerController)), ...(fetchMiddlewares(QuestionAnswerController.prototype.sendAnswer)), async function QuestionAnswerController_sendAnswer(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, - request: {"in":"body","name":"request","required":true,"ref":"Record_response.string_"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_sendAnswer, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; @@ -5119,21 +5120,21 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + const argsQuestionAnswerController_getQuestionAnswerRecordById: Record = { + id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, + }; app.get('/question-answer/:id', authenticateMiddleware([{"apiKey":[]}]), ...(fetchMiddlewares(QuestionAnswerController)), ...(fetchMiddlewares(QuestionAnswerController.prototype.getQuestionAnswerRecordById)), async function QuestionAnswerController_getQuestionAnswerRecordById(request: ExRequest, response: ExResponse, next: any) { - const args: Record = { - id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, - }; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_getQuestionAnswerRecordById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; diff --git a/src/server.ts b/src/server.ts index e9bd8ff4..29235397 100644 --- a/src/server.ts +++ b/src/server.ts @@ -1,7 +1,8 @@ // eslint-disable-next-line import/order import { otelSDK } from './tracer' +import 'reflect-metadata' import type { ServerConfig } from './utils/ServerConfig' -import type { Response as ExResponse, Request as ExRequest, NextFunction } from 'express' +import type { Response as ExResponse, Request as ExRequest, NextFunction, ErrorRequestHandler } from 'express' import { Agent } from '@credo-ts/core' import bodyParser from 'body-parser' @@ -10,7 +11,8 @@ import dotenv from 'dotenv' import express from 'express' import { rateLimit } from 'express-rate-limit' import * as fs from 'fs' -import { serve, generateHTML } from 'swagger-ui-express' +import { generateHTML, serve } from 'swagger-ui-express' +import { ValidateError } from 'tsoa' import { container } from 'tsyringe' import { setDynamicApiKey } from './authentication' @@ -24,12 +26,11 @@ import { reuseConnectionEvents } from './events/ReuseConnectionEvents' import { RegisterRoutes } from './routes/routes' import { SecurityMiddleware } from './securityMiddleware' -import { ValidateError } from 'tsoa' - dotenv.config() export const setupServer = async (agent: Agent, config: ServerConfig, apiKey?: string) => { await otelSDK.start() + console.log('OpenTelemetry SDK started') container.registerInstance(Agent, agent) fs.writeFileSync('config.json', JSON.stringify(config, null, 2)) const app = config.app ?? express() @@ -49,16 +50,19 @@ export const setupServer = async (agent: Agent, config: ServerConfig, apiKey?: s bodyParser.urlencoded({ extended: true, limit: '50mb', - }) + }), ) setDynamicApiKey(apiKey ? apiKey : '') app.use(bodyParser.json({ limit: '50mb' })) - app.use('/docs', serve, async (_req: ExRequest, res: ExResponse) => { - return res.send(generateHTML(await import('./routes/swagger.json'))) + app.use('/docs', serve, (_req: ExRequest, res: ExResponse, next: NextFunction) => { + import('./routes/swagger.json') + .then((swaggerJson) => { + res.send(generateHTML(swaggerJson)) + }) + .catch(next) }) - const windowMs = Number(process.env.windowMs) const maxRateLimit = Number(process.env.maxRateLimit) const limiter = rateLimit({ @@ -82,7 +86,7 @@ export const setupServer = async (agent: Agent, config: ServerConfig, apiKey?: s app.use(securityMiddleware.use) RegisterRoutes(app) - app.use(function errorHandler(err: unknown, req: ExRequest, res: ExResponse, next: NextFunction): ExResponse | void { + app.use(((err: unknown, req: ExRequest, res: ExResponse, next: NextFunction): ExResponse | void => { if (err instanceof ValidateError) { agent.config.logger.warn(`Caught Validation Error for ${req.path}:`, err.fields) return res.status(422).json({ @@ -102,7 +106,7 @@ export const setupServer = async (agent: Agent, config: ServerConfig, apiKey?: s }) } next() - }) + }) as ErrorRequestHandler) return app } diff --git a/src/tracer.ts b/src/tracer.ts index a2a1c20b..ffdcd26c 100644 --- a/src/tracer.ts +++ b/src/tracer.ts @@ -16,7 +16,8 @@ import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' import { LoggerProvider, BatchLogRecordProcessor } from '@opentelemetry/sdk-logs' import { DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api' - +import dotenv from 'dotenv' +dotenv.config() diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO) const resource = new resourceFromAttributes({ diff --git a/src/utils/TsyringeAdapter.ts b/src/utils/TsyringeAdapter.ts index d1e1efde..4d79391f 100644 --- a/src/utils/TsyringeAdapter.ts +++ b/src/utils/TsyringeAdapter.ts @@ -3,7 +3,7 @@ import type { IocContainer } from '@tsoa/runtime' import { container } from 'tsyringe' export const iocContainer: IocContainer = { - get: (controller: { prototype: T }): T => { - return container.resolve(controller as never) + get: (controller: Parameters[0]): T | Promise => { + return container.resolve(controller as any) }, } diff --git a/src/utils/tsyringeTsoaIocContainer.ts b/src/utils/tsyringeTsoaIocContainer.ts index d1e1efde..4d79391f 100644 --- a/src/utils/tsyringeTsoaIocContainer.ts +++ b/src/utils/tsyringeTsoaIocContainer.ts @@ -3,7 +3,7 @@ import type { IocContainer } from '@tsoa/runtime' import { container } from 'tsyringe' export const iocContainer: IocContainer = { - get: (controller: { prototype: T }): T => { - return container.resolve(controller as never) + get: (controller: Parameters[0]): T | Promise => { + return container.resolve(controller as any) }, } diff --git a/tsconfig.build.json b/tsconfig.build.json index 0b81e7f6..bef24e4b 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -6,14 +6,15 @@ "sourceMap": true, "strict": true, "noEmitOnError": true, - "lib": ["ES2021"], "esModuleInterop": true, "allowSyntheticDefaultImports": true, "resolveJsonModule": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, - "types": ["jest"], - "outDir": "./build" + "skipLibCheck": true, + "outDir": "./build", + "types": ["node"], + "lib": ["ES2021.Promise"] }, "include": ["src/**/*", "src/routes"], "exclude": [ @@ -25,4 +26,4 @@ "**/build/**", "scripts" ] -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 66fc0506..326f0d5d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -108,131 +108,124 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== dependencies: - "@babel/highlight" "^7.24.7" - picocolors "^1.0.0" + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" -"@babel/compat-data@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.2.tgz#e41928bd33475305c586f6acbbb7e3ade7a6f7f5" - integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ== +"@babel/compat-data@^7.27.2": + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.5.tgz#7d0658ec1a8420fc866d1df1b03bea0e79934c82" + integrity sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.14.6", "@babel/core@^7.23.9": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" - integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.4.tgz#cc1fc55d0ce140a1828d1dd2a2eba285adbfb3ce" + integrity sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-module-transforms" "^7.25.2" - "@babel/helpers" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.2" - "@babel/types" "^7.25.2" + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.3" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-module-transforms" "^7.27.3" + "@babel/helpers" "^7.27.4" + "@babel/parser" "^7.27.4" + "@babel/template" "^7.27.2" + "@babel/traverse" "^7.27.4" + "@babel/types" "^7.27.3" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.25.0", "@babel/generator@^7.7.2": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e" - integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== +"@babel/generator@^7.27.3", "@babel/generator@^7.7.2": + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.5.tgz#3eb01866b345ba261b04911020cbe22dd4be8c8c" + integrity sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw== dependencies: - "@babel/types" "^7.25.0" + "@babel/parser" "^7.27.5" + "@babel/types" "^7.27.3" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" + jsesc "^3.0.2" -"@babel/helper-compilation-targets@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" - integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== +"@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== dependencies: - "@babel/compat-data" "^7.25.2" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" + "@babel/compat-data" "^7.27.2" + "@babel/helper-validator-option" "^7.27.1" + browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" - integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.2" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== - -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== - -"@babel/helpers@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" - integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== - dependencies: - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" +"@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02" + integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.3" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" + integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== + +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== + +"@babel/helper-validator-identifier@^7.25.9", "@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== + +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== + +"@babel/helpers@^7.27.4": + version "7.27.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.6.tgz#6456fed15b2cb669d2d1fabe84b66b34991d812c" + integrity sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug== + dependencies: + "@babel/template" "^7.27.2" + "@babel/types" "^7.27.6" + +"@babel/highlight@^7.10.4": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6" + integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" chalk "^2.4.2" js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.3": - version "7.25.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.3.tgz#91fb126768d944966263f0657ab222a642b82065" - integrity sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.27.5": + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.5.tgz#ed22f871f110aa285a6fd934a0efed621d118826" + integrity sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg== dependencies: - "@babel/types" "^7.25.2" + "@babel/types" "^7.27.3" "@babel/plugin-proposal-export-namespace-from@^7.14.5": version "7.18.9" @@ -256,13 +249,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" @@ -270,7 +270,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-import-attributes@^7.24.7": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" + integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -285,13 +292,13 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" - integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" + integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -305,7 +312,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== @@ -333,7 +340,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== @@ -341,51 +355,49 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz#58d458271b4d3b6bb27ee6ac9525acbb259bad1c" - integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" + integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-modules-commonjs@^7.14.5": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" - integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== - dependencies: - "@babel/helper-module-transforms" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-simple-access" "^7.24.7" - -"@babel/template@^7.25.0", "@babel/template@^7.3.3": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" - integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2": - version "7.25.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.3.tgz#f1b901951c83eda2f3e29450ce92743783373490" - integrity sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/parser" "^7.25.3" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.2" + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" + integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw== + dependencies: + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/template@^7.27.2", "@babel/template@^7.3.3": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.27.4": + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.4.tgz#b0045ac7023c8472c3d35effd7cc9ebd638da6ea" + integrity sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.3" + "@babel/parser" "^7.27.4" + "@babel/template" "^7.27.2" + "@babel/types" "^7.27.3" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.3.3": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.2.tgz#55fb231f7dc958cd69ea141a4c2997e819646125" - integrity sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6", "@babel/types@^7.3.3": + version "7.27.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.6.tgz#a434ca7add514d4e646c80f7375c0aa2befc5535" + integrity sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q== dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" "@bcoe/v8-coverage@^0.2.3": version "0.2.3" @@ -682,17 +694,39 @@ credentials-context "^2.0.0" fix-esm "^1.0.1" +"@emnapi/core@^1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.4.3.tgz#9ac52d2d5aea958f67e52c40a065f51de59b77d6" + integrity sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g== + dependencies: + "@emnapi/wasi-threads" "1.0.2" + tslib "^2.4.0" + +"@emnapi/runtime@^1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.4.3.tgz#c0564665c80dc81c448adac23f9dfbed6c838f7d" + integrity sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ== + dependencies: + tslib "^2.4.0" + +"@emnapi/wasi-threads@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz#977f44f844eac7d6c138a415a123818c655f874c" + integrity sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA== + dependencies: + tslib "^2.4.0" + "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + version "4.7.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a" + integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== dependencies: - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.3" "@eslint-community/regexpp@^4.5.1": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -709,347 +743,347 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" +"@ethersproject/abi@5.8.0", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.8.0.tgz#e79bb51940ac35fe6f3262d7fe2cdb25ad5f07d9" + integrity sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/abstract-provider@5.8.0", "@ethersproject/abstract-provider@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz#7581f9be601afa1d02b95d26b9d9840926a35b0c" + integrity sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" + +"@ethersproject/abstract-signer@5.8.0", "@ethersproject/abstract-signer@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz#8d7417e95e4094c1797a9762e6789c7356db0754" + integrity sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/address@5.8.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.8.0.tgz#3007a2c352eee566ad745dca1dbbebdb50a6a983" + integrity sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + +"@ethersproject/base64@5.8.0", "@ethersproject/base64@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.8.0.tgz#61c669c648f6e6aad002c228465d52ac93ee83eb" + integrity sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ== + dependencies: + "@ethersproject/bytes" "^5.8.0" + +"@ethersproject/basex@5.8.0", "@ethersproject/basex@^5.7.0", "@ethersproject/basex@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.8.0.tgz#1d279a90c4be84d1c1139114a1f844869e57d03a" + integrity sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/bignumber@5.8.0", "@ethersproject/bignumber@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.8.0.tgz#c381d178f9eeb370923d389284efa19f69efa5d7" + integrity sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" bn.js "^5.2.1" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" +"@ethersproject/bytes@5.8.0", "@ethersproject/bytes@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.8.0.tgz#9074820e1cac7507a34372cadeb035461463be34" + integrity sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/constants@5.8.0", "@ethersproject/constants@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.8.0.tgz#12f31c2f4317b113a4c19de94e50933648c90704" + integrity sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + +"@ethersproject/contracts@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.8.0.tgz#243a38a2e4aa3e757215ea64e276f8a8c9d8ed73" + integrity sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ== + dependencies: + "@ethersproject/abi" "^5.8.0" + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + +"@ethersproject/hash@5.8.0", "@ethersproject/hash@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.8.0.tgz#b8893d4629b7f8462a90102572f8cd65a0192b4c" + integrity sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/hdnode@5.8.0", "@ethersproject/hdnode@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.8.0.tgz#a51ae2a50bcd48ef6fd108c64cbae5e6ff34a761" + integrity sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/json-wallets@5.8.0", "@ethersproject/json-wallets@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz#d18de0a4cf0f185f232eb3c17d5e0744d97eb8c9" + integrity sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== +"@ethersproject/keccak256@5.8.0", "@ethersproject/keccak256@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.8.0.tgz#d2123a379567faf2d75d2aaea074ffd4df349e6a" + integrity sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng== dependencies: - "@ethersproject/bytes" "^5.7.0" + "@ethersproject/bytes" "^5.8.0" js-sha3 "0.8.0" -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/providers@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" +"@ethersproject/logger@5.8.0", "@ethersproject/logger@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.8.0.tgz#f0232968a4f87d29623a0481690a2732662713d6" + integrity sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA== + +"@ethersproject/networks@5.8.0", "@ethersproject/networks@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.8.0.tgz#8b4517a3139380cba9fb00b63ffad0a979671fde" + integrity sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/pbkdf2@5.8.0", "@ethersproject/pbkdf2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz#cd2621130e5dd51f6a0172e63a6e4a0c0a0ec37e" + integrity sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + +"@ethersproject/properties@5.8.0", "@ethersproject/properties@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.8.0.tgz#405a8affb6311a49a91dabd96aeeae24f477020e" + integrity sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/providers@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.8.0.tgz#6c2ae354f7f96ee150439f7de06236928bc04cb4" + integrity sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" bech32 "1.1.4" - ws "7.4.6" + ws "8.18.0" -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== +"@ethersproject/random@5.8.0", "@ethersproject/random@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.8.0.tgz#1bced04d49449f37c6437c701735a1a022f0057a" + integrity sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A== dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== +"@ethersproject/rlp@5.8.0", "@ethersproject/rlp@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.8.0.tgz#5a0d49f61bc53e051532a5179472779141451de5" + integrity sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q== dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== +"@ethersproject/sha2@5.8.0", "@ethersproject/sha2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.8.0.tgz#8954a613bb78dac9b46829c0a95de561ef74e5e1" + integrity sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A== dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" hash.js "1.1.7" -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== +"@ethersproject/signing-key@5.8.0", "@ethersproject/signing-key@^5.7.0", "@ethersproject/signing-key@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.8.0.tgz#9797e02c717b68239c6349394ea85febf8893119" + integrity sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w== dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" bn.js "^5.2.1" - elliptic "6.5.4" + elliptic "6.6.1" hash.js "1.1.7" -"@ethersproject/solidity@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" +"@ethersproject/solidity@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.8.0.tgz#429bb9fcf5521307a9448d7358c26b93695379b9" + integrity sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/strings@5.8.0", "@ethersproject/strings@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.8.0.tgz#ad79fafbf0bd272d9765603215ac74fd7953908f" + integrity sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/transactions@5.8.0", "@ethersproject/transactions@^5.7.0", "@ethersproject/transactions@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.8.0.tgz#1e518822403abc99def5a043d1c6f6fe0007e46b" + integrity sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + +"@ethersproject/units@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.8.0.tgz#c12f34ba7c3a2de0e9fa0ed0ee32f3e46c5c2c6a" + integrity sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/wallet@5.8.0", "@ethersproject/wallet@^5.7.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.8.0.tgz#49c300d10872e6986d953e8310dc33d440da8127" + integrity sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/json-wallets" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/web@5.8.0", "@ethersproject/web@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.8.0.tgz#3e54badc0013b7a801463a7008a87988efce8a37" + integrity sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw== + dependencies: + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/wordlists@5.8.0", "@ethersproject/wordlists@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.8.0.tgz#7a5654ee8d1bb1f4dbe43f91d217356d650ad821" + integrity sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" "@fastify/busboy@^2.0.0": version "2.1.1" @@ -1074,7 +1108,7 @@ protobufjs "^7.2.5" yargs "^17.7.2" -"@hapi/accept@^6.0.1": +"@hapi/accept@^6.0.3": version "6.0.3" resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-6.0.3.tgz#eef0800a4f89cd969da8e5d0311dc877c37279ab" integrity sha512-p72f9k56EuF0n3MwlBNThyVE5PXX40g+aQh+C/xbKrfzahM2Oispv3AXmOIU51t3j77zay1qrX7IIziZXspMlw== @@ -1103,10 +1137,10 @@ dependencies: "@hapi/hoek" "^11.0.2" -"@hapi/bounce@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@hapi/bounce/-/bounce-3.0.1.tgz#25a51bf95733749c557c6bf948048bffa66435e4" - integrity sha512-G+/Pp9c1Ha4FDP+3Sy/Xwg2O4Ahaw3lIZFSX+BL4uWi64CmiETuZPxhKDUD4xBMOUZbBlzvO8HjiK8ePnhBadA== +"@hapi/bounce@^3.0.1", "@hapi/bounce@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@hapi/bounce/-/bounce-3.0.2.tgz#6499a1e2db6a699e2c8d284045af46b9d8d9d57d" + integrity sha512-d0XmlTi3H9HFDHhQLjg4F4auL1EY3Wqj7j7/hGDhFFe6xAbnm3qiGrXeT93zZnPH8gH+SKAFYiRzu26xkXcH3g== dependencies: "@hapi/boom" "^10.0.1" "@hapi/hoek" "^11.0.2" @@ -1161,28 +1195,28 @@ resolved "https://registry.yarnpkg.com/@hapi/file/-/file-3.0.0.tgz#f1fd824493ac89a6fceaf89c824afc5ae2121c09" integrity sha512-w+lKW+yRrLhJu620jT3y+5g2mHqnKfepreykvdOcl9/6up8GrQQn+l3FRTsjHTKbkbfQFkuksHpdv2EcpKcJ4Q== -"@hapi/hapi@^21.3.3": - version "21.3.10" - resolved "https://registry.yarnpkg.com/@hapi/hapi/-/hapi-21.3.10.tgz#0357db7ca49415e50e5df80ba50ad3964f2a62f3" - integrity sha512-CmEcmTREW394MaGGKvWpoOK4rG8tKlpZLs30tbaBzhCrhiL2Ti/HARek9w+8Ya4nMBGcd+kDAzvU44OX8Ms0Jg== +"@hapi/hapi@^21.3.12": + version "21.4.0" + resolved "https://registry.yarnpkg.com/@hapi/hapi/-/hapi-21.4.0.tgz#6f1493ffd6d83ef2d06a95b6e855f554545e3703" + integrity sha512-kqiRWbYYLSSt2rYbxyNj8svPsXP715p4W/K3OXpXeiiVLNSdBX4f+zfmC+dY6eyb6rqTqTAbx6x8b5HpJTkviQ== dependencies: - "@hapi/accept" "^6.0.1" + "@hapi/accept" "^6.0.3" "@hapi/ammo" "^6.0.1" "@hapi/boom" "^10.0.1" - "@hapi/bounce" "^3.0.1" + "@hapi/bounce" "^3.0.2" "@hapi/call" "^9.0.1" "@hapi/catbox" "^12.1.1" "@hapi/catbox-memory" "^6.0.2" "@hapi/heavy" "^8.0.1" - "@hapi/hoek" "^11.0.2" + "@hapi/hoek" "^11.0.6" "@hapi/mimos" "^7.0.1" "@hapi/podium" "^5.0.1" "@hapi/shot" "^6.0.1" "@hapi/somever" "^4.1.1" - "@hapi/statehood" "^8.1.1" + "@hapi/statehood" "^8.2.0" "@hapi/subtext" "^8.1.0" "@hapi/teamwork" "^6.0.0" - "@hapi/topo" "^6.0.1" + "@hapi/topo" "^6.0.2" "@hapi/validate" "^2.0.1" "@hapi/heavy@^8.0.1": @@ -1194,10 +1228,10 @@ "@hapi/hoek" "^11.0.2" "@hapi/validate" "^2.0.1" -"@hapi/hoek@^11.0.2": - version "11.0.4" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-11.0.4.tgz#42a7f244fd3dd777792bfb74b8c6340ae9182f37" - integrity sha512-PnsP5d4q7289pS2T2EgGz147BFJ2Jpb4yrEdkpz2IhgEUzos1S7HTl7ezWh1yfYzYlj89KzLdCRkqsP6SIryeQ== +"@hapi/hoek@^11.0.2", "@hapi/hoek@^11.0.6": + version "11.0.7" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-11.0.7.tgz#56a920793e0a42d10e530da9a64cc0d3919c4002" + integrity sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ== "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": version "9.3.0" @@ -1243,9 +1277,9 @@ "@hapi/nigel" "^5.0.1" "@hapi/podium@^5.0.0", "@hapi/podium@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@hapi/podium/-/podium-5.0.1.tgz#f292b4c0ca3118747394a102c6c3340bda96662f" - integrity sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ== + version "5.0.2" + resolved "https://registry.yarnpkg.com/@hapi/podium/-/podium-5.0.2.tgz#6b1431bec13f55525cdfa83b2a7684c212c96189" + integrity sha512-T7gf2JYHQQfEfewTQFbsaXoZxSvuXO/QBIGljucUQ/lmPnTTNAepoIKOakWNVWvo2fMEDjycu77r8k6dhreqHA== dependencies: "@hapi/hoek" "^11.0.2" "@hapi/teamwork" "^6.0.0" @@ -1267,10 +1301,10 @@ "@hapi/bounce" "^3.0.1" "@hapi/hoek" "^11.0.2" -"@hapi/statehood@^8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@hapi/statehood/-/statehood-8.1.1.tgz#db4bd14c90810a1389763cb0b0b8f221aa4179c1" - integrity sha512-YbK7PSVUA59NArAW5Np0tKRoIZ5VNYUicOk7uJmWZF6XyH5gGL+k62w77SIJb0AoAJ0QdGQMCQ/WOGL1S3Ydow== +"@hapi/statehood@^8.2.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@hapi/statehood/-/statehood-8.2.0.tgz#f9e9367ad1a02a975dc6b24dad728af19962da0f" + integrity sha512-63JlCVIrsmuunWsyc3OeuFO+gH6v56swLCl7OM1w09l/exQKPUxSUDF2Slkuw8k91nIzr0A2/aPvjLOWf9ksrg== dependencies: "@hapi/boom" "^10.0.1" "@hapi/bounce" "^3.0.1" @@ -1305,7 +1339,7 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@hapi/topo@^6.0.1": +"@hapi/topo@^6.0.1", "@hapi/topo@^6.0.2": version "6.0.2" resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-6.0.2.tgz#f219c1c60da8430228af4c1f2e40c32a0d84bbb4" integrity sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg== @@ -1625,9 +1659,9 @@ chalk "^4.0.0" "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -1689,6 +1723,15 @@ resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121" integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw== +"@napi-rs/wasm-runtime@^0.2.11": + version "0.2.11" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz#192c1610e1625048089ab4e35bc0649ce478500e" + integrity sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA== + dependencies: + "@emnapi/core" "^1.4.3" + "@emnapi/runtime" "^1.4.3" + "@tybys/wasm-util" "^0.9.0" + "@noble/curves@1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" @@ -1701,6 +1744,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== +"@noble/hashes@^1.1.5": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" + integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1722,17 +1770,22 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@nolyfill/is-core-module@1.0.39": + version "1.0.39" + resolved "https://registry.yarnpkg.com/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz#3dc35ba0f1e66b403c00b39344f870298ebb1c8e" + integrity sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA== + "@nomicfoundation/hardhat-verify@^2.0.3": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.9.tgz#98a1c9a3742b008be71a709d074f10dec23bc5f0" - integrity sha512-7kD8hu1+zlnX87gC+UN4S0HTKBnIsDfXZ/pproq1gYsK94hgCk+exvzXbwR0X2giiY/RZPkqY9oKRi0Uev91hQ== + version "2.0.14" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.14.tgz#ba80918fac840f1165825f2a422a694486f82f6f" + integrity sha512-z3iVF1WYZHzcdMMUuureFpSAfcnlfJbJx3faOnGrOYg6PRTki1Ut9JAuRccnFzMHf1AmTEoSUpWcyvBCoxL5Rg== dependencies: "@ethersproject/abi" "^5.1.2" "@ethersproject/address" "^5.0.2" cbor "^8.1.0" - chalk "^2.4.2" debug "^4.1.1" lodash.clonedeep "^4.5.0" + picocolors "^1.1.0" semver "^6.3.0" table "^6.8.0" undici "^5.14.0" @@ -2045,14 +2098,21 @@ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.34.0.tgz#8b6a46681b38a4d5947214033ac48128328c1738" integrity sha512-aKcOkyrorBGlajjRdVoJWHTxfxO1vCNHLJVlSDaRHDIdjU+pX8IYQPvPDkYiujKLbRnWU+1TBwEt0QRgSm4SGA== -"@peculiar/asn1-schema@^2.3.8": - version "2.3.13" - resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.13.tgz#ec8509cdcbc0da3abe73fd7e690556b57a61b8f4" - integrity sha512-3Xq3a01WkHRZL8X04Zsfg//mGaA21xlL4tlVn4v2xGT0JStiztATRkMwa5b+f/HXmY2smsiLXYK46Gwgzvfg3g== +"@paralleldrive/cuid2@^2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@paralleldrive/cuid2/-/cuid2-2.2.2.tgz#7f91364d53b89e2c9cb9e02e8dd0f129e834455f" + integrity sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA== + dependencies: + "@noble/hashes" "^1.1.5" + +"@peculiar/asn1-schema@^2.3.13", "@peculiar/asn1-schema@^2.3.8": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.15.tgz#e926bfdeed51945a06f38be703499e7d8341a5d3" + integrity sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w== dependencies: asn1js "^3.0.5" - pvtsutils "^1.3.5" - tslib "^2.6.2" + pvtsutils "^1.3.6" + tslib "^2.8.1" "@peculiar/json-schema@^1.1.12": version "1.1.12" @@ -2130,6 +2190,16 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + +"@scarf/scarf@=1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scarf/scarf/-/scarf-1.4.0.tgz#3bbb984085dbd6d982494538b523be1ce6562972" + integrity sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ== + "@sd-jwt/core@^0.6.1": version "0.6.1" resolved "https://registry.yarnpkg.com/@sd-jwt/core/-/core-0.6.1.tgz#d28be10d0f4b672636fcf7ad71737cb08e5dae96" @@ -2217,9 +2287,9 @@ integrity sha512-kQpk267uxB19X3X2T1mvNMjyvIEonpNSHrMlK5ZaBU6aZxw7wPbpgKJOjHN3+/GPVpXgAV9soVT2oyHpLkLtyw== "@sphereon/pex-models@^2.2.4": - version "2.2.4" - resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.2.4.tgz#0ce28e9858b38012fe1ff7d9fd12ec503473ee66" - integrity sha512-pGlp+wplneE1+Lk3U48/2htYKTbONMeG5/x7vhO6AnPUOsnOXeJdftPrBYWVSzz/JH5GJptAc6+pAyYE1zMu4Q== + version "2.3.2" + resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.3.2.tgz#88bb330745ef8011e4b13fb0a586593095888c6e" + integrity sha512-foFxfLkRwcn/MOp/eht46Q7wsvpQGlO7aowowIIb5Tz9u97kYZ2kz6K2h2ODxWuv5CRA7Q0MY8XUBGE2lfOhOQ== "@sphereon/pex@^3.3.2": version "3.3.3" @@ -2339,36 +2409,43 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== -"@tsoa/cli@^6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@tsoa/cli/-/cli-6.4.0.tgz#292caca9af23acf7bf9f0e051a1516f97bfd0ce3" - integrity sha512-cuKqIAJ33enhXejMb04P2JF/SZdM3WLFE9Qg8s2dOVOrLbbZGK3H85YSORif0unxbre02psXuUyl3FwWBt0/pQ== +"@tsoa/cli@^6.6.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@tsoa/cli/-/cli-6.6.0.tgz#7946adfb64a3f081d18d1b4b8e4546626b99c602" + integrity sha512-thSW0EiqjkF7HspcPIVIy0ZX65VqbWALHbxwl8Sk83j2kakOMq+fJvfo8FcBAWlMki+JDH7CO5iaAaSLHbeqtg== dependencies: - "@tsoa/runtime" "^6.4.0" - "@types/multer" "^1.4.11" + "@tsoa/runtime" "^6.6.0" + "@types/multer" "^1.4.12" fs-extra "^11.2.0" glob "^10.3.10" handlebars "^4.7.8" - merge-anything "^5.1.4" + merge-anything "^5.1.7" minimatch "^9.0.1" - ts-deepmerge "^7.0.0" - typescript "^5.3.3" - validator "^13.11.0" - yaml "^2.4.1" + ts-deepmerge "^7.0.2" + typescript "^5.7.2" + validator "^13.12.0" + yaml "^2.6.1" yargs "^17.7.1" -"@tsoa/runtime@^6.0.0", "@tsoa/runtime@^6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@tsoa/runtime/-/runtime-6.4.0.tgz#9bad66ec812a8118b7376ebb6c6c9502fc5eff3c" - integrity sha512-oiVVK++Svo8KMRVTfOQxtepPQRCpPh8bCmPpmNFePGZYJAtZ8XX1cm8Zs/v87dZZmNEooU6egj1G40ive/9phw== +"@tsoa/runtime@^6.0.0", "@tsoa/runtime@^6.6.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@tsoa/runtime/-/runtime-6.6.0.tgz#8cbe2773fed7867979b6dee51d6c8abd5d264e14" + integrity sha512-+rF2gdL8CX+jQ82/IBc+MRJFNAvWPoBBl77HHJv3ESVMqbKhlhlo97JHmKyFbLcX6XOJN8zl8gfQpAEJN4SOMQ== dependencies: "@hapi/boom" "^10.0.1" - "@hapi/hapi" "^21.3.3" + "@hapi/hapi" "^21.3.12" "@types/koa" "^2.15.0" - "@types/multer" "^1.4.11" - express "^4.18.3" - reflect-metadata "^0.2.1" - validator "^13.11.0" + "@types/multer" "^1.4.12" + express "^4.21.2" + reflect-metadata "^0.2.2" + validator "^13.12.0" + +"@tybys/wasm-util@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.9.0.tgz#3e75eb00604c8d6db470bf18c37b7d984a0e3355" + integrity sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw== + dependencies: + tslib "^2.4.0" "@types/accepts@*": version "1.3.7" @@ -2389,9 +2466,9 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + version "7.27.0" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" + integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== dependencies: "@babel/types" "^7.0.0" @@ -2404,16 +2481,16 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" - integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.7.tgz#968cdc2366ec3da159f61166428ee40f370e56c2" + integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng== dependencies: "@babel/types" "^7.20.7" "@types/body-parser@*", "@types/body-parser@^1.19.2": - version "1.19.5" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + version "1.19.6" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474" + integrity sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g== dependencies: "@types/connect" "*" "@types/node" "*" @@ -2436,9 +2513,9 @@ "@types/node" "*" "@types/content-disposition@*": - version "0.5.8" - resolved "https://registry.yarnpkg.com/@types/content-disposition/-/content-disposition-0.5.8.tgz#6742a5971f490dc41e59d277eee71361fea0b537" - integrity sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg== + version "0.5.9" + resolved "https://registry.yarnpkg.com/@types/content-disposition/-/content-disposition-0.5.9.tgz#00ca14939432869de829a4ccf6fd380fa9181750" + integrity sha512-8uYXI3Gw35MhiVYhG3s295oihrxRyytcRHjSjqnqZVDDy/xcGBRny7+Xj1Wgfhv5QzRtN2hB2dVRBUX9XW3UcQ== "@types/cookiejar@^2.1.5": version "2.1.5" @@ -2446,9 +2523,9 @@ integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== "@types/cookies@*": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.9.0.tgz#a2290cfb325f75f0f28720939bee854d4142aee2" - integrity sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q== + version "0.9.1" + resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.9.1.tgz#083924ca1266e34ff240ca4d4fd6732ee5b81886" + integrity sha512-E/DPgzifH4sM1UMadJMWd6mO2jOd4g1Ejwzx8/uRCDpJis1IrlyQEcGAYEomtAqRYmD5ORbNXMeI9U0RiVGZbg== dependencies: "@types/connect" "*" "@types/express" "*" @@ -2456,39 +2533,58 @@ "@types/node" "*" "@types/cors@^2.8.12": - version "2.8.17" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" - integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== + version "2.8.19" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.19.tgz#d93ea2673fd8c9f697367f5eeefc2bbfa94f0342" + integrity sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg== dependencies: "@types/node" "*" "@types/eslint@^8.40.2": - version "8.56.11" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.11.tgz#e2ff61510a3b9454b3329fe7731e3b4c6f780041" - integrity sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q== + version "8.56.12" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.12.tgz#1657c814ffeba4d2f84c0d4ba0f44ca7ea1ca53a" + integrity sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" + integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== "@types/express-serve-static-core@^4.17.33": - version "4.19.5" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz#218064e321126fcf9048d1ca25dd2465da55d9c6" - integrity sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg== + version "4.19.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" + integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express-serve-static-core@^5.0.0": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz#41fec4ea20e9c7b22f024ab88a95c6bb288f51b8" + integrity sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/send" "*" -"@types/express@*", "@types/express@^4.17.13", "@types/express@^4.17.15": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== +"@types/express@*", "@types/express@^5.0.2": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.3.tgz#6c4bc6acddc2e2a587142e1d8be0bce20757e956" + integrity sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/serve-static" "*" + +"@types/express@^4.17.15": + version "4.17.23" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.23.tgz#35af3193c640bfd4d7fe77191cd0ed411a433bef" + integrity sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -2503,9 +2599,9 @@ "@types/node" "*" "@types/http-assert@*": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.5.tgz#dfb1063eb7c240ee3d3fe213dac5671cfb6a8dbf" - integrity sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g== + version "1.5.6" + resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.6.tgz#b6b657c38a2350d21ce213139f33b03b2b5fa431" + integrity sha512-TTEwmtjgVbYAzZYWyeHPrrtWnfVkm8tQkP8P21uQifPgMRgjrow3XDEYqucuC8SKZJT7pUnhU/JymvjggxO9vw== "@types/http-cache-semantics@*": version "4.0.4" @@ -2513,9 +2609,9 @@ integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== "@types/http-errors@*": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472" + integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" @@ -2555,10 +2651,11 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/jsonwebtoken@^9.0.5": - version "9.0.6" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.6.tgz#d1af3544d99ad992fb6681bbe60676e06b032bd3" - integrity sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw== + version "9.0.10" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz#a7932a47177dcd4283b6146f3bd5c26d82647f09" + integrity sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA== dependencies: + "@types/ms" "*" "@types/node" "*" "@types/keygrip@*": @@ -2604,44 +2701,44 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== -"@types/multer@^1.4.11", "@types/multer@^1.4.7": - version "1.4.11" - resolved "https://registry.yarnpkg.com/@types/multer/-/multer-1.4.11.tgz#c70792670513b4af1159a2b60bf48cc932af55c5" - integrity sha512-svK240gr6LVWvv3YGyhLlA+6LRRWA4mnGIU7RcNmgjBYFl6665wcXrRfxGp5tEPVHUNm5FMcmq7too9bxCwX/w== +"@types/ms@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== + +"@types/multer@^1.4.12", "@types/multer@^1.4.7": + version "1.4.13" + resolved "https://registry.yarnpkg.com/@types/multer/-/multer-1.4.13.tgz#be483f909a77f13e0624cac3d001859eb12ae68b" + integrity sha512-bhhdtPw7JqCiEfC9Jimx5LqX9BDIPJEh2q/fQ4bqbBPtyEZYr3cvF22NwG0DmPZNYA0CAf2CnqDB4KIGGpJcaw== dependencies: "@types/express" "*" "@types/node-fetch@^2.6.4": - version "2.6.11" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" - integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== + version "2.6.12" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.12.tgz#8ab5c3ef8330f13100a7479e2cd56d3386830a03" + integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== dependencies: "@types/node" "*" form-data "^4.0.0" -"@types/node@*": - version "22.2.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.2.0.tgz#7cf046a99f0ba4d628ad3088cb21f790df9b0c5b" - integrity sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ== - dependencies: - undici-types "~6.13.0" - -"@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - -"@types/node@>=13.7.0": +"@types/node@*", "@types/node@>=13.7.0": version "24.0.3" resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.3.tgz#f935910f3eece3a3a2f8be86b96ba833dc286cab" integrity sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg== dependencies: undici-types "~7.8.0" +"@types/node@22.7.5": + version "22.7.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b" + integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== + dependencies: + undici-types "~6.19.2" + "@types/node@^18.18.8": - version "18.19.44" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.44.tgz#875a8322d17ff12bf82b3af8c07b9310a00e72f8" - integrity sha512-ZsbGerYg72WMXUIE9fYxtvfzLEuq6q8mKERdWFnqTmOvudMxnz+CBNRoOwJ2kNpFOncrKjT1hZwxjlFgQ9qvQA== + version "18.19.112" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.112.tgz#cd2aee9c075402e0e1942a44101428881dbeb110" + integrity sha512-i+Vukt9POdS/MBI7YrrkkI5fMfwFtOjphSmt4WXYLfwqsfr6z/HdCx7LqT9M7JktGob8WNgj8nFB4TbGNE4Cog== dependencies: undici-types "~5.26.4" @@ -2651,9 +2748,9 @@ integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== "@types/qs@*": - version "6.9.15" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" - integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== + version "6.14.0" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5" + integrity sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ== "@types/range-parser@*": version "1.2.7" @@ -2689,22 +2786,22 @@ "@types/node" "*" "@types/semver@^7.5.0": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + version "7.7.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.7.0.tgz#64c441bdae033b378b6eef7d0c3d77c329b9378e" + integrity sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA== "@types/send@*": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + version "0.17.5" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.5.tgz#d991d4f2b16f2b1ef497131f00a9114290791e74" + integrity sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w== dependencies: "@types/mime" "^1" "@types/node" "*" "@types/serve-static@*": - version "1.15.7" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" - integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== + version "1.15.8" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.8.tgz#8180c3fbe4a70e8f00b9f70b9ba7f08f35987877" + integrity sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg== dependencies: "@types/http-errors" "*" "@types/node" "*" @@ -2726,9 +2823,9 @@ integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== "@types/superagent@*": - version "8.1.8" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-8.1.8.tgz#c1080987a3770f26707778caebb86da532d6a24a" - integrity sha512-nTqHJ2OTa7PFEpLahzSEEeFeqbMpmcN7OeayiOc7v+xk+/vyTKljRe+o4MPqSnPeRCMvtxuLG+5QqluUVQJOnA== + version "8.1.9" + resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-8.1.9.tgz#28bfe4658e469838ed0bf66d898354bcab21f49f" + integrity sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ== dependencies: "@types/cookiejar" "^2.1.5" "@types/methods" "^1.1.4" @@ -2742,10 +2839,10 @@ dependencies: "@types/superagent" "*" -"@types/swagger-ui-express@^4.1.3": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/swagger-ui-express/-/swagger-ui-express-4.1.6.tgz#d0929e3fabac1a96a8a9c6c7ee8d42362c5cdf48" - integrity sha512-UVSiGYXa5IzdJJG3hrc86e8KdZWLYxyEsVoUI4iPXc7CO4VZ3AfNP8d/8+hrDRIqz+HAaSMtZSqAsF3Nq2X/Dg== +"@types/swagger-ui-express@^4.1.8": + version "4.1.8" + resolved "https://registry.yarnpkg.com/@types/swagger-ui-express/-/swagger-ui-express-4.1.8.tgz#3c0e0bf2543c7efb500eaa081bfde6d92f88096c" + integrity sha512-AhZV8/EIreHFmBV5wAs0gzJUNq9JbbSXgJLQubCC0jtIo6prnI9MIRRxnU4MZX9RB9yXxF1V4R7jtLl/Wcj31g== dependencies: "@types/express" "*" "@types/serve-static" "*" @@ -2756,14 +2853,14 @@ integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== "@types/validator@^13.11.8": - version "13.12.0" - resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.12.0.tgz#1fe4c3ae9de5cf5193ce64717c99ef2fa7d8756f" - integrity sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag== + version "13.15.2" + resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.15.2.tgz#ee533a20ab977df36917a454754c7e0df4aa6f8f" + integrity sha512-y7pa/oEJJ4iGYBxOpfAKn5b9+xuihvzDVnC/OSvlVnGxVg0pOqmjiMafiJ1KVNQEaPZf9HsEp5icEwGg8uIe5Q== "@types/ws@^8.5.4": - version "8.5.12" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" - integrity sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ== + version "8.18.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== dependencies: "@types/node" "*" @@ -2887,6 +2984,103 @@ expo-modules-autolinking "^0.0.3" invariant "^2.2.4" +"@unrs/resolver-binding-android-arm-eabi@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.9.1.tgz#6fc1ae6fc252963aa545245f17c67d47164446e6" + integrity sha512-dd7yIp1hfJFX9ZlVLQRrh/Re9WMUHHmF9hrKD1yIvxcyNr2BhQ3xc1upAVhy8NijadnCswAxWQu8MkkSMC1qXQ== + +"@unrs/resolver-binding-android-arm64@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.9.1.tgz#9498dbfdab375726a2f8474e0d50f5940d0d2b4a" + integrity sha512-EzUPcMFtDVlo5yrbzMqUsGq3HnLXw+3ZOhSd7CUaDmbTtnrzM+RO2ntw2dm2wjbbc5djWj3yX0wzbbg8pLhx8g== + +"@unrs/resolver-binding-darwin-arm64@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.9.1.tgz#e13e7b2a134f88b5e445e4548ee53a7ef33c56fb" + integrity sha512-nB+dna3q4kOleKFcSZJ/wDXIsAd1kpMO9XrVAt8tG3RDWJ6vi+Ic6bpz4cmg5tWNeCfHEY4KuqJCB+pKejPEmQ== + +"@unrs/resolver-binding-darwin-x64@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.9.1.tgz#6d2d0c63400852075de84612e51a4d6ee5c01391" + integrity sha512-aKWHCrOGaCGwZcekf3TnczQoBxk5w//W3RZ4EQyhux6rKDwBPgDU9Y2yGigCV1Z+8DWqZgVGQi+hdpnlSy3a1w== + +"@unrs/resolver-binding-freebsd-x64@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.9.1.tgz#71dc0b1e28e6e7c19388b873fd8ca87724e468b0" + integrity sha512-4dIEMXrXt0UqDVgrsUd1I+NoIzVQWXy/CNhgpfS75rOOMK/4Abn0Mx2M2gWH4Mk9+ds/ASAiCmqoUFynmMY5hA== + +"@unrs/resolver-binding-linux-arm-gnueabihf@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.9.1.tgz#8c0c888f388af853649807712ec181cfb93335e4" + integrity sha512-vtvS13IXPs1eE8DuS/soiosqMBeyh50YLRZ+p7EaIKAPPeevRnA9G/wu/KbVt01ZD5qiGjxS+CGIdVC7I6gTOw== + +"@unrs/resolver-binding-linux-arm-musleabihf@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.9.1.tgz#a974b25348fe3d329d8ee22f09c6d4a258734ede" + integrity sha512-BfdnN6aZ7NcX8djW8SR6GOJc+K+sFhWRF4vJueVE0vbUu5N1bLnBpxJg1TGlhSyo+ImC4SR0jcNiKN0jdoxt+A== + +"@unrs/resolver-binding-linux-arm64-gnu@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.9.1.tgz#0a52f119510e03f53e39d782a3183a45d4b0332c" + integrity sha512-Jhge7lFtH0QqfRz2PyJjJXWENqywPteITd+nOS0L6AhbZli+UmEyGBd2Sstt1c+l9C+j/YvKTl9wJo9PPmsFNg== + +"@unrs/resolver-binding-linux-arm64-musl@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.9.1.tgz#db614df450992b8bc0dc19d17db924e95ebae282" + integrity sha512-ofdK/ow+ZSbSU0pRoB7uBaiRHeaAOYQFU5Spp87LdcPL/P1RhbCTMSIYVb61XWzsVEmYKjHFtoIE0wxP6AFvrA== + +"@unrs/resolver-binding-linux-ppc64-gnu@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.9.1.tgz#ea7a53069c612288b6adc96f1b907609bcb5941d" + integrity sha512-eC8SXVn8de67HacqU7PoGdHA+9tGbqfEdD05AEFRAB81ejeQtNi5Fx7lPcxpLH79DW0BnMAHau3hi4RVkHfSCw== + +"@unrs/resolver-binding-linux-riscv64-gnu@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.9.1.tgz#e6366f3a3e4ef435ee1b87ebe7ca87155fa1d1c9" + integrity sha512-fIkwvAAQ41kfoGWfzeJ33iLGShl0JEDZHrMnwTHMErUcPkaaZRJYjQjsFhMl315NEQ4mmTlC+2nfK/J2IszDOw== + +"@unrs/resolver-binding-linux-riscv64-musl@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.9.1.tgz#198c1e552e2963035e237b2f5dbdb5c81fcde4bd" + integrity sha512-RAAszxImSOFLk44aLwnSqpcOdce8sBcxASledSzuFAd8Q5ZhhVck472SisspnzHdc7THCvGXiUeZ2hOC7NUoBQ== + +"@unrs/resolver-binding-linux-s390x-gnu@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.9.1.tgz#982501b8865f0d36c82b933b9de4e71894a749f5" + integrity sha512-QoP9vkY+THuQdZi05bA6s6XwFd6HIz3qlx82v9bTOgxeqin/3C12Ye7f7EOD00RQ36OtOPWnhEMMm84sv7d1XQ== + +"@unrs/resolver-binding-linux-x64-gnu@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.9.1.tgz#f93271025f814506fad97fa749a8ed8a0536e813" + integrity sha512-/p77cGN/h9zbsfCseAP5gY7tK+7+DdM8fkPfr9d1ye1fsF6bmtGbtZN6e/8j4jCZ9NEIBBkT0GhdgixSelTK9g== + +"@unrs/resolver-binding-linux-x64-musl@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.9.1.tgz#9c13e0f602527a4bc77852268fa493b1845c5ee2" + integrity sha512-wInTqT3Bu9u50mDStEig1v8uxEL2Ht+K8pir/YhyyrM5ordJtxoqzsL1vR/CQzOJuDunUTrDkMM0apjW/d7/PA== + +"@unrs/resolver-binding-wasm32-wasi@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.9.1.tgz#d3c088be1b510cd02822bf0258861a2dd8dac096" + integrity sha512-eNwqO5kUa+1k7yFIircwwiniKWA0UFHo2Cfm8LYgkh9km7uMad+0x7X7oXbQonJXlqfitBTSjhA0un+DsHIrhw== + dependencies: + "@napi-rs/wasm-runtime" "^0.2.11" + +"@unrs/resolver-binding-win32-arm64-msvc@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.9.1.tgz#c2aa3e371d5c53b962b1a7a45503a68e96f710a0" + integrity sha512-Eaz1xMUnoa2mFqh20mPqSdbYl6crnk8HnIXDu6nsla9zpgZJZO8w3c1gvNN/4Eb0RXRq3K9OG6mu8vw14gIqiA== + +"@unrs/resolver-binding-win32-ia32-msvc@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.9.1.tgz#12f1be2ce8041fdadfef23bf69e104ab8176127a" + integrity sha512-H/+d+5BGlnEQif0gnwWmYbYv7HJj563PUKJfn8PlmzF8UmF+8KxdvXdwCsoOqh4HHnENnoLrav9NYBrv76x1wQ== + +"@unrs/resolver-binding-win32-x64-msvc@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.9.1.tgz#5f9e5b6ce30c355161527e17734320ddfb1a4561" + integrity sha512-rS86wI4R6cknYM3is3grCb/laE8XBEbpWAMSIPjYfmYp75KL5dT87jXF2orDa4tQYg5aajP5G8Fgh34dRyR+Rw== + "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" @@ -2904,6 +3098,14 @@ abort-controller@^3.0.0: dependencies: event-target-shim "^5.0.0" +accepts@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-2.0.0.tgz#bbcf4ba5075467f3f2131eab3cffc73c2f5d7895" + integrity sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng== + dependencies: + mime-types "^3.0.0" + negotiator "^1.0.0" + accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -2923,9 +3125,9 @@ acorn-jsx@^5.3.1: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.1.1: - version "8.3.3" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" - integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== dependencies: acorn "^8.11.0" @@ -2934,12 +3136,7 @@ acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.11.0, acorn@^8.4.1: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== - -acorn@^8.14.0: +acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1: version "8.15.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== @@ -3006,9 +3203,9 @@ ansi-regex@^5.0.1: integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^3.2.1: version "3.2.1" @@ -3067,30 +3264,32 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== +array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" + call-bound "^1.0.3" + is-array-buffer "^3.0.5" array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== -array-includes@^3.1.7: - version "3.1.8" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" - integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== +array-includes@^3.1.8: + version "3.1.9" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a" + integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - is-string "^1.0.7" + es-abstract "^1.24.0" + es-object-atoms "^1.1.1" + get-intrinsic "^1.3.0" + is-string "^1.1.1" + math-intrinsics "^1.1.0" array-index@^1.0.0: version "1.0.0" @@ -3105,51 +3304,51 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.findlastindex@^1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" - integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== +array.prototype.findlastindex@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz#cfa1065c81dcb64e34557c9b81d012f6a421c564" + integrity sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" define-properties "^1.2.1" - es-abstract "^1.23.2" + es-abstract "^1.23.9" es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" + es-object-atoms "^1.1.1" + es-shim-unscopables "^1.1.0" array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" + integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== dependencies: array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" asap@^2.0.0: version "2.0.6" @@ -3161,20 +3360,25 @@ asmcrypto.js@^0.22.0: resolved "https://registry.yarnpkg.com/asmcrypto.js/-/asmcrypto.js-0.22.0.tgz#38fc1440884d802c7bd37d1d23c2b26a5cd5d2d2" integrity sha512-usgMoyXjMbx/ZPdzTSXExhMPur2FTdz/Vo5PVx2gIaBcdAAJNOFlsdgqveM8Cff7W0v+xrf9BwjOV26JSAF9qA== -asn1js@^3.0.1, asn1js@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.5.tgz#5ea36820443dbefb51cc7f88a2ebb5b462114f38" - integrity sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ== +asn1js@^3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.6.tgz#53e002ebe00c5f7fd77c1c047c3557d7c04dce25" + integrity sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA== dependencies: - pvtsutils "^1.3.2" + pvtsutils "^1.3.6" pvutils "^1.1.3" - tslib "^2.4.0" + tslib "^2.8.1" astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== + async-mutex@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.1.tgz#bccf55b96f2baf8df90ed798cb5544a1f6ee4c2c" @@ -3183,9 +3387,9 @@ async-mutex@^0.4.0: tslib "^2.4.0" async@^3.2.3: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== asynckit@^0.4.0: version "0.4.0" @@ -3205,9 +3409,9 @@ available-typed-arrays@^1.0.7: possible-typed-array-names "^1.0.0" axios@^1.4.0, axios@^1.6.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.3.tgz#a1125f2faf702bc8e8f2104ec3a76fab40257d85" - integrity sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw== + version "1.10.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.10.0.tgz#af320aee8632eaf2a400b6a1979fa75856f38d54" + integrity sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -3262,22 +3466,25 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__traverse" "^7.0.6" babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" babel-preset-jest@^29.6.3: version "29.6.3" @@ -3332,9 +3539,9 @@ big-integer@^1.6.51: integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== bignumber.js@^9.0.0: - version "9.1.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== + version "9.3.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.3.0.tgz#bdba7e2a4c1a2eba08290e8dcad4f36393c92acd" + integrity sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA== binary-extensions@^2.0.0: version "2.3.0" @@ -3342,19 +3549,19 @@ binary-extensions@^2.0.0: integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + version "4.12.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.2.tgz#3d8fed6796c24e177737f7cc5172ee04ef39ec99" + integrity sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw== bn.js@^5.2.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + version "5.2.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.2.tgz#82c09f9ebbb17107cd72cb7fd39bd1f9d0aaa566" + integrity sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw== -body-parser@1.20.2, body-parser@^1.20.0: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== +body-parser@1.20.3, body-parser@^1.20.0: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" content-type "~1.0.5" @@ -3364,11 +3571,26 @@ body-parser@1.20.2, body-parser@^1.20.0: http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" + qs "6.13.0" raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" +body-parser@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-2.2.0.tgz#f7a9656de305249a715b549b7b8fd1ab9dfddcfa" + integrity sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg== + dependencies: + bytes "^3.1.2" + content-type "^1.0.5" + debug "^4.4.0" + http-errors "^2.0.0" + iconv-lite "^0.6.3" + on-finished "^2.4.1" + qs "^6.14.0" + raw-body "^3.0.0" + type-is "^2.0.0" + borc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/borc/-/borc-3.0.0.tgz#49ada1be84de86f57bb1bb89789f34c186dfa4fe" @@ -3383,17 +3605,17 @@ borc@^3.0.0: readable-stream "^3.6.0" brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + version "1.1.12" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" + integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" + integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== dependencies: balanced-match "^1.0.0" @@ -3409,17 +3631,17 @@ brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== -browserslist@^4.23.1: - version "4.23.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" - integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== +browserslist@^4.24.0: + version "4.25.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.0.tgz#986aa9c6d87916885da2b50d8eb577ac8d133b2c" + integrity sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA== dependencies: - caniuse-lite "^1.0.30001646" - electron-to-chromium "^1.5.4" - node-releases "^2.0.18" - update-browserslist-db "^1.1.0" + caniuse-lite "^1.0.30001718" + electron-to-chromium "^1.5.160" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" -bs-logger@0.x: +bs-logger@^0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== @@ -3438,7 +3660,7 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== -buffer-equal-constant-time@1.0.1: +buffer-equal-constant-time@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== @@ -3456,7 +3678,7 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -bytes@3.1.2: +bytes@3.1.2, bytes@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== @@ -3479,16 +3701,31 @@ cacheable-request@^7.0.2: normalize-url "^6.0.1" responselike "^2.0.0" -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: - es-define-property "^1.0.0" es-errors "^1.3.0" function-bind "^1.1.2" + +call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" callsites@^3.0.0: version "3.1.0" @@ -3505,10 +3742,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001646: - version "1.0.30001651" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138" - integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg== +caniuse-lite@^1.0.30001718: + version "1.0.30001724" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001724.tgz#312e163553dd70d2c0fb603d74810c85d8ed94a0" + integrity sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA== canonicalize@^1.0.1: version "1.0.8" @@ -3569,12 +3806,7 @@ ci-info@^3.2.0, ci-info@^3.7.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -cjs-module-lexer@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" - integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== - -cjs-module-lexer@^1.2.2: +cjs-module-lexer@^1.0.0, cjs-module-lexer@^1.2.2: version "1.4.3" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz#0f79731eb8cfe1ec72acd4066efac9d61991b00d" integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q== @@ -3697,7 +3929,14 @@ content-disposition@0.5.4: dependencies: safe-buffer "5.2.1" -content-type@~1.0.4, content-type@~1.0.5: +content-disposition@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-1.0.0.tgz#844426cb398f934caefcbb172200126bc7ceace2" + integrity sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg== + dependencies: + safe-buffer "5.2.1" + +content-type@^1.0.5, content-type@~1.0.4, content-type@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== @@ -3712,10 +3951,20 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== +cookie-signature@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.2.2.tgz#57c7fc3cc293acab9fec54d73e15690ebe4a1793" + integrity sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg== + +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== + +cookie@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== cookiejar@^2.1.4: version "2.1.4" @@ -3753,17 +4002,17 @@ credentials-context@^2.0.0: resolved "https://registry.yarnpkg.com/credentials-context/-/credentials-context-2.0.0.tgz#68a9a1a88850c398d3bba4976c8490530af093e8" integrity sha512-/mFKax6FK26KjgV2KW2D4YqKgoJ5DVJpNt87X2Jc9IxT2HBMy7nEIlc+n7pEi+YFFe721XqrvZPd+jbyyBjsvQ== -cross-fetch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.0.0.tgz#f037aef1580bb3a1a35164ea2a848ba81b445983" - integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== +cross-fetch@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.1.0.tgz#8f69355007ee182e47fa692ecbaa37a52e43c3d2" + integrity sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw== dependencies: - node-fetch "^2.6.12" + node-fetch "^2.7.0" -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== +cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -3792,30 +4041,30 @@ data-uri-to-buffer@^4.0.0: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.2" es-errors "^1.3.0" is-data-view "^1.0.1" @@ -3826,12 +4075,12 @@ debug@2.6.9, debug@^2.2.0: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: - version "4.3.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" - integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== dependencies: - ms "2.1.2" + ms "^2.1.3" debug@^3.1.0, debug@^3.2.7: version "3.2.7" @@ -3840,13 +4089,6 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.3.5: - version "4.4.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" - integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== - dependencies: - ms "^2.1.3" - decode-uri-component@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" @@ -3860,9 +4102,9 @@ decompress-response@^6.0.0: mimic-response "^3.1.0" dedent@^1.0.0: - version "1.5.3" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" - integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== + version "1.6.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.6.0.tgz#79d52d6389b1ffa67d2bcef59ba51847a9d503b2" + integrity sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA== deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" @@ -3888,7 +4130,7 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" -define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -3907,7 +4149,7 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== -depd@2.0.0: +depd@2.0.0, depd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== @@ -3918,9 +4160,9 @@ destroy@1.2.0: integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detect-libc@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" - integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.4.tgz#f04715b8ba815e53b4d8109655b6508a6865a7e8" + integrity sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA== detect-newline@^3.0.0: version "3.1.0" @@ -3935,7 +4177,7 @@ dezalgo@^1.0.4: asap "^2.0.0" wrappy "1" -did-resolver@^4.0.0, did-resolver@^4.1.0: +did-resolver@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/did-resolver/-/did-resolver-4.1.0.tgz#740852083c4fd5bf9729d528eca5d105aff45eb6" integrity sha512-S6fWHvCXkZg2IhS4RcVHxwuyVejPR7c+a4Go0xbQ9ps5kILa8viiYQgrM4gfTyeTjJ0ekgJH9gk/BawTpmkbZA== @@ -3977,9 +4219,18 @@ doctrine@^3.0.0: esutils "^2.0.2" dotenv@^16.4.5: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + version "16.5.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.5.0.tgz#092b49f25f808f020050051d1ff258e404c78692" + integrity sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg== + +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" dynamic-dedupe@^0.3.0: version "0.3.0" @@ -4022,15 +4273,15 @@ ejs@^3.1.10: dependencies: jake "^10.8.5" -electron-to-chromium@^1.5.4: - version "1.5.6" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.6.tgz#c81d9938b5a877314ad370feb73b4e5409b36abd" - integrity sha512-jwXWsM5RPf6j9dPYzaorcBSUg6AiqocPEyMpkchkvntaH9HGfOOMZwxMJjDY/XEs3T5dM7uyH1VhRMkqUU9qVw== +electron-to-chromium@^1.5.160: + version "1.5.171" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.171.tgz#e552b4fd73d4dd941ee4c70ae288a8a39f818726" + integrity sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ== -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== +elliptic@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== dependencies: bn.js "^4.11.9" brorand "^1.1.0" @@ -4055,26 +4306,23 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +encodeurl@^2.0.0, encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + version "1.4.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" + integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== dependencies: once "^1.4.0" -enhanced-resolve@^5.12.0: - version "5.17.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" - integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - enquirer@^2.3.5: version "2.4.1" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" @@ -4090,101 +4338,108 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== +es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0: + version "1.24.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.0.tgz#c44732d2beb0acc1ed60df840869e3106e7af328" + integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg== dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" + call-bind "^1.0.8" + call-bound "^1.0.4" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" + es-object-atoms "^1.1.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.3.0" + get-proto "^1.0.1" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" + has-proto "^1.2.0" + has-symbols "^1.1.0" hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" is-callable "^1.2.7" - is-data-view "^1.0.1" + is-data-view "^1.0.2" is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" + is-regex "^1.2.1" + is-set "^2.0.3" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.1" + math-intrinsics "^1.1.0" + object-inspect "^1.13.4" object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.4" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + stop-iteration-iterator "^1.1.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.19" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== -es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== dependencies: es-errors "^1.3.0" -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: - get-intrinsic "^1.2.4" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" has-tostringtag "^1.0.2" - hasown "^2.0.1" + hasown "^2.0.2" -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== +es-shim-unscopables@^1.0.2, es-shim-unscopables@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz#438df35520dac5d105f3943d927549ea3b00f4b5" + integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" es5-ext@^0.10.35, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14: version "0.10.64" @@ -4213,12 +4468,12 @@ es6-symbol@^3.0.2, es6-symbol@^3.1.1, es6-symbol@^3.1.3: d "^1.0.2" ext "^1.7.0" -escalade@^3.1.1, escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== @@ -4265,46 +4520,48 @@ eslint-import-resolver-node@^0.3.9: resolve "^1.22.4" eslint-import-resolver-typescript@^3.5.5: - version "3.6.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz#7b983680edd3f1c5bce1a5829ae0bc2d57fe9efa" - integrity sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== - dependencies: - debug "^4.3.4" - enhanced-resolve "^5.12.0" - eslint-module-utils "^2.7.4" - fast-glob "^3.3.1" - get-tsconfig "^4.5.0" - is-core-module "^2.11.0" - is-glob "^4.0.3" - -eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" - integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== + version "3.10.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz#23dac32efa86a88e2b8232eb244ac499ad636db2" + integrity sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ== + dependencies: + "@nolyfill/is-core-module" "1.0.39" + debug "^4.4.0" + get-tsconfig "^4.10.0" + is-bun-module "^2.0.0" + stable-hash "^0.0.5" + tinyglobby "^0.2.13" + unrs-resolver "^1.6.2" + +eslint-module-utils@^2.12.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz#f76d3220bfb83c057651359295ab5854eaad75ff" + integrity sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw== dependencies: debug "^3.2.7" eslint-plugin-import@^2.27.5: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + version "2.31.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" array.prototype.flat "^1.3.2" array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" + eslint-module-utils "^2.12.0" + hasown "^2.0.2" + is-core-module "^2.15.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" semver "^6.3.1" + string.prototype.trimend "^1.0.8" tsconfig-paths "^3.15.0" eslint-plugin-prettier@^4.2.1: @@ -4339,7 +4596,7 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: +eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== @@ -4448,58 +4705,58 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@~1.8.1: +etag@^1.8.1, etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== ethers@^5.1.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" + version "5.8.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.8.0.tgz#97858dc4d4c74afce83ea7562fe9493cedb4d377" + integrity sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg== + dependencies: + "@ethersproject/abi" "5.8.0" + "@ethersproject/abstract-provider" "5.8.0" + "@ethersproject/abstract-signer" "5.8.0" + "@ethersproject/address" "5.8.0" + "@ethersproject/base64" "5.8.0" + "@ethersproject/basex" "5.8.0" + "@ethersproject/bignumber" "5.8.0" + "@ethersproject/bytes" "5.8.0" + "@ethersproject/constants" "5.8.0" + "@ethersproject/contracts" "5.8.0" + "@ethersproject/hash" "5.8.0" + "@ethersproject/hdnode" "5.8.0" + "@ethersproject/json-wallets" "5.8.0" + "@ethersproject/keccak256" "5.8.0" + "@ethersproject/logger" "5.8.0" + "@ethersproject/networks" "5.8.0" + "@ethersproject/pbkdf2" "5.8.0" + "@ethersproject/properties" "5.8.0" + "@ethersproject/providers" "5.8.0" + "@ethersproject/random" "5.8.0" + "@ethersproject/rlp" "5.8.0" + "@ethersproject/sha2" "5.8.0" + "@ethersproject/signing-key" "5.8.0" + "@ethersproject/solidity" "5.8.0" + "@ethersproject/strings" "5.8.0" + "@ethersproject/transactions" "5.8.0" + "@ethersproject/units" "5.8.0" + "@ethersproject/wallet" "5.8.0" + "@ethersproject/web" "5.8.0" + "@ethersproject/wordlists" "5.8.0" ethers@^6.9.0: - version "6.13.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.2.tgz#4b67d4b49e69b59893931a032560999e5e4419fe" - integrity sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg== + version "6.14.4" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.14.4.tgz#0f6fbc562a8425c7c888da307fa71ef796be0c04" + integrity sha512-Jm/dzRs2Z9iBrT6e9TvGxyb5YVKAPLlpna7hjxH7KH/++DSh2T/JVmQUv7iHI5E55hDbp/gEVvstWYXVxXFzsA== dependencies: "@adraffy/ens-normalize" "1.10.1" "@noble/curves" "1.2.0" "@noble/hashes" "1.3.2" - "@types/node" "18.15.13" + "@types/node" "22.7.5" aes-js "4.0.0-beta.5" - tslib "2.4.0" + tslib "2.7.0" ws "8.17.1" event-emitter@^0.3.5: @@ -4564,48 +4821,81 @@ expo-random@*: dependencies: base64-js "^1.3.0" -express-rate-limit@^7.1.5: - version "7.4.0" - resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-7.4.0.tgz#5db412b8de83fa07ddb40f610c585ac8c1dab988" - integrity sha512-v1204w3cXu5gCDmAvgvzI6qjzZzoMWKnyVDk3ACgfswTQLYiGen+r8w0VnXnGMmzEN/g8fwIQ4JrFFd4ZP6ssg== +express-rate-limit@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-7.5.0.tgz#6a67990a724b4fbbc69119419feef50c51e8b28f" + integrity sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg== -express@^4.17.1, express@^4.18.1, express@^4.18.3: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== +express@^4.17.1, express@^4.21.2: + version "4.21.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.2" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.6.0" + cookie "0.7.1" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.2.0" + finalhandler "1.3.1" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" - qs "6.11.0" + qs "6.13.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.2" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" +express@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/express/-/express-5.1.0.tgz#d31beaf715a0016f0d53f47d3b4d7acf28c75cc9" + integrity sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA== + dependencies: + accepts "^2.0.0" + body-parser "^2.2.0" + content-disposition "^1.0.0" + content-type "^1.0.5" + cookie "^0.7.1" + cookie-signature "^1.2.1" + debug "^4.4.0" + encodeurl "^2.0.0" + escape-html "^1.0.3" + etag "^1.8.1" + finalhandler "^2.1.0" + fresh "^2.0.0" + http-errors "^2.0.0" + merge-descriptors "^2.0.0" + mime-types "^3.0.0" + on-finished "^2.4.1" + once "^1.4.0" + parseurl "^1.3.3" + proxy-addr "^2.0.7" + qs "^6.14.0" + range-parser "^1.2.1" + router "^2.2.0" + send "^1.1.0" + serve-static "^2.2.0" + statuses "^2.0.1" + type-is "^2.0.1" + vary "^1.1.2" + ext@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" @@ -4634,16 +4924,16 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.5, fast-glob@^3.2.9, fast-glob@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== +fast-glob@^3.2.5, fast-glob@^3.2.9: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" @@ -4666,14 +4956,14 @@ fast-text-encoding@^1.0.3: integrity sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w== fast-uri@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" - integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" @@ -4691,6 +4981,11 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" +fdir@^6.4.4: + version "6.4.6" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.6.tgz#2b268c0232697063111bbf3f64810a2a741ba281" + integrity sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w== + fetch-blob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-2.1.2.tgz#a7805db1361bd44c1ef62bb57fb5fe8ea173ef3c" @@ -4730,19 +5025,31 @@ filter-obj@^1.1.0: resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" parseurl "~1.3.3" statuses "2.0.1" unpipe "~1.0.0" +finalhandler@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-2.1.0.tgz#72306373aa89d05a8242ed569ed86a1bff7c561f" + integrity sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q== + dependencies: + debug "^4.4.0" + encodeurl "^2.0.0" + escape-html "^1.0.3" + on-finished "^2.4.1" + parseurl "^1.3.3" + statuses "^2.0.1" + find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -4785,37 +5092,39 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + version "3.3.3" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== dependencies: - is-callable "^1.1.3" + is-callable "^1.2.7" foreground-child@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" - integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + version "3.3.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== dependencies: - cross-spawn "^7.0.0" + cross-spawn "^7.0.6" signal-exit "^4.0.1" form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + version "4.0.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.3.tgz#608b1b3f3e28be0fccf5901fc85fb3641e5cf0ae" + integrity sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + hasown "^2.0.2" mime-types "^2.1.12" formdata-polyfill@^4.0.10: @@ -4826,12 +5135,12 @@ formdata-polyfill@^4.0.10: fetch-blob "^3.1.2" formidable@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" - integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== + version "2.1.5" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.5.tgz#dd7ef4d55c164afaf9b6eb472bfd04b02d66d2dd" + integrity sha512-Oz5Hwvwak/DCaXVVUtPn4oLMLLy1CdclLKO1LFgU7XzDpVMUU5UjlSLpGMocyQNNk8F6IJW9M/YdooSn2MRI+Q== dependencies: + "@paralleldrive/cuid2" "^2.2.2" dezalgo "^1.0.4" - hexoid "^1.0.0" once "^1.4.0" qs "^6.11.0" @@ -4850,10 +5159,15 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-2.0.0.tgz#8dd7df6a1b3a1b3a5cf186c05a5dd267622635a4" + integrity sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A== + fs-extra@^11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + version "11.3.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -4891,15 +5205,17 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" functional-red-black-tree@^1.0.1: version "1.0.1" @@ -4936,22 +5252,35 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.1.1" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -4964,24 +5293,24 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== dependencies: - call-bind "^1.0.5" + call-bound "^1.0.3" es-errors "^1.3.0" - get-intrinsic "^1.2.4" + get-intrinsic "^1.2.6" get-symbol-from-current-process-h@^1.0.1, get-symbol-from-current-process-h@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.2.tgz#510af52eaef873f7028854c3377f47f7bb200265" integrity sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw== -get-tsconfig@^4.5.0: - version "4.7.6" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.6.tgz#118fd5b7b9bae234cc7705a00cd771d7eb65d62a" - integrity sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA== +get-tsconfig@^4.10.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.10.1.tgz#d34c1c01f47d65a606c37aa7a177bc3e56ab4b2e" + integrity sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ== dependencies: resolve-pkg-maps "^1.0.0" @@ -5035,7 +5364,7 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: +globalthis@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== @@ -5055,12 +5384,10 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== got@^11.8.5: version "11.8.6" @@ -5079,7 +5406,7 @@ got@^11.8.5: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -5101,10 +5428,10 @@ handlebars@^4.7.8: optionalDependencies: uglify-js "^3.1.4" -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== has-flag@^3.0.0: version "3.0.0" @@ -5123,17 +5450,19 @@ has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: +has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== @@ -5153,18 +5482,13 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: +hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" -hexoid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18" - integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== - hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -5185,11 +5509,11 @@ html-escaper@^2.0.0: integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" + integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== -http-errors@2.0.0: +http-errors@2.0.0, http-errors@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== @@ -5228,6 +5552,13 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@0.6.3, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -5244,9 +5575,9 @@ ignore@^5.2.0, ignore@^5.2.4: integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -5287,14 +5618,14 @@ inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== dependencies: es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" + hasown "^2.0.2" + side-channel "^1.1.0" invariant@^2.2.4: version "2.2.4" @@ -5308,25 +5639,37 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== +is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== +is-async-function@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== dependencies: - has-bigints "^1.0.1" + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== + dependencies: + has-bigints "^1.0.2" is-binary-path@~2.1.0: version "2.1.0" @@ -5335,46 +5678,49 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-bun-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-bun-module/-/is-bun-module-2.0.0.tgz#4d7859a87c0fcac950c95e666730e745eae8bddd" + integrity sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + semver "^7.7.1" -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" - integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== - dependencies: - hasown "^2.0.2" - -is-core-module@^2.16.0: +is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0: version "2.16.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: hasown "^2.0.2" -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" is-typed-array "^1.1.13" -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" is-docker@^2.0.0: version "2.2.1" @@ -5386,6 +5732,13 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== + dependencies: + call-bound "^1.0.3" + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -5396,6 +5749,16 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-generator-function@^1.0.10: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== + dependencies: + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -5403,70 +5766,104 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + is-negative-zero@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +is-promise@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" + integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== + +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== +is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== dependencies: - has-symbols "^1.0.2" + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" -is-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== dependencies: - which-typed-array "^1.1.14" + which-typed-array "^1.1.16" -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2, is-weakref@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" + +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== + dependencies: + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-what@^4.1.8: version "4.1.16" @@ -5910,7 +6307,7 @@ jest-snapshot@^29.7.0: pretty-format "^29.7.0" semver "^7.5.3" -jest-util@^29.0.0, jest-util@^29.7.0: +jest-util@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== @@ -6002,10 +6399,10 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== json-buffer@3.0.1: version "3.0.1" @@ -6033,11 +6430,12 @@ json-stable-stringify-without-jsonify@^1.0.1: integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stable-stringify@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz#52d4361b47d49168bcc4e564189a42e5a7439454" - integrity sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg== + version "1.3.0" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz#8903cfac42ea1a0f97f35d63a4ce0518f0cc6a70" + integrity sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.4" isarray "^2.0.5" jsonify "^0.0.1" object-keys "^1.1.1" @@ -6076,9 +6474,9 @@ jsonify@^0.0.1: integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== jsonld-signatures@^11.0.0: - version "11.3.0" - resolved "https://registry.yarnpkg.com/jsonld-signatures/-/jsonld-signatures-11.3.0.tgz#cc833839c2ff7fd9f1ec651117521815b6ec29d0" - integrity sha512-+KaA2uWhnQ6eYDYqFoopYS8PcmbAdMuM0RFuycZw5Vh0gZiuMHt5/nCLh/p2x5blPGREntTHCQtI/1TtZ1+CUg== + version "11.5.0" + resolved "https://registry.yarnpkg.com/jsonld-signatures/-/jsonld-signatures-11.5.0.tgz#020ad488bd1977c5169de3d2a4cc28a76dec2663" + integrity sha512-Kdto+e8uvY/5u3HYkmAbpy52bplWX9uqS8fmqdCv6oxnCFwCTM0hMt6r4rWqlhw5/aHoCHJIRxwYb4QKGC69Jw== dependencies: "@digitalbazaar/security-context" "^1.0.0" jsonld "^8.0.0" @@ -6086,9 +6484,9 @@ jsonld-signatures@^11.0.0: serialize-error "^8.1.0" jsonld@^8.0.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-8.3.2.tgz#7033f8994aed346b536e9046025f7f1fe9669934" - integrity sha512-MwBbq95szLwt8eVQ1Bcfwmgju/Y5P2GdtlHE2ncyfuYjIdEhluUVyj1eudacf1mOkWIoS9GpDBTECqhmq7EOaA== + version "8.3.3" + resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-8.3.3.tgz#08cc927833c8684e42319d4697cc8199c0908ffc" + integrity sha512-9YcilrF+dLfg9NTEof/mJLMtbdX1RJ8dbWtJgE00cMOIohb1lIyJl710vFiTaiHTl6ZYODJuBd32xFvUhmv3kg== dependencies: "@digitalbazaar/http-client" "^3.4.1" canonicalize "^1.0.1" @@ -6121,11 +6519,11 @@ jsonwebtoken@^9.0.2: semver "^7.5.4" jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + version "1.4.2" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.2.tgz#16011ac6db48de7b102777e57897901520eec7b9" + integrity sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw== dependencies: - buffer-equal-constant-time "1.0.1" + buffer-equal-constant-time "^1.0.1" ecdsa-sig-formatter "1.0.11" safe-buffer "^5.0.1" @@ -6227,9 +6625,9 @@ levn@~0.3.0: type-check "~0.3.2" libphonenumber-js@^1.10.53: - version "1.11.5" - resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.11.5.tgz#50a441da5ff9ed9a322d796a14f1e9cbc0fdabdf" - integrity sha512-TwHR5BZxGRODtAfz03szucAkjT5OArXr+94SMtAM2pYXIlQNVMrxvb6uSCbnaJJV6QXEyICk7+l6QPgn72WHhg== + version "1.12.9" + resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.12.9.tgz#25626cd825225b326a514a142aaa26717286c4b0" + integrity sha512-VWwAdNeJgN7jFOD+wN4qx83DTPMVPPAUyx9/TUkBXKLiNkuWWk6anV0439tgdtwaJDrEdqkvdN22iA6J4bUCZg== lines-and-columns@^1.1.6: version "1.2.4" @@ -6290,7 +6688,7 @@ lodash.isstring@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== -lodash.memoize@4.x: +lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== @@ -6352,9 +6750,9 @@ lru_map@^0.4.1: integrity sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg== luxon@^3.3.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.5.0.tgz#6b6f65c5cd1d61d1fd19dbf07ee87a50bf4b8e20" - integrity sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ== + version "3.6.1" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.6.1.tgz#d283ffc4c0076cb0db7885ec6da1c49ba97e47b0" + integrity sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ== make-dir@^3.1.0: version "3.1.0" @@ -6370,7 +6768,7 @@ make-dir@^4.0.0: dependencies: semver "^7.5.3" -make-error@1.x, make-error@^1.1.1, make-error@^1.3.6: +make-error@^1.1.1, make-error@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -6382,22 +6780,37 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== -merge-anything@^5.1.4: +media-typer@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" + integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== + +merge-anything@^5.1.7: version "5.1.7" resolved "https://registry.yarnpkg.com/merge-anything/-/merge-anything-5.1.7.tgz#94f364d2b0cf21ac76067b5120e429353b3525d7" integrity sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ== dependencies: is-what "^4.1.8" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== + +merge-descriptors@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz#ea922f660635a2249ee565e0449f951e6b603808" + integrity sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g== merge-stream@^2.0.0: version "2.0.0" @@ -6414,10 +6827,10 @@ methods@^1.1.2, methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -6427,10 +6840,10 @@ mime-db@1.52.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-db@^1.52.0: - version "1.53.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" - integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== +mime-db@^1.52.0, mime-db@^1.54.0: + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" @@ -6439,6 +6852,13 @@ mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: dependencies: mime-db "1.52.0" +mime-types@^3.0.0, mime-types@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-3.0.1.tgz#b1d94d6997a9b32fd69ebaed0db73de8acb519ce" + integrity sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA== + dependencies: + mime-db "^1.54.0" + mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" @@ -6547,11 +6967,6 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" @@ -6568,9 +6983,14 @@ multiformats@^9.4.2: integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== + +napi-postinstall@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/napi-postinstall/-/napi-postinstall-0.2.4.tgz#419697d0288cb524623e422f919624f22a5e4028" + integrity sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg== natural-compare@^1.4.0: version "1.4.0" @@ -6582,6 +7002,11 @@ negotiator@0.6.3: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" + integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== + neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -6636,7 +7061,7 @@ node-fetch@3.0.0-beta.9: data-uri-to-buffer "^3.0.1" fetch-blob "^2.1.1" -node-fetch@^2.6.12, node-fetch@^2.6.7: +node-fetch@^2.6.7, node-fetch@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -6653,19 +7078,19 @@ node-fetch@^3.2.10: formdata-polyfill "^4.0.10" node-gyp-build@^4.2.0, node-gyp-build@^4.2.1: - version "4.8.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" - integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== + version "4.8.4" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== nofilter@^3.1.0: version "3.1.0" @@ -6711,27 +7136,29 @@ object-assign@^4, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.10.3, object-inspect@^1.13.1: - version "1.13.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== +object-inspect@^1.10.3, object-inspect@^1.13.3, object-inspect@^1.13.4: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== +object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" -object.fromentries@^2.0.7: +object.fromentries@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== @@ -6741,7 +7168,7 @@ object.fromentries@^2.0.7: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -object.groupby@^1.0.1: +object.groupby@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== @@ -6750,16 +7177,17 @@ object.groupby@^1.0.1: define-properties "^1.2.1" es-abstract "^1.23.2" -object.values@^1.1.7: - version "1.2.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== +object.values@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" es-object-atoms "^1.0.0" -on-finished@2.4.1: +on-finished@2.4.1, on-finished@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== @@ -6817,6 +7245,15 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + p-cancelable@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" @@ -6856,9 +7293,9 @@ p-try@^2.0.0: integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json-from-dist@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" - integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== pako@^2.0.4: version "2.1.0" @@ -6882,7 +7319,7 @@ parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parseurl@~1.3.3: +parseurl@^1.3.3, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== @@ -6936,10 +7373,15 @@ path-scurry@^1.11.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== + +path-to-regexp@^8.0.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4" + integrity sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ== path-type@^4.0.0: version "4.0.0" @@ -6951,20 +7393,25 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -picocolors@^1.0.0, picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== +picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + version "4.0.7" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" + integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== pkg-dir@^4.2.0: version "4.2.0" @@ -6974,9 +7421,9 @@ pkg-dir@^4.2.0: find-up "^4.0.0" possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== postinstall-postinstall@^2.1.0: version "2.1.0" @@ -7054,7 +7501,7 @@ protobufjs@^7.2.5, protobufjs@^7.3.0: "@types/node" ">=13.7.0" long "^5.0.0" -proxy-addr@~2.0.7: +proxy-addr@^2.0.7, proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== @@ -7068,9 +7515,9 @@ proxy-from-env@^1.1.0: integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + version "3.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" + integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -7085,32 +7532,32 @@ pure-rand@^6.0.0: resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== -pvtsutils@^1.3.2, pvtsutils@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.5.tgz#b8705b437b7b134cd7fd858f025a23456f1ce910" - integrity sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA== +pvtsutils@^1.3.5, pvtsutils@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.6.tgz#ec46e34db7422b9e4fdc5490578c1883657d6001" + integrity sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg== dependencies: - tslib "^2.6.1" + tslib "^2.8.1" pvutils@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.0: +qs@6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: side-channel "^1.0.6" +qs@^6.11.0, qs@^6.14.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930" + integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== + dependencies: + side-channel "^1.1.0" + query-string@^7.0.1: version "7.1.3" resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" @@ -7131,7 +7578,7 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -range-parser@~1.2.1: +range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== @@ -7146,6 +7593,16 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" +raw-body@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-3.0.0.tgz#25b3476f07a51600619dae3fe82ddc28a36e5e0f" + integrity sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.6.3" + unpipe "1.0.0" + rdf-canonize@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/rdf-canonize/-/rdf-canonize-3.4.0.tgz#87f88342b173cc371d812a07de350f0c1aa9f058" @@ -7213,20 +7670,36 @@ reflect-metadata@^0.1.13: resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.14.tgz#24cf721fe60677146bb77eeb0e1f9dece3d65859" integrity sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A== -reflect-metadata@^0.2.1: +reflect-metadata@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz#400c845b6cba87a21f2c65c4aeb158f4fa4d9c5b" integrity sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== -regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" + +regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.8" define-properties "^1.2.1" es-errors "^1.3.0" - set-function-name "^2.0.1" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" regexpp@^3.1.0: version "3.2.0" @@ -7280,20 +7753,11 @@ resolve-pkg-maps@^1.0.0: integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.0.0, resolve@^1.20.0, resolve@^1.22.4: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" + version "2.0.3" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" + integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== -resolve@^1.22.8: +resolve@^1.0.0, resolve@^1.20.0, resolve@^1.22.4, resolve@^1.22.8: version "1.22.10" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== @@ -7310,9 +7774,9 @@ responselike@^2.0.0: lowercase-keys "^2.0.0" reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== rimraf@^2.6.1, rimraf@^2.6.3: version "2.7.1" @@ -7328,6 +7792,17 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +router@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/router/-/router-2.2.0.tgz#019be620b711c87641167cc79b99090f00b146ef" + integrity sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ== + dependencies: + debug "^4.4.0" + depd "^2.0.0" + is-promise "^4.0.0" + parseurl "^1.3.3" + path-to-regexp "^8.0.0" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -7336,20 +7811,21 @@ run-parallel@^1.1.9: queue-microtask "^1.2.2" rxjs@^7.8.0: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + version "7.8.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" + integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== dependencies: tslib "^2.1.0" -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" isarray "^2.0.5" safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0: @@ -7357,16 +7833,24 @@ safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== dependencies: - call-bind "^1.0.6" es-errors "^1.3.0" - is-regex "^1.1.4" + isarray "^2.0.5" -"safer-buffer@>= 2.1.2 < 3": +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -7381,15 +7865,15 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.2.1, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== +semver@^7.2.1, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.7.1, semver@^7.7.2: + version "7.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: debug "2.6.9" depd "2.0.0" @@ -7405,6 +7889,23 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" +send@^1.1.0, send@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/send/-/send-1.2.0.tgz#32a7554fb777b831dfa828370f773a3808d37212" + integrity sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw== + dependencies: + debug "^4.3.5" + encodeurl "^2.0.0" + escape-html "^1.0.3" + etag "^1.8.1" + fresh "^2.0.0" + http-errors "^2.0.0" + mime-types "^3.0.1" + ms "^2.1.3" + on-finished "^2.4.1" + range-parser "^1.2.1" + statuses "^2.0.1" + serialize-error@^8.0.1, serialize-error@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-8.1.0.tgz#3a069970c712f78634942ddd50fbbc0eaebe2f67" @@ -7412,22 +7913,32 @@ serialize-error@^8.0.1, serialize-error@^8.1.0: dependencies: type-fest "^0.20.2" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== dependencies: - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.18.0" + send "0.19.0" + +serve-static@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-2.2.0.tgz#9c02564ee259bdd2251b82d659a2e7e1938d66f9" + integrity sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ== + dependencies: + encodeurl "^2.0.0" + escape-html "^1.0.3" + parseurl "^1.3.3" + send "^1.2.0" set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.2.1: +set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== @@ -7439,7 +7950,7 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.1, set-function-name@^2.0.2: +set-function-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== @@ -7449,6 +7960,15 @@ set-function-name@^2.0.1, set-function-name@^2.0.2: functions-have-names "^1.2.3" has-property-descriptors "^1.0.2" +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -7471,15 +7991,45 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: - call-bind "^1.0.7" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.6, side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" signal-exit@^3.0.0, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" @@ -7546,6 +8096,11 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +stable-hash@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stable-hash/-/stable-hash-0.0.5.tgz#94e8837aaeac5b4d0f631d2972adef2924b40269" + integrity sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA== + stack-utils@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" @@ -7565,6 +8120,19 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +statuses@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" + integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== + +stop-iteration-iterator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== + dependencies: + es-errors "^1.3.0" + internal-slot "^1.1.0" + str2buf@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/str2buf/-/str2buf-1.3.0.tgz#a4172afff4310e67235178e738a2dbb573abead0" @@ -7611,39 +8179,44 @@ string-width@^5.0.1, string-width@^5.1.2: strip-ansi "^7.0.1" string.prototype.matchall@^4.0.10: - version "4.0.11" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" - integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== + version "4.0.12" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" + integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.23.2" + es-abstract "^1.23.6" es-errors "^1.3.0" es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - regexp.prototype.flags "^1.5.2" + get-intrinsic "^1.2.6" + gopd "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + regexp.prototype.flags "^1.5.3" set-function-name "^2.0.2" - side-channel "^1.0.6" + side-channel "^1.1.0" -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" define-properties "^1.2.1" - es-abstract "^1.23.0" + es-abstract "^1.23.5" es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== +string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" define-properties "^1.2.1" es-object-atoms "^1.0.0" @@ -7760,9 +8333,11 @@ supports-preserve-symlinks-flag@^1.0.0: integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== swagger-ui-dist@>=4.11.0: - version "5.17.14" - resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.17.14.tgz#e2c222e5bf9e15ccf80ec4bc08b4aaac09792fd6" - integrity sha512-CVbSfaLpstV65OnSjbXfVd6Sta3q3F7Cj/yYuvHMp1P90LztOLs6PfUnKEVAeiIVQt9u2SaPwv0LiH/OyMjHRw== + version "5.25.2" + resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.25.2.tgz#2e07608b44031a6bbb6ceb790165ca05980bd423" + integrity sha512-V4JyoygUe5nCbn7bAD0fVKSC0yNcL3ROIQtGC7M0NATKuyosCSmMU6T0yDZIIuGpSxjsjZh/D2Ejb8lnF2jjxw== + dependencies: + "@scarf/scarf" "=1.4.0" swagger-ui-express@^4.4.0: version "4.6.3" @@ -7772,9 +8347,9 @@ swagger-ui-express@^4.4.0: swagger-ui-dist ">=4.11.0" table@^6.0.9, table@^6.8.0: - version "6.8.2" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" - integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== + version "6.9.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5" + integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A== dependencies: ajv "^8.0.1" lodash.truncate "^4.4.2" @@ -7782,11 +8357,6 @@ table@^6.0.9, table@^6.8.0: string-width "^4.2.3" strip-ansi "^6.0.1" -tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - tar@^6.1.11: version "6.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" @@ -7813,6 +8383,14 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +tinyglobby@^0.2.13: + version "0.2.14" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d" + integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ== + dependencies: + fdir "^6.4.4" + picomatch "^4.0.2" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -7825,11 +8403,6 @@ tmpl@1.0.5: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -7853,29 +8426,29 @@ tree-kill@^1.2.2: integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== ts-api-utils@^1.0.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + version "1.4.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" + integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== -ts-deepmerge@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/ts-deepmerge/-/ts-deepmerge-7.0.1.tgz#4b3dceb5a9b4308b7279d738c8d29834fbd5856b" - integrity sha512-JBFCmNenZdUCc+TRNCtXVM6N8y/nDQHAcpj5BlwXG/gnogjam1NunulB9ia68mnqYI446giMfpqeBFFkOleh+g== +ts-deepmerge@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ts-deepmerge/-/ts-deepmerge-7.0.3.tgz#e7053ddb45be093b71d7f9a5a05935ae119f1d31" + integrity sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA== ts-jest@^29.1.2: - version "29.2.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.4.tgz#38ccf487407d7a63054a72689f6f99b075e296e5" - integrity sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw== + version "29.4.0" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.4.0.tgz#bef0ee98d94c83670af7462a1617bf2367a83740" + integrity sha512-d423TJMnJGu80/eSgfQ5w/R+0zFJvdtTxwtF9KzFFunOpSeD+79lHJQIiAhluJoyGRbvj9NZJsl9WjCUo0ND7Q== dependencies: - bs-logger "0.x" + bs-logger "^0.2.6" ejs "^3.1.10" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" + fast-json-stable-stringify "^2.1.0" json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" + lodash.memoize "^4.1.2" + make-error "^1.3.6" + semver "^7.7.2" + type-fest "^4.41.0" + yargs-parser "^21.1.1" ts-node-dev@^2.0.0: version "2.0.0" @@ -7932,20 +8505,20 @@ tsconfig@^7.0.0: strip-bom "^3.0.0" strip-json-comments "^2.0.0" -tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.1, tslib@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== +tslib@^2.0.0, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.2, tslib@^2.7.0, tslib@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tslog@^3.3.3: version "3.3.4" @@ -7955,17 +8528,17 @@ tslog@^3.3.3: source-map-support "^0.5.21" tsoa@^6.0.1: - version "6.4.0" - resolved "https://registry.yarnpkg.com/tsoa/-/tsoa-6.4.0.tgz#5bf1089efc173bc78b694d6a4d30a85c6469920d" - integrity sha512-bgNJrpkoTRjbFo/3S3fH+wh9mXTbTAJkzfUXgsAFZJNaDr1+tmiEaP3OO4AbjH0i1acKu9HTTmok3tWau4T83Q== + version "6.6.0" + resolved "https://registry.yarnpkg.com/tsoa/-/tsoa-6.6.0.tgz#6a4b1b1227866b44c2884c5fb9ca3dd945c7ddb2" + integrity sha512-7FudRojmbEpbSQ3t1pyG5EjV3scF7/X75giQt1q+tnuGjjJppB8BOEmIdCK/G8S5Dqnmpwz5Q3vxluKozpIW9A== dependencies: - "@tsoa/cli" "^6.4.0" - "@tsoa/runtime" "^6.4.0" + "@tsoa/cli" "^6.6.0" + "@tsoa/runtime" "^6.6.0" tsyringe@^4.6.0, tsyringe@^4.8.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/tsyringe/-/tsyringe-4.8.0.tgz#d599651b36793ba872870fee4f845bd484a5cac1" - integrity sha512-YB1FG+axdxADa3ncEtRnQCFq/M0lALGLxSZeVNbTU8NqhOVc51nnv2CISTcvc1kyv6EGPtXVr0v6lWeDxiijOA== + version "4.10.0" + resolved "https://registry.yarnpkg.com/tsyringe/-/tsyringe-4.10.0.tgz#d0c95815d584464214060285eaaadd94aa03299c" + integrity sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw== dependencies: tslib "^1.9.3" @@ -7998,6 +8571,20 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== +type-fest@^4.41.0: + version "4.41.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.41.0.tgz#6ae1c8e5731273c2bf1f58ad39cbae2c91a46c58" + integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== + +type-is@^2.0.0, type-is@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-2.0.1.tgz#64f6cf03f92fce4015c2b224793f6bdd4b068c97" + integrity sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw== + dependencies: + content-type "^1.0.5" + media-typer "^1.1.0" + mime-types "^3.0.0" + type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -8011,59 +8598,60 @@ type@^2.7.2: resolved "https://registry.yarnpkg.com/type/-/type-2.7.3.tgz#436981652129285cc3ba94f392886c2637ea0486" integrity sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ== -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-typed-array "^1.1.13" + is-typed-array "^1.1.14" -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== dependencies: call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-proto "^1.0.3" is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" -typescript@^5.3.3: - version "5.5.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" - integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== +typescript@^5.3.3, typescript@^5.7.2: + version "5.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" + integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== uglify-js@^3.1.4: - version "3.19.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.2.tgz#319ae26a5fbd18d03c7dc02496cfa1d6f1cd4307" - integrity sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ== + version "3.19.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" + integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== uint8arrays@^3.1.1: version "3.1.1" @@ -8072,15 +8660,15 @@ uint8arrays@^3.1.1: dependencies: multiformats "^9.4.2" -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" underscore@1.12.1: version "1.12.1" @@ -8092,10 +8680,10 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici-types@~6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.13.0.tgz#e3e79220ab8c81ed1496b5812471afd7cf075ea5" - integrity sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== undici-types@~7.8.0: version "7.8.0" @@ -8103,9 +8691,9 @@ undici-types@~7.8.0: integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw== undici@^5.14.0, undici@^5.21.2: - version "5.28.4" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" - integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== + version "5.29.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.29.0.tgz#419595449ae3f2cdcba3580a2e8903399bd1f5a3" + integrity sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg== dependencies: "@fastify/busboy" "^2.0.0" @@ -8119,13 +8707,40 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== +unrs-resolver@^1.6.2: + version "1.9.1" + resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.9.1.tgz#c3579abf32e48dbb1b429f4812196611afb021cf" + integrity sha512-4AZVxP05JGN6DwqIkSP4VKLOcwQa5l37SWHF/ahcuqBMbfxbpN1L1QKafEhWCziHhzKex9H/AR09H0OuVyU+9g== dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" + napi-postinstall "^0.2.2" + optionalDependencies: + "@unrs/resolver-binding-android-arm-eabi" "1.9.1" + "@unrs/resolver-binding-android-arm64" "1.9.1" + "@unrs/resolver-binding-darwin-arm64" "1.9.1" + "@unrs/resolver-binding-darwin-x64" "1.9.1" + "@unrs/resolver-binding-freebsd-x64" "1.9.1" + "@unrs/resolver-binding-linux-arm-gnueabihf" "1.9.1" + "@unrs/resolver-binding-linux-arm-musleabihf" "1.9.1" + "@unrs/resolver-binding-linux-arm64-gnu" "1.9.1" + "@unrs/resolver-binding-linux-arm64-musl" "1.9.1" + "@unrs/resolver-binding-linux-ppc64-gnu" "1.9.1" + "@unrs/resolver-binding-linux-riscv64-gnu" "1.9.1" + "@unrs/resolver-binding-linux-riscv64-musl" "1.9.1" + "@unrs/resolver-binding-linux-s390x-gnu" "1.9.1" + "@unrs/resolver-binding-linux-x64-gnu" "1.9.1" + "@unrs/resolver-binding-linux-x64-musl" "1.9.1" + "@unrs/resolver-binding-wasm32-wasi" "1.9.1" + "@unrs/resolver-binding-win32-arm64-msvc" "1.9.1" + "@unrs/resolver-binding-win32-ia32-msvc" "1.9.1" + "@unrs/resolver-binding-win32-x64-msvc" "1.9.1" + +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" uri-js@^4.2.2: version "4.4.1" @@ -8173,17 +8788,17 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^2.0.0" -validator@^13.11.0, validator@^13.9.0: - version "13.12.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.12.0.tgz#7d78e76ba85504da3fee4fd1922b385914d4b35f" - integrity sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg== +validator@^13.12.0, validator@^13.9.0: + version "13.15.15" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.15.15.tgz#246594be5671dc09daa35caec5689fcd18c6e7e4" + integrity sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A== varint@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== -vary@^1, vary@~1.1.2: +vary@^1, vary@^1.1.2, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== @@ -8196,12 +8811,12 @@ walker@^1.0.8: makeerror "1.0.12" web-did-resolver@^2.0.21: - version "2.0.27" - resolved "https://registry.yarnpkg.com/web-did-resolver/-/web-did-resolver-2.0.27.tgz#21884a41d64c2042c307acb2d6e2061244e09806" - integrity sha512-YxQlNdeYBXLhVpMW62+TPlc6sSOiWyBYq7DNvY6FXmXOD9g0zLeShpq2uCKFFQV/WlSrBi/yebK/W5lMTDxMUQ== + version "2.0.30" + resolved "https://registry.yarnpkg.com/web-did-resolver/-/web-did-resolver-2.0.30.tgz#5556d9c495b4705055c737dcdff0c9256aebfb51" + integrity sha512-lsv0T+y/zD1bEVkcNfcppk4hQXBlqqoXfYcRG4183Yv53FkY29HNPGErwkNI/AG+lxxsUIR77JqS6pn9uHw/Vw== dependencies: - cross-fetch "^4.0.0" - did-resolver "^4.0.0" + cross-fetch "^4.1.0" + did-resolver "^4.1.0" web-streams-polyfill@^3.0.3: version "3.3.3" @@ -8209,15 +8824,15 @@ web-streams-polyfill@^3.0.3: integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== webcrypto-core@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.8.0.tgz#aaea17f3dd9c77c304e3c494eb27ca07cc72ca37" - integrity sha512-kR1UQNH8MD42CYuLzvibfakG5Ew5seG85dMMoAM/1LqvckxaF6pUiidLuraIu4V+YCIFabYecUZAW0TuxAoaqw== + version "1.8.1" + resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.8.1.tgz#09d5bd8a9c48e9fbcaf412e06b1ff1a57514ce86" + integrity sha512-P+x1MvlNCXlKbLSOY4cYrdreqPG5hbzkmawbcXLKN/mf6DZW0SdNNkZ+sjwsqVkI4A4Ko2sPZmkZtCKY58w83A== dependencies: - "@peculiar/asn1-schema" "^2.3.8" + "@peculiar/asn1-schema" "^2.3.13" "@peculiar/json-schema" "^1.1.12" - asn1js "^3.0.1" + asn1js "^3.0.5" pvtsutils "^1.3.5" - tslib "^2.6.2" + tslib "^2.7.0" webcrypto-shim@^0.1.4: version "0.1.7" @@ -8237,26 +8852,57 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.2: +which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== + dependencies: + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" + is-generator-function "^1.0.10" + is-regex "^1.2.1" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" + +which-collection@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" -which-typed-array@^1.1.14, which-typed-array@^1.1.15: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== +which-typed-array@^1.1.16, which-typed-array@^1.1.19: + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" has-tostringtag "^1.0.2" which@^2.0.1: @@ -8323,21 +8969,21 @@ write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - ws@8.17.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== -ws@^8.13.0: +ws@8.18.0: version "8.18.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== +ws@^8.13.0: + version "8.18.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.2.tgz#42738b2be57ced85f46154320aabb51ab003705a" + integrity sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ== + xtend@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -8363,12 +9009,12 @@ yaml@^1.10.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.2.2, yaml@^2.4.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.0.tgz#c6165a721cf8000e91c36490a41d7be25176cf5d" - integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== +yaml@^2.2.2, yaml@^2.6.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.0.tgz#15f8c9866211bdc2d3781a0890e44d4fa1a5fff6" + integrity sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ== -yargs-parser@^21.0.1, yargs-parser@^21.1.1: +yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== From 151d17f3475f3d8b1bef7ef88d1a1d193d2badf3 Mon Sep 17 00:00:00 2001 From: Tipu_Singh Date: Mon, 23 Jun 2025 16:29:35 +0530 Subject: [PATCH 05/13] refactor: changes env endpoint Signed-off-by: Tipu_Singh --- src/tracer.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tracer.ts b/src/tracer.ts index ffdcd26c..b79e99cf 100644 --- a/src/tracer.ts +++ b/src/tracer.ts @@ -27,14 +27,14 @@ const resource = new resourceFromAttributes({ }) const traceExporter = new OTLPTraceExporter({ - url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT, + url: process.env.OTEL_TRACES_OTLP_ENDPOINT, headers: { Authorization: `Api-Key ${process.env.OTEL_HEADERS_KEY}`, }, }) const logExporter = new OTLPLogExporter({ - url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT, + url: process.env.OTEL_LOGS_OTLP_ENDPOINT, headers: { Authorization: `Api-Key ${process.env.OTEL_HEADERS_KEY}`, }, From 09933b1368a2d792998b37eab2a55d7638662f90 Mon Sep 17 00:00:00 2001 From: Sahil Kamble Date: Tue, 15 Jul 2025 10:18:21 +0530 Subject: [PATCH 06/13] feat: update taskef for ARM arch (#290) * feat: update taskef for ARM arch Signed-off-by: Sahil Kamble * refactor: updated memory in taskdef Signed-off-by: Sahil Kamble --------- Signed-off-by: Sahil Kamble --- scripts/taskdef/credo-ecs-taskdef.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/taskdef/credo-ecs-taskdef.json b/scripts/taskdef/credo-ecs-taskdef.json index c584194e..86b1a8a1 100644 --- a/scripts/taskdef/credo-ecs-taskdef.json +++ b/scripts/taskdef/credo-ecs-taskdef.json @@ -2,10 +2,10 @@ "family": "${FAMILY}", "containerDefinitions": [ { - "name": "Platform-admin", + "name": "credo-controller", "image": "%REPOSITORY_URI%:CREDO_v_%BUILD_NUMBER%", "cpu": 154, - "memory": 307, + "memory": 358, "portMappings": [ { "containerPort": 8001, @@ -47,7 +47,7 @@ "placementConstraints": [], "requiresCompatibilities": ["EC2"], "cpu": "154", - "memory": "307", + "memory": "358", "volumes": [ { "name": "config", @@ -55,5 +55,9 @@ "sourcePath": "${SourcePath}" } } - ] + ], + "runtimePlatform": { + "cpuArchitecture": "ARM64", + "operatingSystemFamily": "LINUX" +} } From 5ee68730ecaeb938caad18cafbc067b9558a1380 Mon Sep 17 00:00:00 2001 From: Sahil Kamble Date: Tue, 22 Jul 2025 18:14:33 +0530 Subject: [PATCH 07/13] refactor: updated fargate taskdef for ARM arch (#292) Signed-off-by: KambleSahil3 --- scripts/taskdef/credo-fargate-taskdef.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/taskdef/credo-fargate-taskdef.json b/scripts/taskdef/credo-fargate-taskdef.json index 8e218216..52725661 100644 --- a/scripts/taskdef/credo-fargate-taskdef.json +++ b/scripts/taskdef/credo-fargate-taskdef.json @@ -2,7 +2,7 @@ "family": "${FAMILY}", "containerDefinitions": [ { - "name": "Platform-admin", + "name": "credo-controller", "image": "%REPOSITORY_URI%:CREDO_v_%BUILD_NUMBER%", "cpu": 0, "portMappings": [ @@ -65,5 +65,9 @@ "rootDirectory": "/" } } - ] + ], + "runtimePlatform": { + "cpuArchitecture": "ARM64", + "operatingSystemFamily": "LINUX" + } } From bd23cbd1842bcfdf9d6fb8cb55cb67c1c1aa1f47 Mon Sep 17 00:00:00 2001 From: Krishna Waske Date: Tue, 5 Aug 2025 16:02:02 +0530 Subject: [PATCH 08/13] feat: token mgmt and removal of duplicate routes . Updating Credo versions (#281) * chore: Update Dockerfile (#256) Signed-off-by: KambleSahil3 Signed-off-by: Sahil Kamble * bump: v0.5.3 to v0.5.15 Signed-off-by: Tipu_Singh * bump: updated CI file Signed-off-by: Tipu_Singh * bump: updated ubuntu version and project name Signed-off-by: Tipu_Singh * refactor: formatted code and updated eslint config Signed-off-by: Tipu_Singh * refactor: updated tsconfig and CI file Signed-off-by: Tipu_Singh * fix: prettier formatting issue Signed-off-by: Tipu_Singh * fix: logger issue Signed-off-by: Tipu_Singh * fix: resolved merge conflicts Signed-off-by: Tipu_Singh * fix: initial changes to remove duplicate routes and add token management Signed-off-by: Krishna Waske * fix: version type issue Signed-off-by: Krishna Waske * fix: build controller with dev command Signed-off-by: Krishna Waske * fix: add secret in sample cliConfig Signed-off-by: Krishna Waske * fix: auth with scopes and proper error handling Signed-off-by: Krishna Waske * fix: remove unnecessary files Signed-off-by: Krishna Waske * fix: indexed imports, other changes Signed-off-by: Krishna Waske * fix: auto-generated files Signed-off-by: Krishna Waske * fix ending tenant sessions Signed-off-by: Krishna Waske * fix: agent info available for all types of agents Signed-off-by: Krishna Waske * fix: improve webhook events sending and better error handling Signed-off-by: Krishna Waske * fix: autogenerated files Signed-off-by: Krishna Waske * fix: downgrade node-fetch due to type issues Signed-off-by: Krishna Waske * fiX: cache secret for speed, also make function single responsibile Signed-off-by: Krishna Waske * chore: remove TODO Signed-off-by: Krishna Waske * chore: remove commented code Signed-off-by: Krishna Waske * chore: comment for now as not required Signed-off-by: Krishna Waske * fix: concurrent processing issues and add some todo's Signed-off-by: Krishna Waske * fix: separate didcomm/anoncreds routes Signed-off-by: Krishna Waske * feat: add a update mechanism to update the jwt secret while starting agent Signed-off-by: Krishna Waske * chore: add improvement comments Signed-off-by: Krishna Waske * fix: linting Signed-off-by: Krishna Waske * fix: preetier issues Signed-off-by: Krishna Waske * fix: preetier issues Signed-off-by: Krishna Waske * fix: resolve coderabbit suggestions Signed-off-by: Krishna Waske * fix: preetier issues Signed-off-by: Krishna Waske * fix: error handling Signed-off-by: Krishna Waske * update taskdef.json file - container name and added ARM arch Signed-off-by: KambleSahil3 * resolve comments Signed-off-by: Krishna Waske * fix: formats Signed-off-by: Krishna Waske * fix: formats Signed-off-by: Krishna Waske * fix: formats Signed-off-by: Krishna Waske * fix: update tag during secretKey update Signed-off-by: Krishna Waske --------- Signed-off-by: KambleSahil3 Signed-off-by: Sahil Kamble Signed-off-by: Tipu_Singh Signed-off-by: Krishna Waske Co-authored-by: KambleSahil3 Co-authored-by: Tipu_Singh --- .eslintrc.js | 78 - .github/workflows/continuous-delivery.yml | 2 - .github/workflows/continuous-integration.yml | 16 +- README.md | 2 +- bin/afj-rest.js | 13 +- eslint.config.mjs | 98 + package.json | 237 +- .../@credo-ts+core+0.5.1+001+initial.patch | 50 - ....5.15+001+message-type-for-messages.patch} | 17 +- ...rettyVc-in-JsonCredential-interface.patch} | 0 ...esentation to avoid abandoned issue.patch} | 19 +- ...0.5.3+002+fix-process-problem-report.patch | 33 - ...suance-without-holder-did-negotiaton.patch | 12 - samples/cliConfig.json | 4 +- scripts/taskdef/credo-ecs-taskdef.json | 6 +- src/authentication.ts | 176 +- src/cli.ts | 135 +- src/cliAgent.ts | 101 +- src/controllers/agent/AgentController.ts | 182 +- .../CredentialDefinitionController.ts | 58 +- .../EndorserTransactionController.ts | 78 +- .../schema}/SchemaController.ts | 45 +- src/controllers/did/DidController.ts | 162 +- .../basic-messages/BasicMessageController.ts | 41 +- .../connections/ConnectionController.ts | 70 +- .../credentials/CredentialController.ts | 112 +- .../outofband/OutOfBandController.ts | 119 +- .../{ => didcomm}/proofs/ProofController.ts | 82 +- .../QuestionAnswerController.ts | 44 +- .../multi-tenancy/MultiTenancyController.ts | 2070 +--- src/controllers/polygon/PolygonController.ts | 53 +- src/controllers/types.ts | 32 +- src/enums/enum.ts | 22 + src/enums/index.ts | 1 + src/errors/StatusException.ts | 8 + src/errors/index.ts | 2 + src/events/CredentialEvents.ts | 28 +- src/events/QuestionAnswerEvents.ts | 2 +- src/events/WebhookEvent.ts | 23 +- src/index.ts | 1 - src/routes/routes.ts | 3779 +++---- src/routes/swagger.json | 9709 +++++++---------- src/securityMiddleware.ts | 39 +- src/server.ts | 43 +- src/tracer.ts | 3 +- src/types/index.ts | 1 + src/types/request.d.ts | 38 + src/utils/TsyringeAdapter.ts | 9 - src/utils/helpers.ts | 19 + src/utils/index.ts | 7 + src/utils/logger.ts | 12 +- src/utils/tsyringeTsoaIocContainer.ts | 4 +- tsconfig.build.json | 4 +- tsconfig.eslint.json | 2 +- tsconfig.json | 7 +- tsoa.json | 7 +- yarn.lock | 1909 ++-- 57 files changed, 7746 insertions(+), 12080 deletions(-) delete mode 100644 .eslintrc.js create mode 100644 eslint.config.mjs delete mode 100644 patches/@credo-ts+core+0.5.1+001+initial.patch rename patches/{@credo-ts+core+0.5.0.patch => @credo-ts+core+0.5.15+001+message-type-for-messages.patch} (70%) rename patches/{@credo-ts+core+0.5.3+004+added-prettyVc-in-JsonCredential-interface.patch => @credo-ts+core+0.5.15+003+added-prettyVc-in-JsonCredential-interface.patch} (100%) rename patches/{@credo-ts+core+0.5.3+005+commenting validationPresentation to avoid abandoned issue.patch => @credo-ts+core+0.5.15+004+commenting validationPresentation to avoid abandoned issue.patch} (57%) delete mode 100644 patches/@credo-ts+core+0.5.3+002+fix-process-problem-report.patch delete mode 100644 patches/@credo-ts+core+0.5.3+006+w3c-issuance-without-holder-did-negotiaton.patch rename src/controllers/{credentials => anoncreds/cred-def}/CredentialDefinitionController.ts (76%) rename src/controllers/{ => anoncreds}/endorser-transaction/EndorserTransactionController.ts (69%) rename src/controllers/{credentials => anoncreds/schema}/SchemaController.ts (73%) rename src/controllers/{ => didcomm}/basic-messages/BasicMessageController.ts (52%) rename src/controllers/{ => didcomm}/connections/ConnectionController.ts (59%) rename src/controllers/{ => didcomm}/credentials/CredentialController.ts (66%) rename src/controllers/{ => didcomm}/outofband/OutOfBandController.ts (71%) rename src/controllers/{ => didcomm}/proofs/ProofController.ts (71%) rename src/controllers/{ => didcomm}/question-answer/QuestionAnswerController.ts (68%) create mode 100644 src/enums/index.ts create mode 100644 src/errors/StatusException.ts create mode 100644 src/types/index.ts create mode 100644 src/types/request.d.ts delete mode 100644 src/utils/TsyringeAdapter.ts create mode 100644 src/utils/index.ts diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 0ab17c34..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,78 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - ignorePatterns: ['**/tests/*'], - extends: [ - 'eslint:recommended', - 'plugin:import/recommended', - 'plugin:import/typescript', - 'plugin:@typescript-eslint/recommended', - 'plugin:prettier/recommended', // Enables eslint-plugin-prettier and displays prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array. - ], - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.eslint.json'], - }, - settings: { - 'import/extensions': ['.js', '.ts'], - 'import/parsers': { - '@typescript-eslint/parser': ['.ts', '.tsx'], - }, - 'import/resolver': { - typescript: { - project: './tsconfig.json', - alwaysTryTypes: true, - }, - }, - }, - rules: { - 'no-constant-condition': 'warn', - '@typescript-eslint/no-explicit-any': 'warn', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/no-use-before-define': ['error', { functions: false, classes: false, variables: true }], - '@typescript-eslint/explicit-member-accessibility': 'error', - 'no-console': 'error', - '@typescript-eslint/ban-ts-comment': 'warn', - '@typescript-eslint/consistent-type-imports': 'error', - 'import/no-cycle': 'error', - 'import/order': [ - 'error', - { - groups: ['type', ['builtin', 'external'], 'parent', 'sibling', 'index'], - alphabetize: { - order: 'asc', - }, - 'newlines-between': 'always', - }, - ], - 'import/no-extraneous-dependencies': [ - 'error', - { - devDependencies: false, - }, - ], - }, - overrides: [ - { - files: ['jest.config.ts', '.eslintrc.js'], - env: { - node: true, - }, - }, - { - files: ['*.test.ts', '**/__tests__/**', '**/tests/**', 'jest.*.ts', '**/samples/**'], - env: { - jest: true, - node: false, - }, - rules: { - 'import/no-extraneous-dependencies': [ - 'error', - { - devDependencies: true, - }, - ], - }, - }, - ], -} diff --git a/.github/workflows/continuous-delivery.yml b/.github/workflows/continuous-delivery.yml index 175bf207..ffdc2e57 100644 --- a/.github/workflows/continuous-delivery.yml +++ b/.github/workflows/continuous-delivery.yml @@ -42,5 +42,3 @@ jobs: tags: | ${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ env.SERVICE }}:${{ env.TAG }} ${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ env.SERVICE }}:latest - - diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index de3f5b0a..7efcc045 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -2,27 +2,27 @@ name: Continuous Integration on: pull_request: - branches: [main] + branches: [main, develop] push: - branches: [main] + branches: [main, develop] concurrency: # Cancel previous runs that are not completed yet - group: afj-controller-${{ github.ref }}-${{ github.repository }}-${{ github.event_name }} + group: credo-controller-${{ github.ref }}-${{ github.repository }}-${{ github.event_name }} cancel-in-progress: true jobs: validate: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 name: Validate steps: - - name: Checkout afj-controller + - name: Checkout credo-controller uses: actions/checkout@v4 - - name: Setup NodeJS - uses: actions/setup-node@v3 + - name: Setup node v20 + uses: actions/setup-node@v4 with: - node-version: 18.19.0 + node-version: 20 cache: 'yarn' - name: Install dependencies diff --git a/README.md b/README.md index f0a21d51..caf31b2d 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,7 @@ const run = async () => { { // ... AFJ Config ... // }, - agentDependencies + agentDependencies, ) await startServer(agent, { port: 3000 }) } diff --git a/bin/afj-rest.js b/bin/afj-rest.js index 3b416b16..c393a347 100755 --- a/bin/afj-rest.js +++ b/bin/afj-rest.js @@ -1,6 +1,9 @@ #!/usr/bin/env node -/* eslint-disable @typescript-eslint/no-var-requires, no-undef */ - -const { runCliServer } = require('../build/cli') - -runCliServer() +import('../build/cli.js') + .then((module) => { + module.runCliServer() + }) + .catch((err) => { + console.error('Error starting CLI server:', err) + process.exit(1) + }) diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..9b366d5c --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,98 @@ +import { fileURLToPath } from 'url'; +import { dirname } from 'path'; +import eslintPluginImport from 'eslint-plugin-import'; +import eslintPluginPrettier from 'eslint-plugin-prettier'; +import eslintPluginTypescript from '@typescript-eslint/eslint-plugin'; +import parser from '@typescript-eslint/parser'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +export default [ + { + ignores: [ + '**/tests/*', + '**/build/**', + '**/*.js', + '**/*.d.ts', + ], + files: ['**/*.ts'], + languageOptions: { + parser, + parserOptions: { + tsconfigRootDir: __dirname, + project: ['./tsconfig.eslint.json'], + sourceType: 'module', + }, + globals: { + console: false, // no-console rule + }, + }, + plugins: { + '@typescript-eslint': eslintPluginTypescript, + import: eslintPluginImport, + prettier: eslintPluginPrettier, + }, + rules: { + 'no-constant-condition': 'warn', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-use-before-define': ['error', { functions: false, classes: false, variables: true }], + '@typescript-eslint/explicit-member-accessibility': 'error', + 'no-console': 'error', + '@typescript-eslint/ban-ts-comment': 'warn', + '@typescript-eslint/consistent-type-imports': 'error', + 'import/no-cycle': 'error', + 'import/order': [ + 'error', + { + groups: ['type', ['builtin', 'external'], 'parent', 'sibling', 'index'], + alphabetize: { + order: 'asc', + }, + 'newlines-between': 'always', + }, + ], + 'import/no-extraneous-dependencies': [ + 'error', + { + devDependencies: false, + }, + ], + 'prettier/prettier': 'error', + }, + }, + { + files: ['jest.config.ts', 'eslint.config.js'], + languageOptions: { + parserOptions: { + sourceType: 'commonjs', + }, + globals: { + require: true, + module: true, + __dirname: true, + }, + }, + }, + { + files: ['*.test.ts', '**/__tests__/**', '**/tests/**', 'jest.*.ts', '**/samples/**'], + languageOptions: { + globals: { + describe: true, + test: true, + expect: true, + jest: true, + }, + }, + rules: { + 'import/no-extraneous-dependencies': [ + 'error', + { + devDependencies: true, + }, + ], + }, + }, +]; diff --git a/package.json b/package.json index 51e7d442..d12a3e8c 100644 --- a/package.json +++ b/package.json @@ -1,118 +1,121 @@ { - "name": "credo-controller", - "main": "build/index", - "types": "build/index", - "version": "2.0.0", - "files": [ - "build" - ], - "publishConfig": { - "access": "public" - }, - "license": "Apache-2.0", - "description": "Rest endpoint wrapper for using your agent over HTTP", - "homepage": "https://github.com/hyperledger/aries-framework-javascript-ext/tree/main/packages/rest", - "repository": { - "type": "git", - "url": "https://github.com/hyperledger/aries-framework-javascript-ext", - "directory": "packages/rest" - }, - "bin": { - "afj-rest": "bin/afj-rest.js" - }, - "scripts": { - "check-types": "tsc --noEmit -p tsconfig.build.json", - "prettier": "prettier '**/*.+(js|json|ts|md|yml|yaml)'", - "format": "yarn prettier --write", - "check-format": "yarn prettier --list-different", - "tsoa": "tsoa spec-and-routes", - "dev": "tsoa spec-and-routes && tsnd --respawn samples/sampleWithApp.ts", - "build": "yarn run clean && yarn run compile", - "prestart:dev": "yarn run clean && yarn run compile", - "start:dev": "./bin/afj-rest.js --config ./samples/cliConfig.json", - "clean": "rimraf -rf ./build", - "compile": "tsoa spec-and-routes && tsc -p tsconfig.build.json", - "prepublishOnly": "yarn run build", - "test": "jest", - "postinstall": "patch-package", - "lint": "eslint --ignore-path .gitignore .", - "validate": "yarn lint && yarn check-types && yarn check-format" - }, - "dependencies": { - "@ayanworks/credo-polygon-w3c-module": "1.0.1-alpha.1", - "@credo-ts/anoncreds": "0.5.3", - "@credo-ts/askar": "0.5.3", - "@credo-ts/core": "0.5.3", - "@credo-ts/indy-vdr": "0.5.3", - "@credo-ts/node": "0.5.3", - "@credo-ts/push-notifications": "^0.7.0", - "@credo-ts/question-answer": "0.5.3", - "@credo-ts/tenants": "0.5.3", - "@hyperledger/anoncreds-nodejs": "0.2.2", - "@hyperledger/aries-askar-nodejs": "0.2.1", - "@hyperledger/indy-vdr-nodejs": "0.2.2", - "@opentelemetry/api": "^1.9.0", - "@opentelemetry/exporter-logs-otlp-http": "^0.202.0", - "@opentelemetry/exporter-trace-otlp-http": "^0.202.0", - "@opentelemetry/instrumentation-express": "^0.51.0", - "@opentelemetry/instrumentation-http": "^0.202.0", - "@opentelemetry/instrumentation-nestjs-core": "^0.48.0", - "@opentelemetry/resources": "^2.0.1", - "@opentelemetry/sdk-logs": "^0.202.0", - "@opentelemetry/sdk-node": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.34.0", - "@tsoa/runtime": "^6.0.0", - "@types/node-fetch": "^2.6.4", - "@types/ref-struct-di": "^1.1.9", - "@types/uuid": "^8.3.4", - "@types/ws": "^8.5.4", - "axios": "^1.4.0", - "body-parser": "^1.20.0", - "cors": "^2.8.5", - "dotenv": "^16.4.5", - "express": "^5.1.0", - "express-rate-limit": "^7.5.0", - "joi": "^17.12.3", - "jsonwebtoken": "^9.0.2", - "node-fetch": "^2.6.7", - "patch-package": "^8.0.0", - "postinstall-postinstall": "^2.1.0", - "reflect-metadata": "^0.1.13", - "swagger-ui-express": "^4.4.0", - "tslog": "^3.3.3", - "tsoa": "^6.0.1", - "tsyringe": "^4.8.0", - "yargs": "^17.3.1" - }, - "devDependencies": { - "@types/body-parser": "^1.19.2", - "@types/cors": "^2.8.12", - "@types/eslint": "^8.40.2", - "@types/express": "^5.0.2", - "@types/jest": "^27.0.3", - "@types/jsonwebtoken": "^9.0.5", - "@types/multer": "^1.4.7", - "@types/node": "^18.18.8", - "@types/ref-array-di": "^1.2.8", - "@types/ref-struct-di": "^1.1.9", - "@types/supertest": "^2.0.12", - "@types/swagger-ui-express": "^4.1.8", - "@typescript-eslint/eslint-plugin": "^6.19.1", - "@typescript-eslint/parser": "^6.19.1", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.8.0", - "eslint-import-resolver-typescript": "^3.5.5", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-prettier": "^4.2.1", - "jest": "^29.7.0", - "ngrok": "^4.3.1", - "prettier": "^2.8.8", - "supertest": "^6.2.3", - "ts-jest": "^29.1.2", - "ts-node-dev": "^2.0.0", - "typescript": "^5.3.3" - }, - "engines": { - "node": "18.19.0" - } -} \ No newline at end of file + "name": "credo-controller", + "main": "build/index", + "types": "build/index", + "version": "2.0.0", + "files": [ + "build" + ], + "publishConfig": { + "access": "public" + }, + "license": "Apache-2.0", + "description": "Rest endpoint wrapper for using your agent over HTTP", + "homepage": "https://github.com/hyperledger/aries-framework-javascript-ext/tree/main/packages/rest", + "repository": { + "type": "git", + "url": "https://github.com/hyperledger/aries-framework-javascript-ext", + "directory": "packages/rest" + }, + "bin": { + "afj-rest": "bin/afj-rest.js" + }, + "scripts": { + "check-types": "tsc --noEmit -p tsconfig.build.json", + "prettier": "prettier '**/*.+(js|json|ts|md|yml|yaml)'", + "format": "yarn prettier --write", + "check-format": "yarn prettier --list-different", + "tsoa": "tsoa spec-and-routes", + "dev": "tsoa spec-and-routes && tsnd --respawn samples/sampleWithApp.ts", + "build": "yarn run clean && yarn run compile", + "prestart:dev": "yarn run clean && yarn run compile", + "start:dev": "yarn build && ./bin/afj-rest.js --config ./samples/cliConfig.json", + "clean": "rimraf -rf ./build", + "compile": "tsoa spec-and-routes && tsc -p tsconfig.build.json", + "prepublishOnly": "yarn run build", + "test": "jest", + "postinstall": "patch-package", + "lint": "eslint --config eslint.config.mjs .", + "validate": "yarn lint && yarn check-types && yarn check-format" + }, + "dependencies": { + "@ayanworks/credo-polygon-w3c-module": "1.0.1-alpha.1", + "@credo-ts/anoncreds": "0.5.15", + "@credo-ts/askar": "0.5.15", + "@credo-ts/core": "0.5.15", + "@credo-ts/indy-vdr": "0.5.15", + "@credo-ts/node": "^0.5.15", + "@credo-ts/push-notifications": "^0.7.1", + "@credo-ts/question-answer": "0.5.15", + "@credo-ts/tenants": "0.5.15", + "@hyperledger/anoncreds-nodejs": "0.3.1", + "@hyperledger/aries-askar-nodejs": "0.2.3", + "@hyperledger/indy-vdr-nodejs": "0.2.2", + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/exporter-logs-otlp-http": "^0.202.0", + "@opentelemetry/exporter-trace-otlp-http": "^0.202.0", + "@opentelemetry/instrumentation-express": "^0.51.0", + "@opentelemetry/instrumentation-http": "^0.202.0", + "@opentelemetry/instrumentation-nestjs-core": "^0.48.0", + "@opentelemetry/resources": "^2.0.1", + "@opentelemetry/sdk-logs": "^0.202.0", + "@opentelemetry/sdk-node": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.34.0", + "@tsoa/runtime": "^6.6.0", + "@types/node-fetch": "^2.6.4", + "@types/ref-struct-di": "^1.1.12", + "@types/uuid": "^10.0.0", + "@types/ws": "^8.18.1", + "axios": "^1.9.0", + "body-parser": "^2.2.0", + "cors": "^2.8.5", + "dotenv": "^16.5.0", + "express": "^5.1.0", + "express-rate-limit": "^7.5.0", + "joi": "^17.13.3", + "jsonwebtoken": "^9.0.2", + "node-fetch": "2", + "patch-package": "^8.0.0", + "reflect-metadata": "^0.2.2", + "swagger-ui-express": "^4.4.0", + "tslog": "^3.3.3", + "tsoa": "^6.0.1", + "tsyringe": "^4.8.0", + "ws": "^8.18.2", + "yargs": "^17.7.2" + }, + "devDependencies": { + "@types/body-parser": "^1.19.5", + "@types/cors": "^2.8.18", + "@types/eslint": "^9.6.1", + "@types/express": "^5.0.2", + "@types/express-serve-static-core": "^5.0.6", + "@types/jest": "^29.5.14", + "@types/jsonwebtoken": "^9.0.9", + "@types/multer": "^1.4.12", + "@types/node": "^20.17.0", + "@types/ref-array-di": "^1.2.8", + "@types/ref-struct-di": "^1.1.12", + "@types/supertest": "^6.0.3", + "@types/swagger-ui-express": "^4.1.8", + "@types/yargs": "^17.0.33", + "@typescript-eslint/eslint-plugin": "^8.32.1", + "@typescript-eslint/parser": "^8.26.0", + "eslint": "^9.27.0", + "eslint-config-prettier": "^10.1.5", + "eslint-import-resolver-typescript": "^4.4.1", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-prettier": "^5.4.0", + "jest": "^29.7.0", + "ngrok": "^4.3.3", + "prettier": "^3.5.3", + "supertest": "^7.1.1", + "ts-jest": "^29.3.4", + "ts-node-dev": "^2.0.0", + "typescript": "^5.8.3" + }, + "resolutions": { + "@credo-ts/core": "0.5.15", + "@credo-ts/askar": "0.5.15" + } +} diff --git a/patches/@credo-ts+core+0.5.1+001+initial.patch b/patches/@credo-ts+core+0.5.1+001+initial.patch deleted file mode 100644 index c67f4eda..00000000 --- a/patches/@credo-ts+core+0.5.1+001+initial.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/node_modules/@credo-ts/core/build/agent/EnvelopeService.js b/node_modules/@credo-ts/core/build/agent/EnvelopeService.js -index 12261a9..0238d59 100644 ---- a/node_modules/@credo-ts/core/build/agent/EnvelopeService.js -+++ b/node_modules/@credo-ts/core/build/agent/EnvelopeService.js -@@ -32,12 +32,14 @@ let EnvelopeService = class EnvelopeService { - let encryptedMessage = await agentContext.wallet.pack(message, recipientKeysBase58, senderKeyBase58 !== null && senderKeyBase58 !== void 0 ? senderKeyBase58 : undefined); - // If the message has routing keys (mediator) pack for each mediator - for (const routingKeyBase58 of routingKeysBase58) { -+ console.log(`message['@type']`, JSON.stringify(message['@type'])) - const forwardMessage = new messages_1.ForwardMessage({ - // Forward to first recipient key - to: recipientKeysBase58[0], - message: encryptedMessage, - }); - recipientKeysBase58 = [routingKeyBase58]; -+ forwardMessage["messageType"] = message['@type']; - this.logger.debug('Forward message created', forwardMessage); - const forwardJson = forwardMessage.toJSON({ - useDidSovPrefixWhereAllowed: agentContext.config.useDidSovPrefixWhereAllowed, -diff --git a/node_modules/@credo-ts/core/build/modules/routing/messages/ForwardMessage.d.ts b/node_modules/@credo-ts/core/build/modules/routing/messages/ForwardMessage.d.ts -index 4f8577b..396f78a 100644 ---- a/node_modules/@credo-ts/core/build/modules/routing/messages/ForwardMessage.d.ts -+++ b/node_modules/@credo-ts/core/build/modules/routing/messages/ForwardMessage.d.ts -@@ -3,6 +3,7 @@ import { EncryptedMessage } from '../../../types'; - export interface ForwardMessageOptions { - id?: string; - to: string; -+ messageType: string; - message: EncryptedMessage; - } - /** -@@ -19,5 +20,6 @@ export declare class ForwardMessage extends AgentMessage { - readonly type: string; - static readonly type: import("../../../utils/messageType").ParsedMessageType; - to: string; -+ messageType: string; - message: EncryptedMessage; - } -diff --git a/node_modules/@credo-ts/core/build/types.d.ts b/node_modules/@credo-ts/core/build/types.d.ts -index e0384d9..0a669fb 100644 ---- a/node_modules/@credo-ts/core/build/types.d.ts -+++ b/node_modules/@credo-ts/core/build/types.d.ts -@@ -81,6 +81,7 @@ export interface PlaintextMessage { - thid?: string; - pthid?: string; - }; -+ messageType: string; - [key: string]: unknown; - } - export interface OutboundPackage { \ No newline at end of file diff --git a/patches/@credo-ts+core+0.5.0.patch b/patches/@credo-ts+core+0.5.15+001+message-type-for-messages.patch similarity index 70% rename from patches/@credo-ts+core+0.5.0.patch rename to patches/@credo-ts+core+0.5.15+001+message-type-for-messages.patch index 7350b168..d4ed27a7 100644 --- a/patches/@credo-ts+core+0.5.0.patch +++ b/patches/@credo-ts+core+0.5.15+001+message-type-for-messages.patch @@ -1,15 +1,8 @@ diff --git a/node_modules/@credo-ts/core/build/agent/EnvelopeService.js b/node_modules/@credo-ts/core/build/agent/EnvelopeService.js -index 12261a9..0238d59 100644 +index 72821a7..d11d209 100644 --- a/node_modules/@credo-ts/core/build/agent/EnvelopeService.js +++ b/node_modules/@credo-ts/core/build/agent/EnvelopeService.js -@@ -32,12 +32,14 @@ let EnvelopeService = class EnvelopeService { - let encryptedMessage = await agentContext.wallet.pack(message, recipientKeysBase58, senderKeyBase58 !== null && senderKeyBase58 !== void 0 ? senderKeyBase58 : undefined); - // If the message has routing keys (mediator) pack for each mediator - for (const routingKeyBase58 of routingKeysBase58) { -+ console.log(`message['@type']`, JSON.stringify(message['@type'])) - const forwardMessage = new messages_1.ForwardMessage({ - // Forward to first recipient key - to: recipientKeysBase58[0], +@@ -38,6 +38,7 @@ let EnvelopeService = class EnvelopeService { message: encryptedMessage, }); recipientKeysBase58 = [routingKeyBase58]; @@ -37,14 +30,14 @@ index 4f8577b..396f78a 100644 message: EncryptedMessage; } diff --git a/node_modules/@credo-ts/core/build/types.d.ts b/node_modules/@credo-ts/core/build/types.d.ts -index e0384d9..0a669fb 100644 +index 0d52d00..4bdb736 100644 --- a/node_modules/@credo-ts/core/build/types.d.ts +++ b/node_modules/@credo-ts/core/build/types.d.ts -@@ -81,6 +81,7 @@ export interface PlaintextMessage { +@@ -82,6 +82,7 @@ export interface PlaintextMessage { thid?: string; pthid?: string; }; -+ messageType: string; ++ messageType: string; [key: string]: unknown; } export interface OutboundPackage { diff --git a/patches/@credo-ts+core+0.5.3+004+added-prettyVc-in-JsonCredential-interface.patch b/patches/@credo-ts+core+0.5.15+003+added-prettyVc-in-JsonCredential-interface.patch similarity index 100% rename from patches/@credo-ts+core+0.5.3+004+added-prettyVc-in-JsonCredential-interface.patch rename to patches/@credo-ts+core+0.5.15+003+added-prettyVc-in-JsonCredential-interface.patch diff --git a/patches/@credo-ts+core+0.5.3+005+commenting validationPresentation to avoid abandoned issue.patch b/patches/@credo-ts+core+0.5.15+004+commenting validationPresentation to avoid abandoned issue.patch similarity index 57% rename from patches/@credo-ts+core+0.5.3+005+commenting validationPresentation to avoid abandoned issue.patch rename to patches/@credo-ts+core+0.5.15+004+commenting validationPresentation to avoid abandoned issue.patch index 74eed968..4a87cf28 100644 --- a/patches/@credo-ts+core+0.5.3+005+commenting validationPresentation to avoid abandoned issue.patch +++ b/patches/@credo-ts+core+0.5.15+004+commenting validationPresentation to avoid abandoned issue.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/@credo-ts/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js b/node_modules/@credo-ts/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js -index 006d870..da56801 100644 +index 7644850..db26554 100644 --- a/node_modules/@credo-ts/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js +++ b/node_modules/@credo-ts/core/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js -@@ -170,7 +170,8 @@ class DifPresentationExchangeProofFormatService { +@@ -172,7 +172,8 @@ class DifPresentationExchangeProofFormatService { try { ps.validatePresentationDefinition(request.presentation_definition); ps.validatePresentationSubmission(jsonPresentation.presentation_submission); @@ -11,4 +11,17 @@ index 006d870..da56801 100644 + //ps.validatePresentation(request.presentation_definition, parsedPresentation); let verificationResult; // FIXME: for some reason it won't accept the input if it doesn't know - // whether it's a JWT or JSON-LD VP even though the input is the same. \ No newline at end of file + // whether it's a JWT or JSON-LD VP even though the input is the same. +diff --git a/node_modules/@credo-ts/core/build/utils/version.d.ts b/node_modules/@credo-ts/core/build/utils/version.d.ts +index 0ad7e14..e0588dc 100644 +--- a/node_modules/@credo-ts/core/build/utils/version.d.ts ++++ b/node_modules/@credo-ts/core/build/utils/version.d.ts +@@ -1,7 +1,7 @@ + export declare function parseVersionString(version: VersionString): Version; + export declare function isFirstVersionHigherThanSecond(first: Version, second: Version): boolean; + export declare function isFirstVersionEqualToSecond(first: Version, second: Version): boolean; +-export type VersionString = `${number}.${number}` | `${number}.${number}.${number}`; ++export type VersionString = string; + export type MajorVersion = number; + export type MinorVersion = number; + export type PatchVersion = number; diff --git a/patches/@credo-ts+core+0.5.3+002+fix-process-problem-report.patch b/patches/@credo-ts+core+0.5.3+002+fix-process-problem-report.patch deleted file mode 100644 index 64632960..00000000 --- a/patches/@credo-ts+core+0.5.3+002+fix-process-problem-report.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/node_modules/@credo-ts/core/build/modules/credentials/protocol/BaseCredentialProtocol.js b/node_modules/@credo-ts/core/build/modules/credentials/protocol/BaseCredentialProtocol.js -index 30dbb7a..5b1b54c 100644 ---- a/node_modules/@credo-ts/core/build/modules/credentials/protocol/BaseCredentialProtocol.js -+++ b/node_modules/@credo-ts/core/build/modules/credentials/protocol/BaseCredentialProtocol.js -@@ -19,11 +19,9 @@ class BaseCredentialProtocol { - */ - async processProblemReport(messageContext) { - const { message: credentialProblemReportMessage, agentContext } = messageContext; -- const connection = messageContext.assertReadyConnection(); - agentContext.config.logger.debug(`Processing problem report with message id ${credentialProblemReportMessage.id}`); - const credentialRecord = await this.getByProperties(agentContext, { - threadId: credentialProblemReportMessage.threadId, -- connectionId: connection.id, - }); - // Update record - credentialRecord.errorMessage = `${credentialProblemReportMessage.description.code}: ${credentialProblemReportMessage.description.en}`; -diff --git a/node_modules/@credo-ts/core/build/modules/proofs/protocol/BaseProofProtocol.js b/node_modules/@credo-ts/core/build/modules/proofs/protocol/BaseProofProtocol.js -index 25d2948..cf9e315 100644 ---- a/node_modules/@credo-ts/core/build/modules/proofs/protocol/BaseProofProtocol.js -+++ b/node_modules/@credo-ts/core/build/modules/proofs/protocol/BaseProofProtocol.js -@@ -8,11 +8,10 @@ const ProofState_1 = require("../models/ProofState"); - const repository_1 = require("../repository"); - class BaseProofProtocol { - async processProblemReport(messageContext) { -- const { message: proofProblemReportMessage, agentContext, connection } = messageContext; -+ const { message: proofProblemReportMessage, agentContext } = messageContext; - agentContext.config.logger.debug(`Processing problem report with message id ${proofProblemReportMessage.id}`); - const proofRecord = await this.getByProperties(agentContext, { - threadId: proofProblemReportMessage.threadId, -- connectionId: connection === null || connection === void 0 ? void 0 : connection.id, - }); - // Update record - proofRecord.errorMessage = `${proofProblemReportMessage.description.code}: ${proofProblemReportMessage.description.en}`; diff --git a/patches/@credo-ts+core+0.5.3+006+w3c-issuance-without-holder-did-negotiaton.patch b/patches/@credo-ts+core+0.5.3+006+w3c-issuance-without-holder-did-negotiaton.patch deleted file mode 100644 index fa875140..00000000 --- a/patches/@credo-ts+core+0.5.3+006+w3c-issuance-without-holder-did-negotiaton.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/node_modules/@credo-ts/core/build/modules/credentials/protocol/v2/V2CredentialProtocol.js b/node_modules/@credo-ts/core/build/modules/credentials/protocol/v2/V2CredentialProtocol.js -index fb1fb9d..b519694 100644 ---- a/node_modules/@credo-ts/core/build/modules/credentials/protocol/v2/V2CredentialProtocol.js -+++ b/node_modules/@credo-ts/core/build/modules/credentials/protocol/v2/V2CredentialProtocol.js -@@ -97,7 +97,6 @@ class V2CredentialProtocol extends BaseCredentialProtocol_1.BaseCredentialProtoc - let credentialRecord = await this.findByProperties(messageContext.agentContext, { - threadId: proposalMessage.threadId, - role: models_1.CredentialRole.Issuer, -- connectionId: connection === null || connection === void 0 ? void 0 : connection.id, - }); - const formatServices = this.getFormatServicesFromMessage(proposalMessage.formats); - if (formatServices.length === 0) { \ No newline at end of file diff --git a/samples/cliConfig.json b/samples/cliConfig.json index b5ff24c9..105845d7 100644 --- a/samples/cliConfig.json +++ b/samples/cliConfig.json @@ -42,5 +42,7 @@ "schemaManagerContractAddress": "0x4742d43C2dFCa5a1d4238240Afa8547Daf87Ee7a", "rpcUrl": "https://rpc-amoy.polygon.technology", "fileServerUrl": "https://schema.credebl.id", - "fileServerToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJBeWFuV29ya3MiLCJpZCI6ImNhZDI3ZjhjLTMyNWYtNDRmZC04ZmZkLWExNGNhZTY3NTMyMSJ9.I3IR7abjWbfStnxzn1BhxhV0OEzt1x3mULjDdUcgWHk" + "fileServerToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJBeWFuV29ya3MiLCJpZCI6ImNhZDI3ZjhjLTMyNWYtNDRmZC04ZmZkLWExNGNhZTY3NTMyMSJ9.I3IR7abjWbfStnxzn1BhxhV0OEzt1x3mULjDdUcgWHk", + "apiKey": "supersecret-that-too-16chars", + "updateJwtSecret": false } diff --git a/scripts/taskdef/credo-ecs-taskdef.json b/scripts/taskdef/credo-ecs-taskdef.json index 86b1a8a1..2459e424 100644 --- a/scripts/taskdef/credo-ecs-taskdef.json +++ b/scripts/taskdef/credo-ecs-taskdef.json @@ -57,7 +57,7 @@ } ], "runtimePlatform": { - "cpuArchitecture": "ARM64", - "operatingSystemFamily": "LINUX" -} + "cpuArchitecture": "ARM64", + "operatingSystemFamily": "LINUX" + } } diff --git a/src/authentication.ts b/src/authentication.ts index fd054dc5..01207fa1 100644 --- a/src/authentication.ts +++ b/src/authentication.ts @@ -1,33 +1,185 @@ -import type * as express from 'express' +import type { RestAgentModules, RestMultiTenantAgentModules } from './cliAgent' +import type { TenantAgent } from '@credo-ts/tenants/build/TenantAgent' +import type { Request } from 'express' -import { LogLevel } from '@credo-ts/core' +import { Agent, LogLevel } from '@credo-ts/core' +import { uuid } from '@credo-ts/core/build/utils/uuid' +import jwt, { decode } from 'jsonwebtoken' +import { container } from 'tsyringe' +import { AgentRole, ErrorMessages, SCOPES } from './enums' +import { StatusException } from './errors' import { TsLogger } from './utils/logger' -let dynamicApiKey: string = 'api_key' // Initialize with a default value +// export type AgentType = Agent | Agent | TenantAgent -export async function expressAuthentication( - request: express.Request, - securityName: string, - secMethod?: { [key: string]: any }, - scopes?: string -) { +let dynamicApiKey: string = uuid() // Initialize with a default value + +// Cache for jwt token key +const cache = new Map() + +export const getFromCache = (key: string) => cache.get(key) +export const setInCache = (key: string, value: string) => cache.set(key, value) + +export async function expressAuthentication(request: Request, securityName: string, scopes?: string[]) { const logger = new TsLogger(LogLevel.info) + const agent = container.resolve(Agent) - logger.info(`secMethod::: ${secMethod}`) + logger.info(`securityName::: ${securityName}`) logger.info(`scopes::: ${scopes}`) + if (scopes && scopes?.includes(SCOPES.UNPROTECTED)) { + // Skip authentication for this route or controller + request.agent = agent + return true + } + const apiKeyHeader = request.headers['authorization'] + if (!apiKeyHeader) { + return Promise.reject(new StatusException(ErrorMessages.Unauthorized, 401)) + } + if (securityName === 'apiKey') { + // Auth: For BW/Dedicated agent to GET their token if (apiKeyHeader) { const providedApiKey = apiKeyHeader as string - if (providedApiKey === dynamicApiKey) { - return 'success' + request.agent = agent + return true + } + } + } + + if (securityName === 'jwt') { + const tenancy = agent!.modules.tenants ? true : false + const tokenWithHeader = apiKeyHeader + const token = tokenWithHeader!.replace('Bearer ', '') + const reqPath = request.path + let decodedToken: jwt.JwtPayload + if (!token) { + return Promise.reject(new StatusException(`${ErrorMessages.Unauthorized}: Invalid token`, 401)) + } + + let cachedKey = getFromCache('secret') + + if (!cachedKey) { + // Cache key from + cachedKey = await getSecretKey(agent as Agent) + } + + // Verify token + const verified = await verifyToken(logger, token, cachedKey) + + // Failed to verify token + if (!verified) { + return Promise.reject(new StatusException(ErrorMessages.Unauthorized, 401)) + } + + try { + decodedToken = decode(token) as jwt.JwtPayload + if (!decodedToken || !decodedToken.role) { + throw new Error('Token not decoded') + } + } catch (err) { + agent.config.logger.error('Error decoding token', err as Record) + return Promise.reject(new StatusException(`${ErrorMessages.Unauthorized}: Invalid token`, 401)) + } + + // Before getting ahead, we can ideally, verify the token, since, in the current approach we have stored the jwt secret in BW + const role: AgentRole = decodedToken.role + + if (tenancy) { + // it should be a shared agent + if (role !== AgentRole.RestRootAgentWithTenants && role !== AgentRole.RestTenantAgent) { + logger.debug('Unknown role. The agent is a multi-tenant agent') + return Promise.reject(new StatusException('Unknown role', 401)) + } + if (role === AgentRole.RestTenantAgent) { + // Logic if the token is of tenant agent + if (scopes && scopes?.includes(SCOPES.MULTITENANT_BASE_AGENT)) { + logger.debug('Tenants cannot manage tenants') + return Promise.reject(new StatusException(ErrorMessages.Unauthorized, 401)) + } else { + // Auth: tenant agent + const tenantId: string = decodedToken.tenantId + if (!tenantId) { + return Promise.reject(new StatusException(ErrorMessages.Unauthorized, 401)) + } + const tenantAgent = await agent.modules.tenants.getTenantAgent({ tenantId }) + if (!tenantAgent) { + return Promise.reject(new StatusException(ErrorMessages.Unauthorized, 401)) + } + + // Only need to registerInstance for TenantAgent. + request.agent = tenantAgent + return true + } + } else if (role === AgentRole.RestRootAgentWithTenants) { + // Auth: base wallet + if (!scopes?.includes(SCOPES.MULTITENANT_BASE_AGENT)) { + logger.error('Basewallet can only manage tenants') + return Promise.reject(new StatusException(ErrorMessages.Unauthorized, 401)) + } + + request.agent = agent + return true + } else { + logger.debug('Invalid Token') + return Promise.reject(new StatusException(ErrorMessages.Unauthorized, 401)) + } + } else { + if (role !== AgentRole.RestRootAgent) { + logger.debug('This is a dedicated agent') + return Promise.reject(new StatusException(ErrorMessages.Unauthorized, 401)) + } else { + // Auth: dedicated agent + + // TODO: replace with scopes, instead of routes + if (reqPath.includes('/multi-tenancy/')) + return Promise.reject( + new StatusException( + `${ErrorMessages.Unauthorized}: Multitenant routes are diabled for dedicated agent`, + 401, + ), + ) + + request.agent = agent + return true } } } + return Promise.reject(new StatusException(ErrorMessages.Unauthorized, 401)) +} + +async function verifyToken(logger: TsLogger, token: string, secretKey: string): Promise { + try { + jwt.verify(token, secretKey) + return true + } catch (error) { + logger.error('Error verifying jwt token', error as Record) + return false + } +} + +// Common function to pass agent object and get secretKey +async function getSecretKey( + agent: Agent | TenantAgent, +): Promise { + let cachedKey: string | undefined + + cachedKey = getFromCache('secret') + + if (!cachedKey) { + const genericRecords = await agent.genericRecords.findAllByQuery({ hasSecretKey: 'true' }) + cachedKey = genericRecords[0]?.content.secretKey as string + if (!cachedKey) { + throw new Error('secretKey not found') + } + setInCache('secret', cachedKey) + } + + return cachedKey } export function setDynamicApiKey(newApiKey: string) { diff --git a/src/cli.ts b/src/cli.ts index f352694f..8c7efa63 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -1,8 +1,9 @@ -import type { AriesRestConfig } from './cliAgent' +import type { AriesRestConfig } from './cliAgent.js' import yargs from 'yargs' +import { hideBin } from 'yargs/helpers' -import { runRestAgent } from './cliAgent' +import { runRestAgent } from './cliAgent.js' interface IndyLedger { genesisTransactions: string @@ -42,6 +43,8 @@ interface Parsed { rpcUrl?: string fileServerUrl?: string fileServerToken?: string + apiKey?: string + updateJwtSecret?: boolean } interface InboundTransport { @@ -52,69 +55,32 @@ interface InboundTransport { type Transports = 'http' | 'ws' async function parseArguments(): Promise { - return yargs + return yargs(hideBin(process.argv)) .command('start', 'Start Credo Rest agent') - .option('label', { - alias: 'l', - string: true, - demandOption: true, - }) - .option('wallet-id', { - string: true, - demandOption: true, - }) - .option('wallet-key', { - string: true, - demandOption: true, - }) - .option('wallet-type', { - string: true, - demandOption: true, - }) - .option('wallet-url', { - string: true, - demandOption: true, - }) - .option('wallet-scheme', { - string: true, - demandOption: true, - }) - .option('wallet-account', { - string: true, - demandOption: true, - }) - .option('wallet-password', { - string: true, - demandOption: true, - }) - .option('wallet-admin-account', { - string: true, - demandOption: true, - }) - .option('wallet-admin-password', { - string: true, - demandOption: true, - }) + .option('label', { alias: 'l', string: true, demandOption: true }) + .option('wallet-id', { string: true, demandOption: true }) + .option('wallet-key', { string: true, demandOption: true }) + .option('wallet-type', { string: true, demandOption: true }) + .option('wallet-url', { string: true, demandOption: true }) + .option('wallet-scheme', { string: true, demandOption: true }) + .option('wallet-account', { string: true, demandOption: true }) + .option('wallet-password', { string: true, demandOption: true }) + .option('wallet-admin-account', { string: true, demandOption: true }) + .option('wallet-admin-password', { string: true, demandOption: true }) .option('indy-ledger', { array: true, default: [], - coerce: (input) => { - return input.map((item: { genesisTransactions: string; indyNamespace: string }) => ({ + coerce: (input) => + input.map((item: { genesisTransactions: string; indyNamespace: string }) => ({ genesisTransactions: item.genesisTransactions, indyNamespace: item.indyNamespace, - })) - }, + })), }) .option('endpoint', { array: true, - coerce: (input) => { - return input.map((item: string) => String(item)) - }, - }) - .option('log-level', { - number: true, - default: 3, + coerce: (input) => input.map((item: string) => String(item)), }) + .option('log-level', { number: true, default: 3 }) .option('outbound-transport', { array: true, coerce: (input) => { @@ -140,30 +106,25 @@ async function parseArguments(): Promise { 'port' in item && typeof item.port === 'number' ) { - const transport: Transports = item.transport as Transports - const port: number = item.port - transports.push({ transport, port }) + transports.push({ transport: item.transport as Transports, port: item.port }) } else { throw new Error( - 'Inbound transport should be specified as an array of objects with transport and port properties.' + 'Inbound transport should be specified as an array of objects with transport and port properties.', ) } } return transports }, }) - .option('auto-accept-connections', { - boolean: true, - default: false, - }) + .option('auto-accept-connections', { boolean: true, default: false }) .option('auto-accept-credentials', { choices: ['always', 'never', 'contentApproved'], coerce: (input: string) => { - if (input === 'always' || input === 'never' || input === 'contentApproved') { + if (['always', 'never', 'contentApproved'].includes(input)) { return input as 'always' | 'never' | 'contentApproved' } else { throw new Error( - 'Invalid value for auto-accept-credentials. Valid values are "always", "never", or "contentApproved".' + 'Invalid value for auto-accept-credentials. Valid values are "always", "never", or "contentApproved".', ) } }, @@ -171,41 +132,37 @@ async function parseArguments(): Promise { .option('auto-accept-proofs', { choices: ['always', 'never', 'contentApproved'], coerce: (input: string) => { - if (input === 'always' || input === 'never' || input === 'contentApproved') { + if (['always', 'never', 'contentApproved'].includes(input)) { return input as 'always' | 'never' | 'contentApproved' } else { throw new Error( - 'Invalid value for auto-accept-proofs. Valid values are "always", "never", or "contentApproved".' + 'Invalid value for auto-accept-proofs. Valid values are "always", "never", or "contentApproved".', ) } }, }) - .option('webhook-url', { + .option('webhook-url', { string: true }) + .option('admin-port', { number: true, demandOption: true }) + .option('tenancy', { boolean: true, default: false }) + .option('did-registry-contract-address', { string: true }) + .option('schema-manager-contract-address', { string: true }) + .option('wallet-connect-timeout', { number: true }) + .option('wallet-max-connections', { number: true }) + .option('wallet-idle-timeout', { number: true }) + .option('apiKey', { string: true, + coerce: (input: string) => { + input = input.trim() + if (input && input.length < 16) { + throw new Error('API key must be at least 16 characters long') + } + return input + }, }) - .option('admin-port', { - number: true, - demandOption: true, - }) - .option('tenancy', { + .option('updateJwtSecret', { boolean: true, default: false, }) - .option('did-registry-contract-address', { - string: true, - }) - .option('schema-manager-contract-address', { - string: true, - }) - .option('wallet-connect-timeout', { - number: true, - }) - .option('wallet-max-connections', { - number: true, - }) - .option('wallet-idle-timeout', { - number: true, - }) .config() .env('AFJ_REST') .parseAsync() as Promise @@ -252,5 +209,7 @@ export async function runCliServer() { rpcUrl: parsed.rpcUrl, fileServerUrl: parsed.fileServerUrl, fileServerToken: parsed.fileServerToken, + apiKey: parsed['apiKey'], + updateJwtSecret: parsed['updateJwtSecret'], } as AriesRestConfig) } diff --git a/src/cliAgent.ts b/src/cliAgent.ts index 1db8a874..61c671e7 100644 --- a/src/cliAgent.ts +++ b/src/cliAgent.ts @@ -48,12 +48,11 @@ import { anoncreds } from '@hyperledger/anoncreds-nodejs' import { ariesAskar } from '@hyperledger/aries-askar-nodejs' import { indyVdr } from '@hyperledger/indy-vdr-nodejs' import axios from 'axios' -import { randomBytes } from 'crypto' import { readFile } from 'fs/promises' -import jwt from 'jsonwebtoken' -import { IndicioAcceptanceMechanism, IndicioTransactionAuthorAgreement, Network, NetworkName } from './enums/enum' +import { IndicioAcceptanceMechanism, IndicioTransactionAuthorAgreement, Network, NetworkName } from './enums' import { setupServer } from './server' +import { generateSecretKey } from './utils/helpers' import { TsLogger } from './utils/logger' export type Transports = 'ws' | 'http' @@ -100,6 +99,8 @@ export interface AriesRestConfig { fileServerToken?: string walletScheme?: AskarMultiWalletDatabaseScheme schemaFileServerURL?: string + apiKey: string + updateJwtSecret?: boolean } export async function readRestConfig(path: string) { @@ -124,7 +125,7 @@ const getModules = ( autoAcceptConnections: boolean, autoAcceptCredentials: AutoAcceptCredential, autoAcceptProofs: AutoAcceptProof, - walletScheme: AskarMultiWalletDatabaseScheme + walletScheme: AskarMultiWalletDatabaseScheme, ) => { const legacyIndyCredentialFormat = new LegacyIndyCredentialFormatService() const legacyIndyProofFormat = new LegacyIndyProofFormatService() @@ -212,7 +213,7 @@ const getWithTenantModules = ( autoAcceptConnections: boolean, autoAcceptCredentials: AutoAcceptCredential, autoAcceptProofs: AutoAcceptProof, - walletScheme: AskarMultiWalletDatabaseScheme + walletScheme: AskarMultiWalletDatabaseScheme, ) => { const modules = getModules( networkConfig, @@ -224,7 +225,7 @@ const getWithTenantModules = ( autoAcceptConnections, autoAcceptCredentials, autoAcceptProofs, - walletScheme + walletScheme, ) return { tenants: new TenantsModule({ @@ -235,23 +236,23 @@ const getWithTenantModules = ( } } -async function generateSecretKey(length: number = 32): Promise { - // Asynchronously generate a buffer containing random values - const buffer: Buffer = await new Promise((resolve, reject) => { - randomBytes(length, (error, buf) => { - if (error) { - reject(error) - } else { - resolve(buf) - } - }) - }) +// async function generateSecretKey(length: number = 32): Promise { +// // Asynchronously generate a buffer containing random values +// const buffer: Buffer = await new Promise((resolve, reject) => { +// randomBytes(length, (error, buf) => { +// if (error) { +// reject(error) +// } else { +// resolve(buf) +// } +// }) +// }) - // Convert the buffer to a hexadecimal string - const secretKey: string = buffer.toString('hex') +// // Convert the buffer to a hexadecimal string +// const secretKey: string = buffer.toString('hex') - return secretKey -} +// return secretKey +// } export async function runRestAgent(restConfig: AriesRestConfig) { const { @@ -271,6 +272,8 @@ export async function runRestAgent(restConfig: AriesRestConfig) { autoAcceptCredentials, autoAcceptProofs, walletScheme, + apiKey, + updateJwtSecret, ...afjConfig } = restConfig @@ -288,6 +291,10 @@ export async function runRestAgent(restConfig: AriesRestConfig) { // As backup is only supported for sqlite storage // we need to manually take backup of the storage before updating the storage backupBeforeStorageUpdate: false, + // Ideally for testing connection between tenant agent we need to set this to 'true'. Default is 'false' + // TODO: triage: not sure if we want it to be 'true', as it would mean parallel requests on BW + // Setting it for now + processDidCommMessagesConcurrently: true, } async function fetchLedgerData(ledgerConfig: { @@ -355,7 +362,7 @@ export async function runRestAgent(restConfig: AriesRestConfig) { autoAcceptConnections || true, autoAcceptCredentials || AutoAcceptCredential.Always, autoAcceptProofs || AutoAcceptProof.ContentApproved, - walletScheme || AskarMultiWalletDatabaseScheme.ProfilePerWallet + walletScheme || AskarMultiWalletDatabaseScheme.ProfilePerWallet, ) const modules = getModules( networkConfig, @@ -367,7 +374,7 @@ export async function runRestAgent(restConfig: AriesRestConfig) { autoAcceptConnections || true, autoAcceptCredentials || AutoAcceptCredential.Always, autoAcceptProofs || AutoAcceptProof.ContentApproved, - walletScheme || AskarMultiWalletDatabaseScheme.ProfilePerWallet + walletScheme || AskarMultiWalletDatabaseScheme.ProfilePerWallet, ) const agent = new Agent({ config: agentConfig, @@ -396,37 +403,29 @@ export async function runRestAgent(restConfig: AriesRestConfig) { await agent.initialize() - let token: string = '' - const genericRecord = await agent.genericRecords.getAll() - - const recordsWithToken = genericRecord.some((record) => record?.content?.token) - if (!genericRecord.length || !recordsWithToken) { - // Call the async function - const secretKeyInfo: string = await generateSecretKey() - // Check if the secretKey already exist in the genericRecords - - // if already exist - then don't generate the secret key again - // Check if the JWT token already available in genericRecords - if yes, and also don't generate the JWT token - // instead use the existin JWT token - // if JWT token is not found, create/generate a new token and save in genericRecords - // next time, the same token should be used - instead of creating a new token on every restart event of the agent - - // if already exist - then don't generate the secret key again - // Check if the JWT token already available in genericRecords - if yes, and also don't generate the JWT token - // instead use the existin JWT token - // if JWT token is not found, create/generate a new token and save in genericRecords - // next time, the same token should be used - instead of creating a new token on every restart event of the agent - token = jwt.sign({ agentInfo: 'agentInfo' }, secretKeyInfo) + const genericRecord = await agent.genericRecords.findAllByQuery({ hasSecretKey: 'true' }) + const recordsWithSecretKey = genericRecord[0] + + if (!recordsWithSecretKey) { + // If secretKey doesn't exist in genericRecord: i.e. Agent initialized for the first time or secretKey not found + // Generate and store secret key for agent while initialization + const secretKeyInfo = await generateSecretKey() + await agent.genericRecords.save({ content: { secretKey: secretKeyInfo, - token, + }, + tags: { + hasSecretKey: 'true', // custom tag to support query }, }) - } else { - const recordWithToken = genericRecord.find((record) => record?.content?.token !== undefined) - - token = recordWithToken?.content.token as string + } else if (updateJwtSecret && recordsWithSecretKey) { + // If secretKey already exist in genericRecord: i.e. Agent is not initialized for the first time or secretKey already found + // And we are requested to store a new secret, with the flag: 'updateJwtSecret' + // Generate and store secret key for agent while initialization + recordsWithSecretKey.content.secretKey = await generateSecretKey() + recordsWithSecretKey.setTag('hasSecretKey', true) + await agent.genericRecords.update(recordsWithSecretKey) } const app = await setupServer( agent, @@ -435,10 +434,10 @@ export async function runRestAgent(restConfig: AriesRestConfig) { port: adminPort, schemaFileServerURL, }, - token + apiKey, ) - logger.info(`*** API Token: ${token}`) + logger.info(`*** API Key: ${apiKey}`) app.listen(adminPort, () => { logger.info(`Successfully started server on port ${adminPort}`) diff --git a/src/controllers/agent/AgentController.ts b/src/controllers/agent/AgentController.ts index aad7d02b..4c70efeb 100644 --- a/src/controllers/agent/AgentController.ts +++ b/src/controllers/agent/AgentController.ts @@ -1,34 +1,47 @@ import type { RestAgentModules } from '../../cliAgent' -import type { AgentInfo } from '../types' +import type { + AgentInfo, + AgentToken, + CustomW3cJsonLdSignCredentialOptions, + SafeW3cJsonLdVerifyCredentialOptions, + SignDataOptions, + VerifyDataOptions, +} from '../types' -import { Agent } from '@credo-ts/core' +import { assertAskarWallet } from '@credo-ts/askar/build/utils/assertAskarWallet' +import { + Agent, + ClaimFormat, + JsonTransformer, + Key, + TypedArrayEncoder, + W3cJsonLdSignCredentialOptions, + W3cJsonLdVerifiableCredential, +} from '@credo-ts/core' +import { Request as Req } from 'express' +import jwt from 'jsonwebtoken' +import { Controller, Delete, Get, Route, Tags, Security, Request, Post, Body, Path, Query } from 'tsoa' import { injectable } from 'tsyringe' +import { AgentRole, SCOPES } from '../../enums' import ErrorHandlingService from '../../errorHandlingService' - -import { Controller, Delete, Get, Route, Tags, Security } from 'tsoa' +import { BadRequestError } from '../../errors' @Tags('Agent') @Route('/agent') @injectable() export class AgentController extends Controller { - private agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Retrieve basic agent information */ + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT, SCOPES.MULTITENANT_BASE_AGENT]) @Get('/') - public async getAgentInfo(): Promise { + public async getAgentInfo(@Request() request: Req): Promise { try { return { - label: this.agent.config.label, - endpoints: this.agent.config.endpoints, - isInitialized: this.agent.isInitialized, + label: request.agent.config.label, + endpoints: request.agent.config.endpoints, + isInitialized: request.agent.isInitialized, publicDid: undefined, } } catch (error) { @@ -37,16 +50,149 @@ export class AgentController extends Controller { } /** - * Delete wallet + * Retrieve agent token */ + @Post('/token') @Security('apiKey') + public async getAgentToken(@Request() request: Req): Promise { + let token + const genericRecords = await request.agent.genericRecords.findAllByQuery({ hasSecretKey: 'true' }) + const secretKey = genericRecords[0]?.content.secretKey as string + if (!secretKey) { + throw new Error('secretKey not found') + } + if (!('tenants' in request.agent.modules)) { + token = jwt.sign({ role: AgentRole.RestRootAgent }, secretKey) + } else { + token = jwt.sign({ role: AgentRole.RestRootAgentWithTenants }, secretKey) + } + return { + token: token, + } + } + + /** + * Delete wallet + */ + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @Delete('/wallet') - public async deleteWallet() { + public async deleteWallet(@Request() request: Req) { try { - const deleteWallet = await this.agent.wallet.delete() + const deleteWallet = await request.agent.wallet.delete() return deleteWallet } catch (error) { throw ErrorHandlingService.handle(error) } } + + /** + * Verify data using a key + * + * @param tenantId Tenant identifier + * @param request Verify options + * data - Data has to be in base64 format + * publicKeyBase58 - Public key in base58 format + * signature - Signature in base64 format + * @returns isValidSignature - true if signature is valid, false otherwise + */ + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) + @Post('/verify') + public async verify(@Request() request: Req, @Body() body: VerifyDataOptions) { + try { + assertAskarWallet(request.agent.context.wallet) + const isValidSignature = await request.agent.context.wallet.verify({ + data: TypedArrayEncoder.fromBase64(body.data), + key: Key.fromPublicKeyBase58(body.publicKeyBase58, body.keyType), + signature: TypedArrayEncoder.fromBase64(body.signature), + }) + return isValidSignature + } catch (error) { + throw ErrorHandlingService.handle(error) + } + } + + //Triage: Do we want the BW to be able to sign and verify as well? + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) + @Post('/credential/sign') + public async signCredential( + @Request() request: Req, + @Query('storeCredential') storeCredential: boolean, + @Query('dataTypeToSign') dataTypeToSign: 'rawData' | 'jsonLd', + @Body() data: CustomW3cJsonLdSignCredentialOptions | SignDataOptions, + ) { + try { + // JSON-LD VC Signing + if (dataTypeToSign === 'jsonLd') { + const credentialData = data as unknown as W3cJsonLdSignCredentialOptions + credentialData.format = ClaimFormat.LdpVc + const signedCredential = (await request.agent.w3cCredentials.signCredential( + credentialData, + )) as W3cJsonLdVerifiableCredential + if (storeCredential) { + return await request.agent.w3cCredentials.storeCredential({ credential: signedCredential }) + } + return signedCredential.toJson() + } + + // Raw Data Signing + const rawData = data as SignDataOptions + if (!rawData.data) throw new BadRequestError('Missing "data" for raw data signing.') + + const hasDidOrMethod = rawData.did || rawData.method + const hasPublicKey = rawData.publicKeyBase58 && rawData.keyType + if (!hasDidOrMethod && !hasPublicKey) { + throw new BadRequestError('Either (did or method) OR (publicKeyBase58 and keyType) must be provided.') + } + + let keyToUse: Key + if (hasDidOrMethod) { + const dids = await request.agent.dids.getCreatedDids({ + method: rawData.method || undefined, + did: rawData.did || undefined, + }) + const verificationMethod = dids[0]?.didDocument?.verificationMethod?.[0]?.publicKeyBase58 + if (!verificationMethod) { + throw new BadRequestError('No publicKeyBase58 found for the given DID or method.') + } + keyToUse = Key.fromPublicKeyBase58(verificationMethod, rawData.keyType) + } else { + keyToUse = Key.fromPublicKeyBase58(rawData.publicKeyBase58, rawData.keyType) + } + + if (!keyToUse) { + throw new Error('Unable to construct signing key.') + } + + const signature = await request.agent.context.wallet.sign({ + data: TypedArrayEncoder.fromBase64(rawData.data), + key: keyToUse, + }) + + return TypedArrayEncoder.toBase64(signature) + } catch (error) { + throw ErrorHandlingService.handle(error) + } + } + + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) + @Post('/credential/verify') + public async verifyCredential( + @Request() request: Req, + @Body() credentialToVerify: SafeW3cJsonLdVerifyCredentialOptions, + ) { + try { + const { credential, ...credentialOptions } = credentialToVerify + const transformedCredential = JsonTransformer.fromJSON( + credentialToVerify?.credential, + W3cJsonLdVerifiableCredential, + ) + const signedCred = await request.agent.w3cCredentials.verifyCredential({ + credential: transformedCredential, + ...credentialOptions, + }) + return signedCred + } catch (error) { + throw ErrorHandlingService.handle(error) + } + } } diff --git a/src/controllers/credentials/CredentialDefinitionController.ts b/src/controllers/anoncreds/cred-def/CredentialDefinitionController.ts similarity index 76% rename from src/controllers/credentials/CredentialDefinitionController.ts rename to src/controllers/anoncreds/cred-def/CredentialDefinitionController.ts index 2f825481..4c643bba 100644 --- a/src/controllers/credentials/CredentialDefinitionController.ts +++ b/src/controllers/anoncreds/cred-def/CredentialDefinitionController.ts @@ -1,30 +1,23 @@ -import type { RestAgentModules } from '../../cliAgent' -import type { SchemaId } from '../examples' +import type { RestAgentModules } from '../../../cliAgent' +import type { SchemaId } from '../../examples' import { getUnqualifiedCredentialDefinitionId, parseIndyCredentialDefinitionId } from '@credo-ts/anoncreds' import { Agent } from '@credo-ts/core' +import { Request as Req } from 'express' +import { Body, Controller, Example, Get, Path, Post, Route, Tags, Security, Response, Request } from 'tsoa' import { injectable } from 'tsyringe' -import { CredentialEnum, EndorserMode } from '../../enums/enum' -import ErrorHandlingService from '../../errorHandlingService' -import { ENDORSER_DID_NOT_PRESENT } from '../../errorMessages' -import { BadRequestError, InternalServerError, NotFoundError } from '../../errors/errors' -import { CredentialDefinitionExample, CredentialDefinitionId } from '../examples' +import { CredentialEnum, EndorserMode, SchemaError, SCOPES } from '../../../enums' +import ErrorHandlingService from '../../../errorHandlingService' +import { ENDORSER_DID_NOT_PRESENT } from '../../../errorMessages' +import { BadRequestError, InternalServerError, NotFoundError } from '../../../errors/errors' +import { CredentialDefinitionExample, CredentialDefinitionId } from '../../examples' -import { Body, Controller, Example, Get, Path, Post, Route, Tags, Security, Response } from 'tsoa' - -@Tags('Credential Definitions') -@Route('/credential-definitions') -@Security('apiKey') +@Tags('Anoncreds - Credential Definitions') +@Route('/anoncreds/credential-definitions') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @injectable() export class CredentialDefinitionController extends Controller { - // TODO: Currently this only works if Extensible from credo-ts is renamed to something else, since there are two references to Extensible - private agent: Agent - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Retrieve credential definition by credential definition id * @@ -34,19 +27,19 @@ export class CredentialDefinitionController extends Controller { @Example(CredentialDefinitionExample) @Get('/:credentialDefinitionId') public async getCredentialDefinitionById( - @Path('credentialDefinitionId') credentialDefinitionId: CredentialDefinitionId + @Request() request: Req, + @Path('credentialDefinitionId') credentialDefinitionId: CredentialDefinitionId, ) { try { - const credentialDefinitionResult = await this.agent.modules.anoncreds.getCredentialDefinition( - credentialDefinitionId - ) + const credentialDefinitionResult = + await request.agent.modules.anoncreds.getCredentialDefinition(credentialDefinitionId) - if (credentialDefinitionResult.resolutionMetadata?.error === 'notFound') { + if (credentialDefinitionResult.resolutionMetadata?.error === SchemaError.NotFound) { throw new NotFoundError(credentialDefinitionResult.resolutionMetadata.message) } const error = credentialDefinitionResult.resolutionMetadata?.error - if (error === 'invalid' || error === 'unsupportedAnonCredsMethod') { + if (error === 'invalid' || error === SchemaError.UnSupportedAnonCredsMethod) { throw new BadRequestError(credentialDefinitionResult.resolutionMetadata.message) } @@ -71,6 +64,7 @@ export class CredentialDefinitionController extends Controller { @Response(202, 'Wait for action to complete') @Post('/') public async createCredentialDefinition( + @Request() request: Req, @Body() credentialDefinitionRequest: { issuerId: string @@ -78,10 +72,13 @@ export class CredentialDefinitionController extends Controller { tag: string endorse?: boolean endorserDid?: string - } + }, ) { try { const { issuerId, schemaId, tag, endorse, endorserDid } = credentialDefinitionRequest + credentialDefinitionRequest.endorse = credentialDefinitionRequest.endorse + ? credentialDefinitionRequest.endorse + : false const credDef = { issuerId, schemaId, @@ -107,9 +104,8 @@ export class CredentialDefinitionController extends Controller { credentialDefinitionPayload.options.endorserDid = endorserDid ? endorserDid : '' } - const registerCredentialDefinitionResult = await this.agent.modules.anoncreds.registerCredentialDefinition( - credentialDefinitionPayload - ) + const registerCredentialDefinitionResult = + await request.agent.modules.anoncreds.registerCredentialDefinition(credentialDefinitionPayload) if (registerCredentialDefinitionResult.credentialDefinitionState.state === CredentialEnum.Failed) { throw new InternalServerError('Falied to register credef on ledger') @@ -128,12 +124,12 @@ export class CredentialDefinitionController extends Controller { // TODO: Return uniform response for both Internally and Externally endorsed Schemas if (!endorse) { const indyCredDefId = parseIndyCredentialDefinitionId( - registerCredentialDefinitionResult.credentialDefinitionState.credentialDefinitionId as string + registerCredentialDefinitionResult.credentialDefinitionState.credentialDefinitionId as string, ) const getCredentialDefinitionId = await getUnqualifiedCredentialDefinitionId( indyCredDefId.namespaceIdentifier, indyCredDefId.schemaSeqNo, - indyCredDefId.tag + indyCredDefId.tag, ) registerCredentialDefinitionResult.credentialDefinitionState.credentialDefinitionId = getCredentialDefinitionId return registerCredentialDefinitionResult.credentialDefinitionState diff --git a/src/controllers/endorser-transaction/EndorserTransactionController.ts b/src/controllers/anoncreds/endorser-transaction/EndorserTransactionController.ts similarity index 69% rename from src/controllers/endorser-transaction/EndorserTransactionController.ts rename to src/controllers/anoncreds/endorser-transaction/EndorserTransactionController.ts index 6bbdfade..fb0ff621 100644 --- a/src/controllers/endorser-transaction/EndorserTransactionController.ts +++ b/src/controllers/anoncreds/endorser-transaction/EndorserTransactionController.ts @@ -1,4 +1,3 @@ -import type { Version } from '../examples' import type { IndyVdrDidCreateOptions } from '@credo-ts/indy-vdr' import { @@ -7,30 +6,23 @@ import { parseIndyCredentialDefinitionId, parseIndySchemaId, } from '@credo-ts/anoncreds' -import { Agent } from '@credo-ts/core' +import { Request as Req } from 'express' +import { Body, Controller, Post, Route, Tags, Security, Request } from 'tsoa' import { injectable } from 'tsyringe' -import { CredentialEnum, EndorserMode } from '../../enums/enum' -import ErrorHandlingService from '../../errorHandlingService' -import { BadRequestError } from '../../errors' -import { DidNymTransaction, EndorserTransaction, WriteTransaction } from '../types' +import { CredentialEnum, EndorserMode, SCOPES } from '../../../enums' +import ErrorHandlingService from '../../../errorHandlingService' +import { BadRequestError } from '../../../errors' +import { AgentType } from '../../../types' +import { DidNymTransaction, EndorserTransaction, WriteTransaction } from '../../types' -import { Body, Controller, Post, Route, Tags, Security } from 'tsoa' - -@Tags('EndorserTransaction') -@Route('/transactions') -@Security('apiKey') +@Tags('Anoncreds - EndorserTransaction') +@Route('/anoncreds/transactions') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @injectable() export class EndorserTransactionController extends Controller { - private agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - @Post('/endorse') - public async endorserTransaction(@Body() endorserTransaction: EndorserTransaction) { + public async endorserTransaction(@Request() request: Req, @Body() endorserTransaction: EndorserTransaction) { try { if (!endorserTransaction.transaction) { throw new BadRequestError('Transaction is required') @@ -38,9 +30,9 @@ export class EndorserTransactionController extends Controller { if (!endorserTransaction.endorserDid) { throw new BadRequestError('EndorserDid is required') } - const signedTransaction = await this.agent.modules.indyVdr.endorseTransaction( + const signedTransaction = await request.agent.modules.indyVdr.endorseTransaction( endorserTransaction.transaction, - endorserTransaction.endorserDid + endorserTransaction.endorserDid, ) return { signedTransaction } @@ -50,9 +42,9 @@ export class EndorserTransactionController extends Controller { } @Post('/set-endorser-role') - public async didNymTransaction(@Body() didNymTransaction: DidNymTransaction) { + public async didNymTransaction(@Request() request: Req, @Body() didNymTransaction: DidNymTransaction) { try { - const didCreateSubmitResult = await this.agent.dids.create({ + const didCreateSubmitResult = await request.agent.dids.create({ did: didNymTransaction.did, options: { endorserMode: EndorserMode.External, @@ -62,6 +54,12 @@ export class EndorserTransactionController extends Controller { }, }) + // Importing did in accordance to the multi-tenant flow + await request.agent.dids.import({ + did: didNymTransaction.did, + overwrite: true, + }) + return didCreateSubmitResult } catch (error) { throw ErrorHandlingService.handle(error) @@ -70,20 +68,23 @@ export class EndorserTransactionController extends Controller { @Post('/write') public async writeSchemaAndCredDefOnLedger( + @Request() request: Req, @Body() - writeTransaction: WriteTransaction + writeTransaction: WriteTransaction, ) { try { if (writeTransaction.schema) { const writeSchema = await this.submitSchemaOnLedger( + request.agent, writeTransaction.schema, - writeTransaction.endorsedTransaction + writeTransaction.endorsedTransaction, ) return writeSchema } else if (writeTransaction.credentialDefinition) { const writeCredDef = await this.submitCredDefOnLedger( + request.agent, writeTransaction.credentialDefinition, - writeTransaction.endorsedTransaction + writeTransaction.endorsedTransaction, ) return writeCredDef } else { @@ -95,13 +96,14 @@ export class EndorserTransactionController extends Controller { } public async submitSchemaOnLedger( + agent: AgentType, schema: { issuerId: string name: string - version: Version + version: string attributes: string[] }, - endorsedTransaction?: string + endorsedTransaction?: string, ) { if (!schema.issuerId) { throw new BadRequestError('IssuerId is required') @@ -116,7 +118,7 @@ export class EndorserTransactionController extends Controller { throw new BadRequestError('Attributes is required') } const { issuerId, name, version, attributes } = schema - const { schemaState } = await this.agent.modules.anoncreds.registerSchema({ + const { schemaState } = await agent.modules.anoncreds.registerSchema({ options: { endorserMode: EndorserMode.External, endorsedTransaction, @@ -129,11 +131,14 @@ export class EndorserTransactionController extends Controller { }, }) + if (!schemaState.schemaId) { + throw new Error('Schema not created') + } const indySchemaId = parseIndySchemaId(schemaState.schemaId) const getSchemaUnqualifiedId = await getUnqualifiedSchemaId( indySchemaId.namespaceIdentifier, indySchemaId.schemaName, - indySchemaId.schemaVersion + indySchemaId.schemaVersion, ) if (schemaState.state === CredentialEnum.Finished || schemaState.state === CredentialEnum.Action) { schemaState.schemaId = getSchemaUnqualifiedId @@ -142,6 +147,7 @@ export class EndorserTransactionController extends Controller { } public async submitCredDefOnLedger( + agent: AgentType, credentialDefinition: { schemaId: string issuerId: string @@ -149,7 +155,7 @@ export class EndorserTransactionController extends Controller { value: unknown type: string }, - endorsedTransaction?: string + endorsedTransaction?: string, ) { if (!credentialDefinition.schemaId) { throw new BadRequestError('SchemaId is required') @@ -166,19 +172,25 @@ export class EndorserTransactionController extends Controller { if (!credentialDefinition.type) { throw new BadRequestError('Type is required') } - const { credentialDefinitionState } = await this.agent.modules.anoncreds.registerCredentialDefinition({ + const { credentialDefinitionState } = await agent.modules.anoncreds.registerCredentialDefinition({ credentialDefinition, options: { endorserMode: EndorserMode.External, endorsedTransaction: endorsedTransaction, + // Keep false for now + supportRevocation: false, }, }) + if (!credentialDefinitionState.credentialDefinitionId) { + throw Error('Credential Definition Id not found') + } + const indyCredDefId = parseIndyCredentialDefinitionId(credentialDefinitionState.credentialDefinitionId) const getCredentialDefinitionId = await getUnqualifiedCredentialDefinitionId( indyCredDefId.namespaceIdentifier, indyCredDefId.schemaSeqNo, - indyCredDefId.tag + indyCredDefId.tag, ) if ( credentialDefinitionState.state === CredentialEnum.Finished || diff --git a/src/controllers/credentials/SchemaController.ts b/src/controllers/anoncreds/schema/SchemaController.ts similarity index 73% rename from src/controllers/credentials/SchemaController.ts rename to src/controllers/anoncreds/schema/SchemaController.ts index 65ba6f7a..e72fd2aa 100644 --- a/src/controllers/credentials/SchemaController.ts +++ b/src/controllers/anoncreds/schema/SchemaController.ts @@ -1,29 +1,20 @@ -import type { RestAgentModules } from '../../cliAgent' - import { getUnqualifiedSchemaId, parseIndySchemaId } from '@credo-ts/anoncreds' -import { Agent } from '@credo-ts/core' +import { Request as Req } from 'express' +import { Example, Get, Post, Route, Tags, Security, Path, Body, Controller, Request } from 'tsoa' import { injectable } from 'tsyringe' -import { CredentialEnum, EndorserMode, SchemaError } from '../../enums/enum' -import ErrorHandlingService from '../../errorHandlingService' -import { ENDORSER_DID_NOT_PRESENT } from '../../errorMessages' -import { BadRequestError, InternalServerError, NotFoundError } from '../../errors/errors' -import { CreateSchemaSuccessful, SchemaExample } from '../examples' -import { CreateSchemaInput } from '../types' +import { CredentialEnum, EndorserMode, SchemaError, SCOPES } from '../../../enums' +import ErrorHandlingService from '../../../errorHandlingService' +import { ENDORSER_DID_NOT_PRESENT } from '../../../errorMessages' +import { BadRequestError, InternalServerError, NotFoundError } from '../../../errors/errors' +import { CreateSchemaSuccessful, SchemaExample, SchemaId } from '../../examples' +import { CreateSchemaInput } from '../../types' -import { Example, Get, Post, Route, Tags, Security, Path, Body, Controller } from 'tsoa' -@Tags('Schemas') -@Route('/schemas') -@Security('apiKey') +@Tags('Anoncreds - Schemas') +@Route('/anoncreds/schemas') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @injectable() export class SchemaController extends Controller { - private agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Get schema by schemaId * @param schemaId @@ -35,9 +26,9 @@ export class SchemaController extends Controller { */ @Example(SchemaExample) @Get('/:schemaId') - public async getSchemaById(@Path('schemaId') schemaId: string) { + public async getSchemaById(@Request() request: Req, @Path('schemaId') schemaId: SchemaId) { try { - const schemBySchemaId = await this.agent.modules.anoncreds.getSchema(schemaId) + const schemBySchemaId = await request.agent.modules.anoncreds.getSchema(schemaId) if ( (schemBySchemaId && @@ -45,7 +36,9 @@ export class SchemaController extends Controller { schemBySchemaId?.resolutionMetadata?.error === SchemaError.NotFound) || schemBySchemaId?.resolutionMetadata?.error === SchemaError.UnSupportedAnonCredsMethod ) { - throw new NotFoundError(schemBySchemaId?.resolutionMetadata?.message) + throw new NotFoundError( + schemBySchemaId?.resolutionMetadata?.message || `schema details with schema id "${schemaId}" not found.`, + ) } return schemBySchemaId @@ -65,7 +58,7 @@ export class SchemaController extends Controller { */ @Post('/') @Example(CreateSchemaSuccessful) - public async createSchema(@Body() schema: CreateSchemaInput) { + public async createSchema(@Request() request: Req, @Body() schema: CreateSchemaInput) { try { const { issuerId, name, version, attributes } = schema @@ -94,7 +87,7 @@ export class SchemaController extends Controller { createSchemaPayload.options.endorserDid = schema.endorserDid } - const createSchemaTxResult = await this.agent.modules.anoncreds.registerSchema(createSchemaPayload) + const createSchemaTxResult = await request.agent.modules.anoncreds.registerSchema(createSchemaPayload) if (createSchemaTxResult.schemaState.state === CredentialEnum.Failed) { throw new InternalServerError(`Schema creation failed. Reason: ${createSchemaTxResult.schemaState.reason}`) @@ -117,7 +110,7 @@ export class SchemaController extends Controller { const getSchemaUnqualifiedId = await getUnqualifiedSchemaId( indySchemaId.namespaceIdentifier, indySchemaId.schemaName, - indySchemaId.schemaVersion + indySchemaId.schemaVersion, ) createSchemaTxResult.schemaState.schemaId = getSchemaUnqualifiedId diff --git a/src/controllers/did/DidController.ts b/src/controllers/did/DidController.ts index fe373523..c5427216 100644 --- a/src/controllers/did/DidController.ts +++ b/src/controllers/did/DidController.ts @@ -1,38 +1,33 @@ import type { DidResolutionResultProps } from '../types' import type { PolygonDidCreateOptions } from '@ayanworks/credo-polygon-w3c-module/build/dids' -import type { KeyDidCreateOptions } from '@credo-ts/core' +import type { DidDocument, KeyDidCreateOptions, PeerDidNumAlgo2CreateOptions } from '@credo-ts/core' import { KeyType, TypedArrayEncoder, DidDocumentBuilder, getEd25519VerificationKey2018, - Agent, getBls12381G2Key2020, + createPeerDidDocumentFromServices, + PeerDidNumAlgo, } from '@credo-ts/core' import axios from 'axios' +import { Request as Req } from 'express' +import { Body, Controller, Example, Get, Path, Post, Route, Tags, Security, Request } from 'tsoa' import { injectable } from 'tsyringe' -import { DidMethod, Network, Role } from '../../enums/enum' +import { DidMethod, Network, Role, SCOPES } from '../../enums' import ErrorHandlingService from '../../errorHandlingService' import { BadRequestError, InternalServerError } from '../../errors' +import { AgentType } from '../../types' import { CreateDidResponse, Did, DidRecordExample } from '../examples' import { DidCreate } from '../types' -import { Body, Controller, Example, Get, Path, Post, Route, Tags, Security } from 'tsoa' - @Tags('Dids') @Route('/dids') -@Security('apiKey') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @injectable() export class DidController extends Controller { - private agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Resolves did and returns did resolution result * @param did Decentralized Identifier @@ -40,10 +35,10 @@ export class DidController extends Controller { */ @Example(DidRecordExample) @Get('/:did') - public async getDidRecordByDid(@Path('did') did: Did) { + public async getDidRecordByDid(@Request() request: Req, @Path('did') did: Did) { try { - const resolveResult = await this.agent.dids.resolve(did) - const importDid = await this.agent.dids.import({ + const resolveResult = await request.agent.dids.resolve(did) + const importDid = await request.agent.dids.import({ did, overwrite: true, }) @@ -63,10 +58,9 @@ export class DidController extends Controller { * @returns DidResolutionResult */ // @Example(DidRecordExample) - @Example(CreateDidResponse) @Post('/write') - public async writeDid(@Body() createDidOptions: DidCreate) { + public async writeDid(@Request() request: Req, @Body() createDidOptions: DidCreate) { let didRes try { @@ -77,19 +71,23 @@ export class DidController extends Controller { let result switch (createDidOptions.method) { case DidMethod.Indy: - result = await this.handleIndy(createDidOptions) + result = await this.handleIndy(request.agent, createDidOptions) break case DidMethod.Key: - result = await this.handleKey(createDidOptions) + result = await this.handleKey(request.agent, createDidOptions) break case DidMethod.Web: - result = await this.handleWeb(createDidOptions) + result = await this.handleWeb(request.agent, createDidOptions) break case DidMethod.Polygon: - result = await this.handlePolygon(createDidOptions) + result = await this.handlePolygon(request.agent, createDidOptions) + break + + case DidMethod.Peer: + result = await this.handleDidPeer(request.agent, createDidOptions) break default: @@ -104,7 +102,40 @@ export class DidController extends Controller { } } - private async handleIndy(createDidOptions: DidCreate) { + private async handleDidPeer(agent: AgentType, createDidOptions: DidCreate) { + let didResponse + let did + + if (!createDidOptions.keyType) { + throw Error('keyType is required') + } + + const didRouting = await agent.mediationRecipient.getRouting({}) + const didDocument = createPeerDidDocumentFromServices([ + { + id: 'didcomm', + recipientKeys: [didRouting.recipientKey], + routingKeys: didRouting.routingKeys, + serviceEndpoint: didRouting.endpoints[0], + }, + ]) + + const didPeerResponse = await agent.dids.create({ + didDocument, + method: DidMethod.Peer, + options: { + numAlgo: PeerDidNumAlgo.MultipleInceptionKeyWithoutDoc, + }, + }) + + did = didPeerResponse.didState.did + didResponse = { + did, + } + return didResponse + } + + private async handleIndy(agent: AgentType, createDidOptions: DidCreate) { let result if (!createDidOptions.keyType) { throw new BadRequestError('keyType is required') @@ -125,16 +156,18 @@ export class DidController extends Controller { switch (createDidOptions?.network?.toLowerCase()) { case Network.Bcovrin_Testnet: result = await this.handleBcovrin( + agent, createDidOptions, - `did:${createDidOptions.method}:${createDidOptions.network}` + `did:${createDidOptions.method}:${createDidOptions.network}`, ) break case Network.Indicio_Demonet: case Network.Indicio_Testnet: result = await this.handleIndicio( + agent, createDidOptions, - `did:${createDidOptions.method}:${createDidOptions.network}` + `did:${createDidOptions.method}:${createDidOptions.network}`, ) break @@ -144,15 +177,15 @@ export class DidController extends Controller { return result } - private async handleBcovrin(createDidOptions: DidCreate, didMethod: string) { + private async handleBcovrin(agent: AgentType, createDidOptions: DidCreate, didMethod: string) { let didDocument if (!createDidOptions.seed) { throw new BadRequestError('Seed is required') } if (createDidOptions?.role?.toLowerCase() === Role.Endorser) { if (createDidOptions.did) { - await this.importDid(didMethod, createDidOptions.did, createDidOptions.seed) - const getDid = await this.agent.dids.getCreatedDids({ + await this.importDid(agent, didMethod, createDidOptions.did, createDidOptions.seed) + const getDid = await agent.dids.getCreatedDids({ method: createDidOptions.method, did: `did:${createDidOptions.method}:${createDidOptions.network}:${createDidOptions.did}`, }) @@ -172,8 +205,8 @@ export class DidController extends Controller { seed: createDidOptions.seed, }) const { did } = res?.data || {} - await this.importDid(didMethod, did, createDidOptions.seed) - const didRecord = await this.agent.dids.getCreatedDids({ + await this.importDid(agent, didMethod, did, createDidOptions.seed) + const didRecord = await agent.dids.getCreatedDids({ method: DidMethod.Indy, did: `did:${DidMethod.Indy}:${Network.Bcovrin_Testnet}:${res.data.did}`, }) @@ -191,20 +224,20 @@ export class DidController extends Controller { if (!createDidOptions.endorserDid) { throw new BadRequestError('Please provide the endorser DID or role') } - const didCreateTxResult = await this.createEndorserDid(createDidOptions.endorserDid) + const didCreateTxResult = await this.createEndorserDid(agent, createDidOptions.endorserDid) return { did: didCreateTxResult.didState.did, didDocument: didCreateTxResult.didState.didDocument } } } - private async handleIndicio(createDidOptions: DidCreate, didMethod: string) { + private async handleIndicio(agent: AgentType, createDidOptions: DidCreate, didMethod: string) { let didDocument if (!createDidOptions.seed) { throw new BadRequestError('Seed is required') } if (createDidOptions?.role?.toLowerCase() === Role.Endorser) { if (createDidOptions.did) { - await this.importDid(didMethod, createDidOptions.did, createDidOptions.seed) - const didRecord = await this.agent.dids.getCreatedDids({ + await this.importDid(agent, didMethod, createDidOptions.did, createDidOptions.seed) + const didRecord = await agent.dids.getCreatedDids({ method: createDidOptions.method, did: `did:${createDidOptions.method}:${createDidOptions.network}:${createDidOptions.did}`, }) @@ -218,12 +251,12 @@ export class DidController extends Controller { didDocument: didDocument, } } else { - const key = await this.createIndicioKey(createDidOptions) + const key = await this.createIndicioKey(agent, createDidOptions) const INDICIO_NYM_URL = process.env.INDICIO_NYM_URL as string const res = await axios.post(INDICIO_NYM_URL, key) if (res.data.statusCode === 200) { - await this.importDid(didMethod, key.did, createDidOptions.seed) - const didRecord = await this.agent.dids.getCreatedDids({ + await this.importDid(agent, didMethod, key.did, createDidOptions.seed) + const didRecord = await agent.dids.getCreatedDids({ method: DidMethod.Indy, did: `${didMethod}:${key.did}`, }) @@ -242,13 +275,13 @@ export class DidController extends Controller { if (!createDidOptions.endorserDid) { throw new BadRequestError('Please provide the endorser DID or role') } - const didCreateTxResult = await this.createEndorserDid(createDidOptions.endorserDid) + const didCreateTxResult = await this.createEndorserDid(agent, createDidOptions.endorserDid) return didCreateTxResult } } - private async createEndorserDid(endorserDid: string) { - return this.agent.dids.create({ + private async createEndorserDid(agent: AgentType, endorserDid: string) { + return agent.dids.create({ method: 'indy', options: { endorserMode: 'external', @@ -257,11 +290,11 @@ export class DidController extends Controller { }) } - private async createIndicioKey(createDidOptions: DidCreate) { + private async createIndicioKey(agent: AgentType, createDidOptions: DidCreate) { if (!createDidOptions.seed) { throw new BadRequestError('Seed is required') } - const key = await this.agent.wallet.createKey({ + const key = await agent.wallet.createKey({ privateKey: TypedArrayEncoder.fromString(createDidOptions.seed), keyType: KeyType.Ed25519, }) @@ -288,8 +321,8 @@ export class DidController extends Controller { return body } - private async importDid(didMethod: string, did: string, seed: string) { - await this.agent.dids.import({ + private async importDid(agent: AgentType, didMethod: string, did: string, seed: string) { + await agent.dids.import({ did: `${didMethod}:${did}`, overwrite: true, privateKeys: [ @@ -301,7 +334,7 @@ export class DidController extends Controller { }) } - public async handleKey(didOptions: DidCreate) { + public async handleKey(agent: AgentType, didOptions: DidCreate) { let did let didResponse let didDocument @@ -317,12 +350,12 @@ export class DidController extends Controller { } if (!didOptions.did) { - await this.agent.wallet.createKey({ + await agent.wallet.createKey({ keyType: didOptions.keyType, seed: TypedArrayEncoder.fromString(didOptions.seed), }) - didResponse = await this.agent.dids.create({ + didResponse = await agent.dids.create({ method: DidMethod.Key, options: { keyType: KeyType.Ed25519, @@ -335,14 +368,14 @@ export class DidController extends Controller { didDocument = didResponse.didState.didDocument } else { did = didOptions.did - const createdDid = await this.agent.dids.getCreatedDids({ + const createdDid = await agent.dids.getCreatedDids({ method: DidMethod.Key, did: didOptions.did, }) didDocument = createdDid[0]?.didDocument } - await this.agent.dids.import({ + await agent.dids.import({ did, overwrite: true, didDocument, @@ -350,10 +383,10 @@ export class DidController extends Controller { return { did: did, didDocument: didDocument } } - public async handleWeb(didOptions: DidCreate) { - let didDocument: any + public async handleWeb(agent: AgentType, didOptions: DidCreate) { + let didDocument: DidDocument if (!didOptions.domain) { - throw new BadRequestError('domain is required') + throw new BadRequestError('For create did:web, domain is required') } if (!didOptions.seed) { @@ -372,9 +405,11 @@ export class DidController extends Controller { const did = `did:${didOptions.method}:${domain}` const keyId = `${did}#key-1` - const key = await this.agent.wallet.createKey({ - keyType: KeyType.Ed25519, - privateKey: TypedArrayEncoder.fromString(didOptions.seed), + const key = await agent.wallet.createKey({ + keyType: didOptions.keyType, + // Commenting for now, as per the multi-tenant endpoint + // privateKey: TypedArrayEncoder.fromString(didOptions.seed), + seed: TypedArrayEncoder.fromString(didOptions.seed), }) if (didOptions.keyType === KeyType.Ed25519) { @@ -384,17 +419,18 @@ export class DidController extends Controller { .addAuthentication(keyId) .addAssertionMethod(keyId) .build() - } - if (didOptions.keyType === KeyType.Bls12381g2) { + } else if (didOptions.keyType === KeyType.Bls12381g2) { didDocument = new DidDocumentBuilder(did) .addContext('https://w3id.org/security/bbs/v1') .addVerificationMethod(getBls12381G2Key2020({ key, id: keyId, controller: did })) .addAuthentication(keyId) .addAssertionMethod(keyId) .build() + } else { + throw new BadRequestError('Unsupported key type') // fallback, but this won't hit due to earlier check } - await this.agent.dids.import({ + await agent.dids.import({ did, overwrite: true, didDocument, @@ -402,7 +438,7 @@ export class DidController extends Controller { return { did, didDocument } } - public async handlePolygon(createDidOptions: DidCreate) { + public async handlePolygon(agent: AgentType, createDidOptions: DidCreate) { // need to discuss try catch logic const { endpoint, network, privatekey } = createDidOptions @@ -416,10 +452,10 @@ export class DidController extends Controller { throw new BadRequestError('Invalid network type') } if (!privatekey || typeof privatekey !== 'string' || !privatekey.trim() || privatekey.length !== 64) { - throw new BadRequestError('Invalid private key or not supported') + throw new BadRequestError('Invalid private key or key not supported') } - const createDidResponse = await this.agent.dids.create({ + const createDidResponse = await agent.dids.create({ method: DidMethod.Polygon, options: { network: networkName, @@ -437,9 +473,9 @@ export class DidController extends Controller { } @Get('/') - public async getDids() { + public async getDids(@Request() request: Req) { try { - const createdDids = await this.agent.dids.getCreatedDids() + const createdDids = await request.agent.dids.getCreatedDids() return createdDids } catch (error) { throw ErrorHandlingService.handle(error) diff --git a/src/controllers/basic-messages/BasicMessageController.ts b/src/controllers/didcomm/basic-messages/BasicMessageController.ts similarity index 52% rename from src/controllers/basic-messages/BasicMessageController.ts rename to src/controllers/didcomm/basic-messages/BasicMessageController.ts index c4b9cbd1..9ba075cd 100644 --- a/src/controllers/basic-messages/BasicMessageController.ts +++ b/src/controllers/didcomm/basic-messages/BasicMessageController.ts @@ -1,26 +1,18 @@ -import type { RestAgentModules } from '../../cliAgent' import type { BasicMessageRecord, BasicMessageStorageProps } from '@credo-ts/core' -import { Agent } from '@credo-ts/core' +import { Request as Req } from 'express' +import { Body, Controller, Example, Get, Path, Post, Route, Tags, Security, Request } from 'tsoa' import { injectable } from 'tsyringe' -import ErrorHandlingService from '../../errorHandlingService' -import { BasicMessageRecordExample, RecordId } from '../examples' +import { SCOPES } from '../../../enums' +import ErrorHandlingService from '../../../errorHandlingService' +import { BasicMessageRecordExample, RecordId } from '../../examples' -import { Body, Controller, Example, Get, Path, Post, Route, Tags, Security } from 'tsoa' - -@Tags('Basic Messages') -@Route('/basic-messages') -@Security('apiKey') +@Tags('DIDComm - Basic Messages') +@Route('/didcomm/basic-messages') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @injectable() export class BasicMessageController extends Controller { - private agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Retrieve basic messages by connection id * @@ -29,9 +21,12 @@ export class BasicMessageController extends Controller { */ @Example([BasicMessageRecordExample]) @Get('/:connectionId') - public async getBasicMessages(@Path('connectionId') connectionId: RecordId): Promise { + public async getBasicMessages( + @Request() request: Req, + @Path('connectionId') connectionId: RecordId, + ): Promise { try { - const basicMessageRecords = await this.agent.basicMessages.findAllByQuery({ connectionId }) + const basicMessageRecords = await request.agent.basicMessages.findAllByQuery({ connectionId }) this.setStatus(200) return basicMessageRecords } catch (error) { @@ -47,10 +42,14 @@ export class BasicMessageController extends Controller { */ @Example(BasicMessageRecordExample) @Post('/:connectionId') - public async sendMessage(@Path('connectionId') connectionId: RecordId, @Body() request: Record<'content', string>) { + public async sendMessage( + @Request() request: Req, + @Path('connectionId') connectionId: RecordId, + @Body() body: Record<'content', string>, + ) { try { - const basicMessageRecord = await this.agent.basicMessages.sendMessage(connectionId, request.content) - this.setStatus(204) + const basicMessageRecord = await request.agent.basicMessages.sendMessage(connectionId, body.content) + this.setStatus(201) return basicMessageRecord } catch (error) { throw ErrorHandlingService.handle(error) diff --git a/src/controllers/connections/ConnectionController.ts b/src/controllers/didcomm/connections/ConnectionController.ts similarity index 59% rename from src/controllers/connections/ConnectionController.ts rename to src/controllers/didcomm/connections/ConnectionController.ts index eeae789b..db7cc602 100644 --- a/src/controllers/connections/ConnectionController.ts +++ b/src/controllers/didcomm/connections/ConnectionController.ts @@ -1,26 +1,19 @@ -import type { RestAgentModules } from '../../cliAgent' import type { ConnectionRecordProps } from '@credo-ts/core' -import { DidExchangeState, Agent } from '@credo-ts/core' +import { DidExchangeState } from '@credo-ts/core' +import { Request as Req } from 'express' +import { Controller, Delete, Example, Get, Path, Post, Query, Route, Tags, Security, Request } from 'tsoa' import { injectable } from 'tsyringe' -import ErrorHandlingService from '../../errorHandlingService' -import { NotFoundError } from '../../errors' -import { ConnectionRecordExample, RecordId } from '../examples' +import { SCOPES } from '../../../enums' +import ErrorHandlingService from '../../../errorHandlingService' +import { NotFoundError } from '../../../errors' +import { ConnectionRecordExample, RecordId } from '../../examples' -import { Controller, Delete, Example, Get, Path, Post, Query, Route, Tags, Security } from 'tsoa' - -@Tags('Connections') +@Tags('DIDComm - Connections') @Route() @injectable() export class ConnectionController extends Controller { - private agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Retrieve all connections records * @param alias Alias @@ -31,18 +24,19 @@ export class ConnectionController extends Controller { * @returns ConnectionRecord[] */ @Example([ConnectionRecordExample]) - @Security('apiKey') - @Get('/connections') + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) + @Get('/didcomm/connections') public async getAllConnections( + @Request() request: Req, @Query('outOfBandId') outOfBandId?: string, @Query('alias') alias?: string, @Query('state') state?: DidExchangeState, @Query('myDid') myDid?: string, @Query('theirDid') theirDid?: string, - @Query('theirLabel') theirLabel?: string + @Query('theirLabel') theirLabel?: string, ) { try { - const connections = await this.agent.connections.findAllByQuery({ + const connections = await request.agent.connections.findAllByQuery({ outOfBandId, alias, myDid, @@ -63,11 +57,11 @@ export class ConnectionController extends Controller { * @returns ConnectionRecord */ @Example(ConnectionRecordExample) - @Security('apiKey') - @Get('/connections/:connectionId') - public async getConnectionById(@Path('connectionId') connectionId: RecordId) { + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) + @Get('/didcomm/connections/:connectionId') + public async getConnectionById(@Request() request: Req, @Path('connectionId') connectionId: RecordId) { try { - const connection = await this.agent.connections.findById(connectionId) + const connection = await request.agent.connections.findById(connectionId) if (!connection) throw new NotFoundError(`Connection with connection id "${connectionId}" not found.`) @@ -82,12 +76,12 @@ export class ConnectionController extends Controller { * * @param connectionId Connection identifier */ - @Delete('/connections/:connectionId') - @Security('apiKey') - public async deleteConnection(@Path('connectionId') connectionId: RecordId) { + @Delete('/didcomm/connections/:connectionId') + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) + public async deleteConnection(@Request() request: Req, @Path('connectionId') connectionId: RecordId) { try { this.setStatus(204) - await this.agent.connections.deleteById(connectionId) + await request.agent.connections.deleteById(connectionId) } catch (error) { throw ErrorHandlingService.handle(error) } @@ -103,11 +97,11 @@ export class ConnectionController extends Controller { * @returns ConnectionRecord */ @Example(ConnectionRecordExample) - @Security('apiKey') - @Post('/connections/:connectionId/accept-request') - public async acceptRequest(@Path('connectionId') connectionId: RecordId) { + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) + @Post('/didcomm/connections/:connectionId/accept-request') + public async acceptRequest(@Request() request: Req, @Path('connectionId') connectionId: RecordId) { try { - const connection = await this.agent.connections.acceptRequest(connectionId) + const connection = await request.agent.connections.acceptRequest(connectionId) return connection.toJSON() } catch (error) { throw ErrorHandlingService.handle(error) @@ -124,21 +118,21 @@ export class ConnectionController extends Controller { * @returns ConnectionRecord */ @Example(ConnectionRecordExample) - @Security('apiKey') - @Post('/connections/:connectionId/accept-response') - public async acceptResponse(@Path('connectionId') connectionId: RecordId) { + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) + @Post('/didcomm/connections/:connectionId/accept-response') + public async acceptResponse(@Request() request: Req, @Path('connectionId') connectionId: RecordId) { try { - const connection = await this.agent.connections.acceptResponse(connectionId) + const connection = await request.agent.connections.acceptResponse(connectionId) return connection.toJSON() } catch (error) { throw ErrorHandlingService.handle(error) } } - @Get('/url/:invitationId') - public async getInvitation(@Path('invitationId') invitationId: string) { + @Get('/didcomm/url/:invitationId') + public async getInvitation(@Request() request: Req, @Path('invitationId') invitationId: string) { try { - const outOfBandRecord = await this.agent.oob.findByCreatedInvitationId(invitationId) + const outOfBandRecord = await request.agent.oob.findByCreatedInvitationId(invitationId) if (!outOfBandRecord || outOfBandRecord.state !== 'await-response') throw new NotFoundError(`connection with invitationId "${invitationId}" not found.`) diff --git a/src/controllers/credentials/CredentialController.ts b/src/controllers/didcomm/credentials/CredentialController.ts similarity index 66% rename from src/controllers/credentials/CredentialController.ts rename to src/controllers/didcomm/credentials/CredentialController.ts index 41fb3c1d..2cacc5bf 100644 --- a/src/controllers/credentials/CredentialController.ts +++ b/src/controllers/didcomm/credentials/CredentialController.ts @@ -1,4 +1,3 @@ -import type { RestAgentModules } from '../../cliAgent' import type { CredentialExchangeRecordProps, CredentialProtocolVersionType, @@ -8,17 +7,19 @@ import type { import { CredentialState, - Agent, W3cCredentialService, CredentialRole, createPeerDidDocumentFromServices, PeerDidNumAlgo, } from '@credo-ts/core' +import { Request as Req } from 'express' +import { Body, Controller, Get, Path, Post, Route, Tags, Example, Query, Security, Request } from 'tsoa' import { injectable } from 'tsyringe' -import ErrorHandlingService from '../../errorHandlingService' -import { CredentialExchangeRecordExample, RecordId } from '../examples' -import { OutOfBandController } from '../outofband/OutOfBandController' +import { SCOPES } from '../../../enums' +import ErrorHandlingService from '../../../errorHandlingService' +import { AgentType } from '../../../types' +import { CredentialExchangeRecordExample, RecordId } from '../../examples' import { AcceptCredentialRequestOptions, ProposeCredentialOptions, @@ -28,21 +29,18 @@ import { AcceptCredential, CreateOfferOobOptions, ThreadId, -} from '../types' - -import { Body, Controller, Get, Path, Post, Route, Tags, Example, Query, Security } from 'tsoa' +} from '../../types' +import { OutOfBandController } from '../outofband/OutOfBandController' -@Tags('Credentials') -@Security('apiKey') -@Route('/credentials') +@Tags('DIDComm - Credentials') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) +@Route('/didcomm/credentials') @injectable() export class CredentialController extends Controller { - private agent: Agent private outOfBandController: OutOfBandController - public constructor(agent: Agent, outOfBandController: OutOfBandController) { + public constructor(outOfBandController: OutOfBandController) { super() - this.agent = agent this.outOfBandController = outOfBandController } @@ -54,14 +52,15 @@ export class CredentialController extends Controller { @Example([CredentialExchangeRecordExample]) @Get('/') public async getAllCredentials( + @Request() request: Req, @Query('threadId') threadId?: ThreadId, @Query('parentThreadId') parentThreadId?: ThreadId, @Query('connectionId') connectionId?: RecordId, @Query('state') state?: CredentialState, - @Query('role') role?: CredentialRole + @Query('role') role?: CredentialRole, ) { try { - const credentials = await this.agent.credentials.findAllByQuery({ + const credentials = await request.agent.credentials.findAllByQuery({ connectionId, threadId, state, @@ -78,10 +77,10 @@ export class CredentialController extends Controller { // TODO: Fix W3cCredentialRecordExample from example // @Example([W3cCredentialRecordExample]) @Get('/w3c') - public async getAllW3c() { + public async getAllW3c(@Request() request: Req) { try { - const w3cCredentialService = await this.agent.dependencyManager.resolve(W3cCredentialService) - const w3cCredentialRecords = await w3cCredentialService.getAllCredentialRecords(this.agent.context) + const w3cCredentialService = await request.agent.dependencyManager.resolve(W3cCredentialService) + const w3cCredentialRecords = await w3cCredentialService.getAllCredentialRecords(request.agent.context) return w3cCredentialRecords } catch (error) { throw ErrorHandlingService.handle(error) @@ -91,10 +90,10 @@ export class CredentialController extends Controller { // TODO: Fix W3cCredentialRecordExample from example // @Example([W3cCredentialRecordExample]) @Get('/w3c/:id') - public async getW3cById(@Path('id') id: string) { + public async getW3cById(@Request() request: Req, @Path('id') id: string) { try { - const w3cCredentialService = await this.agent.dependencyManager.resolve(W3cCredentialService) - const w3cRecord = await w3cCredentialService.getCredentialRecordById(this.agent.context, id) + const w3cCredentialService = await request.agent.dependencyManager.resolve(W3cCredentialService) + const w3cRecord = await w3cCredentialService.getCredentialRecordById(request.agent.context, id) return w3cRecord } catch (error) { throw ErrorHandlingService.handle(error) @@ -109,9 +108,9 @@ export class CredentialController extends Controller { */ @Example(CredentialExchangeRecordExample) @Get('/:credentialRecordId') - public async getCredentialById(@Path('credentialRecordId') credentialRecordId: RecordId) { + public async getCredentialById(@Request() request: Req, @Path('credentialRecordId') credentialRecordId: RecordId) { try { - const credential = await this.agent.credentials.getById(credentialRecordId) + const credential = await request.agent.credentials.getById(credentialRecordId) return credential.toJSON() } catch (error) { throw ErrorHandlingService.handle(error) @@ -127,9 +126,9 @@ export class CredentialController extends Controller { */ @Example(CredentialExchangeRecordExample) @Post('/propose-credential') - public async proposeCredential(@Body() proposeCredentialOptions: ProposeCredentialOptions) { + public async proposeCredential(@Request() request: Req, @Body() proposeCredentialOptions: ProposeCredentialOptions) { try { - const credential = await this.agent.credentials.proposeCredential(proposeCredentialOptions) + const credential = await request.agent.credentials.proposeCredential(proposeCredentialOptions) return credential } catch (error) { throw ErrorHandlingService.handle(error) @@ -146,9 +145,12 @@ export class CredentialController extends Controller { */ @Example(CredentialExchangeRecordExample) @Post('/accept-proposal') - public async acceptProposal(@Body() acceptCredentialProposal: AcceptCredentialProposalOptions) { + public async acceptProposal( + @Request() request: Req, + @Body() acceptCredentialProposal: AcceptCredentialProposalOptions, + ) { try { - const credential = await this.agent.credentials.acceptProposal(acceptCredentialProposal) + const credential = await request.agent.credentials.acceptProposal(acceptCredentialProposal) return credential } catch (error) { @@ -165,9 +167,9 @@ export class CredentialController extends Controller { */ @Example(CredentialExchangeRecordExample) @Post('/create-offer') - public async createOffer(@Body() createOfferOptions: CreateOfferOptions) { + public async createOffer(@Request() request: Req, @Body() createOfferOptions: CreateOfferOptions) { try { - const offer = await this.agent.credentials.offerCredential(createOfferOptions) + const offer = await request.agent.credentials.offerCredential(createOfferOptions) return offer } catch (error) { throw ErrorHandlingService.handle(error) @@ -175,19 +177,16 @@ export class CredentialController extends Controller { } @Post('/create-offer-oob') - public async createOfferOob(@Body() outOfBandOption: CreateOfferOobOptions) { + public async createOfferOob(@Request() request: Req, @Body() outOfBandOption: CreateOfferOobOptions) { try { let invitationDid: string | undefined let routing: Routing - const linkSecretIds = await this.agent.modules.anoncreds.getLinkSecretIds() - if (linkSecretIds.length === 0) { - await this.agent.modules.anoncreds.createLinkSecret() - } + await this.ensureLinkSecretExists(request.agent) if (outOfBandOption?.invitationDid) { invitationDid = outOfBandOption?.invitationDid } else { - routing = await this.agent.mediationRecipient.getRouting({}) + routing = await request.agent.mediationRecipient.getRouting({}) const didDocument = createPeerDidDocumentFromServices([ { id: 'didcomm', @@ -196,7 +195,7 @@ export class CredentialController extends Controller { serviceEndpoint: routing.endpoints[0], }, ]) - const did = await this.agent.dids.create({ + const did = await request.agent.dids.create({ didDocument, method: 'peer', options: { @@ -206,7 +205,7 @@ export class CredentialController extends Controller { invitationDid = did.didState.did } - const offerOob = await this.agent.credentials.createOffer({ + const offerOob = await request.agent.credentials.createOffer({ protocolVersion: outOfBandOption.protocolVersion as CredentialProtocolVersionType<[]>, credentialFormats: outOfBandOption.credentialFormats, autoAcceptCredential: outOfBandOption.autoAcceptCredential, @@ -214,7 +213,7 @@ export class CredentialController extends Controller { }) const credentialMessage = offerOob.message - const outOfBandRecord = await this.agent.oob.createInvitation({ + const outOfBandRecord = await request.agent.oob.createInvitation({ label: outOfBandOption.label, messages: [credentialMessage], autoAcceptConnection: true, @@ -224,10 +223,10 @@ export class CredentialController extends Controller { }) return { invitationUrl: outOfBandRecord.outOfBandInvitation.toUrl({ - domain: this.agent.config.endpoints[0], + domain: request.agent.config.endpoints[0], }), invitation: outOfBandRecord.outOfBandInvitation.toJSON({ - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, + useDidSovPrefixWhereAllowed: request.agent.config.useDidSovPrefixWhereAllowed, }), outOfBandRecord: outOfBandRecord.toJSON(), outOfBandRecordId: outOfBandRecord.id, @@ -249,13 +248,10 @@ export class CredentialController extends Controller { */ @Example(CredentialExchangeRecordExample) @Post('/accept-offer') - public async acceptOffer(@Body() acceptCredentialOfferOptions: CredentialOfferOptions) { + public async acceptOffer(@Request() request: Req, @Body() acceptCredentialOfferOptions: CredentialOfferOptions) { try { - const linkSecretIds = await this.agent.modules.anoncreds.getLinkSecretIds() - if (linkSecretIds.length === 0) { - await this.agent.modules.anoncreds.createLinkSecret() - } - const acceptOffer = await this.agent.credentials.acceptOffer(acceptCredentialOfferOptions) + await this.ensureLinkSecretExists(request.agent) + const acceptOffer = await request.agent.credentials.acceptOffer(acceptCredentialOfferOptions) return acceptOffer } catch (error) { throw ErrorHandlingService.handle(error) @@ -272,9 +268,12 @@ export class CredentialController extends Controller { */ @Example(CredentialExchangeRecordExample) @Post('/accept-request') - public async acceptRequest(@Body() acceptCredentialRequestOptions: AcceptCredentialRequestOptions) { + public async acceptRequest( + @Request() request: Req, + @Body() acceptCredentialRequestOptions: AcceptCredentialRequestOptions, + ) { try { - const credential = await this.agent.credentials.acceptRequest(acceptCredentialRequestOptions) + const credential = await request.agent.credentials.acceptRequest(acceptCredentialRequestOptions) return credential } catch (error) { throw ErrorHandlingService.handle(error) @@ -290,9 +289,9 @@ export class CredentialController extends Controller { */ @Example(CredentialExchangeRecordExample) @Post('/accept-credential') - public async acceptCredential(@Body() acceptCredential: AcceptCredential) { + public async acceptCredential(@Request() request: Req, @Body() acceptCredential: AcceptCredential) { try { - const credential = await this.agent.credentials.acceptCredential(acceptCredential) + const credential = await request.agent.credentials.acceptCredential(acceptCredential) return credential } catch (error) { throw ErrorHandlingService.handle(error) @@ -306,12 +305,19 @@ export class CredentialController extends Controller { * @returns credentialRecord */ @Get('/:credentialRecordId/form-data') - public async credentialFormData(@Path('credentialRecordId') credentialRecordId: string) { + public async credentialFormData(@Request() request: Req, @Path('credentialRecordId') credentialRecordId: string) { try { - const credentialDetails = await this.agent.credentials.getFormatData(credentialRecordId) + const credentialDetails = await request.agent.credentials.getFormatData(credentialRecordId) return credentialDetails } catch (error) { throw ErrorHandlingService.handle(error) } } + + private async ensureLinkSecretExists(agent: AgentType): Promise { + const linkSecretIds = await agent.modules.anoncreds.getLinkSecretIds() + if (linkSecretIds.length === 0) { + await agent.modules.anoncreds.createLinkSecret() + } + } } diff --git a/src/controllers/outofband/OutOfBandController.ts b/src/controllers/didcomm/outofband/OutOfBandController.ts similarity index 71% rename from src/controllers/outofband/OutOfBandController.ts rename to src/controllers/didcomm/outofband/OutOfBandController.ts index 4450bd92..ff5d40e4 100644 --- a/src/controllers/outofband/OutOfBandController.ts +++ b/src/controllers/didcomm/outofband/OutOfBandController.ts @@ -1,6 +1,5 @@ -import type { RestAgentModules } from '../../cliAgent' -import type { OutOfBandInvitationProps, OutOfBandRecordWithInvitationProps } from '../examples' -import type { AgentMessageType, RecipientKeyOption, CreateInvitationOptions } from '../types' +import type { OutOfBandInvitationProps, OutOfBandRecordWithInvitationProps } from '../../examples' +import type { AgentMessageType, RecipientKeyOption, CreateInvitationOptions } from '../../types' import type { ConnectionRecordProps, CreateLegacyInvitationConfig, @@ -12,33 +11,26 @@ import { AgentMessage, JsonTransformer, OutOfBandInvitation, - Agent, Key, KeyType, createPeerDidDocumentFromServices, PeerDidNumAlgo, } from '@credo-ts/core' +import { Request as Req } from 'express' +import { Body, Controller, Delete, Example, Get, Path, Post, Query, Route, Tags, Security, Request } from 'tsoa' import { injectable } from 'tsyringe' -import ErrorHandlingService from '../../errorHandlingService' -import { NotFoundError } from '../../errors' -import { ConnectionRecordExample, outOfBandInvitationExample, outOfBandRecordExample, RecordId } from '../examples' -import { AcceptInvitationConfig, ReceiveInvitationByUrlProps, ReceiveInvitationProps } from '../types' +import { SCOPES } from '../../../enums' +import ErrorHandlingService from '../../../errorHandlingService' +import { InternalServerError, NotFoundError } from '../../../errors' +import { ConnectionRecordExample, outOfBandInvitationExample, outOfBandRecordExample, RecordId } from '../../examples' +import { AcceptInvitationConfig, ReceiveInvitationByUrlProps, ReceiveInvitationProps } from '../../types' -import { Body, Controller, Delete, Example, Get, Path, Post, Query, Route, Tags, Security } from 'tsoa' - -@Tags('Out Of Band') -@Security('apiKey') -@Route('/oob') +@Tags('DIDComm - Out Of Band') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) +@Route('/didcomm/oob') @injectable() export class OutOfBandController extends Controller { - private agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Retrieve all out of band records * @param invitationId invitation identifier @@ -46,11 +38,14 @@ export class OutOfBandController extends Controller { */ @Example([outOfBandRecordExample]) @Get() - public async getAllOutOfBandRecords(@Query('invitationId') invitationId?: RecordId) { + public async getAllOutOfBandRecords(@Request() request: Req, @Query('invitationId') invitationId?: RecordId) { try { - let outOfBandRecords = await this.agent.oob.getAll() - - if (invitationId) outOfBandRecords = outOfBandRecords.filter((o) => o.outOfBandInvitation.id === invitationId) + const query = invitationId + ? { + invitationId: invitationId, + } + : {} + const outOfBandRecords = await request.agent.oob.findAllByQuery(query) return outOfBandRecords.map((c) => c.toJSON()) } catch (error) { @@ -65,9 +60,9 @@ export class OutOfBandController extends Controller { */ @Example(outOfBandRecordExample) @Get('/:outOfBandId') - public async getOutOfBandRecordById(@Path('outOfBandId') outOfBandId: RecordId) { + public async getOutOfBandRecordById(@Request() request: Req, @Path('outOfBandId') outOfBandId: RecordId) { try { - const outOfBandRecord = await this.agent.oob.findById(outOfBandId) + const outOfBandRecord = await request.agent.oob.findById(outOfBandId) if (!outOfBandRecord) throw new NotFoundError(`Out of band record with id "${outOfBandId}" not found.`) @@ -94,14 +89,15 @@ export class OutOfBandController extends Controller { }) @Post('/create-invitation') public async createInvitation( - @Body() config: CreateInvitationOptions & RecipientKeyOption // props removed because of issues with serialization + @Request() request: Req, + @Body() config: CreateInvitationOptions & RecipientKeyOption, // props removed because of issues with serialization ) { try { let invitationDid: string | undefined if (config?.invitationDid) { invitationDid = config?.invitationDid } else { - const didRouting = await this.agent.mediationRecipient.getRouting({}) + const didRouting = await request.agent.mediationRecipient.getRouting({}) const didDocument = createPeerDidDocumentFromServices([ { id: 'didcomm', @@ -110,24 +106,28 @@ export class OutOfBandController extends Controller { serviceEndpoint: didRouting.endpoints[0], }, ]) - const did = await this.agent.dids.create({ + const did = await request.agent.dids.create({ didDocument, method: 'peer', options: { numAlgo: PeerDidNumAlgo.MultipleInceptionKeyWithoutDoc, }, }) - // eslint-disable-next-line @typescript-eslint/no-unused-vars + invitationDid = did.didState.did + + if (!invitationDid) { + throw new InternalServerError('Error in creating invitationDid') + } } - const outOfBandRecord = await this.agent.oob.createInvitation({ ...config, invitationDid }) + const outOfBandRecord = await request.agent.oob.createInvitation({ ...config, invitationDid }) return { invitationUrl: outOfBandRecord.outOfBandInvitation.toUrl({ - domain: this.agent.config.endpoints[0], + domain: request.agent.config.endpoints[0], }), invitation: outOfBandRecord.outOfBandInvitation.toJSON({ - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, + useDidSovPrefixWhereAllowed: request.agent.config.useDidSovPrefixWhereAllowed, }), outOfBandRecord: outOfBandRecord.toJSON(), invitationDid: config?.invitationDid ? '' : invitationDid, @@ -151,31 +151,32 @@ export class OutOfBandController extends Controller { }) @Post('/create-legacy-invitation') public async createLegacyInvitation( - @Body() config?: Omit & RecipientKeyOption + @Request() request: Req, + @Body() config?: Omit & RecipientKeyOption, ) { try { let routing: Routing if (config?.recipientKey) { routing = { - endpoints: this.agent.config.endpoints, + endpoints: request.agent.config.endpoints, routingKeys: [], recipientKey: Key.fromPublicKeyBase58(config.recipientKey, KeyType.Ed25519), mediatorId: undefined, } } else { - routing = await this.agent.mediationRecipient.getRouting({}) + routing = await request.agent.mediationRecipient.getRouting({}) } - const { outOfBandRecord, invitation } = await this.agent.oob.createLegacyInvitation({ + const { outOfBandRecord, invitation } = await request.agent.oob.createLegacyInvitation({ ...config, routing, }) return { invitationUrl: invitation.toUrl({ - domain: this.agent.config.endpoints[0], - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, + domain: request.agent.config.endpoints[0], + useDidSovPrefixWhereAllowed: request.agent.config.useDidSovPrefixWhereAllowed, }), invitation: invitation.toJSON({ - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, + useDidSovPrefixWhereAllowed: request.agent.config.useDidSovPrefixWhereAllowed, }), outOfBandRecord: outOfBandRecord.toJSON(), ...(config?.recipientKey ? {} : { recipientKey: routing.recipientKey.publicKeyBase58 }), @@ -200,17 +201,18 @@ export class OutOfBandController extends Controller { }) @Post('/create-legacy-connectionless-invitation') public async createLegacyConnectionlessInvitation( + @Request() request: Req, @Body() config: { recordId: string message: AgentMessageType domain: string - } + }, ) { try { const agentMessage = JsonTransformer.fromJSON(config.message, AgentMessage) - return await this.agent.oob.createLegacyConnectionlessInvitation({ + return await request.agent.oob.createLegacyConnectionlessInvitation({ ...config, message: agentMessage, }) @@ -232,12 +234,12 @@ export class OutOfBandController extends Controller { connectionRecord: ConnectionRecordExample, }) @Post('/receive-invitation') - public async receiveInvitation(@Body() invitationRequest: ReceiveInvitationProps) { + public async receiveInvitation(@Request() request: Req, @Body() invitationRequest: ReceiveInvitationProps) { const { invitation, ...config } = invitationRequest try { const invite = new OutOfBandInvitation({ ...invitation, handshakeProtocols: invitation.handshake_protocols }) - const { outOfBandRecord, connectionRecord } = await this.agent.oob.receiveInvitation(invite, config) + const { outOfBandRecord, connectionRecord } = await request.agent.oob.receiveInvitation(invite, config) return { outOfBandRecord: outOfBandRecord.toJSON(), @@ -261,15 +263,21 @@ export class OutOfBandController extends Controller { connectionRecord: ConnectionRecordExample, }) @Post('/receive-invitation-url') - public async receiveInvitationFromUrl(@Body() invitationRequest: ReceiveInvitationByUrlProps) { + public async receiveInvitationFromUrl( + @Request() request: Req, + @Body() invitationRequest: ReceiveInvitationByUrlProps, + ) { const { invitationUrl, ...config } = invitationRequest try { - const linkSecretIds = await this.agent.modules.anoncreds.getLinkSecretIds() - if (linkSecretIds.length === 0) { - await this.agent.modules.anoncreds.createLinkSecret() - } - const { outOfBandRecord, connectionRecord } = await this.agent.oob.receiveInvitationFromUrl(invitationUrl, config) + // const linkSecretIds = await request.agent.modules.anoncreds.getLinkSecretIds() + // if (linkSecretIds.length === 0) { + // await request.agent.modules.anoncreds.createLinkSecret() + // } + const { outOfBandRecord, connectionRecord } = await request.agent.oob.receiveInvitationFromUrl( + invitationUrl, + config, + ) return { outOfBandRecord: outOfBandRecord.toJSON(), connectionRecord: connectionRecord?.toJSON(), @@ -289,13 +297,14 @@ export class OutOfBandController extends Controller { }) @Post('/:outOfBandId/accept-invitation') public async acceptInvitation( + @Request() request: Req, @Path('outOfBandId') outOfBandId: RecordId, - @Body() acceptInvitationConfig: AcceptInvitationConfig + @Body() acceptInvitationConfig: AcceptInvitationConfig, ) { try { - const { outOfBandRecord, connectionRecord } = await this.agent.oob.acceptInvitation( + const { outOfBandRecord, connectionRecord } = await request.agent.oob.acceptInvitation( outOfBandId, - acceptInvitationConfig + acceptInvitationConfig, ) return { @@ -313,10 +322,10 @@ export class OutOfBandController extends Controller { * @param outOfBandId Record identifier */ @Delete('/:outOfBandId') - public async deleteOutOfBandRecord(@Path('outOfBandId') outOfBandId: RecordId) { + public async deleteOutOfBandRecord(@Request() request: Req, @Path('outOfBandId') outOfBandId: RecordId) { try { this.setStatus(204) - await this.agent.oob.deleteById(outOfBandId) + await request.agent.oob.deleteById(outOfBandId) } catch (error) { throw ErrorHandlingService.handle(error) } diff --git a/src/controllers/proofs/ProofController.ts b/src/controllers/didcomm/proofs/ProofController.ts similarity index 71% rename from src/controllers/proofs/ProofController.ts rename to src/controllers/didcomm/proofs/ProofController.ts index 166a85a9..b2b99e9f 100644 --- a/src/controllers/proofs/ProofController.ts +++ b/src/controllers/didcomm/proofs/ProofController.ts @@ -6,31 +6,26 @@ import type { Routing, } from '@credo-ts/core' -import { Agent, PeerDidNumAlgo, createPeerDidDocumentFromServices } from '@credo-ts/core' +import { PeerDidNumAlgo, createPeerDidDocumentFromServices } from '@credo-ts/core' +import { Request as Req } from 'express' +import { Body, Controller, Example, Get, Path, Post, Query, Route, Tags, Security, Request } from 'tsoa' import { injectable } from 'tsyringe' -import ErrorHandlingService from '../../errorHandlingService' -import { ProofRecordExample, RecordId } from '../examples' +import { SCOPES } from '../../../enums' +import ErrorHandlingService from '../../../errorHandlingService' +import { ProofRecordExample, RecordId } from '../../examples' import { AcceptProofProposal, CreateProofRequestOobOptions, RequestProofOptions, RequestProofProposalOptions, -} from '../types' +} from '../../types' -import { Body, Controller, Example, Get, Path, Post, Query, Route, Tags, Security } from 'tsoa' - -@Tags('Proofs') -@Route('/proofs') -@Security('apiKey') +@Tags('DIDComm - Proofs') +@Route('/didcomm/proofs') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @injectable() export class ProofController extends Controller { - private agent: Agent - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Retrieve all proof records * @@ -39,11 +34,10 @@ export class ProofController extends Controller { */ @Example([ProofRecordExample]) @Get('/') - public async getAllProofs(@Query('threadId') threadId?: string) { + public async getAllProofs(@Request() request: Req, @Query('threadId') threadId?: string) { try { - let proofs = await this.agent.proofs.getAll() - - if (threadId) proofs = proofs.filter((p) => p.threadId === threadId) + const query = threadId ? { threadId } : {} + const proofs = await request.agent.proofs.findAllByQuery(query) return proofs.map((proof) => proof.toJSON()) } catch (error) { @@ -59,9 +53,9 @@ export class ProofController extends Controller { */ @Get('/:proofRecordId') @Example(ProofRecordExample) - public async getProofById(@Path('proofRecordId') proofRecordId: RecordId) { + public async getProofById(@Request() request: Req, @Path('proofRecordId') proofRecordId: RecordId) { try { - const proof = await this.agent.proofs.getById(proofRecordId) + const proof = await request.agent.proofs.getById(proofRecordId) return proof.toJSON() } catch (error) { @@ -78,9 +72,9 @@ export class ProofController extends Controller { */ @Post('/propose-proof') @Example(ProofRecordExample) - public async proposeProof(@Body() requestProofProposalOptions: RequestProofProposalOptions) { + public async proposeProof(@Request() request: Req, @Body() requestProofProposalOptions: RequestProofProposalOptions) { try { - const proof = await this.agent.proofs.proposeProof({ + const proof = await request.agent.proofs.proposeProof({ connectionId: requestProofProposalOptions.connectionId, protocolVersion: 'v1' as ProofsProtocolVersionType<[]>, proofFormats: requestProofProposalOptions.proofFormats, @@ -106,9 +100,9 @@ export class ProofController extends Controller { */ @Post('/:proofRecordId/accept-proposal') @Example(ProofRecordExample) - public async acceptProposal(@Body() acceptProposal: AcceptProofProposal) { + public async acceptProposal(@Request() request: Req, @Body() acceptProposal: AcceptProofProposal) { try { - const proof = await this.agent.proofs.acceptProposal(acceptProposal) + const proof = await request.agent.proofs.acceptProposal(acceptProposal) return proof } catch (error) { @@ -121,7 +115,7 @@ export class ProofController extends Controller { */ @Post('/request-proof') @Example(ProofRecordExample) - public async requestProof(@Body() requestProofOptions: RequestProofOptions) { + public async requestProof(@Request() request: Req, @Body() requestProofOptions: RequestProofOptions) { try { const requestProofPayload = { connectionId: requestProofOptions.connectionId, @@ -133,7 +127,7 @@ export class ProofController extends Controller { parentThreadId: requestProofOptions.parentThreadId, willConfirm: requestProofOptions.willConfirm, } - const proof = await this.agent.proofs.requestProof(requestProofPayload) + const proof = await request.agent.proofs.requestProof(requestProofPayload) return proof } catch (error) { @@ -146,7 +140,7 @@ export class ProofController extends Controller { */ @Post('create-request-oob') @Example(ProofRecordExample) - public async createRequest(@Body() createRequestOptions: CreateProofRequestOobOptions) { + public async createRequest(@Request() request: Req, @Body() createRequestOptions: CreateProofRequestOobOptions) { try { let routing: Routing let invitationDid: string | undefined @@ -154,7 +148,7 @@ export class ProofController extends Controller { if (createRequestOptions?.invitationDid) { invitationDid = createRequestOptions?.invitationDid } else { - routing = await this.agent.mediationRecipient.getRouting({}) + routing = await request.agent.mediationRecipient.getRouting({}) const didDocument = createPeerDidDocumentFromServices([ { id: 'didcomm', @@ -163,7 +157,7 @@ export class ProofController extends Controller { serviceEndpoint: routing.endpoints[0], }, ]) - const did = await this.agent.dids.create({ + const did = await request.agent.dids.create({ didDocument, method: 'peer', options: { @@ -173,7 +167,7 @@ export class ProofController extends Controller { invitationDid = did.didState.did } - const proof = await this.agent.proofs.createRequest({ + const proof = await request.agent.proofs.createRequest({ protocolVersion: createRequestOptions.protocolVersion as ProofsProtocolVersionType<[]>, proofFormats: createRequestOptions.proofFormats, goalCode: createRequestOptions.goalCode, @@ -183,7 +177,7 @@ export class ProofController extends Controller { comment: createRequestOptions.comment, }) const proofMessage = proof.message - const outOfBandRecord = await this.agent.oob.createInvitation({ + const outOfBandRecord = await request.agent.oob.createInvitation({ label: createRequestOptions.label, messages: [proofMessage], autoAcceptConnection: true, @@ -194,14 +188,15 @@ export class ProofController extends Controller { return { invitationUrl: outOfBandRecord.outOfBandInvitation.toUrl({ - domain: this.agent.config.endpoints[0], + domain: request.agent.config.endpoints[0], }), invitation: outOfBandRecord.outOfBandInvitation.toJSON({ - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, + useDidSovPrefixWhereAllowed: request.agent.config.useDidSovPrefixWhereAllowed, }), outOfBandRecord: outOfBandRecord.toJSON(), invitationDid: createRequestOptions?.invitationDid ? '' : invitationDid, proofRecordThId: proof.proofRecord.threadId, + proofMessageId: proof.message.thread?.threadId || proof.message.threadId || proof.message.id, } } catch (error) { throw ErrorHandlingService.handle(error) @@ -219,26 +214,27 @@ export class ProofController extends Controller { @Post('/:proofRecordId/accept-request') @Example(ProofRecordExample) public async acceptRequest( + @Request() request: Req, @Path('proofRecordId') proofRecordId: string, @Body() - request: { + body: { filterByPresentationPreview?: boolean filterByNonRevocationRequirements?: boolean comment?: string - } + }, ) { try { - const requestedCredentials = await this.agent.proofs.selectCredentialsForRequest({ + const requestedCredentials = await request.agent.proofs.selectCredentialsForRequest({ proofRecordId, }) const acceptProofRequest: AcceptProofRequestOptions = { proofRecordId, - comment: request.comment, + comment: body.comment, proofFormats: requestedCredentials.proofFormats, } - const proof = await this.agent.proofs.acceptRequest(acceptProofRequest) + const proof = await request.agent.proofs.acceptRequest(acceptProofRequest) return proof.toJSON() } catch (error) { @@ -255,9 +251,9 @@ export class ProofController extends Controller { */ @Post('/:proofRecordId/accept-presentation') @Example(ProofRecordExample) - public async acceptPresentation(@Path('proofRecordId') proofRecordId: string) { + public async acceptPresentation(@Request() request: Req, @Path('proofRecordId') proofRecordId: string) { try { - const proof = await this.agent.proofs.acceptPresentation({ proofRecordId }) + const proof = await request.agent.proofs.acceptPresentation({ proofRecordId }) return proof } catch (error) { throw ErrorHandlingService.handle(error) @@ -273,9 +269,9 @@ export class ProofController extends Controller { @Get('/:proofRecordId/form-data') @Example(ProofRecordExample) // TODO: Add return type - public async proofFormData(@Path('proofRecordId') proofRecordId: string): Promise { + public async proofFormData(@Request() request: Req, @Path('proofRecordId') proofRecordId: string) { try { - const proof = await this.agent.proofs.getFormatData(proofRecordId) + const proof = await request.agent.proofs.getFormatData(proofRecordId) return proof } catch (error) { throw ErrorHandlingService.handle(error) diff --git a/src/controllers/question-answer/QuestionAnswerController.ts b/src/controllers/didcomm/question-answer/QuestionAnswerController.ts similarity index 68% rename from src/controllers/question-answer/QuestionAnswerController.ts rename to src/controllers/didcomm/question-answer/QuestionAnswerController.ts index e4ae9881..5f812efe 100644 --- a/src/controllers/question-answer/QuestionAnswerController.ts +++ b/src/controllers/didcomm/question-answer/QuestionAnswerController.ts @@ -1,28 +1,20 @@ -import type { RestAgentModules } from '../../cliAgent' import type { ValidResponse } from '@credo-ts/question-answer' -import { Agent } from '@credo-ts/core' import { QuestionAnswerRecord, QuestionAnswerRole, QuestionAnswerState } from '@credo-ts/question-answer' +import { Request as Req } from 'express' +import { Body, Controller, Get, Path, Post, Route, Tags, Query, Security, Example, Request } from 'tsoa' import { injectable } from 'tsyringe' -import ErrorHandlingService from '../../errorHandlingService' -import { NotFoundError } from '../../errors' -import { RecordId } from '../examples' +import { SCOPES } from '../../../enums' +import ErrorHandlingService from '../../../errorHandlingService' +import { NotFoundError } from '../../../errors' +import { RecordId } from '../../examples' -import { Body, Controller, Get, Path, Post, Route, Tags, Query, Security, Example } from 'tsoa' - -@Tags('Question Answer') -@Route('/question-answer') -@Security('apiKey') +@Tags('DIDComm - Question Answer') +@Route('/didcomm/question-answer') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @injectable() export class QuestionAnswerController extends Controller { - private agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Retrieve question and answer records by query * @@ -34,13 +26,14 @@ export class QuestionAnswerController extends Controller { */ @Get('/') public async getQuestionAnswerRecords( + @Request() request: Req, @Query('connectionId') connectionId?: string, @Query('role') role?: QuestionAnswerRole, @Query('state') state?: QuestionAnswerState, - @Query('threadId') threadId?: string + @Query('threadId') threadId?: string, ) { try { - const questionAnswerRecords = await this.agent.modules.questionAnswer.findAllByQuery({ + const questionAnswerRecords = await request.agent.modules.questionAnswer.findAllByQuery({ connectionId, role, state, @@ -61,18 +54,19 @@ export class QuestionAnswerController extends Controller { @Example(QuestionAnswerRecord) @Post('question/:connectionId') public async sendQuestion( + @Request() request: Req, @Path('connectionId') connectionId: RecordId, @Body() config: { question: string validResponses: ValidResponse[] detail?: string - } + }, ) { try { const { question, validResponses, detail } = config - const record = await this.agent.modules.questionAnswer.sendQuestion(connectionId, { + const record = await request.agent.modules.questionAnswer.sendQuestion(connectionId, { question, validResponses, detail, @@ -91,9 +85,9 @@ export class QuestionAnswerController extends Controller { * @param response The response of the question */ @Post('answer/:id') - public async sendAnswer(@Path('id') id: RecordId, @Body() request: Record<'response', string>) { + public async sendAnswer(@Request() request: Req, @Path('id') id: RecordId, @Body() body: Record<'response', string>) { try { - const record = await this.agent.modules.questionAnswer.sendAnswer(id, request.response) + const record = await request.agent.modules.questionAnswer.sendAnswer(id, body.response) return record.toJSON() } catch (error) { throw ErrorHandlingService.handle(error) @@ -106,9 +100,9 @@ export class QuestionAnswerController extends Controller { * @returns ConnectionRecord */ @Get('/:id') - public async getQuestionAnswerRecordById(@Path('id') id: RecordId) { + public async getQuestionAnswerRecordById(@Request() request: Req, @Path('id') id: RecordId) { try { - const record = await this.agent.modules.questionAnswer.findById(id) + const record = await request.agent.modules.questionAnswer.findById(id) if (!record) throw new NotFoundError(`Question Answer Record with id "${id}" not found.`) diff --git a/src/controllers/multi-tenancy/MultiTenancyController.ts b/src/controllers/multi-tenancy/MultiTenancyController.ts index 551d5258..5709b20d 100644 --- a/src/controllers/multi-tenancy/MultiTenancyController.ts +++ b/src/controllers/multi-tenancy/MultiTenancyController.ts @@ -1,2040 +1,142 @@ -/* eslint-disable prettier/prettier */ -import type { RestAgentModules, RestMultiTenantAgentModules } from '../../cliAgent' -import type { Version } from '../examples' -import type { CustomW3cJsonLdSignCredentialOptions, RecipientKeyOption, SafeW3cJsonLdVerifyCredentialOptions, SchemaMetadata } from '../types' -import type { PolygonDidCreateOptions } from '@ayanworks/credo-polygon-w3c-module/build/dids' -import type { - AcceptProofRequestOptions, - BasicMessageStorageProps, - ConnectionRecordProps, - CreateOutOfBandInvitationConfig, - CredentialProtocolVersionType, - KeyDidCreateOptions, - OutOfBandRecord, - PeerDidNumAlgo2CreateOptions, - ProofExchangeRecordProps, - ProofsProtocolVersionType, - Routing, - W3cJsonLdSignCredentialOptions, - W3cVerifiableCredential} from '@credo-ts/core' -import type { IndyVdrDidCreateOptions, IndyVdrDidCreateResult } from '@credo-ts/indy-vdr' -import type { QuestionAnswerRecord, ValidResponse } from '@credo-ts/question-answer' +import type { RestMultiTenantAgentModules } from '../../cliAgent' import type { TenantRecord } from '@credo-ts/tenants' -import type { TenantAgent } from '@credo-ts/tenants/build/TenantAgent' -import { - getUnqualifiedSchemaId, - getUnqualifiedCredentialDefinitionId, - parseIndyCredentialDefinitionId, - parseIndySchemaId, -} from '@credo-ts/anoncreds' -import { assertAskarWallet } from '@credo-ts/askar/build/utils/assertAskarWallet' -import { - AcceptCredentialOfferOptions, - Agent, - ConnectionRepository, - CredentialRepository, - CredentialState, - DidDocumentBuilder, - DidExchangeState, - JsonTransformer, - Key, - KeyType, - OutOfBandInvitation, - TypedArrayEncoder, - getBls12381G2Key2020, - getEd25519VerificationKey2018, - injectable, - createPeerDidDocumentFromServices, - PeerDidNumAlgo, - W3cJsonLdVerifiableCredential, - W3cCredential, - ClaimFormat} from '@credo-ts/core' -import { QuestionAnswerRole, QuestionAnswerState } from '@credo-ts/question-answer' -import axios from 'axios' -import * as fs from 'fs' +import { Agent, JsonTransformer, injectable, RecordNotFoundError } from '@credo-ts/core' +import { Request as Req } from 'express' +import jwt from 'jsonwebtoken' +import { Body, Controller, Delete, Post, Route, Tags, Path, Security, Request, Res, TsoaResponse, Get } from 'tsoa' -import { - CredentialEnum, - DidMethod, - EndorserMode, - Network, - NetworkTypes, - Role, - SchemaError, -} from '../../enums/enum' +import { AgentRole, SCOPES } from '../../enums' import ErrorHandlingService from '../../errorHandlingService' -import { ENDORSER_DID_NOT_PRESENT } from '../../errorMessages' -import { - BadRequestError, - InternalServerError, - NotFoundError, - PaymentRequiredError, - UnprocessableEntityError, -} from '../../errors' -import { - SchemaId, - CredentialDefinitionId, - RecordId, - ProofRecordExample, - ConnectionRecordExample, - BasicMessageRecordExample, -} from '../examples' -import { - RequestProofOptions, - CreateOfferOptions, - CreateTenantOptions, - DidCreate, - DidNymTransaction, - EndorserTransaction, - ReceiveInvitationByUrlProps, - ReceiveInvitationProps, - WriteTransaction, - CreateProofRequestOobOptions, - CreateOfferOobOptions, - CreateSchemaInput, - VerifyDataOptions , SignDataOptions } from '../types' - -import { Body, Controller, Delete, Get, Post, Query, Route, Tags, Path, Example, Security, Response } from 'tsoa' +import { CreateTenantOptions } from '../types' @Tags('MultiTenancy') +@Security('jwt', [SCOPES.MULTITENANT_BASE_AGENT]) @Route('/multi-tenancy') @injectable() export class MultiTenancyController extends Controller { - private readonly agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - - //create wallet - @Security('apiKey') @Post('/create-tenant') - public async createTenant(@Body() createTenantOptions: CreateTenantOptions) { + public async createTenant(@Request() request: Req, @Body() createTenantOptions: CreateTenantOptions) { const { config } = createTenantOptions try { - const tenantRecord: TenantRecord = await this.agent.modules.tenants.createTenant({ config }) - return tenantRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/create-did/:tenantId') - public async createDid(@Body() createDidOptions: DidCreate, @Path('tenantId') tenantId: string) { - let didRes - try { - if (!createDidOptions.method) { - throw Error('Method is required') - } - - let result - switch (createDidOptions.method) { - case DidMethod.Indy: - result = await this.handleIndy(createDidOptions, tenantId) - break - - case DidMethod.Key: - result = await this.handleKey(createDidOptions, tenantId) - break - - case DidMethod.Web: - result = await this.handleWeb(createDidOptions, tenantId) - break - - case DidMethod.Polygon: - result = await this.handlePolygon(createDidOptions, tenantId) - break - - case DidMethod.Peer: - result = await this.handleDidPeer(createDidOptions, tenantId) - break - - default: - throw new InternalServerError(`Invalid method: ${createDidOptions.method}`) - } - - didRes = { ...result } - - return didRes - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - private async handleIndy(createDidOptions: DidCreate, tenantId: string) { - const { keyType, seed, network, method } = createDidOptions - - let result - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - if (!keyType) { - throw Error('keyType is required') - } - - if (!seed) { - throw Error('Seed is required') - } - - if (!network) { - throw Error('For indy method network is required') - } - - if (keyType !== KeyType.Ed25519) { - throw Error('Only ed25519 key type supported') - } - - if (!Network.Bcovrin_Testnet && !Network.Indicio_Demonet && !Network.Indicio_Testnet) { - throw Error(`Invalid network for 'indy' method: ${network}`) - } - switch (network?.toLowerCase()) { - case Network.Bcovrin_Testnet: - result = await this.handleBcovrin(createDidOptions, tenantAgent, `did:${method}:${network}`) - break - - case Network.Indicio_Demonet: - case Network.Indicio_Testnet: - result = await this.handleIndicio(createDidOptions, tenantAgent, `did:${method}:${network}`) - break - - default: - throw new BadRequestError(`Invalid network for 'indy' method: ${network}`) - } - }) - return result - } - - private async handleBcovrin( - createDidOptions: DidCreate, - tenantAgent: TenantAgent, - didMethod: string - ) { - const { seed, did, network, method, role, endorserDid } = createDidOptions - let didDocument - if (!seed) { - throw Error('Seed is required') - } - if (did) { - await this.importDid(didMethod, did, seed, tenantAgent) - const getDid = await tenantAgent.dids.getCreatedDids({ - method: method, - did: `did:${method}:${network}:${did}`, - }) - if (getDid.length > 0) { - didDocument = getDid[0].didDocument - } - return { - did: `${didMethod}:${did}`, - didDocument: didDocument, - } - } else { - if (role?.toLowerCase() === Role.Endorser) { - await tenantAgent.wallet.createKey({ - privateKey: TypedArrayEncoder.fromString(seed), - keyType: KeyType.Ed25519, - }) - - const body = { - role: 'ENDORSER', - alias: 'Alias', - seed: seed, - } - - const BCOVRIN_REGISTER_URL = process.env.BCOVRIN_REGISTER_URL as string - const res = await axios.post(BCOVRIN_REGISTER_URL, body) - if (res) { - const { did } = res?.data || {} - await this.importDid(didMethod, did, seed, tenantAgent) - const didRecord = await tenantAgent.dids.getCreatedDids({ - method: DidMethod.Indy, - did: `did:${DidMethod.Indy}:${Network.Bcovrin_Testnet}:${res.data.did}`, - }) - - if (didRecord.length > 0) { - didDocument = didRecord[0].didDocument - } - - return { - did: `${didMethod}:${res.data.did}`, - didDocument: didDocument, - } - } - } else { - if (!endorserDid) { - throw Error('endorserDid or role is required') - } - - const didCreateTxResult = (await this.agent.dids.create({ - method: DidMethod.Indy, - options: { - endorserMode: 'external', - endorserDid: endorserDid, - }, - })) as IndyVdrDidCreateResult - return { did: didCreateTxResult.didState.did, didDocument: didCreateTxResult.didState.didDocument } - } - } - } - - private async handleIndicio( - createDidOptions: DidCreate, - tenantAgent: TenantAgent, - didMethod: string - ) { - const { seed, did, method, network, role } = createDidOptions - let didDocument - if (!seed) { - throw Error('Seed is required') - } - - if (did) { - await this.importDid(didMethod, did, seed, tenantAgent) - const getDid = await tenantAgent.dids.getCreatedDids({ - method: method, - did: `did:${method}:${network}:${did}`, - }) - if (getDid.length > 0) { - didDocument = getDid[0].didDocument - } - - return { - did: `${didMethod}:${did}`, - didDocument: didDocument, - } - } else { - if (role?.toLowerCase() === Role.Endorser) { - return await this.handleEndorserCreation(createDidOptions, tenantAgent, didMethod) - } else { - return await this.handleIndyDidCreation(createDidOptions, tenantAgent) - } - } - } - - private async handleEndorserCreation( - createDidOptions: DidCreate, - tenantAgent: TenantAgent, - didMethod: string - ) { - const { seed, network } = createDidOptions - let didDocument - if (!seed) { - throw Error('Seed is required') - } - const key = await tenantAgent.wallet.createKey({ - privateKey: TypedArrayEncoder.fromString(seed), - keyType: KeyType.Ed25519, - }) - const buffer = TypedArrayEncoder.fromBase58(key.publicKeyBase58) - - const did = TypedArrayEncoder.toBase58(buffer.slice(0, 16)) - - let body - if (network === Network.Indicio_Testnet) { - body = { - network: NetworkTypes.Testnet, - did, - verkey: TypedArrayEncoder.toBase58(buffer), - } - } else if (network === Network.Indicio_Demonet) { - body = { - network: NetworkTypes.Demonet, - did, - verkey: TypedArrayEncoder.toBase58(buffer), - } - } - const INDICIO_NYM_URL = process.env.INDICIO_NYM_URL as string - const res = await axios.post(INDICIO_NYM_URL, body) - if (res.data.statusCode === 200) { - await this.importDid(didMethod, did, seed, tenantAgent) - const didRecord = await tenantAgent.dids.getCreatedDids({ - method: DidMethod.Indy, - did: `${didMethod}:${body?.did}`, - }) - if (didRecord.length > 0) { - didDocument = didRecord[0].didDocument - } - - return { - did: `${didMethod}:${body?.did}`, - didDocument: didDocument, - } - } - } - - private async handleIndyDidCreation(createDidOptions: DidCreate, tenantAgent: TenantAgent) { - if (!createDidOptions.endorserDid) { - throw Error('endorserDid or role is required') - } - - const didCreateTxResult = await tenantAgent.dids.create({ - method: DidMethod.Indy, - options: { - endorserMode: 'external', - endorserDid: createDidOptions.endorserDid ? createDidOptions.endorserDid : '', - }, - }) - return { didTx: didCreateTxResult.didState.did } - } - - private async handleKey(createDidOptions: DidCreate, tenantId: string) { - const { seed, keyType } = createDidOptions - let didResponse - let did: string - let didDocument: any - - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - if (!seed) { - throw Error('Seed is required') - } - if (!keyType) { - throw Error('keyType is required') - } - - if (keyType !== KeyType.Ed25519 && keyType !== KeyType.Bls12381g2) { - throw Error('Only ed25519 and bls12381g2 key type supported') - } - - if (!createDidOptions.did) { - await tenantAgent.wallet.createKey({ - keyType: keyType, - seed: TypedArrayEncoder.fromString(seed), - }) - const didKeyResponse = await tenantAgent.dids.create({ - method: DidMethod.Key, - options: { - keyType: KeyType.Ed25519, - }, - secret: { - privateKey: TypedArrayEncoder.fromString(seed), - }, - }) - did = `${didKeyResponse.didState.did}` - didDocument = didKeyResponse.didState.didDocument - } else { - did = createDidOptions.did - const createdDid = await tenantAgent.dids.getCreatedDids({ - did: createDidOptions.did, - method: DidMethod.Key, - }) - didDocument = createdDid[0]?.didDocument - } - - await tenantAgent.dids.import({ - did, - overwrite: true, - didDocument, - }) - - didResponse = { - did, - didDocument, - } - }) - return didResponse - } - - private async handleDidPeer(createDidOptions: DidCreate, tenantId: string) { - let didResponse - let did: any - - if (!createDidOptions.keyType) { - throw Error('keyType is required') - } - - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const didRouting = await tenantAgent.mediationRecipient.getRouting({}) - const didDocument = createPeerDidDocumentFromServices([ - { - id: 'didcomm', - recipientKeys: [didRouting.recipientKey], - routingKeys: didRouting.routingKeys, - serviceEndpoint: didRouting.endpoints[0], - }, - ]) - const didPeerResponse = await tenantAgent.dids.create({ - didDocument, - method: DidMethod.Peer, - options: { - numAlgo: PeerDidNumAlgo.MultipleInceptionKeyWithoutDoc, - }, - }) - - did = didPeerResponse.didState.did - didResponse = { - did, - } - }) - return didResponse - } - - private async handleWeb(createDidOptions: DidCreate, tenantId: string) { - const { domain, keyType, seed, method } = createDidOptions - let did - let didDocument: any - - if (!domain) { - throw Error('For web method domain is required') - } - - if (!keyType) { - throw Error('keyType is required') - } - - if (keyType !== KeyType.Ed25519 && keyType !== KeyType.Bls12381g2) { - throw Error('Only ed25519 and bls12381g2 key type supported') - } - - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - if (!seed) { - throw Error('Seed is required') - } - - did = `did:${method}:${domain}` - const keyId = `${did}#key-1` - const key = await tenantAgent.wallet.createKey({ - keyType: keyType, - seed: TypedArrayEncoder.fromString(seed), - }) - if (keyType === KeyType.Ed25519) { - didDocument = new DidDocumentBuilder(did) - .addContext('https://w3id.org/security/suites/ed25519-2018/v1') - .addVerificationMethod(getEd25519VerificationKey2018({ key, id: keyId, controller: did })) - .addAuthentication(keyId) - .addAssertionMethod(keyId) - .build() - } - if (keyType === KeyType.Bls12381g2) { - didDocument = new DidDocumentBuilder(did) - .addContext('https://w3id.org/security/bbs/v1') - .addVerificationMethod(getBls12381G2Key2020({ key, id: keyId, controller: did })) - .addAuthentication(keyId) - .addAssertionMethod(keyId) - .build() - } - - await tenantAgent.dids.import({ - did, - overwrite: true, - didDocument, - }) - }) - return { did, didDocument } - } - - public async handlePolygon(createDidOptions: DidCreate, tenantId: string) { - let createDidResponse - let didResponse - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - // need to discuss try catch logic - - const networkDetails = createDidOptions.network - const networkName = networkDetails?.split(':')[1] - - const { endpoint, privatekey } = createDidOptions - if (networkName !== 'mainnet' && networkName !== 'testnet') { - throw Error('Invalid network type') - } - if (!privatekey || typeof privatekey !== 'string' || !privatekey.trim() || privatekey.length !== 64) { - throw Error('Invalid private key or not supported') - } - - createDidResponse = await tenantAgent.dids.create({ - method: DidMethod.Polygon, - options: { - network: networkName, - endpoint, - }, - secret: { - privateKey: TypedArrayEncoder.fromHex(`${privatekey}`), - }, - }) - didResponse = { - did: createDidResponse?.didState?.did, - didDocument: createDidResponse?.didState?.didDocument, - } - }) - return didResponse - } - - private async importDid(didMethod: string, did: string, seed: string, tenantAgent: TenantAgent) { - await tenantAgent.dids.import({ - did: `${didMethod}:${did}`, - overwrite: true, - privateKeys: [ - { - keyType: KeyType.Ed25519, - privateKey: TypedArrayEncoder.fromString(seed), - }, - ], - }) - } - - @Security('apiKey') - @Get('/dids/:tenantId') - public async getDids(@Path('tenantId') tenantId: string) { - try { - let getDids - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - getDids = await tenantAgent.dids.getCreatedDids() - }) - return getDids - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/transactions/set-endorser-role/:tenantId') - public async didNymTransaction(@Path('tenantId') tenantId: string, @Body() didNymTransaction: DidNymTransaction) { - let didCreateSubmitResult - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - didCreateSubmitResult = await tenantAgent.dids.create({ - did: didNymTransaction.did, - options: { - endorserMode: 'external', - endorsedTransaction: { - nymRequest: didNymTransaction.nymRequest, - }, - }, - }) - await tenantAgent.dids.import({ - did: didNymTransaction.did, - overwrite: true, - }) - }) - - return didCreateSubmitResult - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/transactions/endorse/:tenantId') - public async endorserTransaction( - @Path('tenantId') tenantId: string, - @Body() endorserTransaction: EndorserTransaction - ) { - let signedTransaction - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - signedTransaction = await tenantAgent.modules.indyVdr.endorseTransaction( - endorserTransaction.transaction, - endorserTransaction.endorserDid - ) - }) - - return { signedTransaction } - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Example(ConnectionRecordExample) - @Security('apiKey') - @Get('/connections/:connectionId/:tenantId') - public async getConnectionById(@Path('tenantId') tenantId: string, @Path('connectionId') connectionId: RecordId) { - try { - let connectionRecord - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const connection = await tenantAgent.connections.findById(connectionId) - - if (!connection) throw new NotFoundError(`connection with connection id "${connectionId}" not found.`) - connectionRecord = connection.toJSON() - }) - - return connectionRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/create-invitation/:tenantId') - public async createInvitation( - @Path('tenantId') tenantId: string, - @Body() config?: Omit & RecipientKeyOption // Remove routing property from type - ) { - let outOfBandRecord: OutOfBandRecord | undefined - let invitationDid: string | undefined - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - if (config?.invitationDid) { - invitationDid = config?.invitationDid - } else { - const didRouting = await tenantAgent.mediationRecipient.getRouting({}) - const didDocument = createPeerDidDocumentFromServices([ - { - id: 'didcomm', - recipientKeys: [didRouting.recipientKey], - routingKeys: didRouting.routingKeys, - serviceEndpoint: didRouting.endpoints[0], - }, - ]) - const did = await tenantAgent.dids.create({ - didDocument, - method: 'peer', - options: { - numAlgo: PeerDidNumAlgo.MultipleInceptionKeyWithoutDoc, - }, - }) - invitationDid = did.didState.did - - if (!invitationDid) { - throw new InternalServerError('Error in creating invitationDid') - } - } - - outOfBandRecord = await tenantAgent.oob.createInvitation({ ...config, invitationDid }) - }) - - return { - invitationUrl: outOfBandRecord?.outOfBandInvitation.toUrl({ - domain: this.agent.config.endpoints[0], - }), - invitation: outOfBandRecord?.outOfBandInvitation.toJSON({ - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, - }), - outOfBandRecord: outOfBandRecord?.toJSON(), - invitationDid: config?.invitationDid ? '' : invitationDid, - } - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/create-legacy-invitation/:tenantId') - public async createLegacyInvitation( - @Path('tenantId') tenantId: string, - @Body() - config?: Omit & RecipientKeyOption // props removed because of issues with serialization - ) { - let getInvitation - try { - let routing: Routing - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - if (config?.recipientKey) { - routing = { - endpoints: tenantAgent.config.endpoints, - routingKeys: [], - recipientKey: Key.fromPublicKeyBase58(config.recipientKey, KeyType.Ed25519), - mediatorId: undefined, - } - } else { - routing = await tenantAgent.mediationRecipient.getRouting({}) - } - const { outOfBandRecord, invitation } = await tenantAgent.oob.createLegacyInvitation({ ...config, routing }) - getInvitation = { - invitationUrl: invitation.toUrl({ - domain: this.agent.config.endpoints[0], - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, - }), - invitation: invitation.toJSON({ - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, - }), - outOfBandRecord: outOfBandRecord.toJSON(), - ...(config?.recipientKey ? {} : { recipientKey: routing.recipientKey.publicKeyBase58 }), - } - }) - - return getInvitation - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/receive-invitation/:tenantId') - public async receiveInvitation( - @Body() invitationRequest: ReceiveInvitationProps, - @Path('tenantId') tenantId: string - ) { - let receiveInvitationRes - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const { invitation, ...config } = invitationRequest - const invite = new OutOfBandInvitation({ ...invitation, handshakeProtocols: invitation.handshake_protocols }) - const { outOfBandRecord, connectionRecord } = await tenantAgent.oob.receiveInvitation(invite, config) - receiveInvitationRes = { - outOfBandRecord: outOfBandRecord.toJSON(), - connectionRecord: connectionRecord?.toJSON(), - } - }) - - return receiveInvitationRes - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/receive-invitation-url/:tenantId') - public async receiveInvitationFromUrl( - @Body() invitationRequest: ReceiveInvitationByUrlProps, - @Path('tenantId') tenantId: string - ) { - let receiveInvitationUrl - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const { invitationUrl, ...config } = invitationRequest - const { outOfBandRecord, connectionRecord } = await tenantAgent.oob.receiveInvitationFromUrl( - invitationUrl, - config - ) - receiveInvitationUrl = { - outOfBandRecord: outOfBandRecord.toJSON(), - connectionRecord: connectionRecord?.toJSON(), - } - }) - return receiveInvitationUrl + const agent = request.agent as Agent + const tenantRecord: TenantRecord = await agent.modules.tenants.createTenant({ config }) + // Note: logic to store generate token for tenant using BW's secertKey + // Here no need to change the logic, here only change the logic in 'createToken' + const token = await this.createToken(agent, tenantRecord.id) + const withToken = { token, ...tenantRecord } + return withToken } catch (error) { throw ErrorHandlingService.handle(error) } } - @Security('apiKey') - @Get('/oob/:invitationId/:tenantId') - public async getAllOutOfBandRecords(@Path('tenantId') tenantId: string, @Path('invitationId') invitationId?: string) { - let outOfBandRecordsRes - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - let outOfBandRecords - outOfBandRecords = await tenantAgent.oob.getAll() - - if (invitationId) - outOfBandRecords = outOfBandRecords.filter((o: any) => o.outOfBandInvitation.id === invitationId) - outOfBandRecordsRes = outOfBandRecords.map((c: any) => c.toJSON()) - }) - - return outOfBandRecordsRes - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Get('/connections/:tenantId') - public async getAllConnections( + @Post('/get-token/:tenantId') + public async getTenantToken( + @Request() request: Req, @Path('tenantId') tenantId: string, - @Query('outOfBandId') outOfBandId?: string, - @Query('alias') alias?: string, - @Query('state') state?: DidExchangeState, - @Query('myDid') myDid?: string, - @Query('theirDid') theirDid?: string, - @Query('theirLabel') theirLabel?: string - ) { - let connectionRecord - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - if (outOfBandId) { - connectionRecord = await tenantAgent.connections.findAllByOutOfBandId(outOfBandId) - } else { - const connectionRepository = tenantAgent.dependencyManager.resolve(ConnectionRepository) - const connections = await connectionRepository.findByQuery(tenantAgent.context, { - alias, - myDid, - theirDid, - theirLabel, - state, - }) - connectionRecord = connections.map((c: any) => c.toJSON()) - } - }) - return connectionRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Get('/url/:tenantId/:invitationId') - public async getInvitation(@Path('invitationId') invitationId: string, @Path('tenantId') tenantId: string) { - try { - let invitationJson - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const outOfBandRecord = await tenantAgent.oob.findByCreatedInvitationId(invitationId) - - if (!outOfBandRecord || outOfBandRecord.state !== 'await-response') - throw new NotFoundError(`connection with invitationId "${invitationId}" not found.`) - - invitationJson = outOfBandRecord.outOfBandInvitation.toJSON({ useDidSovPrefixWhereAllowed: true }) - }) - return invitationJson - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/schema/:tenantId') - public async createSchema( - @Body() - schema: CreateSchemaInput, - @Path('tenantId') tenantId: string + @Res() notFoundError: TsoaResponse<404, { reason: string }>, + @Res() internalServerError: TsoaResponse<500, { message: string }>, ) { try { - let createSchemaTxResult: any - const { issuerId, name, version, attributes, endorserDid, endorse } = schema - - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const schemaPayload = { - issuerId, - name, - version, - attrNames: attributes, - } + const agent = request.agent as unknown as Agent + // Option1: logic to use tenant's secret key to generate token for tenant + // let secretKey + // await agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { + // const genericRecord = await tenantAgent.genericRecords.getAll() + // const records = genericRecord.find((record) => record?.content?.secretKey !== undefined) + // secretKey = records?.content.secretKey as string + // }) - const options = { - endorserMode: '', - endorserDid: '', - } + // Note: logic to store generate token for tenant using BW's secertKey - if (!endorse) { - options.endorserMode = EndorserMode.Internal - options.endorserDid = issuerId - } else { - if (!endorserDid) { - throw new BadRequestError(ENDORSER_DID_NOT_PRESENT) - } - options.endorserMode = EndorserMode.External - options.endorserDid = endorserDid - } + const genericRecord = await agent.genericRecords.findAllByQuery({ hasSecretKey: 'true' }) + const secretKey = genericRecord[0]?.content.secretKey as string - createSchemaTxResult = await tenantAgent.modules.anoncreds.registerSchema({ - schema: schemaPayload, - options: options, - }) - }) - if (createSchemaTxResult?.schemaState.state === CredentialEnum.Failed) { - throw new InternalServerError(`Schema creation failed. Reason: ${createSchemaTxResult?.schemaState.reason}`) - } - - if (createSchemaTxResult?.schemaState.state === CredentialEnum.Wait) { - this.setStatus(202) - return createSchemaTxResult + if (!secretKey) { + throw new Error('secretKey does not exist in wallet') } - if (createSchemaTxResult?.schemaState.state === CredentialEnum.Action) { - return createSchemaTxResult - } + const token = await this.createToken(agent, tenantId, secretKey) - if (createSchemaTxResult.schemaState.state === CredentialEnum.Finished) { - // TODO: Return uniform response for both Internally and Externally endorsed Schemas - if (!endorse) { - const indySchemaId = parseIndySchemaId(createSchemaTxResult.schemaState.schemaId as string) - const getSchemaUnqualifiedId = await getUnqualifiedSchemaId( - indySchemaId.namespaceIdentifier, - indySchemaId.schemaName, - indySchemaId.schemaVersion - ) - createSchemaTxResult.schemaState.schemaId = getSchemaUnqualifiedId - return createSchemaTxResult.schemaState - } - return createSchemaTxResult - } + return { token: token } } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/polygon-w3c/schema/:tenantId') - public async createPolygonW3CSchema( - @Body() - createSchemaRequest: { - did: string - schemaName: string - schema: { [key: string]: any } - }, - @Path('tenantId') tenantId: string - ): Promise { - try { - const { did, schemaName, schema } = createSchemaRequest - if (!did || !schemaName || !schema) { - throw new BadRequestError('One or more parameters are empty or undefined.') - } - - const schemaResponse = await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - return await tenantAgent.modules.polygon.createSchema({ - did, - schemaName, - schema, + if (error instanceof RecordNotFoundError) { + return notFoundError(404, { + reason: `SecretKey not found`, }) - }) - if (schemaResponse.schemaState?.state === CredentialEnum.Failed) { - const reason = schemaResponse.schemaState?.reason?.toLowerCase() - if (reason && reason.includes('insufficient') && reason.includes('funds')) { - throw new PaymentRequiredError( - 'Insufficient funds to the address, Please add funds to perform this operation' - ) - } else { - throw new InternalServerError(schemaResponse.schemaState?.reason) - } - } - const configFileData = fs.readFileSync('config.json', 'utf-8') - const config = JSON.parse(configFileData) - if (!config.schemaFileServerURL) { - throw new UnprocessableEntityError('Please provide valid schema file server URL') - } - - if (!schemaResponse?.schemaId) { - throw new InternalServerError('Error in getting schema response') - } - const schemaPayload: SchemaMetadata = { - schemaUrl: config.schemaFileServerURL + schemaResponse?.schemaId, - did: schemaResponse?.did, - schemaId: schemaResponse?.schemaId, - schemaTxnHash: schemaResponse?.resourceTxnHash, - } - - return schemaPayload - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Get('polygon-w3c/schema/:did/:schemaId/:tenantId') - public async getPolygonW3CSchemaById( - @Path('tenantId') tenantId: string, - @Path('did') did: string, - @Path('schemaId') schemaId: string - ) { - try { - let schemaDetails - - if (!tenantId || !did || !schemaId) { - throw new BadRequestError('Missing or invalid parameters.') - } - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - schemaDetails = await tenantAgent.modules.polygon.getSchemaById(did, schemaId) - }) - return schemaDetails - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/transactions/write/:tenantId') - public async writeSchemaAndCredDefOnLedger( - @Path('tenantId') tenantId: string, - @Body() - writeTransaction: WriteTransaction - ) { - try { - if (writeTransaction.schema) { - const writeSchema = await this.submitSchemaOnLedger( - writeTransaction.schema, - writeTransaction.endorsedTransaction, - tenantId - ) - return writeSchema - } else if (writeTransaction.credentialDefinition) { - const writeCredDef = await this.submitCredDefOnLedger( - writeTransaction.credentialDefinition, - writeTransaction.endorsedTransaction, - tenantId - ) - return writeCredDef - } else { - throw new Error('Please provide valid schema or credential-def!') - } - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - public async submitSchemaOnLedger( - schema: { - issuerId: string - name: string - version: Version - attributes: string[] - }, - endorsedTransaction: string, - tenantId: string - ) { - let schemaRecord - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const { issuerId, name, version, attributes } = schema - const { schemaState } = await tenantAgent.modules.anoncreds.registerSchema({ - options: { - endorserMode: 'external', - endorsedTransaction, - }, - schema: { - attrNames: attributes, - issuerId: issuerId, - name: name, - version: version, - }, - }) - - if (!schemaState.schemaId) { - throw Error('SchemaId not found') - } - - const indySchemaId = parseIndySchemaId(schemaState.schemaId) - const getSchemaUnqualifiedId = await getUnqualifiedSchemaId( - indySchemaId.namespaceIdentifier, - indySchemaId.schemaName, - indySchemaId.schemaVersion - ) - if (schemaState.state === CredentialEnum.Finished || schemaState.state === CredentialEnum.Action) { - schemaState.schemaId = getSchemaUnqualifiedId - } - schemaRecord = schemaState - }) - return schemaRecord - } - - public async submitCredDefOnLedger( - credentialDefinition: { - schemaId: string - issuerId: string - tag: string - value: unknown - type: string - }, - endorsedTransaction: string, - tenantId: string - ) { - let credentialDefinitionRecord - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const { credentialDefinitionState } = await tenantAgent.modules.anoncreds.registerCredentialDefinition({ - credentialDefinition, - options: { - endorserMode: 'external', - endorsedTransaction: endorsedTransaction, - // TODO: Update this later - supportRevocation: false, - }, - }) - - if (!credentialDefinitionState.credentialDefinitionId) { - throw Error('Credential Definition Id not found') - } - - const indyCredDefId = parseIndyCredentialDefinitionId(credentialDefinitionState.credentialDefinitionId) - const getCredentialDefinitionId = await getUnqualifiedCredentialDefinitionId( - indyCredDefId.namespaceIdentifier, - indyCredDefId.schemaSeqNo, - indyCredDefId.tag - ) - if ( - credentialDefinitionState.state === CredentialEnum.Finished || - credentialDefinitionState.state === CredentialEnum.Action - ) { - credentialDefinitionState.credentialDefinitionId = getCredentialDefinitionId - } - - credentialDefinitionRecord = credentialDefinitionState - }) - return credentialDefinitionRecord - } - - @Security('apiKey') - @Get('/schema/:schemaId/:tenantId') - public async getSchemaById(@Path('schemaId') schemaId: SchemaId, @Path('tenantId') tenantId: string) { - let schemBySchemaId - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - schemBySchemaId = await tenantAgent.modules.anoncreds.getSchema(schemaId) - - if ( - schemBySchemaId?.resolutionMetadata?.error === SchemaError.NotFound || - schemBySchemaId?.resolutionMetadata?.error === SchemaError.UnSupportedAnonCredsMethod - ) { - throw new NotFoundError( - schemBySchemaId?.resolutionMetadata?.message || `schema details with schema id "${schemaId}" not found.` - ) - } - }) - - return schemBySchemaId - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/credential-definition/:tenantId') - @Response(200, 'Action required') - @Response(202, 'Wait for action to complete') - public async createCredentialDefinition( - @Body() - credentialDefinitionRequest: { - issuerId: string - schemaId: string - tag: string - endorse?: boolean - endorserDid?: string - }, - @Path('tenantId') tenantId: string - ) { - try { - let registerCredentialDefinitionResult: any - const { issuerId, schemaId, tag, endorse, endorserDid } = credentialDefinitionRequest - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - credentialDefinitionRequest.endorse = credentialDefinitionRequest.endorse - ? credentialDefinitionRequest.endorse - : false - - const credDef = { - issuerId, - schemaId, - tag, - // TODO: Need to check this - // type: 'CL', - } - const credentialDefinitionPayload = { - credentialDefinition: credDef, - options: { - endorserMode: '', - endorserDid: '', - // TODO: update this later - supportRevocation: false, - }, - } - - if (!endorse) { - credentialDefinitionPayload.options.endorserMode = EndorserMode.Internal - credentialDefinitionPayload.options.endorserDid = issuerId - } else { - if (!endorserDid) { - throw new BadRequestError(ENDORSER_DID_NOT_PRESENT) - } - credentialDefinitionPayload.options.endorserMode = EndorserMode.External - credentialDefinitionPayload.options.endorserDid = endorserDid - } - - registerCredentialDefinitionResult = await tenantAgent.modules.anoncreds.registerCredentialDefinition( - credentialDefinitionPayload - ) - }) - - if (registerCredentialDefinitionResult?.credentialDefinitionState.state === CredentialEnum.Failed) { - throw new InternalServerError('Falied to register credef on ledger') - } - - if (registerCredentialDefinitionResult?.credentialDefinitionState.state === CredentialEnum.Wait) { - // The request has been accepted for processing, but the processing has not been completed. - this.setStatus(202) - return registerCredentialDefinitionResult - } - - if (registerCredentialDefinitionResult?.credentialDefinitionState.state === CredentialEnum.Action) { - return registerCredentialDefinitionResult - } - // TODO: Return uniform response for both Internally and Externally endorsed Schemas - if (!endorse) { - const indyCredDefId = parseIndyCredentialDefinitionId( - registerCredentialDefinitionResult?.credentialDefinitionState.credentialDefinitionId as string - ) - - const getCredentialDefinitionId = await getUnqualifiedCredentialDefinitionId( - indyCredDefId.namespaceIdentifier, - indyCredDefId.schemaSeqNo, - indyCredDefId.tag - ) - - registerCredentialDefinitionResult.credentialDefinitionState.credentialDefinitionId = getCredentialDefinitionId - return registerCredentialDefinitionResult?.credentialDefinitionState - } - return registerCredentialDefinitionResult - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Get('/credential-definition/:credentialDefinitionId/:tenantId') - public async getCredentialDefinitionById( - @Path('credentialDefinitionId') credentialDefinitionId: CredentialDefinitionId, - @Path('tenantId') tenantId: string - ) { - let credentialDefinitionResult: any - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - credentialDefinitionResult = await tenantAgent.modules.anoncreds.getCredentialDefinition(credentialDefinitionId) - }) - - if (credentialDefinitionResult.resolutionMetadata?.error === SchemaError.NotFound) { - throw new NotFoundError(credentialDefinitionResult.resolutionMetadata.message) - } - const error = credentialDefinitionResult.resolutionMetadata?.error - - if (error === 'invalid' || error === SchemaError.UnSupportedAnonCredsMethod) { - throw new BadRequestError(credentialDefinitionResult.resolutionMetadata.message) - } - - if (error !== undefined || credentialDefinitionResult.credentialDefinition === undefined) { - throw new InternalServerError(credentialDefinitionResult.resolutionMetadata.message) } - return credentialDefinitionResult - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/credentials/create-offer/:tenantId') - public async createOffer(@Body() createOfferOptions: CreateOfferOptions, @Path('tenantId') tenantId: string) { - let offer - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - offer = await tenantAgent.credentials.offerCredential({ - connectionId: createOfferOptions.connectionId, - protocolVersion: createOfferOptions.protocolVersion as CredentialProtocolVersionType<[]>, - credentialFormats: createOfferOptions.credentialFormats, - autoAcceptCredential: createOfferOptions.autoAcceptCredential, - }) - }) - - return offer - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/credentials/create-offer-oob/:tenantId') - public async createOfferOob(@Path('tenantId') tenantId: string, @Body() createOfferOptions: CreateOfferOobOptions) { - let createOfferOobRecord - - try { - let invitationDid: string | undefined - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const linkSecretIds = await tenantAgent.modules.anoncreds.getLinkSecretIds() - if (linkSecretIds.length === 0) { - await tenantAgent.modules.anoncreds.createLinkSecret() - } - - if (createOfferOptions?.invitationDid) { - invitationDid = createOfferOptions?.invitationDid - } else { - const didRouting = await tenantAgent.mediationRecipient.getRouting({}) - const didDocument = createPeerDidDocumentFromServices([ - { - id: 'didcomm', - recipientKeys: [didRouting.recipientKey], - routingKeys: didRouting.routingKeys, - serviceEndpoint: didRouting.endpoints[0], - }, - ]) - const did = await tenantAgent.dids.create({ - didDocument, - method: 'peer', - options: { - numAlgo: PeerDidNumAlgo.MultipleInceptionKeyWithoutDoc, - }, - }) - invitationDid = did.didState.did - } - - const offerOob = await tenantAgent.credentials.createOffer({ - protocolVersion: createOfferOptions.protocolVersion as CredentialProtocolVersionType<[]>, - credentialFormats: createOfferOptions.credentialFormats, - autoAcceptCredential: createOfferOptions.autoAcceptCredential, - comment: createOfferOptions.comment, - }) - - const credentialMessage = offerOob.message - const outOfBandRecord = await tenantAgent.oob.createInvitation({ - label: createOfferOptions.label, - messages: [credentialMessage], - autoAcceptConnection: true, - imageUrl: createOfferOptions?.imageUrl, - goalCode: createOfferOptions?.goalCode, - invitationDid, - }) - - createOfferOobRecord = { - invitationUrl: outOfBandRecord.outOfBandInvitation.toUrl({ - domain: this.agent.config.endpoints[0], - }), - invitation: outOfBandRecord.outOfBandInvitation.toJSON({ - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, - }), - outOfBandRecord: outOfBandRecord.toJSON(), - outOfBandRecordId: outOfBandRecord.id, - credentialRequestThId: offerOob.credentialRecord.threadId, - invitationDid: createOfferOptions?.invitationDid ? '' : invitationDid, - } - }) - return createOfferOobRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/credentials/accept-offer/:tenantId') - public async acceptOffer( - @Path('tenantId') tenantId: string, - @Body() acceptCredentialOfferOptions: AcceptCredentialOfferOptions - ) { - let acceptOffer - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const linkSecretIds = await tenantAgent.modules.anoncreds.getLinkSecretIds() - if (linkSecretIds.length === 0) { - await tenantAgent.modules.anoncreds.createLinkSecret() - } - acceptOffer = await tenantAgent.credentials.acceptOffer({ - credentialRecordId: acceptCredentialOfferOptions.credentialRecordId, - credentialFormats: acceptCredentialOfferOptions.credentialFormats, - autoAcceptCredential: acceptCredentialOfferOptions.autoAcceptCredential, - comment: acceptCredentialOfferOptions.comment, - }) - }) - - return acceptOffer - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Get('/credentials/:credentialRecordId/:tenantId') - public async getCredentialById( - @Path('credentialRecordId') credentialRecordId: RecordId, - @Path('tenantId') tenantId: string - ) { - let credentialRecord - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const credential = await tenantAgent.credentials.getById(credentialRecordId) - credentialRecord = credential.toJSON() - }) - - return credentialRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Get('/credentials/:tenantId') - public async getAllCredentials( - @Path('tenantId') tenantId: string, - @Query('threadId') threadId?: string, - @Query('connectionId') connectionId?: string, - @Query('state') state?: CredentialState - ) { - let credentialRecord - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const credentialRepository = tenantAgent.dependencyManager.resolve(CredentialRepository) - const credentials = await credentialRepository.findByQuery(tenantAgent.context, { - connectionId, - threadId, - state, - }) - credentialRecord = credentials.map((c: any) => c.toJSON()) - }) - return credentialRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - @Security('apiKey') - @Get('/credentials/form-data/:tenantId/:credentialRecordId') - public async credentialFormData( - @Path('tenantId') tenantId: string, - @Path('credentialRecordId') credentialRecordId: string - ) { - let credentialDetails - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - credentialDetails = await tenantAgent.credentials.getFormatData(credentialRecordId) - }) - return credentialDetails - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Get('/proofs/:tenantId') - public async getAllProofs(@Path('tenantId') tenantId: string, @Query('threadId') threadId?: string) { - let proofRecord - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - let proofs = await tenantAgent.proofs.getAll() - if (threadId) proofs = proofs.filter((p: any) => p.threadId === threadId) - proofRecord = proofs.map((proof: any) => proof.toJSON()) - }) - return proofRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Get('/form-data/:tenantId/:proofRecordId') - @Example(ProofRecordExample) - public async proofFormData(@Path('proofRecordId') proofRecordId: string, @Path('tenantId') tenantId: string) { - let proof - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - proof = await tenantAgent.proofs.getFormatData(proofRecordId) - }) - return proof - } catch (error) { - throw ErrorHandlingService.handle(error) + return internalServerError(500, { message: `Something went wrong: ${error}` }) } } - @Security('apiKey') - @Post('/proofs/request-proof/:tenantId') - @Example(ProofRecordExample) - public async requestProof(@Body() requestProofOptions: RequestProofOptions, @Path('tenantId') tenantId: string) { - let proof - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const requestProofPayload = { - connectionId: requestProofOptions.connectionId, - protocolVersion: requestProofOptions.protocolVersion as ProofsProtocolVersionType<[]>, - comment: requestProofOptions.comment, - proofFormats: requestProofOptions.proofFormats, - autoAcceptProof: requestProofOptions.autoAcceptProof, - goalCode: requestProofOptions.goalCode, - parentThreadId: requestProofOptions.parentThreadId, - willConfirm: requestProofOptions.willConfirm, - } - proof = await tenantAgent.proofs.requestProof(requestProofPayload) - }) - - return proof - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/proofs/create-request-oob/:tenantId') - public async createRequest( + @Get(':tenantId') + public async getTenantById( + @Request() request: Req, @Path('tenantId') tenantId: string, - @Body() createRequestOptions: CreateProofRequestOobOptions + @Res() notFoundError: TsoaResponse<404, { reason: string }>, + @Res() internalServerError: TsoaResponse<500, { message: string }>, ) { - let oobProofRecord try { - let invitationDid: string | undefined - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - if (createRequestOptions?.invitationDid) { - invitationDid = createRequestOptions?.invitationDid - } else { - const didRouting = await tenantAgent.mediationRecipient.getRouting({}) - const didDocument = createPeerDidDocumentFromServices([ - { - id: 'didcomm', - recipientKeys: [didRouting.recipientKey], - routingKeys: didRouting.routingKeys, - serviceEndpoint: didRouting.endpoints[0], - }, - ]) - const did = await tenantAgent.dids.create({ - didDocument, - method: 'peer', - options: { - numAlgo: PeerDidNumAlgo.MultipleInceptionKeyWithoutDoc, - }, - }) - invitationDid = did.didState.did - } - const proof = await tenantAgent.proofs.createRequest({ - protocolVersion: createRequestOptions.protocolVersion as ProofsProtocolVersionType<[]>, - proofFormats: createRequestOptions.proofFormats, - goalCode: createRequestOptions.goalCode, - willConfirm: createRequestOptions.willConfirm, - parentThreadId: createRequestOptions.parentThreadId, - autoAcceptProof: createRequestOptions.autoAcceptProof, - comment: createRequestOptions.comment, - }) - - const proofMessage = proof.message - const outOfBandRecord = await tenantAgent.oob.createInvitation({ - label: createRequestOptions.label, - messages: [proofMessage], - autoAcceptConnection: true, - imageUrl: createRequestOptions?.imageUrl, - invitationDid, - goalCode: createRequestOptions?.goalCode, - }) - - oobProofRecord = { - invitationUrl: outOfBandRecord.outOfBandInvitation.toUrl({ - domain: this.agent.config.endpoints[0], - }), - invitation: outOfBandRecord.outOfBandInvitation.toJSON({ - useDidSovPrefixWhereAllowed: this.agent.config.useDidSovPrefixWhereAllowed, - }), - outOfBandRecord: outOfBandRecord.toJSON(), - proofRecordThId: proof.proofRecord.threadId, - proofMessageId: proof.message.thread?.threadId - ? proof.message.thread?.threadId - : proof.message.threadId - ? proof.message.thread - : proof.message.id, - invitationDid: createRequestOptions?.invitationDid ? '' : invitationDid, - } - }) - - return oobProofRecord + const agent = request.agent as Agent + const getTenant = await agent.modules.tenants.getTenantById(tenantId) + return JsonTransformer.toJSON(getTenant) } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/proofs/:proofRecordId/accept-request/:tenantId') - @Example(ProofRecordExample) - public async acceptRequest( - @Path('tenantId') tenantId: string, - @Path('proofRecordId') proofRecordId: string, - @Body() - request: //TODO type for request - { - filterByPresentationPreview?: boolean - filterByNonRevocationRequirements?: boolean - comment?: string - } - ) { - let proofRecord - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const requestedCredentials = await tenantAgent.proofs.selectCredentialsForRequest({ - proofRecordId, + if (error instanceof RecordNotFoundError) { + return notFoundError(404, { + reason: `Tenant with id: ${tenantId} not found.`, }) - const acceptProofRequest: AcceptProofRequestOptions = { - proofRecordId, - comment: request.comment, - proofFormats: requestedCredentials.proofFormats, - } - const proof = await tenantAgent.proofs.acceptRequest(acceptProofRequest) - - proofRecord = proof.toJSON() - }) - return proofRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/proofs/:proofRecordId/accept-presentation/:tenantId') - @Example(ProofRecordExample) - public async acceptPresentation(@Path('tenantId') tenantId: string, @Path('proofRecordId') proofRecordId: string) { - let proof - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - proof = await tenantAgent.proofs.acceptPresentation({ proofRecordId }) - }) - return proof - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Get('/proofs/:proofRecordId/:tenantId') - @Example(ProofRecordExample) - public async getProofById(@Path('tenantId') tenantId: string, @Path('proofRecordId') proofRecordId: RecordId) { - let proofRecord - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const proof = await tenantAgent.proofs.getById(proofRecordId) - proofRecord = proof.toJSON() - }) - return proofRecord - } catch (error) { - throw ErrorHandlingService.handle(error) + } + return internalServerError(500, { message: `Something went wrong: ${error}` }) } } - @Security('apiKey') @Delete(':tenantId') - public async deleteTenantById(@Path('tenantId') tenantId: string) { - try { - const deleteTenant = await this.agent.modules.tenants.deleteTenantById(tenantId) - return JsonTransformer.toJSON(deleteTenant) - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/did/web/:tenantId') - public async createDidWeb(@Path('tenantId') tenantId: string, @Body() didOptions: DidCreate) { - try { - let didDoc - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - if (!didOptions.seed) { - throw Error('Seed is required') - } - if (!didOptions.keyType) { - throw new BadRequestError('keyType is required') - } - if (!didOptions.domain) { - throw new BadRequestError('domain is required') - } - if (didOptions.keyType !== KeyType.Ed25519 && didOptions.keyType !== KeyType.Bls12381g2) { - throw Error('Only ed25519 and bls12381g2 key type supported') - } - const did = `did:${didOptions.method}:${didOptions.domain}` - let didDocument: any - const keyId = `${did}#key-1` - const key = await tenantAgent.wallet.createKey({ - keyType: didOptions.keyType, - seed: TypedArrayEncoder.fromString(didOptions.seed), - }) - if (didOptions.keyType === 'ed25519') { - didDocument = new DidDocumentBuilder(did) - .addContext('https://w3id.org/security/suites/ed25519-2018/v1') - .addVerificationMethod(getEd25519VerificationKey2018({ key, id: keyId, controller: did })) - .addAuthentication(keyId) - .build() - } - if (didOptions.keyType === 'bls12381g2') { - didDocument = new DidDocumentBuilder(did) - .addContext('https://w3id.org/security/bbs/v1') - .addVerificationMethod(getBls12381G2Key2020({ key, id: keyId, controller: did })) - .addAuthentication(keyId) - .build() - } - - didDoc = { - did, - didDocument: didDocument.toJSON(), - } - }) - return didDoc - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/did/key:tenantId') - public async createDidKey(@Path('tenantId') tenantId: string, @Body() didOptions: DidCreate) { - try { - let didCreateResponse - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - if (!didOptions.seed) { - throw new BadRequestError('Seed is required') - } - didCreateResponse = await tenantAgent.dids.create({ - //TODO enum for method - method: 'key', - options: { - keyType: KeyType.Ed25519, - }, - secret: { - privateKey: TypedArrayEncoder.fromString(didOptions.seed), - }, - }) - }) - return didCreateResponse - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - /** - * Retrieve question and answer records by query - * - * @param tenantId Tenant identifier - * @param connectionId Connection identifier - * @param role Role of the question - * @param state State of the question - * @param threadId Thread identifier - * @returns QuestionAnswerRecord[] - */ - @Security('apiKey') - @Get('/question-answer/:tenantId') - public async getQuestionAnswerRecords( + public async deleteTenantById( + @Request() request: Req, @Path('tenantId') tenantId: string, - @Query('connectionId') connectionId?: string, - @Query('role') role?: QuestionAnswerRole, - @Query('state') state?: QuestionAnswerState, - @Query('threadId') threadId?: string + @Res() notFoundError: TsoaResponse<404, { reason: string }>, + @Res() internalServerError: TsoaResponse<500, { message: string }>, ) { try { - let questionAnswerRecords: QuestionAnswerRecord[] = [] - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - questionAnswerRecords = await tenantAgent.modules.questionAnswer.findAllByQuery({ - connectionId, - role, - state, - threadId, - }) - }) - return questionAnswerRecords.map((record) => record.toJSON()) + const agent = request.agent as Agent + const deleteTenant = await agent.modules.tenants.deleteTenantById(tenantId) + return JsonTransformer.toJSON(deleteTenant) } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - /** - * Send a question to a connection - * - * @param tenantId Tenant identifier - * @param connectionId Connection identifier - * @param content The content of the message - */ - @Security('apiKey') - @Post('/question-answer/question/:connectionId/:tenantId') - public async sendQuestion( - @Path('connectionId') connectionId: RecordId, - @Path('tenantId') tenantId: string, - @Body() - config: //TODO type for config - { - question: string - validResponses: ValidResponse[] - detail?: string - } - ) { - try { - const { question, validResponses, detail } = config - let questionAnswerRecord - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - questionAnswerRecord = await tenantAgent.modules.questionAnswer.sendQuestion(connectionId, { - question, - validResponses, - detail, + if (error instanceof RecordNotFoundError) { + return notFoundError(404, { + reason: `Tenant with id: ${tenantId} not found.`, }) - questionAnswerRecord = questionAnswerRecord?.toJSON() - }) - return questionAnswerRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - /** - * Send a answer to question - * - * @param tenantId Tenant identifier - * @param id Question Answer Record identifier - * @param response The response of the question - */ - @Security('apiKey') - @Post('/question-answer/answer/:id/:tenantId') - public async sendAnswer( - @Path('id') id: RecordId, - @Path('tenantId') tenantId: string, - @Body() request: Record<'response', string> - ) { - try { - let questionAnswerRecord - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const record = await tenantAgent.modules.questionAnswer.sendAnswer(id, request.response) - questionAnswerRecord = record.toJSON() - }) - return questionAnswerRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - /** - * Retrieve question answer record by id - * - * @param id Question Answer Record identifier - * @param tenantId Tenant identifier - * @returns ConnectionRecord - */ - @Security('apiKey') - @Get('/question-answer/:id/:tenantId') - public async getQuestionAnswerRecordById(@Path('id') id: RecordId, @Path('tenantId') tenantId: string) { - try { - let questionAnswerRecord - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const record = await tenantAgent.modules.questionAnswer.findById(id) - questionAnswerRecord = record - }) - if (!questionAnswerRecord) { - throw new NotFoundError(`Question Answer Record with id "${id}" not found.`) - } - return questionAnswerRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - /** - * Retrieve basic messages by connection id - * - * @param connectionId Connection identifier - * @returns BasicMessageRecord[] - */ - @Example([BasicMessageRecordExample]) - @Security('apiKey') - @Get('/basic-messages/:connectionId/:tenantId') - public async getBasicMessages(@Path('connectionId') connectionId: RecordId, @Path('tenantId') tenantId: string) { - try { - let basicMessageRecords - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - basicMessageRecords = await tenantAgent.basicMessages.findAllByQuery({ connectionId }) - }) - if (!basicMessageRecords) { - throw new NotFoundError(`Basic message with id "${connectionId}" not found.`) } - - return basicMessageRecords - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - /** - * Send a basic message to a connection - * - * @param connectionId Connection identifier - * @param content The content of the message - */ - @Example(BasicMessageRecordExample) - @Security('apiKey') - @Post('/basic-messages/:connectionId/:tenantId') - public async sendMessage( - @Path('connectionId') connectionId: RecordId, - @Path('tenantId') tenantId: string, - @Body() request: Record<'content', string> - ) { - try { - let basicMessageRecord - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - basicMessageRecord = await tenantAgent.basicMessages.sendMessage(connectionId, request.content) - }) - return basicMessageRecord - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - /** - * Verify data using a key - * - * @param tenantId Tenant identifier - * @param request Verify options - * data - Data has to be in base64 format - * publicKeyBase58 - Public key in base58 format - * signature - Signature in base64 format - * @returns isValidSignature - true if signature is valid, false otherwise - */ - @Security('apiKey') - @Post('/verify/:tenantId') - public async verify(@Path('tenantId') tenantId: string, @Body() request: VerifyDataOptions) { - try { - const isValidSignature = await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - assertAskarWallet(tenantAgent.context.wallet) - const isValidSignature = await tenantAgent.context.wallet.verify({ - data: TypedArrayEncoder.fromBase64(request.data), - key: Key.fromPublicKeyBase58(request.publicKeyBase58, request.keyType), - signature: TypedArrayEncoder.fromBase64(request.signature), - }) - return isValidSignature - }) - return isValidSignature - } catch (error) { - throw ErrorHandlingService.handle(error) + return internalServerError(500, { message: `Something went wrong: ${error}` }) } } - @Security('apiKey') - @Post('/credential/sign/:tenantId') - public async signCredential( - @Path('tenantId') tenantId: string, - @Query('storeCredential') storeCredential: boolean, - @Query('dataTypeToSign') dataTypeToSign: 'rawData' | 'jsonLd', - @Body() data: CustomW3cJsonLdSignCredentialOptions | SignDataOptions | any - ) { - try { - return await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - // JSON-LD VC Signing - if (dataTypeToSign === 'jsonLd') { - const credentialData = data as unknown as W3cJsonLdSignCredentialOptions - credentialData.format = ClaimFormat.LdpVc - - const signedCredential = await tenantAgent.w3cCredentials.signCredential(credentialData) as W3cJsonLdVerifiableCredential - - if (storeCredential) { - return await tenantAgent.w3cCredentials.storeCredential({ credential: signedCredential }) - } - - return signedCredential.toJson() - } - - // Raw Data Signing - const rawData = data as SignDataOptions - - if (!rawData.data) throw new BadRequestError('Missing "data" for raw data signing.') - - const hasDidOrMethod = rawData.did || rawData.method - const hasPublicKey = rawData.publicKeyBase58 && rawData.keyType - - if (!hasDidOrMethod && !hasPublicKey) { - throw new BadRequestError('Either (did or method) OR (publicKeyBase58 and keyType) must be provided.') - } - - let keyToUse: Key - - if (hasDidOrMethod) { - const dids = await tenantAgent.dids.getCreatedDids({ - method: rawData.method || undefined, - did: rawData.did || undefined, - }) - - const verificationMethod = dids[0]?.didDocument?.verificationMethod?.[0]?.publicKeyBase58 - if (!verificationMethod) { - throw new BadRequestError('No publicKeyBase58 found for the given DID or method.') - } + private async createToken(agent: Agent, tenantId: string, secretKey?: string) { + let key: string + if (!secretKey) { + // Option1: logic to use tenant's secret key to generate token for tenant + // key = await generateSecretKey() + // await agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { + // tenantAgent.genericRecords.save({ + // content: { + // secretKey: key, + // }, + // }) + // }) - keyToUse = Key.fromPublicKeyBase58(verificationMethod, rawData.keyType) - } else { - keyToUse = Key.fromPublicKeyBase58(rawData.publicKeyBase58, rawData.keyType) - } + // Option2: logic to store generate token for tenant using BW's secertKey + const genericRecord = await agent.genericRecords.findAllByQuery({ hasSecretKey: 'true' }) + key = genericRecord[0].content.secretKey as string - if (!keyToUse) { - throw new Error('Unable to construct signing key.') - } - - const signature = await tenantAgent.context.wallet.sign({ - data: TypedArrayEncoder.fromBase64(rawData.data), - key: keyToUse, - }) - - return TypedArrayEncoder.toBase64(signature) - }) - } catch (error) { - throw ErrorHandlingService.handle(error) - } - } - - @Security('apiKey') - @Post('/credential/verify/:tenantId') - public async verifyCredential( - @Path('tenantId') tenantId: string, - @Body() credentialToVerify: SafeW3cJsonLdVerifyCredentialOptions | any - ) { - let formattedCredential - try { - await this.agent.modules.tenants.withTenantAgent({ tenantId }, async (tenantAgent) => { - const {credential, ...credentialOptions}= credentialToVerify - const transformedCredential = JsonTransformer.fromJSON(credentialToVerify?.credential, W3cJsonLdVerifiableCredential) - const signedCred = await tenantAgent.w3cCredentials.verifyCredential({credential: transformedCredential, ...credentialOptions}) - formattedCredential = signedCred - }) - return formattedCredential - } catch (error) { - throw ErrorHandlingService.handle(error) + if (!key) { + throw new Error('SecretKey does not exist for basewallet') + } + } else { + key = secretKey } + const token = jwt.sign({ role: AgentRole.RestTenantAgent, tenantId }, key) + return token } } - diff --git a/src/controllers/polygon/PolygonController.ts b/src/controllers/polygon/PolygonController.ts index c028ab4d..a3651ab0 100644 --- a/src/controllers/polygon/PolygonController.ts +++ b/src/controllers/polygon/PolygonController.ts @@ -1,29 +1,21 @@ -import type { RestAgentModules } from '../../cliAgent' import type { SchemaMetadata } from '../types' import { generateSecp256k1KeyPair } from '@ayanworks/credo-polygon-w3c-module' -import { DidOperation } from '@ayanworks/credo-polygon-w3c-module/build/ledger' -import { Agent } from '@credo-ts/core' +import { DidOperation, DidOperationOptions } from '@ayanworks/credo-polygon-w3c-module/build/ledger' +import { Request as Req } from 'express' import * as fs from 'fs' +import { Route, Tags, Security, Controller, Post, Body, Get, Path, Request } from 'tsoa' import { injectable } from 'tsyringe' +import { CredentialEnum, SCOPES } from '../../enums' import ErrorHandlingService from '../../errorHandlingService' import { BadRequestError, UnprocessableEntityError } from '../../errors' -import { Route, Tags, Security, Controller, Post, Body, Get, Path } from 'tsoa' - @Tags('Polygon') -@Security('apiKey') +@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @Route('/polygon') @injectable() export class Polygon extends Controller { - private agent: Agent - - public constructor(agent: Agent) { - super() - this.agent = agent - } - /** * Create Secp256k1 key pair for polygon DID * @@ -50,12 +42,13 @@ export class Polygon extends Controller { */ @Post('create-schema') public async createSchema( + @Request() request: Req, @Body() createSchemaRequest: { did: string schemaName: string - schema: { [key: string]: any } - } + schema: Record + }, ): Promise { try { const { did, schemaName, schema } = createSchemaRequest @@ -63,16 +56,16 @@ export class Polygon extends Controller { throw new BadRequestError('One or more parameters are empty or undefined.') } - const schemaResponse = await this.agent.modules.polygon.createSchema({ + const schemaResponse = await request.agent.modules.polygon.createSchema({ did, schemaName, schema, }) - if (schemaResponse.schemaState?.state === 'failed') { + if (schemaResponse.schemaState?.state === CredentialEnum.Failed) { const reason = schemaResponse.schemaState?.reason?.toLowerCase() if (reason && reason.includes('insufficient') && reason.includes('funds')) { throw new UnprocessableEntityError( - 'Insufficient funds to the address, Please add funds to perform this operation' + 'Insufficient funds to the address, Please add funds to perform this operation', ) } else { throw new Error(schemaResponse.schemaState?.reason) @@ -85,7 +78,7 @@ export class Polygon extends Controller { } if (!schemaResponse?.schemaId) { - throw new BadRequestError('Invalid schema response') + throw new BadRequestError('Error in getting schema response or Invalid schema response') } const schemaPayload: SchemaMetadata = { schemaUrl: configJson.schemaFileServerURL + schemaResponse?.schemaId, @@ -106,11 +99,9 @@ export class Polygon extends Controller { */ @Post('estimate-transaction') public async estimateTransaction( + @Request() request: Req, @Body() - estimateTransactionRequest: { - operation: any - transaction: any - } + estimateTransactionRequest: DidOperationOptions, ): Promise { try { const { operation } = estimateTransactionRequest @@ -119,9 +110,9 @@ export class Polygon extends Controller { throw new BadRequestError('Invalid method parameter!') } if (operation === DidOperation.Create) { - return this.agent.modules.polygon.estimateFeeForDidOperation({ operation }) + return request.agent.modules.polygon.estimateFeeForDidOperation({ operation }) } else if (operation === DidOperation.Update) { - return this.agent.modules.polygon.estimateFeeForDidOperation({ operation }) + return request.agent.modules.polygon.estimateFeeForDidOperation({ ...estimateTransactionRequest }) } } catch (error) { throw ErrorHandlingService.handle(error) @@ -134,9 +125,17 @@ export class Polygon extends Controller { * @returns Schema Object */ @Get(':did/:schemaId') - public async getSchemaById(@Path('did') did: string, @Path('schemaId') schemaId: string): Promise { + public async getSchemaById( + @Request() request: Req, + @Path('did') did: string, + @Path('schemaId') schemaId: string, + ): Promise { try { - return this.agent.modules.polygon.getSchemaById(did, schemaId) + if (!did || !schemaId) { + throw new BadRequestError('Missing or invalid parameters.') + } + const schemaDetails = await request.agent.modules.polygon.getSchemaById(did, schemaId) + return schemaDetails } catch (error) { throw ErrorHandlingService.handle(error) } diff --git a/src/controllers/types.ts b/src/controllers/types.ts index 227d94a0..8f9ded7f 100644 --- a/src/controllers/types.ts +++ b/src/controllers/types.ts @@ -1,5 +1,5 @@ -import type { RecordId, Version } from './examples' -import type { CustomHandshakeProtocol } from '../enums/enum' +import type { RecordId } from './examples' +import type { CustomHandshakeProtocol } from '../enums' import type { AnonCredsCredentialFormat, LegacyIndyCredentialFormat } from '@credo-ts/anoncreds' import type { AutoAcceptCredential, @@ -32,11 +32,11 @@ import type { W3cCredential, W3cCredentialSubject, } from '@credo-ts/core' +import type { LinkedDataProofOptions } from '@credo-ts/core/build/modules/vc/data-integrity/models/LinkedDataProof' import type { SingleOrArray } from '@credo-ts/core/build/utils' import type { DIDDocument } from 'did-resolver' -import { LinkedDataProofOptions } from '@credo-ts/core/build/modules/vc/data-integrity/models/LinkedDataProof' -export type TenantConfig = Pick & { +export type CustomTenantConfig = Pick & { walletConfig: Pick } @@ -47,6 +47,10 @@ export interface AgentInfo { publicDid: void } +export interface AgentToken { + token: string +} + export interface AgentMessageType { '@id': string '@type': string @@ -98,6 +102,8 @@ export interface CreateOfferOptions { credentialFormats: CredentialFormatPayload autoAcceptCredential?: AutoAcceptCredential comment?: string + goalCode?: string + goal?: string } type CredentialFormatType = LegacyIndyCredentialFormat | JsonLdCredentialFormat | AnonCredsCredentialFormat @@ -251,10 +257,7 @@ export interface RequestProofOptions { // TODO: added type in protocolVersion export interface RequestProofProposalOptions { connectionId: string - proofFormats: { - formats: ProofFormat[] - action: 'createProposal' - } + proofFormats: any goalCode?: string parentThreadId?: string autoAcceptProof?: AutoAcceptProof @@ -263,10 +266,7 @@ export interface RequestProofProposalOptions { export interface AcceptProofProposal { proofRecordId: string - proofFormats: { - formats: ProofFormat[] - action: 'acceptProposal' - } + proofFormats: any comment?: string autoAcceptProof?: AutoAcceptProof goalCode?: string @@ -306,7 +306,7 @@ export interface DidCreate { } export interface CreateTenantOptions { - config: Omit + config: Omit } // export type WithTenantAgentCallback = ( @@ -358,7 +358,7 @@ export interface WriteTransaction { schema?: { issuerId: string name: string - version: Version + version: string attributes: string[] } credentialDefinition?: { @@ -376,7 +376,7 @@ export interface RecipientKeyOption { export interface CreateSchemaInput { issuerId: string name: string - version: Version + version: string attributes: string[] endorse?: boolean endorserDid?: string @@ -422,7 +422,7 @@ export interface credentialPayloadToSign { } export interface SafeW3cJsonLdVerifyCredentialOptions extends W3cJsonLdVerifyCredentialOptions { // Ommited due to issues with TSOA - proof: SingleOrArray | DataIntegrityProofOptions> + proof: SingleOrArray | DataIntegrityProofOptions> } export type ExtensibleW3cCredentialSubject = W3cCredentialSubject & { diff --git a/src/enums/enum.ts b/src/enums/enum.ts index 6468e3af..d01d77c3 100644 --- a/src/enums/enum.ts +++ b/src/enums/enum.ts @@ -71,3 +71,25 @@ export declare enum CustomHandshakeProtocol { DidExchange = 'https://didcomm.org/didexchange/1.1', Connections = 'https://didcomm.org/connections/1.0', } + +export enum AgentRole { + RestRootAgentWithTenants = 'RestRootAgentWithTenants', + RestRootAgent = 'RestRootAgent', + RestTenantAgent = 'RestTenantAgent', +} + +export enum ErrorMessages { + Unauthorized = 'Unauthorized', +} + +export enum RESULT { + SUCCESS = 'SUCCESS', + FAILED = 'FAILED', +} + +export enum SCOPES { + UNPROTECTED = 'skip', + MULTITENANT_BASE_AGENT = 'Basewallet', + TENANT_AGENT = 'tenant', + DEDICATED_AGENT = 'dedicated', +} diff --git a/src/enums/index.ts b/src/enums/index.ts new file mode 100644 index 00000000..a31b049d --- /dev/null +++ b/src/enums/index.ts @@ -0,0 +1 @@ +export * from './enum' diff --git a/src/errors/StatusException.ts b/src/errors/StatusException.ts new file mode 100644 index 00000000..c41dced6 --- /dev/null +++ b/src/errors/StatusException.ts @@ -0,0 +1,8 @@ +export class StatusException extends Error { + public status: number + + public constructor(message: string, status: number) { + super(message) + this.status = status + } +} diff --git a/src/errors/index.ts b/src/errors/index.ts index 183e8bd0..25c3a6b7 100644 --- a/src/errors/index.ts +++ b/src/errors/index.ts @@ -1 +1,3 @@ export * from './errors' +export * from './ApiError' +export * from './StatusException' diff --git a/src/events/CredentialEvents.ts b/src/events/CredentialEvents.ts index 7ee22e27..9c94693e 100644 --- a/src/events/CredentialEvents.ts +++ b/src/events/CredentialEvents.ts @@ -7,7 +7,7 @@ import { CredentialEventTypes } from '@credo-ts/core' import { sendWebSocketEvent } from './WebSocketEvents' import { sendWebhookEvent } from './WebhookEvent' -export const credentialEvents = async (agent: Agent, config: ServerConfig) => { +export const credentialEvents = async (agent: Agent, config: ServerConfig) => { agent.events.on(CredentialEventTypes.CredentialStateChanged, async (event: CredentialStateChangedEvent) => { const record = event.payload.credentialRecord @@ -18,30 +18,14 @@ export const credentialEvents = async (agent: Agent credentialData: null, } - if (event.metadata.contextCorrelationId !== 'default') { - await agent.modules.tenants.withTenantAgent( - { tenantId: event.metadata.contextCorrelationId }, - async (tenantAgent) => { - if (record?.connectionId) { - const connectionRecord = await tenantAgent.connections.findById(record.connectionId!) - body.outOfBandId = connectionRecord?.outOfBandId - } - const data = await tenantAgent.credentials.getFormatData(record.id) - body.credentialData = data - } - ) + if (record?.connectionId) { + const connectionRecord = await agent.connections.findById(record.connectionId!) + body.outOfBandId = connectionRecord?.outOfBandId } - if (event.metadata.contextCorrelationId === 'default') { - if (record?.connectionId) { - const connectionRecord = await agent.connections.findById(record.connectionId!) - body.outOfBandId = connectionRecord?.outOfBandId - } + const data = await agent.credentials.getFormatData(record.id) + body.credentialData = data - const data = await agent.credentials.getFormatData(record.id) - body.credentialData = data - } - // Only send webhook if webhook url is configured if (config.webhookUrl) { await sendWebhookEvent(config.webhookUrl + '/credentials', body, agent.config.logger) } diff --git a/src/events/QuestionAnswerEvents.ts b/src/events/QuestionAnswerEvents.ts index 452d7598..1553342a 100644 --- a/src/events/QuestionAnswerEvents.ts +++ b/src/events/QuestionAnswerEvents.ts @@ -29,6 +29,6 @@ export const questionAnswerEvents = async (agent: Agent, config: ServerConfig) = }, }) } - } + }, ) } diff --git a/src/events/WebhookEvent.ts b/src/events/WebhookEvent.ts index d7b215fe..307bfb05 100644 --- a/src/events/WebhookEvent.ts +++ b/src/events/WebhookEvent.ts @@ -2,16 +2,33 @@ import type { Logger } from '@credo-ts/core' import fetch from 'node-fetch' -export const sendWebhookEvent = async (webhookUrl: string, body: Record, logger: Logger) => { +export const sendWebhookEvent = async ( + webhookUrl: string, + body: Record, + logger: Logger, + timeoutMs = 5000, +): Promise => { + // Abort the webhook send events if the request hangs-in for >5 secs + // This can avoid failure of services due to bad webhook listners + const controller = new AbortController() + const timeout = setTimeout(() => controller.abort(), timeoutMs) + try { await fetch(webhookUrl, { method: 'POST', body: JSON.stringify(body), headers: { 'Content-Type': 'application/json' }, + signal: controller.signal, }) - } catch (error) { - logger.error(`Error sending ${body.type} webhook event to ${webhookUrl}`, { + } catch (error: any) { + const type = body?.type ?? 'unknown' + logger.error(`Error sending '${type}' webhook event to ${webhookUrl}`, { cause: error, + // Logging improved to understand if the error is actually from delayed response or some other error. + // Helpful when debugging + aborted: error.name === 'AbortError', }) + } finally { + clearTimeout(timeout) } } diff --git a/src/index.ts b/src/index.ts index abb5b07f..bd27e821 100644 --- a/src/index.ts +++ b/src/index.ts @@ -17,7 +17,6 @@ export const startServer = async (agent: Agent, config: ServerConfig) => { // to also host the websocket server if (!config.socketServer) { server.on('upgrade', (request, socket, head) => { - // eslint-disable-next-line @typescript-eslint/no-empty-function socketServer.handleUpgrade(request, socket as Socket, head, () => {}) }) } diff --git a/src/routes/routes.ts b/src/routes/routes.ts index a41ecc98..62c08949 100644 --- a/src/routes/routes.ts +++ b/src/routes/routes.ts @@ -4,31 +4,31 @@ import type { TsoaRoute } from '@tsoa/runtime'; import { fetchMiddlewares, ExpressTemplateService } from '@tsoa/runtime'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { ProofController } from './../controllers/proofs/ProofController'; -// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa import { Polygon } from './../controllers/polygon/PolygonController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { OutOfBandController } from './../controllers/outofband/OutOfBandController'; +import { EndorserTransactionController } from './../controllers/anoncreds/endorser-transaction/EndorserTransactionController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { MultiTenancyController } from './../controllers/multi-tenancy/MultiTenancyController'; +import { DidController } from './../controllers/did/DidController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { EndorserTransactionController } from './../controllers/endorser-transaction/EndorserTransactionController'; +import { SchemaController } from './../controllers/anoncreds/schema/SchemaController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { DidController } from './../controllers/did/DidController'; +import { CredentialDefinitionController } from './../controllers/anoncreds/cred-def/CredentialDefinitionController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { SchemaController } from './../controllers/credentials/SchemaController'; +import { AgentController } from './../controllers/agent/AgentController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { CredentialDefinitionController } from './../controllers/credentials/CredentialDefinitionController'; +import { QuestionAnswerController } from './../controllers/didcomm/question-answer/QuestionAnswerController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { CredentialController } from './../controllers/credentials/CredentialController'; +import { ProofController } from './../controllers/didcomm/proofs/ProofController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { ConnectionController } from './../controllers/connections/ConnectionController'; +import { OutOfBandController } from './../controllers/didcomm/outofband/OutOfBandController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { BasicMessageController } from './../controllers/basic-messages/BasicMessageController'; +import { CredentialController } from './../controllers/didcomm/credentials/CredentialController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { AgentController } from './../controllers/agent/AgentController'; +import { ConnectionController } from './../controllers/didcomm/connections/ConnectionController'; // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa -import { QuestionAnswerController } from './../controllers/question-answer/QuestionAnswerController'; +import { BasicMessageController } from './../controllers/didcomm/basic-messages/BasicMessageController'; +// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa +import { MultiTenancyController } from './../controllers/multi-tenancy/MultiTenancyController'; import { expressAuthentication } from './../authentication'; // @ts-ignore - no great way to install types from subpackage import { iocContainer } from './../utils/tsyringeTsoaIocContainer'; @@ -43,377 +43,302 @@ const expressAuthenticationRecasted = expressAuthentication as (req: ExRequest, const models: TsoaRoute.Models = { "Record_string.unknown_": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RecordId": { + "DidOperation.Create": { + "dataType": "refEnum", + "enums": ["createDID"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CreateDidOperationOptions": { "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"serviceEndpoint":{"dataType":"string"},"operation":{"ref":"DidOperation.Create","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ProofExchangeRecord": { + "DidOperation.Update": { + "dataType": "refEnum", + "enums": ["updateDIDDoc"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Record_string.any_": { "dataType": "refAlias", - "type": {"ref":"Record_string.unknown_","validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ProofFormat": { - "dataType": "refObject", - "properties": { - "formatKey": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"nestedObjectLiteral","nestedProperties":{"selectCredentialsForRequest":{"dataType":"nestedObjectLiteral","nestedProperties":{"output":{"dataType":"any","required":true},"input":{"dataType":"any","required":true}},"required":true},"getCredentialsForRequest":{"dataType":"nestedObjectLiteral","nestedProperties":{"output":{"dataType":"any","required":true},"input":{"dataType":"any","required":true}},"required":true},"acceptRequest":{"dataType":"any","required":true},"createRequest":{"dataType":"any","required":true},"acceptProposal":{"dataType":"any","required":true},"createProposal":{"dataType":"any","required":true}},"required":true}, - "formatData": {"dataType":"nestedObjectLiteral","nestedProperties":{"presentation":{"dataType":"any","required":true},"request":{"dataType":"any","required":true},"proposal":{"dataType":"any","required":true}},"required":true}, - }, - "additionalProperties": false, + "DidDocument": { + "dataType": "refAlias", + "type": {"ref":"Record_string.any_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AutoAcceptProof": { + "UpdateDidOperationOptions": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"did":{"dataType":"string","required":true},"didDocument":{"ref":"DidDocument","required":true},"operation":{"ref":"DidOperation.Update","required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "DidOperation.Deactivate": { "dataType": "refEnum", - "enums": ["always","contentApproved","never"], + "enums": ["deactivate"], }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestProofProposalOptions": { + "DeactivateDidOperationOptions": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"did":{"dataType":"string","required":true},"operation":{"ref":"DidOperation.Deactivate","required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "DidOperation.AddResource": { + "dataType": "refEnum", + "enums": ["addResource"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "AddResourceDidOperationOptions": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"did":{"dataType":"string","required":true},"resource":{"dataType":"object","required":true},"resourceId":{"dataType":"string","required":true},"operation":{"ref":"DidOperation.AddResource","required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "DidOperationOptions": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"CreateDidOperationOptions"},{"ref":"UpdateDidOperationOptions"},{"ref":"DeactivateDidOperationOptions"},{"ref":"AddResourceDidOperationOptions"}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "EndorserTransaction": { "dataType": "refObject", "properties": { - "connectionId": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"nestedObjectLiteral","nestedProperties":{"action":{"dataType":"enum","enums":["createProposal"],"required":true},"formats":{"dataType":"array","array":{"dataType":"refObject","ref":"ProofFormat"},"required":true}},"required":true}, - "goalCode": {"dataType":"string"}, - "parentThreadId": {"dataType":"string"}, - "autoAcceptProof": {"ref":"AutoAcceptProof"}, - "comment": {"dataType":"string"}, + "transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"Record_string.unknown_"}],"required":true}, + "endorserDid": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AcceptProofProposal": { + "DidRegistrationSecretOptions": { + "dataType": "refAlias", + "type": {"ref":"Record_string.unknown_","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "DidOperationStateWait": { "dataType": "refObject", "properties": { - "proofRecordId": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"nestedObjectLiteral","nestedProperties":{"action":{"dataType":"enum","enums":["acceptProposal"],"required":true},"formats":{"dataType":"array","array":{"dataType":"refObject","ref":"ProofFormat"},"required":true}},"required":true}, - "comment": {"dataType":"string"}, - "autoAcceptProof": {"ref":"AutoAcceptProof"}, - "goalCode": {"dataType":"string"}, - "willConfirm": {"dataType":"boolean"}, + "state": {"dataType":"enum","enums":["wait"],"required":true}, + "did": {"dataType":"string"}, + "secret": {"ref":"DidRegistrationSecretOptions"}, + "didDocument": {"ref":"DidDocument"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RequestProofOptions": { + "DidOperationStateActionBase": { "dataType": "refObject", "properties": { - "connectionId": {"dataType":"string","required":true}, - "protocolVersion": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"any","required":true}, - "comment": {"dataType":"string","required":true}, - "autoAcceptProof": {"ref":"AutoAcceptProof","required":true}, - "goalCode": {"dataType":"string"}, - "parentThreadId": {"dataType":"string"}, - "willConfirm": {"dataType":"boolean"}, + "state": {"dataType":"enum","enums":["action"],"required":true}, + "action": {"dataType":"string","required":true}, + "did": {"dataType":"string"}, + "secret": {"ref":"DidRegistrationSecretOptions"}, + "didDocument": {"ref":"DidDocument"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "PlaintextMessage": { + "DidOperationStateFinished": { "dataType": "refObject", "properties": { - "@type": {"dataType":"string","required":true}, - "@id": {"dataType":"string","required":true}, - "~thread": {"dataType":"nestedObjectLiteral","nestedProperties":{"pthid":{"dataType":"string"},"thid":{"dataType":"string"}}}, - "messageType": {"dataType":"string","required":true}, + "state": {"dataType":"enum","enums":["finished"],"required":true}, + "did": {"dataType":"string","required":true}, + "secret": {"ref":"DidRegistrationSecretOptions"}, + "didDocument": {"ref":"DidDocument","required":true}, }, - "additionalProperties": {"dataType":"any"}, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateProofRequestOobOptions": { + "DidOperationStateFailed": { "dataType": "refObject", "properties": { - "protocolVersion": {"dataType":"string","required":true}, - "proofFormats": {"dataType":"any","required":true}, - "goalCode": {"dataType":"string"}, - "parentThreadId": {"dataType":"string"}, - "willConfirm": {"dataType":"boolean"}, - "autoAcceptProof": {"ref":"AutoAcceptProof"}, - "comment": {"dataType":"string"}, - "label": {"dataType":"string"}, - "imageUrl": {"dataType":"string"}, - "recipientKey": {"dataType":"string"}, - "invitationDid": {"dataType":"string"}, + "state": {"dataType":"enum","enums":["failed"],"required":true}, + "did": {"dataType":"string"}, + "secret": {"ref":"DidRegistrationSecretOptions"}, + "didDocument": {"ref":"DidDocument"}, + "reason": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "HandshakeProtocol": { - "dataType": "refEnum", - "enums": ["https://didcomm.org/didexchange/1.x","https://didcomm.org/connections/1.x"], - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AgentMessage": { + "DidRegistrationMetadata": { "dataType": "refAlias", - "type": {"ref":"PlaintextMessage","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "KeyType": { - "dataType": "refEnum", - "enums": ["ed25519","bls12381g1g2","bls12381g1","bls12381g2","x25519","p256","p384","p521","k256"], + "type": {"ref":"Record_string.unknown_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Key": { + "DidResolutionMetadata": { "dataType": "refObject", "properties": { - "publicKey": {"dataType":"buffer","required":true}, - "keyType": {"ref":"KeyType","required":true}, + "contentType": {"dataType":"string"}, + "error": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalidDid"]},{"dataType":"enum","enums":["notFound"]},{"dataType":"enum","enums":["representationNotSupported"]},{"dataType":"enum","enums":["unsupportedDidMethod"]},{"dataType":"string"}]}, + "message": {"dataType":"string"}, + "servedFromCache": {"dataType":"boolean"}, + "servedFromDidRecord": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Routing": { + "DidCreateResult_DidOperationStateActionBase_": { "dataType": "refObject", "properties": { - "endpoints": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "recipientKey": {"ref":"Key","required":true}, - "routingKeys": {"dataType":"array","array":{"dataType":"refObject","ref":"Key"},"required":true}, - "mediatorId": {"dataType":"string"}, + "jobId": {"dataType":"string"}, + "didState": {"dataType":"union","subSchemas":[{"ref":"DidOperationStateWait"},{"ref":"DidOperationStateActionBase"},{"ref":"DidOperationStateFinished"},{"ref":"DidOperationStateFailed"}],"required":true}, + "didRegistrationMetadata": {"ref":"DidRegistrationMetadata","required":true}, + "didDocumentMetadata": {"ref":"DidResolutionMetadata","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "JsonValue": { - "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"double"},{"dataType":"boolean"},{"dataType":"enum","enums":[null]},{"ref":"JsonObject"},{"ref":"JsonArray"}],"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "JsonObject": { + "DidNymTransaction": { "dataType": "refObject", "properties": { + "did": {"dataType":"string","required":true}, + "nymRequest": {"dataType":"string","required":true}, }, - "additionalProperties": {"ref":"JsonValue"}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "JsonArray": { - "dataType": "refAlias", - "type": {"dataType":"array","array":{"dataType":"refAlias","ref":"JsonValue"},"validators":{}}, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_JwsGeneralFormat.Exclude_keyofJwsGeneralFormat.payload__": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"header":{"ref":"Record_string.unknown_","required":true},"signature":{"dataType":"string","required":true},"protected":{"dataType":"string","required":true}},"validators":{}}, + "AnonCredsSchema": { + "dataType": "refObject", + "properties": { + "issuerId": {"dataType":"string","required":true}, + "name": {"dataType":"string","required":true}, + "version": {"dataType":"string","required":true}, + "attrNames": {"dataType":"array","array":{"dataType":"string"},"required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Omit_JwsGeneralFormat.payload_": { - "dataType": "refAlias", - "type": {"ref":"Pick_JwsGeneralFormat.Exclude_keyofJwsGeneralFormat.payload__","validators":{}}, + "RegisterSchemaReturnStateWait": { + "dataType": "refObject", + "properties": { + "state": {"dataType":"enum","enums":["wait"],"required":true}, + "schema": {"ref":"AnonCredsSchema"}, + "schemaId": {"dataType":"string"}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "JwsDetachedFormat": { - "dataType": "refAlias", - "type": {"ref":"Omit_JwsGeneralFormat.payload_","validators":{}}, + "RegisterSchemaReturnStateAction": { + "dataType": "refObject", + "properties": { + "state": {"dataType":"enum","enums":["action"],"required":true}, + "action": {"dataType":"string","required":true}, + "schema": {"ref":"AnonCredsSchema","required":true}, + "schemaId": {"dataType":"string","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "JwsFlattenedDetachedFormat": { + "RegisterSchemaReturnStateFinished": { "dataType": "refObject", "properties": { - "signatures": {"dataType":"array","array":{"dataType":"refAlias","ref":"JwsDetachedFormat"},"required":true}, + "state": {"dataType":"enum","enums":["finished"],"required":true}, + "schema": {"ref":"AnonCredsSchema","required":true}, + "schemaId": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AttachmentData": { + "RegisterSchemaReturnStateFailed": { "dataType": "refObject", "properties": { - "base64": {"dataType":"string"}, - "json": {"ref":"JsonValue"}, - "links": {"dataType":"array","array":{"dataType":"string"}}, - "jws": {"dataType":"union","subSchemas":[{"ref":"JwsDetachedFormat"},{"ref":"JwsFlattenedDetachedFormat"}]}, - "sha256": {"dataType":"string"}, + "state": {"dataType":"enum","enums":["failed"],"required":true}, + "reason": {"dataType":"string","required":true}, + "schema": {"ref":"AnonCredsSchema"}, + "schemaId": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Attachment": { + "AnonCredsCredentialDefinition": { "dataType": "refObject", "properties": { - "id": {"dataType":"string","required":true}, - "description": {"dataType":"string"}, - "filename": {"dataType":"string"}, - "mimeType": {"dataType":"string"}, - "lastmodTime": {"dataType":"datetime"}, - "byteCount": {"dataType":"double"}, - "data": {"ref":"AttachmentData","required":true}, + "issuerId": {"dataType":"string","required":true}, + "schemaId": {"dataType":"string","required":true}, + "type": {"dataType":"enum","enums":["CL"],"required":true}, + "tag": {"dataType":"string","required":true}, + "value": {"dataType":"nestedObjectLiteral","nestedProperties":{"revocation":{"dataType":"any"},"primary":{"ref":"Record_string.unknown_","required":true}},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateInvitationOptions": { + "RegisterCredentialDefinitionReturnStateWait": { "dataType": "refObject", "properties": { - "label": {"dataType":"string"}, - "alias": {"dataType":"string"}, - "imageUrl": {"dataType":"string"}, - "goalCode": {"dataType":"string"}, - "goal": {"dataType":"string"}, - "handshake": {"dataType":"boolean"}, - "handshakeProtocols": {"dataType":"array","array":{"dataType":"refEnum","ref":"HandshakeProtocol"}}, - "messages": {"dataType":"array","array":{"dataType":"refAlias","ref":"AgentMessage"}}, - "multiUseInvitation": {"dataType":"boolean"}, - "autoAcceptConnection": {"dataType":"boolean"}, - "routing": {"ref":"Routing"}, - "appendedAttachments": {"dataType":"array","array":{"dataType":"refObject","ref":"Attachment"}}, - "invitationDid": {"dataType":"string"}, + "state": {"dataType":"enum","enums":["wait"],"required":true}, + "credentialDefinition": {"ref":"AnonCredsCredentialDefinition"}, + "credentialDefinitionId": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RecipientKeyOption": { + "RegisterCredentialDefinitionReturnStateAction": { "dataType": "refObject", "properties": { - "recipientKey": {"dataType":"string"}, + "state": {"dataType":"enum","enums":["action"],"required":true}, + "action": {"dataType":"string","required":true}, + "credentialDefinitionId": {"dataType":"string","required":true}, + "credentialDefinition": {"ref":"AnonCredsCredentialDefinition","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_CreateLegacyInvitationConfig.Exclude_keyofCreateLegacyInvitationConfig.routing__": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"alias":{"dataType":"string"},"label":{"dataType":"string"},"imageUrl":{"dataType":"string"},"multiUseInvitation":{"dataType":"boolean"},"autoAcceptConnection":{"dataType":"boolean"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Omit_CreateLegacyInvitationConfig.routing_": { - "dataType": "refAlias", - "type": {"ref":"Pick_CreateLegacyInvitationConfig.Exclude_keyofCreateLegacyInvitationConfig.routing__","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "OutOfBandRecord": { - "dataType": "refAlias", - "type": {"ref":"Record_string.unknown_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AgentMessageType": { - "dataType": "refObject", - "properties": { - "@id": {"dataType":"string","required":true}, - "@type": {"dataType":"string","required":true}, - }, - "additionalProperties": {"dataType":"any"}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CustomHandshakeProtocol": { - "dataType": "refEnum", - "enums": ["https://didcomm.org/didexchange/1.1","https://didcomm.org/connections/1.0"], - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "OutOfBandDidCommService": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - "serviceEndpoint": {"dataType":"string","required":true}, - "type": {"dataType":"string","required":true}, - "recipientKeys": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "routingKeys": {"dataType":"array","array":{"dataType":"string"}}, - "accept": {"dataType":"array","array":{"dataType":"string"}}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "OutOfBandInvitationSchema": { - "dataType": "refObject", - "properties": { - "@id": {"dataType":"string"}, - "@type": {"dataType":"string","required":true}, - "label": {"dataType":"string","required":true}, - "goalCode": {"dataType":"string"}, - "goal": {"dataType":"string"}, - "accept": {"dataType":"array","array":{"dataType":"string"}}, - "handshake_protocols": {"dataType":"array","array":{"dataType":"refEnum","ref":"CustomHandshakeProtocol"}}, - "services": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"ref":"OutOfBandDidCommService"},{"dataType":"string"}]},"required":true}, - "imageUrl": {"dataType":"string"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_ReceiveOutOfBandInvitationConfig.Exclude_keyofReceiveOutOfBandInvitationConfig.routing__": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"alias":{"dataType":"string"},"label":{"dataType":"string"},"imageUrl":{"dataType":"string"},"autoAcceptConnection":{"dataType":"boolean"},"autoAcceptInvitation":{"dataType":"boolean"},"reuseConnection":{"dataType":"boolean"},"acceptInvitationTimeoutMs":{"dataType":"double"},"ourDid":{"dataType":"string"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Omit_ReceiveOutOfBandInvitationConfig.routing_": { - "dataType": "refAlias", - "type": {"ref":"Pick_ReceiveOutOfBandInvitationConfig.Exclude_keyofReceiveOutOfBandInvitationConfig.routing__","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ReceiveInvitationProps": { + "RegisterCredentialDefinitionReturnStateFinished": { "dataType": "refObject", "properties": { - "alias": {"dataType":"string"}, - "label": {"dataType":"string"}, - "imageUrl": {"dataType":"string"}, - "autoAcceptConnection": {"dataType":"boolean"}, - "autoAcceptInvitation": {"dataType":"boolean"}, - "reuseConnection": {"dataType":"boolean"}, - "acceptInvitationTimeoutMs": {"dataType":"double"}, - "ourDid": {"dataType":"string"}, - "invitation": {"ref":"OutOfBandInvitationSchema","required":true}, + "state": {"dataType":"enum","enums":["finished"],"required":true}, + "credentialDefinition": {"ref":"AnonCredsCredentialDefinition","required":true}, + "credentialDefinitionId": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ReceiveInvitationByUrlProps": { + "RegisterCredentialDefinitionReturnStateFailed": { "dataType": "refObject", "properties": { - "alias": {"dataType":"string"}, - "label": {"dataType":"string"}, - "imageUrl": {"dataType":"string"}, - "autoAcceptConnection": {"dataType":"boolean"}, - "autoAcceptInvitation": {"dataType":"boolean"}, - "reuseConnection": {"dataType":"boolean"}, - "acceptInvitationTimeoutMs": {"dataType":"double"}, - "ourDid": {"dataType":"string"}, - "invitationUrl": {"dataType":"string","required":true}, + "state": {"dataType":"enum","enums":["failed"],"required":true}, + "reason": {"dataType":"string","required":true}, + "credentialDefinition": {"ref":"AnonCredsCredentialDefinition"}, + "credentialDefinitionId": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AcceptInvitationConfig": { + "WriteTransaction": { "dataType": "refObject", "properties": { - "autoAcceptConnection": {"dataType":"boolean"}, - "reuseConnection": {"dataType":"boolean"}, - "label": {"dataType":"string"}, - "alias": {"dataType":"string"}, - "imageUrl": {"dataType":"string"}, - "mediatorId": {"dataType":"string"}, + "endorsedTransaction": {"dataType":"string","required":true}, + "endorserDid": {"dataType":"string"}, + "schema": {"dataType":"nestedObjectLiteral","nestedProperties":{"attributes":{"dataType":"array","array":{"dataType":"string"},"required":true},"version":{"dataType":"string","required":true},"name":{"dataType":"string","required":true},"issuerId":{"dataType":"string","required":true}}}, + "credentialDefinition": {"dataType":"nestedObjectLiteral","nestedProperties":{"type":{"dataType":"string","required":true},"value":{"dataType":"any","required":true},"tag":{"dataType":"string","required":true},"issuerId":{"dataType":"string","required":true},"schemaId":{"dataType":"string","required":true}}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "TenantRecord": { - "dataType": "refAlias", - "type": {"ref":"Record_string.unknown_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"label":{"dataType":"string","required":true},"connectionImageUrl":{"dataType":"string"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Omit_TenantConfig.walletConfig_": { - "dataType": "refAlias", - "type": {"ref":"Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateTenantOptions": { + "DIDDocumentMetadata": { "dataType": "refObject", "properties": { - "config": {"ref":"Omit_TenantConfig.walletConfig_","required":true}, + "created": {"dataType":"string"}, + "updated": {"dataType":"string"}, + "deactivated": {"dataType":"boolean"}, + "versionId": {"dataType":"string"}, + "nextUpdate": {"dataType":"string"}, + "nextVersionId": {"dataType":"string"}, + "equivalentId": {"dataType":"string"}, + "canonicalId": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_string.any_": { + "Did": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"validators":{}}, + "type": {"dataType":"string","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidDocument": { - "dataType": "refAlias", - "type": {"ref":"Record_string.any_","validators":{}}, + "KeyType": { + "dataType": "refEnum", + "enums": ["ed25519","bls12381g1g2","bls12381g1","bls12381g2","x25519","p256","p384","p521","k256"], }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "DidCreate": { @@ -434,52 +359,50 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidNymTransaction": { - "dataType": "refObject", - "properties": { - "did": {"dataType":"string","required":true}, - "nymRequest": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "DidRecord": { + "dataType": "refAlias", + "type": {"ref":"Record_string.unknown_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "EndorserTransaction": { + "AnonCredsResolutionMetadata": { "dataType": "refObject", "properties": { - "transaction": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"Record_string.unknown_"}],"required":true}, - "endorserDid": {"dataType":"string","required":true}, + "error": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid"]},{"dataType":"enum","enums":["notFound"]},{"dataType":"enum","enums":["unsupportedAnonCredsMethod"]},{"dataType":"string"}]}, + "message": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing__": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"alias":{"dataType":"string"},"label":{"dataType":"string"},"imageUrl":{"dataType":"string"},"multiUseInvitation":{"dataType":"boolean"},"autoAcceptConnection":{"dataType":"boolean"},"goalCode":{"dataType":"string"},"goal":{"dataType":"string"},"handshake":{"dataType":"boolean"},"handshakeProtocols":{"dataType":"array","array":{"dataType":"refEnum","ref":"HandshakeProtocol"}},"messages":{"dataType":"array","array":{"dataType":"refAlias","ref":"AgentMessage"}},"appendedAttachments":{"dataType":"array","array":{"dataType":"refObject","ref":"Attachment"}},"invitationDid":{"dataType":"string"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Omit_CreateOutOfBandInvitationConfig.routing_": { + "CredoExtensible": { "dataType": "refAlias", - "type": {"ref":"Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing__","validators":{}}, + "type": {"ref":"Record_string.unknown_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages__": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"alias":{"dataType":"string"},"label":{"dataType":"string"},"imageUrl":{"dataType":"string"},"multiUseInvitation":{"dataType":"boolean"},"autoAcceptConnection":{"dataType":"boolean"},"goalCode":{"dataType":"string"},"goal":{"dataType":"string"},"handshake":{"dataType":"boolean"},"handshakeProtocols":{"dataType":"array","array":{"dataType":"refEnum","ref":"HandshakeProtocol"}},"invitationDid":{"dataType":"string"}},"validators":{}}, + "GetSchemaReturn": { + "dataType": "refObject", + "properties": { + "schema": {"ref":"AnonCredsSchema"}, + "schemaId": {"dataType":"string","required":true}, + "resolutionMetadata": {"ref":"AnonCredsResolutionMetadata","required":true}, + "schemaMetadata": {"ref":"CredoExtensible","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Omit_CreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages_": { + "SchemaId": { "dataType": "refAlias", - "type": {"ref":"Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages__","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidExchangeState": { - "dataType": "refEnum", - "enums": ["start","invitation-sent","invitation-received","request-sent","request-received","response-sent","response-received","abandoned","completed"], + "type": {"dataType":"string","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Version": { - "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, + "RegisterSchemaReturn": { + "dataType": "refObject", + "properties": { + "jobId": {"dataType":"string"}, + "schemaState": {"dataType":"union","subSchemas":[{"ref":"RegisterSchemaReturnStateWait"},{"ref":"RegisterSchemaReturnStateAction"},{"ref":"RegisterSchemaReturnStateFinished"},{"ref":"RegisterSchemaReturnStateFailed"}],"required":true}, + "schemaMetadata": {"ref":"CredoExtensible","required":true}, + "registrationMetadata": {"ref":"CredoExtensible","required":true}, + }, + "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "CreateSchemaInput": { @@ -487,7 +410,7 @@ const models: TsoaRoute.Models = { "properties": { "issuerId": {"dataType":"string","required":true}, "name": {"dataType":"string","required":true}, - "version": {"ref":"Version","required":true}, + "version": {"dataType":"string","required":true}, "attributes": {"dataType":"array","array":{"dataType":"string"},"required":true}, "endorse": {"dataType":"boolean"}, "endorserDid": {"dataType":"string"}, @@ -495,213 +418,77 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SchemaMetadata": { - "dataType": "refObject", - "properties": { - "did": {"dataType":"string","required":true}, - "schemaId": {"dataType":"string","required":true}, - "schemaTxnHash": {"dataType":"string"}, - "schemaUrl": {"dataType":"string"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "WriteTransaction": { + "GetCredentialDefinitionReturn": { "dataType": "refObject", "properties": { - "endorsedTransaction": {"dataType":"string","required":true}, - "endorserDid": {"dataType":"string"}, - "schema": {"dataType":"nestedObjectLiteral","nestedProperties":{"attributes":{"dataType":"array","array":{"dataType":"string"},"required":true},"version":{"ref":"Version","required":true},"name":{"dataType":"string","required":true},"issuerId":{"dataType":"string","required":true}}}, - "credentialDefinition": {"dataType":"nestedObjectLiteral","nestedProperties":{"type":{"dataType":"string","required":true},"value":{"dataType":"any","required":true},"tag":{"dataType":"string","required":true},"issuerId":{"dataType":"string","required":true},"schemaId":{"dataType":"string","required":true}}}, + "credentialDefinition": {"ref":"AnonCredsCredentialDefinition"}, + "credentialDefinitionId": {"dataType":"string","required":true}, + "resolutionMetadata": {"ref":"AnonCredsResolutionMetadata","required":true}, + "credentialDefinitionMetadata": {"ref":"CredoExtensible","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SchemaId": { - "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "CredentialDefinitionId": { "dataType": "refAlias", "type": {"dataType":"string","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ProtocolVersion": { - "dataType": "refEnum", - "enums": ["v1","v2"], - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CredentialPreviewAttributeOptions": { + "RegisterCredentialDefinitionReturn": { "dataType": "refObject", "properties": { - "name": {"dataType":"string","required":true}, - "mimeType": {"dataType":"string"}, - "value": {"dataType":"string","required":true}, + "jobId": {"dataType":"string"}, + "credentialDefinitionState": {"dataType":"union","subSchemas":[{"ref":"RegisterCredentialDefinitionReturnStateWait"},{"ref":"RegisterCredentialDefinitionReturnStateAction"},{"ref":"RegisterCredentialDefinitionReturnStateFinished"},{"ref":"RegisterCredentialDefinitionReturnStateFailed"}],"required":true}, + "credentialDefinitionMetadata": {"ref":"CredoExtensible","required":true}, + "registrationMetadata": {"ref":"CredoExtensible","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "LinkedAttachment": { + "AgentInfo": { "dataType": "refObject", "properties": { - "attributeName": {"dataType":"string","required":true}, - "attachment": {"ref":"Attachment","required":true}, + "label": {"dataType":"string","required":true}, + "endpoints": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "isInitialized": {"dataType":"boolean","required":true}, + "publicDid": {"dataType":"void","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AnonCredsOfferCredentialFormat": { + "AgentToken": { "dataType": "refObject", "properties": { - "credentialDefinitionId": {"dataType":"string","required":true}, - "revocationRegistryDefinitionId": {"dataType":"string"}, - "revocationRegistryIndex": {"dataType":"double"}, - "attributes": {"dataType":"array","array":{"dataType":"refObject","ref":"CredentialPreviewAttributeOptions"},"required":true}, - "linkedAttachments": {"dataType":"array","array":{"dataType":"refObject","ref":"LinkedAttachment"}}, + "token": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "W3cIssuerOptions": { - "dataType": "refObject", - "properties": { - "id": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "VerifyDataOptions": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"signature":{"dataType":"string","required":true},"publicKeyBase58":{"dataType":"string","required":true},"keyType":{"ref":"KeyType","required":true},"data":{"dataType":"string","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "SingleOrArray_JsonObject_": { + "W3cCredentialRecord": { "dataType": "refAlias", - "type": {"dataType":"union","subSchemas":[{"ref":"JsonObject"},{"dataType":"array","array":{"dataType":"refObject","ref":"JsonObject"}}],"validators":{}}, + "type": {"ref":"Record_string.unknown_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "JsonCredential": { + "JsonObject": { "dataType": "refObject", "properties": { - "@context": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"ref":"JsonObject"}],"required":true}, - "id": {"dataType":"string"}, - "type": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"W3cIssuerOptions"}],"required":true}, - "issuanceDate": {"dataType":"string","required":true}, - "expirationDate": {"dataType":"string"}, - "credentialSubject": {"ref":"SingleOrArray_JsonObject_","required":true}, - "prettyVc": {"dataType":"any"}, - }, - "additionalProperties": {"dataType":"any"}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "JsonLdCredentialDetailFormat": { - "dataType": "refObject", - "properties": { - "credential": {"ref":"JsonCredential","required":true}, - "options": {"dataType":"nestedObjectLiteral","nestedProperties":{"proofType":{"dataType":"string","required":true},"proofPurpose":{"dataType":"string","required":true}},"required":true}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CredentialFormatPayload_CredentialFormats.createOffer_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"indy":{"ref":"AnonCredsOfferCredentialFormat"},"jsonld":{"ref":"JsonLdCredentialDetailFormat"},"anoncreds":{"ref":"AnonCredsOfferCredentialFormat"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AutoAcceptCredential": { - "dataType": "refEnum", - "enums": ["always","contentApproved","never"], - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateOfferOptions": { - "dataType": "refObject", - "properties": { - "protocolVersion": {"ref":"ProtocolVersion","required":true}, - "connectionId": {"ref":"RecordId","required":true}, - "credentialFormats": {"ref":"CredentialFormatPayload_CredentialFormats.createOffer_","required":true}, - "autoAcceptCredential": {"ref":"AutoAcceptCredential"}, - "comment": {"dataType":"string"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CredentialFormatPayload_CredentialFormatType-Array.createOffer_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"indy":{"ref":"AnonCredsOfferCredentialFormat"},"jsonld":{"ref":"JsonLdCredentialDetailFormat"},"anoncreds":{"ref":"AnonCredsOfferCredentialFormat"}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CreateOfferOobOptions": { - "dataType": "refObject", - "properties": { - "protocolVersion": {"dataType":"string","required":true}, - "credentialFormats": {"ref":"CredentialFormatPayload_CredentialFormatType-Array.createOffer_","required":true}, - "autoAcceptCredential": {"ref":"AutoAcceptCredential"}, - "comment": {"dataType":"string"}, - "goalCode": {"dataType":"string"}, - "parentThreadId": {"dataType":"string"}, - "willConfirm": {"dataType":"boolean"}, - "label": {"dataType":"string"}, - "imageUrl": {"dataType":"string"}, - "recipientKey": {"dataType":"string"}, - "invitationDid": {"dataType":"string"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CredentialFormatPayload_CredentialFormatsFromProtocols_CredentialProtocol-Array_.acceptOffer_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AcceptCredentialOfferOptions": { - "dataType": "refObject", - "properties": { - "autoAcceptCredential": {"ref":"AutoAcceptCredential"}, - "comment": {"dataType":"string"}, - "credentialRecordId": {"dataType":"string","required":true}, - "credentialFormats": {"ref":"CredentialFormatPayload_CredentialFormatsFromProtocols_CredentialProtocol-Array_.acceptOffer_"}, - }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CredentialState": { - "dataType": "refEnum", - "enums": ["proposal-sent","proposal-received","offer-sent","offer-received","declined","request-sent","request-received","credential-issued","credential-received","done","abandoned"], - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "QuestionAnswerRole": { - "dataType": "refEnum", - "enums": ["questioner","responder"], - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "QuestionAnswerState": { - "dataType": "refEnum", - "enums": ["question-sent","question-received","answer-received","answer-sent"], - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "ValidResponse": { - "dataType": "refObject", - "properties": { - "text": {"dataType":"string","required":true}, }, - "additionalProperties": false, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_response.string_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"response":{"dataType":"string","required":true}},"validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Record_content.string_": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"content":{"dataType":"string","required":true}},"validators":{}}, + "additionalProperties": {"ref":"JsonValue"}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "VerifyDataOptions": { + "JsonValue": { "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"signature":{"dataType":"string","required":true},"publicKeyBase58":{"dataType":"string","required":true},"keyType":{"ref":"KeyType","required":true},"data":{"dataType":"string","required":true}},"validators":{}}, + "type": {"dataType":"union","subSchemas":[{"dataType":"string"},{"dataType":"double"},{"dataType":"boolean"},{"dataType":"enum","enums":[null]},{"ref":"JsonObject"},{"ref":"JsonArray"}],"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "W3cCredentialRecord": { + "JsonArray": { "dataType": "refAlias", - "type": {"ref":"Record_string.unknown_","validators":{}}, + "type": {"dataType":"array","array":{"dataType":"refAlias","ref":"JsonValue"},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "W3cIssuer": { @@ -785,6 +572,36 @@ const models: TsoaRoute.Models = { "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"method":{"dataType":"string"},"did":{"dataType":"string"},"publicKeyBase58":{"dataType":"string","required":true},"keyType":{"ref":"KeyType","required":true},"data":{"dataType":"string","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Partial_W3cCredentialValidations_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Error": { + "dataType": "refObject", + "properties": { + "name": {"dataType":"string","required":true}, + "message": {"dataType":"string","required":true}, + "stack": {"dataType":"string"}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "W3cVerifyResult_W3cCredentialValidations_": { + "dataType": "refObject", + "properties": { + "isValid": {"dataType":"boolean","required":true}, + "validations": {"ref":"Partial_W3cCredentialValidations_","required":true}, + "error": {"ref":"Error"}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "W3cVerifyCredentialResult": { + "dataType": "refAlias", + "type": {"ref":"W3cVerifyResult_W3cCredentialValidations_","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "Pick_LinkedDataProofOptions.Exclude_keyofLinkedDataProofOptions.cryptosuite__": { "dataType": "refAlias", "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"proofPurpose":{"dataType":"string","required":true},"created":{"dataType":"string","required":true},"verificationMethod":{"dataType":"string","required":true},"type":{"dataType":"string","required":true},"domain":{"dataType":"string"},"challenge":{"dataType":"string"},"jws":{"dataType":"string"},"proofValue":{"dataType":"string"},"nonce":{"dataType":"string"}},"validators":{}}, @@ -890,270 +707,355 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidRegistrationSecretOptions": { - "dataType": "refAlias", - "type": {"ref":"Record_string.unknown_","validators":{}}, + "QuestionAnswerRole": { + "dataType": "refEnum", + "enums": ["questioner","responder"], }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidOperationStateWait": { - "dataType": "refObject", - "properties": { - "state": {"dataType":"enum","enums":["wait"],"required":true}, - "did": {"dataType":"string"}, - "secret": {"ref":"DidRegistrationSecretOptions"}, - "didDocument": {"ref":"DidDocument"}, - }, - "additionalProperties": false, + "QuestionAnswerState": { + "dataType": "refEnum", + "enums": ["question-sent","question-received","answer-received","answer-sent"], }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidOperationStateActionBase": { - "dataType": "refObject", - "properties": { - "state": {"dataType":"enum","enums":["action"],"required":true}, - "action": {"dataType":"string","required":true}, - "did": {"dataType":"string"}, - "secret": {"ref":"DidRegistrationSecretOptions"}, - "didDocument": {"ref":"DidDocument"}, - }, - "additionalProperties": false, + "RecordId": { + "dataType": "refAlias", + "type": {"dataType":"string","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidOperationStateFinished": { + "ValidResponse": { "dataType": "refObject", "properties": { - "state": {"dataType":"enum","enums":["finished"],"required":true}, - "did": {"dataType":"string","required":true}, - "secret": {"ref":"DidRegistrationSecretOptions"}, - "didDocument": {"ref":"DidDocument","required":true}, + "text": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidOperationStateFailed": { - "dataType": "refObject", - "properties": { - "state": {"dataType":"enum","enums":["failed"],"required":true}, - "did": {"dataType":"string"}, - "secret": {"ref":"DidRegistrationSecretOptions"}, - "didDocument": {"ref":"DidDocument"}, - "reason": {"dataType":"string","required":true}, - }, - "additionalProperties": false, + "Record_response.string_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"response":{"dataType":"string","required":true}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidRegistrationMetadata": { + "ProofExchangeRecord": { "dataType": "refAlias", "type": {"ref":"Record_string.unknown_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidResolutionMetadata": { - "dataType": "refObject", - "properties": { - "contentType": {"dataType":"string"}, - "error": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalidDid"]},{"dataType":"enum","enums":["notFound"]},{"dataType":"enum","enums":["representationNotSupported"]},{"dataType":"enum","enums":["unsupportedDidMethod"]},{"dataType":"string"}]}, - "message": {"dataType":"string"}, - "servedFromCache": {"dataType":"boolean"}, - }, - "additionalProperties": false, + "AutoAcceptProof": { + "dataType": "refEnum", + "enums": ["always","contentApproved","never"], }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidCreateResult_DidOperationStateActionBase_": { + "RequestProofProposalOptions": { "dataType": "refObject", "properties": { - "jobId": {"dataType":"string"}, - "didState": {"dataType":"union","subSchemas":[{"ref":"DidOperationStateWait"},{"ref":"DidOperationStateActionBase"},{"ref":"DidOperationStateFinished"},{"ref":"DidOperationStateFailed"}],"required":true}, - "didRegistrationMetadata": {"ref":"DidRegistrationMetadata","required":true}, - "didDocumentMetadata": {"ref":"DidResolutionMetadata","required":true}, + "connectionId": {"dataType":"string","required":true}, + "proofFormats": {"dataType":"any","required":true}, + "goalCode": {"dataType":"string"}, + "parentThreadId": {"dataType":"string"}, + "autoAcceptProof": {"ref":"AutoAcceptProof"}, + "comment": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DIDDocumentMetadata": { + "AcceptProofProposal": { "dataType": "refObject", "properties": { - "created": {"dataType":"string"}, - "updated": {"dataType":"string"}, - "deactivated": {"dataType":"boolean"}, - "versionId": {"dataType":"string"}, - "nextUpdate": {"dataType":"string"}, - "nextVersionId": {"dataType":"string"}, - "equivalentId": {"dataType":"string"}, - "canonicalId": {"dataType":"string"}, + "proofRecordId": {"dataType":"string","required":true}, + "proofFormats": {"dataType":"any","required":true}, + "comment": {"dataType":"string"}, + "autoAcceptProof": {"ref":"AutoAcceptProof"}, + "goalCode": {"dataType":"string"}, + "willConfirm": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Did": { - "dataType": "refAlias", - "type": {"dataType":"string","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "DidRecord": { - "dataType": "refAlias", - "type": {"ref":"Record_string.unknown_","validators":{}}, - }, - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AnonCredsSchema": { + "RequestProofOptions": { "dataType": "refObject", "properties": { - "issuerId": {"dataType":"string","required":true}, - "name": {"dataType":"string","required":true}, - "version": {"dataType":"string","required":true}, - "attrNames": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "connectionId": {"dataType":"string","required":true}, + "protocolVersion": {"dataType":"string","required":true}, + "proofFormats": {"dataType":"any","required":true}, + "comment": {"dataType":"string","required":true}, + "autoAcceptProof": {"ref":"AutoAcceptProof","required":true}, + "goalCode": {"dataType":"string"}, + "parentThreadId": {"dataType":"string"}, + "willConfirm": {"dataType":"boolean"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AnonCredsResolutionMetadata": { + "PlaintextMessage": { "dataType": "refObject", "properties": { - "error": {"dataType":"union","subSchemas":[{"dataType":"enum","enums":["invalid"]},{"dataType":"enum","enums":["notFound"]},{"dataType":"enum","enums":["unsupportedAnonCredsMethod"]},{"dataType":"string"}]}, - "message": {"dataType":"string"}, + "@type": {"dataType":"string","required":true}, + "@id": {"dataType":"string","required":true}, + "~thread": {"dataType":"nestedObjectLiteral","nestedProperties":{"pthid":{"dataType":"string"},"thid":{"dataType":"string"}}}, + "messageType": {"dataType":"string","required":true}, + }, + "additionalProperties": {"dataType":"any"}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CreateProofRequestOobOptions": { + "dataType": "refObject", + "properties": { + "protocolVersion": {"dataType":"string","required":true}, + "proofFormats": {"dataType":"any","required":true}, + "goalCode": {"dataType":"string"}, + "parentThreadId": {"dataType":"string"}, + "willConfirm": {"dataType":"boolean"}, + "autoAcceptProof": {"ref":"AutoAcceptProof"}, + "comment": {"dataType":"string"}, + "label": {"dataType":"string"}, + "imageUrl": {"dataType":"string"}, + "recipientKey": {"dataType":"string"}, + "invitationDid": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "CredoExtensible": { + "ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.proposal_": { "dataType": "refAlias", - "type": {"ref":"Record_string.unknown_","validators":{}}, + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "GetSchemaReturn": { + "ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.request_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.presentation_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "GetProofFormatDataReturn__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"presentation":{"ref":"ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.presentation_"},"request":{"ref":"ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.request_"},"proposal":{"ref":"ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.proposal_"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "HandshakeProtocol": { + "dataType": "refEnum", + "enums": ["https://didcomm.org/didexchange/1.x","https://didcomm.org/connections/1.x"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "AgentMessage": { + "dataType": "refAlias", + "type": {"ref":"PlaintextMessage","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Key": { "dataType": "refObject", "properties": { - "schema": {"ref":"AnonCredsSchema"}, - "schemaId": {"dataType":"string","required":true}, - "resolutionMetadata": {"ref":"AnonCredsResolutionMetadata","required":true}, - "schemaMetadata": {"ref":"CredoExtensible","required":true}, + "publicKey": {"dataType":"buffer","required":true}, + "keyType": {"ref":"KeyType","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterSchemaReturnStateWait": { + "Routing": { "dataType": "refObject", "properties": { - "state": {"dataType":"enum","enums":["wait"],"required":true}, - "schema": {"ref":"AnonCredsSchema"}, - "schemaId": {"dataType":"string"}, + "endpoints": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "recipientKey": {"ref":"Key","required":true}, + "routingKeys": {"dataType":"array","array":{"dataType":"refObject","ref":"Key"},"required":true}, + "mediatorId": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterSchemaReturnStateAction": { + "Pick_JwsGeneralFormat.Exclude_keyofJwsGeneralFormat.payload__": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"header":{"ref":"Record_string.unknown_","required":true},"signature":{"dataType":"string","required":true},"protected":{"dataType":"string","required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Omit_JwsGeneralFormat.payload_": { + "dataType": "refAlias", + "type": {"ref":"Pick_JwsGeneralFormat.Exclude_keyofJwsGeneralFormat.payload__","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "JwsDetachedFormat": { + "dataType": "refAlias", + "type": {"ref":"Omit_JwsGeneralFormat.payload_","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "JwsFlattenedDetachedFormat": { "dataType": "refObject", "properties": { - "state": {"dataType":"enum","enums":["action"],"required":true}, - "action": {"dataType":"string","required":true}, - "schema": {"ref":"AnonCredsSchema","required":true}, - "schemaId": {"dataType":"string","required":true}, + "signatures": {"dataType":"array","array":{"dataType":"refAlias","ref":"JwsDetachedFormat"},"required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterSchemaReturnStateFinished": { + "AttachmentData": { "dataType": "refObject", "properties": { - "state": {"dataType":"enum","enums":["finished"],"required":true}, - "schema": {"ref":"AnonCredsSchema","required":true}, - "schemaId": {"dataType":"string","required":true}, + "base64": {"dataType":"string"}, + "json": {"ref":"JsonValue"}, + "links": {"dataType":"array","array":{"dataType":"string"}}, + "jws": {"dataType":"union","subSchemas":[{"ref":"JwsDetachedFormat"},{"ref":"JwsFlattenedDetachedFormat"}]}, + "sha256": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterSchemaReturnStateFailed": { + "Attachment": { "dataType": "refObject", "properties": { - "state": {"dataType":"enum","enums":["failed"],"required":true}, - "reason": {"dataType":"string","required":true}, - "schema": {"ref":"AnonCredsSchema"}, - "schemaId": {"dataType":"string"}, + "id": {"dataType":"string","required":true}, + "description": {"dataType":"string"}, + "filename": {"dataType":"string"}, + "mimeType": {"dataType":"string"}, + "lastmodTime": {"dataType":"datetime"}, + "byteCount": {"dataType":"double"}, + "data": {"ref":"AttachmentData","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterSchemaReturn": { + "CreateInvitationOptions": { "dataType": "refObject", "properties": { - "jobId": {"dataType":"string"}, - "schemaState": {"dataType":"union","subSchemas":[{"ref":"RegisterSchemaReturnStateWait"},{"ref":"RegisterSchemaReturnStateAction"},{"ref":"RegisterSchemaReturnStateFinished"},{"ref":"RegisterSchemaReturnStateFailed"}],"required":true}, - "schemaMetadata": {"ref":"CredoExtensible","required":true}, - "registrationMetadata": {"ref":"CredoExtensible","required":true}, + "label": {"dataType":"string"}, + "alias": {"dataType":"string"}, + "imageUrl": {"dataType":"string"}, + "goalCode": {"dataType":"string"}, + "goal": {"dataType":"string"}, + "handshake": {"dataType":"boolean"}, + "handshakeProtocols": {"dataType":"array","array":{"dataType":"refEnum","ref":"HandshakeProtocol"}}, + "messages": {"dataType":"array","array":{"dataType":"refAlias","ref":"AgentMessage"}}, + "multiUseInvitation": {"dataType":"boolean"}, + "autoAcceptConnection": {"dataType":"boolean"}, + "routing": {"ref":"Routing"}, + "appendedAttachments": {"dataType":"array","array":{"dataType":"refObject","ref":"Attachment"}}, + "invitationDid": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AnonCredsCredentialDefinition": { + "RecipientKeyOption": { "dataType": "refObject", "properties": { - "issuerId": {"dataType":"string","required":true}, - "schemaId": {"dataType":"string","required":true}, - "type": {"dataType":"enum","enums":["CL"],"required":true}, - "tag": {"dataType":"string","required":true}, - "value": {"dataType":"nestedObjectLiteral","nestedProperties":{"revocation":{"dataType":"any"},"primary":{"ref":"Record_string.unknown_","required":true}},"required":true}, + "recipientKey": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "GetCredentialDefinitionReturn": { + "Pick_CreateLegacyInvitationConfig.Exclude_keyofCreateLegacyInvitationConfig.routing__": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"alias":{"dataType":"string"},"label":{"dataType":"string"},"imageUrl":{"dataType":"string"},"multiUseInvitation":{"dataType":"boolean"},"autoAcceptConnection":{"dataType":"boolean"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Omit_CreateLegacyInvitationConfig.routing_": { + "dataType": "refAlias", + "type": {"ref":"Pick_CreateLegacyInvitationConfig.Exclude_keyofCreateLegacyInvitationConfig.routing__","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "OutOfBandRecord": { + "dataType": "refAlias", + "type": {"ref":"Record_string.unknown_","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "AgentMessageType": { "dataType": "refObject", "properties": { - "credentialDefinition": {"ref":"AnonCredsCredentialDefinition"}, - "credentialDefinitionId": {"dataType":"string","required":true}, - "resolutionMetadata": {"ref":"AnonCredsResolutionMetadata","required":true}, - "credentialDefinitionMetadata": {"ref":"CredoExtensible","required":true}, + "@id": {"dataType":"string","required":true}, + "@type": {"dataType":"string","required":true}, }, - "additionalProperties": false, + "additionalProperties": {"dataType":"any"}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterCredentialDefinitionReturnStateWait": { + "CustomHandshakeProtocol": { + "dataType": "refEnum", + "enums": ["https://didcomm.org/didexchange/1.1","https://didcomm.org/connections/1.0"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "SingleOrArray_string-or-Record_string.unknown__": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"Record_string.unknown_"}]},{"dataType":"array","array":{"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"Record_string.unknown_"}]}}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "OutOfBandDidCommService": { "dataType": "refObject", "properties": { - "state": {"dataType":"enum","enums":["wait"],"required":true}, - "credentialDefinition": {"ref":"AnonCredsCredentialDefinition"}, - "credentialDefinitionId": {"dataType":"string"}, + "id": {"dataType":"string","required":true}, + "serviceEndpoint": {"dataType":"string","required":true}, + "type": {"dataType":"string","required":true}, + "recipientKeys": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "routingKeys": {"dataType":"array","array":{"dataType":"string"}}, + "accept": {"dataType":"array","array":{"dataType":"string"}}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterCredentialDefinitionReturnStateAction": { + "OutOfBandInvitationSchema": { "dataType": "refObject", "properties": { - "state": {"dataType":"enum","enums":["action"],"required":true}, - "action": {"dataType":"string","required":true}, - "credentialDefinitionId": {"dataType":"string","required":true}, - "credentialDefinition": {"ref":"AnonCredsCredentialDefinition","required":true}, + "@id": {"dataType":"string"}, + "@type": {"dataType":"string","required":true}, + "label": {"dataType":"string","required":true}, + "goalCode": {"dataType":"string"}, + "goal": {"dataType":"string"}, + "accept": {"dataType":"array","array":{"dataType":"string"}}, + "handshake_protocols": {"dataType":"array","array":{"dataType":"refEnum","ref":"CustomHandshakeProtocol"}}, + "services": {"dataType":"array","array":{"dataType":"union","subSchemas":[{"ref":"OutOfBandDidCommService"},{"dataType":"string"}]},"required":true}, + "imageUrl": {"dataType":"string"}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterCredentialDefinitionReturnStateFinished": { + "Pick_ReceiveOutOfBandInvitationConfig.Exclude_keyofReceiveOutOfBandInvitationConfig.routing__": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"alias":{"dataType":"string"},"label":{"dataType":"string"},"imageUrl":{"dataType":"string"},"autoAcceptConnection":{"dataType":"boolean"},"autoAcceptInvitation":{"dataType":"boolean"},"reuseConnection":{"dataType":"boolean"},"acceptInvitationTimeoutMs":{"dataType":"double"},"ourDid":{"dataType":"string"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Omit_ReceiveOutOfBandInvitationConfig.routing_": { + "dataType": "refAlias", + "type": {"ref":"Pick_ReceiveOutOfBandInvitationConfig.Exclude_keyofReceiveOutOfBandInvitationConfig.routing__","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "ReceiveInvitationProps": { "dataType": "refObject", "properties": { - "state": {"dataType":"enum","enums":["finished"],"required":true}, - "credentialDefinition": {"ref":"AnonCredsCredentialDefinition","required":true}, - "credentialDefinitionId": {"dataType":"string","required":true}, + "alias": {"dataType":"string"}, + "label": {"dataType":"string"}, + "imageUrl": {"dataType":"string"}, + "autoAcceptConnection": {"dataType":"boolean"}, + "autoAcceptInvitation": {"dataType":"boolean"}, + "reuseConnection": {"dataType":"boolean"}, + "acceptInvitationTimeoutMs": {"dataType":"double"}, + "ourDid": {"dataType":"string"}, + "invitation": {"ref":"OutOfBandInvitationSchema","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterCredentialDefinitionReturnStateFailed": { + "ReceiveInvitationByUrlProps": { "dataType": "refObject", "properties": { - "state": {"dataType":"enum","enums":["failed"],"required":true}, - "reason": {"dataType":"string","required":true}, - "credentialDefinition": {"ref":"AnonCredsCredentialDefinition"}, - "credentialDefinitionId": {"dataType":"string"}, + "alias": {"dataType":"string"}, + "label": {"dataType":"string"}, + "imageUrl": {"dataType":"string"}, + "autoAcceptConnection": {"dataType":"boolean"}, + "autoAcceptInvitation": {"dataType":"boolean"}, + "reuseConnection": {"dataType":"boolean"}, + "acceptInvitationTimeoutMs": {"dataType":"double"}, + "ourDid": {"dataType":"string"}, + "invitationUrl": {"dataType":"string","required":true}, }, "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "RegisterCredentialDefinitionReturn": { + "AcceptInvitationConfig": { "dataType": "refObject", "properties": { - "jobId": {"dataType":"string"}, - "credentialDefinitionState": {"dataType":"union","subSchemas":[{"ref":"RegisterCredentialDefinitionReturnStateWait"},{"ref":"RegisterCredentialDefinitionReturnStateAction"},{"ref":"RegisterCredentialDefinitionReturnStateFinished"},{"ref":"RegisterCredentialDefinitionReturnStateFailed"}],"required":true}, - "credentialDefinitionMetadata": {"ref":"CredoExtensible","required":true}, - "registrationMetadata": {"ref":"CredoExtensible","required":true}, + "autoAcceptConnection": {"dataType":"boolean"}, + "reuseConnection": {"dataType":"boolean"}, + "label": {"dataType":"string"}, + "alias": {"dataType":"string"}, + "imageUrl": {"dataType":"string"}, + "mediatorId": {"dataType":"string"}, }, "additionalProperties": false, }, @@ -1163,6 +1065,11 @@ const models: TsoaRoute.Models = { "type": {"dataType":"string","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CredentialState": { + "dataType": "refEnum", + "enums": ["proposal-sent","proposal-received","offer-sent","offer-received","declined","request-sent","request-received","credential-issued","credential-received","done","abandoned"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "CredentialRole": { "dataType": "refEnum", "enums": ["issuer","holder"], @@ -1173,9 +1080,33 @@ const models: TsoaRoute.Models = { "type": {"ref":"Record_string.unknown_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "Pick_AnonCredsProposeCredentialFormat.Exclude_keyofAnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId__": { - "dataType": "refAlias", - "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"schemaId":{"dataType":"string"},"schemaName":{"dataType":"string"},"schemaVersion":{"dataType":"string"},"credentialDefinitionId":{"dataType":"string"},"attributes":{"dataType":"array","array":{"dataType":"refObject","ref":"CredentialPreviewAttributeOptions"}},"linkedAttachments":{"dataType":"array","array":{"dataType":"refObject","ref":"LinkedAttachment"}},"schemaIssuerDid":{"dataType":"string"},"issuerDid":{"dataType":"string"}},"validators":{}}, + "ProtocolVersion": { + "dataType": "refEnum", + "enums": ["v1","v2"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CredentialPreviewAttributeOptions": { + "dataType": "refObject", + "properties": { + "name": {"dataType":"string","required":true}, + "mimeType": {"dataType":"string"}, + "value": {"dataType":"string","required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "LinkedAttachment": { + "dataType": "refObject", + "properties": { + "attributeName": {"dataType":"string","required":true}, + "attachment": {"ref":"Attachment","required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Pick_AnonCredsProposeCredentialFormat.Exclude_keyofAnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId__": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"schemaId":{"dataType":"string"},"schemaName":{"dataType":"string"},"schemaVersion":{"dataType":"string"},"credentialDefinitionId":{"dataType":"string"},"attributes":{"dataType":"array","array":{"dataType":"refObject","ref":"CredentialPreviewAttributeOptions"}},"linkedAttachments":{"dataType":"array","array":{"dataType":"refObject","ref":"LinkedAttachment"}},"schemaIssuerDid":{"dataType":"string"},"issuerDid":{"dataType":"string"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "Omit_AnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId_": { @@ -1188,6 +1119,43 @@ const models: TsoaRoute.Models = { "type": {"ref":"Omit_AnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "W3cIssuerOptions": { + "dataType": "refObject", + "properties": { + "id": {"dataType":"string","required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "SingleOrArray_JsonObject_": { + "dataType": "refAlias", + "type": {"dataType":"union","subSchemas":[{"ref":"JsonObject"},{"dataType":"array","array":{"dataType":"refObject","ref":"JsonObject"}}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "JsonCredential": { + "dataType": "refObject", + "properties": { + "@context": {"dataType":"union","subSchemas":[{"dataType":"array","array":{"dataType":"string"}},{"ref":"JsonObject"}],"required":true}, + "id": {"dataType":"string"}, + "type": {"dataType":"array","array":{"dataType":"string"},"required":true}, + "issuer": {"dataType":"union","subSchemas":[{"dataType":"string"},{"ref":"W3cIssuerOptions"}],"required":true}, + "issuanceDate": {"dataType":"string","required":true}, + "expirationDate": {"dataType":"string"}, + "credentialSubject": {"ref":"SingleOrArray_JsonObject_","required":true}, + "prettyVc": {"dataType":"any"}, + }, + "additionalProperties": {"dataType":"any"}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "JsonLdCredentialDetailFormat": { + "dataType": "refObject", + "properties": { + "credential": {"ref":"JsonCredential","required":true}, + "options": {"dataType":"nestedObjectLiteral","nestedProperties":{"proofType":{"dataType":"string","required":true},"proofPurpose":{"dataType":"string","required":true}},"required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "AnonCredsProposeCredentialFormat": { "dataType": "refObject", "properties": { @@ -1210,6 +1178,11 @@ const models: TsoaRoute.Models = { "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"indy":{"ref":"LegacyIndyProposeCredentialFormat"},"jsonld":{"ref":"JsonLdCredentialDetailFormat"},"anoncreds":{"ref":"AnonCredsProposeCredentialFormat"}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "AutoAcceptCredential": { + "dataType": "refEnum", + "enums": ["always","contentApproved","never"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "ProposeCredentialOptions": { "dataType": "refObject", "properties": { @@ -1260,6 +1233,60 @@ const models: TsoaRoute.Models = { "additionalProperties": false, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "AnonCredsOfferCredentialFormat": { + "dataType": "refObject", + "properties": { + "credentialDefinitionId": {"dataType":"string","required":true}, + "revocationRegistryDefinitionId": {"dataType":"string"}, + "revocationRegistryIndex": {"dataType":"double"}, + "attributes": {"dataType":"array","array":{"dataType":"refObject","ref":"CredentialPreviewAttributeOptions"},"required":true}, + "linkedAttachments": {"dataType":"array","array":{"dataType":"refObject","ref":"LinkedAttachment"}}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CredentialFormatPayload_CredentialFormats.createOffer_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"indy":{"ref":"AnonCredsOfferCredentialFormat"},"jsonld":{"ref":"JsonLdCredentialDetailFormat"},"anoncreds":{"ref":"AnonCredsOfferCredentialFormat"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CreateOfferOptions": { + "dataType": "refObject", + "properties": { + "protocolVersion": {"ref":"ProtocolVersion","required":true}, + "connectionId": {"ref":"RecordId","required":true}, + "credentialFormats": {"ref":"CredentialFormatPayload_CredentialFormats.createOffer_","required":true}, + "autoAcceptCredential": {"ref":"AutoAcceptCredential"}, + "comment": {"dataType":"string"}, + "goalCode": {"dataType":"string"}, + "goal": {"dataType":"string"}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CredentialFormatPayload_CredentialFormatType-Array.createOffer_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"indy":{"ref":"AnonCredsOfferCredentialFormat"},"jsonld":{"ref":"JsonLdCredentialDetailFormat"},"anoncreds":{"ref":"AnonCredsOfferCredentialFormat"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CreateOfferOobOptions": { + "dataType": "refObject", + "properties": { + "protocolVersion": {"dataType":"string","required":true}, + "credentialFormats": {"ref":"CredentialFormatPayload_CredentialFormatType-Array.createOffer_","required":true}, + "autoAcceptCredential": {"ref":"AutoAcceptCredential"}, + "comment": {"dataType":"string"}, + "goalCode": {"dataType":"string"}, + "parentThreadId": {"dataType":"string"}, + "willConfirm": {"dataType":"boolean"}, + "label": {"dataType":"string"}, + "imageUrl": {"dataType":"string"}, + "recipientKey": {"dataType":"string"}, + "invitationDid": {"dataType":"string"}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "AnonCredsAcceptOfferFormat": { "dataType": "refObject", "properties": { @@ -1346,18 +1373,73 @@ const models: TsoaRoute.Models = { "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"credential":{"ref":"CredentialFormatDataMessagePayload__40_LegacyIndyCredentialFormat-or-JsonLdCredentialFormat-or-AnonCredsCredentialFormat_41_-Array.credential_"},"request":{"ref":"CredentialFormatDataMessagePayload__40_LegacyIndyCredentialFormat-or-JsonLdCredentialFormat-or-AnonCredsCredentialFormat_41_-Array.request_"},"offerAttributes":{"dataType":"array","array":{"dataType":"refObject","ref":"CredentialPreviewAttributeOptions"}},"offer":{"ref":"CredentialFormatDataMessagePayload__40_LegacyIndyCredentialFormat-or-JsonLdCredentialFormat-or-AnonCredsCredentialFormat_41_-Array.offer_"},"proposal":{"ref":"CredentialFormatDataMessagePayload__40_LegacyIndyCredentialFormat-or-JsonLdCredentialFormat-or-AnonCredsCredentialFormat_41_-Array.proposal_"},"proposalAttributes":{"dataType":"array","array":{"dataType":"refObject","ref":"CredentialPreviewAttributeOptions"}}},"validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "DidExchangeState": { + "dataType": "refEnum", + "enums": ["start","invitation-sent","invitation-received","request-sent","request-received","response-sent","response-received","abandoned","completed"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa "BasicMessageRecord": { "dataType": "refAlias", "type": {"ref":"Record_string.unknown_","validators":{}}, }, // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - "AgentInfo": { + "Record_content.string_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"content":{"dataType":"string","required":true}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Pick_InitConfig.label-or-connectionImageUrl_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"label":{"dataType":"string","required":true},"connectionImageUrl":{"dataType":"string"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "KeyDerivationMethod": { + "dataType": "refEnum", + "enums": ["ARGON2I_MOD","ARGON2I_INT","RAW"], + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Pick_WalletConfig.id-or-key-or-keyDerivationMethod_": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"key":{"dataType":"string","required":true},"id":{"dataType":"string","required":true},"keyDerivationMethod":{"ref":"KeyDerivationMethod"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "TenantConfig": { + "dataType": "refAlias", + "type": {"dataType":"intersection","subSchemas":[{"ref":"Pick_InitConfig.label-or-connectionImageUrl_"},{"dataType":"nestedObjectLiteral","nestedProperties":{"walletConfig":{"ref":"Pick_WalletConfig.id-or-key-or-keyDerivationMethod_","required":true}}}],"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "MetadataValue": { + "dataType": "refAlias", + "type": {"ref":"Record_string.any_","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "MetadataBase": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"ref":"MetadataValue"},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Metadata____": { "dataType": "refObject", "properties": { - "label": {"dataType":"string","required":true}, - "endpoints": {"dataType":"array","array":{"dataType":"string"},"required":true}, - "isInitialized": {"dataType":"boolean","required":true}, - "publicDid": {"dataType":"void","required":true}, + "data": {"ref":"MetadataBase","required":true}, + }, + "additionalProperties": false, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Pick_CustomTenantConfig.Exclude_keyofCustomTenantConfig.walletConfig__": { + "dataType": "refAlias", + "type": {"dataType":"nestedObjectLiteral","nestedProperties":{"label":{"dataType":"string","required":true},"connectionImageUrl":{"dataType":"string"}},"validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "Omit_CustomTenantConfig.walletConfig_": { + "dataType": "refAlias", + "type": {"ref":"Pick_CustomTenantConfig.Exclude_keyofCustomTenantConfig.walletConfig__","validators":{}}, + }, + // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa + "CreateTenantOptions": { + "dataType": "refObject", + "properties": { + "config": {"ref":"Omit_CustomTenantConfig.walletConfig_","required":true}, }, "additionalProperties": false, }, @@ -1370,1318 +1452,39 @@ const templateService = new ExpressTemplateService(models, {"noImplicitAdditiona -export function RegisterRoutes(app: Router) { - - // ########################################################################################################### - // NOTE: If you do not see routes for all of your controllers in this file, then you might not have informed tsoa of where to look - // Please look into the "controllerPathGlobs" config option described in the readme: https://github.com/lukeautry/tsoa - // ########################################################################################################### - - - - const argsProofController_getAllProofs: Record = { - threadId: {"in":"query","name":"threadId","dataType":"string"}, - }; - app.get('/proofs', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.getAllProofs)), - - async function ProofController_getAllProofs(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsProofController_getAllProofs, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getAllProofs', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsProofController_getProofById: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"ref":"RecordId"}, - }; - app.get('/proofs/:proofRecordId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.getProofById)), - - async function ProofController_getProofById(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsProofController_getProofById, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getProofById', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsProofController_proposeProof: Record = { - requestProofProposalOptions: {"in":"body","name":"requestProofProposalOptions","required":true,"ref":"RequestProofProposalOptions"}, - }; - app.post('/proofs/propose-proof', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.proposeProof)), - - async function ProofController_proposeProof(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsProofController_proposeProof, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'proposeProof', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsProofController_acceptProposal: Record = { - acceptProposal: {"in":"body","name":"acceptProposal","required":true,"ref":"AcceptProofProposal"}, - }; - app.post('/proofs/:proofRecordId/accept-proposal', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.acceptProposal)), - - async function ProofController_acceptProposal(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsProofController_acceptProposal, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'acceptProposal', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsProofController_requestProof: Record = { - requestProofOptions: {"in":"body","name":"requestProofOptions","required":true,"ref":"RequestProofOptions"}, - }; - app.post('/proofs/request-proof', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.requestProof)), - - async function ProofController_requestProof(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsProofController_requestProof, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'requestProof', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsProofController_createRequest: Record = { - createRequestOptions: {"in":"body","name":"createRequestOptions","required":true,"ref":"CreateProofRequestOobOptions"}, - }; - app.post('/proofs/create-request-oob', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.createRequest)), - - async function ProofController_createRequest(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsProofController_createRequest, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createRequest', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsProofController_acceptRequest: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"comment":{"dataType":"string"},"filterByNonRevocationRequirements":{"dataType":"boolean"},"filterByPresentationPreview":{"dataType":"boolean"}}}, - }; - app.post('/proofs/:proofRecordId/accept-request', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.acceptRequest)), - - async function ProofController_acceptRequest(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsProofController_acceptRequest, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'acceptRequest', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsProofController_acceptPresentation: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - }; - app.post('/proofs/:proofRecordId/accept-presentation', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.acceptPresentation)), - - async function ProofController_acceptPresentation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsProofController_acceptPresentation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'acceptPresentation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsProofController_proofFormData: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - }; - app.get('/proofs/:proofRecordId/form-data', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(ProofController)), - ...(fetchMiddlewares(ProofController.prototype.proofFormData)), - - async function ProofController_proofFormData(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsProofController_proofFormData, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(ProofController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'proofFormData', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPolygon_createKeyPair: Record = { - }; - app.post('/polygon/create-keys', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(Polygon)), - ...(fetchMiddlewares(Polygon.prototype.createKeyPair)), - - async function Polygon_createKeyPair(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_createKeyPair, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(Polygon); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createKeyPair', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPolygon_createSchema: Record = { - createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, - }; - app.post('/polygon/create-schema', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(Polygon)), - ...(fetchMiddlewares(Polygon.prototype.createSchema)), - - async function Polygon_createSchema(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_createSchema, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(Polygon); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createSchema', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPolygon_estimateTransaction: Record = { - estimateTransactionRequest: {"in":"body","name":"estimateTransactionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"transaction":{"dataType":"any","required":true},"operation":{"dataType":"any","required":true}}}, - }; - app.post('/polygon/estimate-transaction', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(Polygon)), - ...(fetchMiddlewares(Polygon.prototype.estimateTransaction)), - - async function Polygon_estimateTransaction(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_estimateTransaction, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(Polygon); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'estimateTransaction', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsPolygon_getSchemaById: Record = { - did: {"in":"path","name":"did","required":true,"dataType":"string"}, - schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, - }; - app.get('/polygon/:did/:schemaId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(Polygon)), - ...(fetchMiddlewares(Polygon.prototype.getSchemaById)), - - async function Polygon_getSchemaById(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_getSchemaById, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(Polygon); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getSchemaById', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOutOfBandController_getAllOutOfBandRecords: Record = { - invitationId: {"in":"query","name":"invitationId","ref":"RecordId"}, - }; - app.get('/oob', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.getAllOutOfBandRecords)), - - async function OutOfBandController_getAllOutOfBandRecords(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_getAllOutOfBandRecords, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(OutOfBandController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getAllOutOfBandRecords', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOutOfBandController_getOutOfBandRecordById: Record = { - outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, - }; - app.get('/oob/:outOfBandId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.getOutOfBandRecordById)), - - async function OutOfBandController_getOutOfBandRecordById(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_getOutOfBandRecordById, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(OutOfBandController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getOutOfBandRecordById', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOutOfBandController_createInvitation: Record = { - config: {"in":"body","name":"config","required":true,"dataType":"intersection","subSchemas":[{"ref":"CreateInvitationOptions"},{"ref":"RecipientKeyOption"}]}, - }; - app.post('/oob/create-invitation', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.createInvitation)), - - async function OutOfBandController_createInvitation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_createInvitation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(OutOfBandController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createInvitation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOutOfBandController_createLegacyInvitation: Record = { - config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateLegacyInvitationConfig.routing_"},{"ref":"RecipientKeyOption"}]}, - }; - app.post('/oob/create-legacy-invitation', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyInvitation)), - - async function OutOfBandController_createLegacyInvitation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_createLegacyInvitation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(OutOfBandController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createLegacyInvitation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOutOfBandController_createLegacyConnectionlessInvitation: Record = { - config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"domain":{"dataType":"string","required":true},"message":{"ref":"AgentMessageType","required":true},"recordId":{"dataType":"string","required":true}}}, - }; - app.post('/oob/create-legacy-connectionless-invitation', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyConnectionlessInvitation)), - - async function OutOfBandController_createLegacyConnectionlessInvitation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_createLegacyConnectionlessInvitation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(OutOfBandController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createLegacyConnectionlessInvitation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOutOfBandController_receiveInvitation: Record = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationProps"}, - }; - app.post('/oob/receive-invitation', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitation)), - - async function OutOfBandController_receiveInvitation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_receiveInvitation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(OutOfBandController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'receiveInvitation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOutOfBandController_receiveInvitationFromUrl: Record = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationByUrlProps"}, - }; - app.post('/oob/receive-invitation-url', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitationFromUrl)), - - async function OutOfBandController_receiveInvitationFromUrl(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_receiveInvitationFromUrl, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(OutOfBandController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'receiveInvitationFromUrl', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOutOfBandController_acceptInvitation: Record = { - outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, - acceptInvitationConfig: {"in":"body","name":"acceptInvitationConfig","required":true,"ref":"AcceptInvitationConfig"}, - }; - app.post('/oob/:outOfBandId/accept-invitation', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.acceptInvitation)), - - async function OutOfBandController_acceptInvitation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_acceptInvitation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(OutOfBandController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'acceptInvitation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsOutOfBandController_deleteOutOfBandRecord: Record = { - outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, - }; - app.delete('/oob/:outOfBandId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(OutOfBandController)), - ...(fetchMiddlewares(OutOfBandController.prototype.deleteOutOfBandRecord)), - - async function OutOfBandController_deleteOutOfBandRecord(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_deleteOutOfBandRecord, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(OutOfBandController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'deleteOutOfBandRecord', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createTenant: Record = { - createTenantOptions: {"in":"body","name":"createTenantOptions","required":true,"ref":"CreateTenantOptions"}, - }; - app.post('/multi-tenancy/create-tenant', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createTenant)), - - async function MultiTenancyController_createTenant(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createTenant, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createTenant', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createDid: Record = { - createDidOptions: {"in":"body","name":"createDidOptions","required":true,"ref":"DidCreate"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; - app.post('/multi-tenancy/create-did/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createDid)), - - async function MultiTenancyController_createDid(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createDid, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createDid', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getDids: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; - app.get('/multi-tenancy/dids/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getDids)), - - async function MultiTenancyController_getDids(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getDids, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getDids', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_didNymTransaction: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - didNymTransaction: {"in":"body","name":"didNymTransaction","required":true,"ref":"DidNymTransaction"}, - }; - app.post('/multi-tenancy/transactions/set-endorser-role/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.didNymTransaction)), - - async function MultiTenancyController_didNymTransaction(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_didNymTransaction, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'didNymTransaction', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_endorserTransaction: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - endorserTransaction: {"in":"body","name":"endorserTransaction","required":true,"ref":"EndorserTransaction"}, - }; - app.post('/multi-tenancy/transactions/endorse/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.endorserTransaction)), - - async function MultiTenancyController_endorserTransaction(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_endorserTransaction, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'endorserTransaction', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getConnectionById: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - }; - app.get('/multi-tenancy/connections/:connectionId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getConnectionById)), - - async function MultiTenancyController_getConnectionById(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getConnectionById, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getConnectionById', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createInvitation: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateOutOfBandInvitationConfig.routing_"},{"ref":"RecipientKeyOption"}]}, - }; - app.post('/multi-tenancy/create-invitation/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createInvitation)), - - async function MultiTenancyController_createInvitation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createInvitation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createInvitation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createLegacyInvitation: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages_"},{"ref":"RecipientKeyOption"}]}, - }; - app.post('/multi-tenancy/create-legacy-invitation/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createLegacyInvitation)), - - async function MultiTenancyController_createLegacyInvitation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createLegacyInvitation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'createLegacyInvitation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_receiveInvitation: Record = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationProps"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; - app.post('/multi-tenancy/receive-invitation/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.receiveInvitation)), - - async function MultiTenancyController_receiveInvitation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_receiveInvitation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'receiveInvitation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_receiveInvitationFromUrl: Record = { - invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationByUrlProps"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; - app.post('/multi-tenancy/receive-invitation-url/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.receiveInvitationFromUrl)), - - async function MultiTenancyController_receiveInvitationFromUrl(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_receiveInvitationFromUrl, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'receiveInvitationFromUrl', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getAllOutOfBandRecords: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, - }; - app.get('/multi-tenancy/oob/:invitationId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getAllOutOfBandRecords)), - - async function MultiTenancyController_getAllOutOfBandRecords(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getAllOutOfBandRecords, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getAllOutOfBandRecords', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getAllConnections: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - outOfBandId: {"in":"query","name":"outOfBandId","dataType":"string"}, - alias: {"in":"query","name":"alias","dataType":"string"}, - state: {"in":"query","name":"state","ref":"DidExchangeState"}, - myDid: {"in":"query","name":"myDid","dataType":"string"}, - theirDid: {"in":"query","name":"theirDid","dataType":"string"}, - theirLabel: {"in":"query","name":"theirLabel","dataType":"string"}, - }; - app.get('/multi-tenancy/connections/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getAllConnections)), - - async function MultiTenancyController_getAllConnections(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getAllConnections, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getAllConnections', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getInvitation: Record = { - invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - }; - app.get('/multi-tenancy/url/:tenantId/:invitationId', - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getInvitation)), - - async function MultiTenancyController_getInvitation(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getInvitation, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(MultiTenancyController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getInvitation', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createSchema: Record = { - schema: {"in":"body","name":"schema","required":true,"ref":"CreateSchemaInput"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, +export function RegisterRoutes(app: Router) { + + // ########################################################################################################### + // NOTE: If you do not see routes for all of your controllers in this file, then you might not have informed tsoa of where to look + // Please look into the "controllerPathGlobs" config option described in the readme: https://github.com/lukeautry/tsoa + // ########################################################################################################### + + + + const argsPolygon_createKeyPair: Record = { }; - app.post('/multi-tenancy/schema/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createSchema)), + app.post('/polygon/create-keys', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(Polygon)), + ...(fetchMiddlewares(Polygon.prototype.createKeyPair)), - async function MultiTenancyController_createSchema(request: ExRequest, response: ExResponse, next: any) { + async function Polygon_createKeyPair(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createSchema, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_createKeyPair, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(Polygon); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createSchema', + methodName: 'createKeyPair', controller, response, next, @@ -2693,32 +1496,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createPolygonW3CSchema: Record = { - createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"dataType":"nestedObjectLiteral","nestedProperties":{},"additionalProperties":{"dataType":"any"},"required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsPolygon_createSchema: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + createSchemaRequest: {"in":"body","name":"createSchemaRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"schema":{"ref":"Record_string.unknown_","required":true},"schemaName":{"dataType":"string","required":true},"did":{"dataType":"string","required":true}}}, }; - app.post('/multi-tenancy/polygon-w3c/schema/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createPolygonW3CSchema)), + app.post('/polygon/create-schema', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(Polygon)), + ...(fetchMiddlewares(Polygon.prototype.createSchema)), - async function MultiTenancyController_createPolygonW3CSchema(request: ExRequest, response: ExResponse, next: any) { + async function Polygon_createSchema(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createPolygonW3CSchema, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_createSchema, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(Polygon); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createPolygonW3CSchema', + methodName: 'createSchema', controller, response, next, @@ -2730,33 +1533,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getPolygonW3CSchemaById: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - did: {"in":"path","name":"did","required":true,"dataType":"string"}, - schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, + const argsPolygon_estimateTransaction: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + estimateTransactionRequest: {"in":"body","name":"estimateTransactionRequest","required":true,"ref":"DidOperationOptions"}, }; - app.get('/multi-tenancy/polygon-w3c/schema/:did/:schemaId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getPolygonW3CSchemaById)), + app.post('/polygon/estimate-transaction', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(Polygon)), + ...(fetchMiddlewares(Polygon.prototype.estimateTransaction)), - async function MultiTenancyController_getPolygonW3CSchemaById(request: ExRequest, response: ExResponse, next: any) { + async function Polygon_estimateTransaction(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getPolygonW3CSchemaById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_estimateTransaction, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(Polygon); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getPolygonW3CSchemaById', + methodName: 'estimateTransaction', controller, response, next, @@ -2768,32 +1570,33 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_writeSchemaAndCredDefOnLedger: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - writeTransaction: {"in":"body","name":"writeTransaction","required":true,"ref":"WriteTransaction"}, + const argsPolygon_getSchemaById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + did: {"in":"path","name":"did","required":true,"dataType":"string"}, + schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, }; - app.post('/multi-tenancy/transactions/write/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.writeSchemaAndCredDefOnLedger)), + app.get('/polygon/:did/:schemaId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(Polygon)), + ...(fetchMiddlewares(Polygon.prototype.getSchemaById)), - async function MultiTenancyController_writeSchemaAndCredDefOnLedger(request: ExRequest, response: ExResponse, next: any) { + async function Polygon_getSchemaById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_writeSchemaAndCredDefOnLedger, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsPolygon_getSchemaById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(Polygon); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'writeSchemaAndCredDefOnLedger', + methodName: 'getSchemaById', controller, response, next, @@ -2805,32 +1608,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getSchemaById: Record = { - schemaId: {"in":"path","name":"schemaId","required":true,"ref":"SchemaId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsEndorserTransactionController_endorserTransaction: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + endorserTransaction: {"in":"body","name":"endorserTransaction","required":true,"ref":"EndorserTransaction"}, }; - app.get('/multi-tenancy/schema/:schemaId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getSchemaById)), + app.post('/anoncreds/transactions/endorse', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(EndorserTransactionController)), + ...(fetchMiddlewares(EndorserTransactionController.prototype.endorserTransaction)), - async function MultiTenancyController_getSchemaById(request: ExRequest, response: ExResponse, next: any) { + async function EndorserTransactionController_endorserTransaction(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getSchemaById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEndorserTransactionController_endorserTransaction, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(EndorserTransactionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getSchemaById', + methodName: 'endorserTransaction', controller, response, next, @@ -2842,32 +1645,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createCredentialDefinition: Record = { - credentialDefinitionRequest: {"in":"body","name":"credentialDefinitionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"tag":{"dataType":"string","required":true},"schemaId":{"dataType":"string","required":true},"issuerId":{"dataType":"string","required":true}}}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsEndorserTransactionController_didNymTransaction: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + didNymTransaction: {"in":"body","name":"didNymTransaction","required":true,"ref":"DidNymTransaction"}, }; - app.post('/multi-tenancy/credential-definition/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createCredentialDefinition)), + app.post('/anoncreds/transactions/set-endorser-role', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(EndorserTransactionController)), + ...(fetchMiddlewares(EndorserTransactionController.prototype.didNymTransaction)), - async function MultiTenancyController_createCredentialDefinition(request: ExRequest, response: ExResponse, next: any) { + async function EndorserTransactionController_didNymTransaction(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createCredentialDefinition, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEndorserTransactionController_didNymTransaction, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(EndorserTransactionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createCredentialDefinition', + methodName: 'didNymTransaction', controller, response, next, @@ -2879,32 +1682,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getCredentialDefinitionById: Record = { - credentialDefinitionId: {"in":"path","name":"credentialDefinitionId","required":true,"ref":"CredentialDefinitionId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsEndorserTransactionController_writeSchemaAndCredDefOnLedger: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + writeTransaction: {"in":"body","name":"writeTransaction","required":true,"ref":"WriteTransaction"}, }; - app.get('/multi-tenancy/credential-definition/:credentialDefinitionId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getCredentialDefinitionById)), + app.post('/anoncreds/transactions/write', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(EndorserTransactionController)), + ...(fetchMiddlewares(EndorserTransactionController.prototype.writeSchemaAndCredDefOnLedger)), - async function MultiTenancyController_getCredentialDefinitionById(request: ExRequest, response: ExResponse, next: any) { + async function EndorserTransactionController_writeSchemaAndCredDefOnLedger(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getCredentialDefinitionById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsEndorserTransactionController_writeSchemaAndCredDefOnLedger, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(EndorserTransactionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getCredentialDefinitionById', + methodName: 'writeSchemaAndCredDefOnLedger', controller, response, next, @@ -2916,32 +1719,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createOffer: Record = { - createOfferOptions: {"in":"body","name":"createOfferOptions","required":true,"ref":"CreateOfferOptions"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsDidController_getDidRecordByDid: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + did: {"in":"path","name":"did","required":true,"ref":"Did"}, }; - app.post('/multi-tenancy/credentials/create-offer/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createOffer)), + app.get('/dids/:did', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(DidController)), + ...(fetchMiddlewares(DidController.prototype.getDidRecordByDid)), - async function MultiTenancyController_createOffer(request: ExRequest, response: ExResponse, next: any) { + async function DidController_getDidRecordByDid(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createOffer, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsDidController_getDidRecordByDid, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(DidController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createOffer', + methodName: 'getDidRecordByDid', controller, response, next, @@ -2953,32 +1756,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createOfferOob: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - createOfferOptions: {"in":"body","name":"createOfferOptions","required":true,"ref":"CreateOfferOobOptions"}, + const argsDidController_writeDid: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + createDidOptions: {"in":"body","name":"createDidOptions","required":true,"ref":"DidCreate"}, }; - app.post('/multi-tenancy/credentials/create-offer-oob/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createOfferOob)), + app.post('/dids/write', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(DidController)), + ...(fetchMiddlewares(DidController.prototype.writeDid)), - async function MultiTenancyController_createOfferOob(request: ExRequest, response: ExResponse, next: any) { + async function DidController_writeDid(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createOfferOob, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsDidController_writeDid, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(DidController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createOfferOob', + methodName: 'writeDid', controller, response, next, @@ -2990,32 +1793,31 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_acceptOffer: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - acceptCredentialOfferOptions: {"in":"body","name":"acceptCredentialOfferOptions","required":true,"ref":"AcceptCredentialOfferOptions"}, + const argsDidController_getDids: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/multi-tenancy/credentials/accept-offer/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.acceptOffer)), + app.get('/dids', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(DidController)), + ...(fetchMiddlewares(DidController.prototype.getDids)), - async function MultiTenancyController_acceptOffer(request: ExRequest, response: ExResponse, next: any) { + async function DidController_getDids(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_acceptOffer, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsDidController_getDids, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(DidController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'acceptOffer', + methodName: 'getDids', controller, response, next, @@ -3027,32 +1829,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getCredentialById: Record = { - credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsSchemaController_getSchemaById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + schemaId: {"in":"path","name":"schemaId","required":true,"ref":"SchemaId"}, }; - app.get('/multi-tenancy/credentials/:credentialRecordId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getCredentialById)), + app.get('/anoncreds/schemas/:schemaId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(SchemaController)), + ...(fetchMiddlewares(SchemaController.prototype.getSchemaById)), - async function MultiTenancyController_getCredentialById(request: ExRequest, response: ExResponse, next: any) { + async function SchemaController_getSchemaById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getCredentialById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSchemaController_getSchemaById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(SchemaController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getCredentialById', + methodName: 'getSchemaById', controller, response, next, @@ -3064,34 +1866,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getAllCredentials: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - threadId: {"in":"query","name":"threadId","dataType":"string"}, - connectionId: {"in":"query","name":"connectionId","dataType":"string"}, - state: {"in":"query","name":"state","ref":"CredentialState"}, + const argsSchemaController_createSchema: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + schema: {"in":"body","name":"schema","required":true,"ref":"CreateSchemaInput"}, }; - app.get('/multi-tenancy/credentials/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getAllCredentials)), + app.post('/anoncreds/schemas', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(SchemaController)), + ...(fetchMiddlewares(SchemaController.prototype.createSchema)), - async function MultiTenancyController_getAllCredentials(request: ExRequest, response: ExResponse, next: any) { + async function SchemaController_createSchema(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getAllCredentials, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsSchemaController_createSchema, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(SchemaController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getAllCredentials', + methodName: 'createSchema', controller, response, next, @@ -3103,32 +1903,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_credentialFormData: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"dataType":"string"}, + const argsCredentialDefinitionController_getCredentialDefinitionById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + credentialDefinitionId: {"in":"path","name":"credentialDefinitionId","required":true,"ref":"CredentialDefinitionId"}, }; - app.get('/multi-tenancy/credentials/form-data/:tenantId/:credentialRecordId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.credentialFormData)), + app.get('/anoncreds/credential-definitions/:credentialDefinitionId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(CredentialDefinitionController)), + ...(fetchMiddlewares(CredentialDefinitionController.prototype.getCredentialDefinitionById)), - async function MultiTenancyController_credentialFormData(request: ExRequest, response: ExResponse, next: any) { + async function CredentialDefinitionController_getCredentialDefinitionById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_credentialFormData, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialDefinitionController_getCredentialDefinitionById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(CredentialDefinitionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'credentialFormData', + methodName: 'getCredentialDefinitionById', controller, response, next, @@ -3140,32 +1940,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getAllProofs: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - threadId: {"in":"query","name":"threadId","dataType":"string"}, + const argsCredentialDefinitionController_createCredentialDefinition: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + credentialDefinitionRequest: {"in":"body","name":"credentialDefinitionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"tag":{"dataType":"string","required":true},"schemaId":{"ref":"SchemaId","required":true},"issuerId":{"dataType":"string","required":true}}}, }; - app.get('/multi-tenancy/proofs/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getAllProofs)), + app.post('/anoncreds/credential-definitions', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(CredentialDefinitionController)), + ...(fetchMiddlewares(CredentialDefinitionController.prototype.createCredentialDefinition)), - async function MultiTenancyController_getAllProofs(request: ExRequest, response: ExResponse, next: any) { + async function CredentialDefinitionController_createCredentialDefinition(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getAllProofs, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsCredentialDefinitionController_createCredentialDefinition, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(CredentialDefinitionController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getAllProofs', + methodName: 'createCredentialDefinition', controller, response, next, @@ -3177,32 +1977,31 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_proofFormData: Record = { - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsAgentController_getAgentInfo: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/multi-tenancy/form-data/:tenantId/:proofRecordId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.proofFormData)), + app.get('/agent', + authenticateMiddleware([{"jwt":["tenant","dedicated","Basewallet"]}]), + ...(fetchMiddlewares(AgentController)), + ...(fetchMiddlewares(AgentController.prototype.getAgentInfo)), - async function MultiTenancyController_proofFormData(request: ExRequest, response: ExResponse, next: any) { + async function AgentController_getAgentInfo(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_proofFormData, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_getAgentInfo, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(AgentController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'proofFormData', + methodName: 'getAgentInfo', controller, response, next, @@ -3214,32 +2013,31 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_requestProof: Record = { - requestProofOptions: {"in":"body","name":"requestProofOptions","required":true,"ref":"RequestProofOptions"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsAgentController_getAgentToken: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/multi-tenancy/proofs/request-proof/:tenantId', + app.post('/agent/token', authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.requestProof)), + ...(fetchMiddlewares(AgentController)), + ...(fetchMiddlewares(AgentController.prototype.getAgentToken)), - async function MultiTenancyController_requestProof(request: ExRequest, response: ExResponse, next: any) { + async function AgentController_getAgentToken(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_requestProof, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_getAgentToken, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(AgentController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'requestProof', + methodName: 'getAgentToken', controller, response, next, @@ -3251,32 +2049,31 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createRequest: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - createRequestOptions: {"in":"body","name":"createRequestOptions","required":true,"ref":"CreateProofRequestOobOptions"}, + const argsAgentController_deleteWallet: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.post('/multi-tenancy/proofs/create-request-oob/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createRequest)), + app.delete('/agent/wallet', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(AgentController)), + ...(fetchMiddlewares(AgentController.prototype.deleteWallet)), - async function MultiTenancyController_createRequest(request: ExRequest, response: ExResponse, next: any) { + async function AgentController_deleteWallet(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createRequest, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_deleteWallet, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(AgentController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createRequest', + methodName: 'deleteWallet', controller, response, next, @@ -3288,33 +2085,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_acceptRequest: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"comment":{"dataType":"string"},"filterByNonRevocationRequirements":{"dataType":"boolean"},"filterByPresentationPreview":{"dataType":"boolean"}}}, + const argsAgentController_verify: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + body: {"in":"body","name":"body","required":true,"ref":"VerifyDataOptions"}, }; - app.post('/multi-tenancy/proofs/:proofRecordId/accept-request/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.acceptRequest)), + app.post('/agent/verify', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(AgentController)), + ...(fetchMiddlewares(AgentController.prototype.verify)), - async function MultiTenancyController_acceptRequest(request: ExRequest, response: ExResponse, next: any) { + async function AgentController_verify(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_acceptRequest, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_verify, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(AgentController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'acceptRequest', + methodName: 'verify', controller, response, next, @@ -3326,32 +2122,34 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_acceptPresentation: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + const argsAgentController_signCredential: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + storeCredential: {"in":"query","name":"storeCredential","required":true,"dataType":"boolean"}, + dataTypeToSign: {"in":"query","name":"dataTypeToSign","required":true,"dataType":"union","subSchemas":[{"dataType":"enum","enums":["rawData"]},{"dataType":"enum","enums":["jsonLd"]}]}, + data: {"in":"body","name":"data","required":true,"dataType":"union","subSchemas":[{"ref":"CustomW3cJsonLdSignCredentialOptions"},{"ref":"SignDataOptions"}]}, }; - app.post('/multi-tenancy/proofs/:proofRecordId/accept-presentation/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.acceptPresentation)), + app.post('/agent/credential/sign', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(AgentController)), + ...(fetchMiddlewares(AgentController.prototype.signCredential)), - async function MultiTenancyController_acceptPresentation(request: ExRequest, response: ExResponse, next: any) { + async function AgentController_signCredential(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_acceptPresentation, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_signCredential, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(AgentController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'acceptPresentation', + methodName: 'signCredential', controller, response, next, @@ -3363,32 +2161,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getProofById: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - proofRecordId: {"in":"path","name":"proofRecordId","required":true,"ref":"RecordId"}, + const argsAgentController_verifyCredential: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + credentialToVerify: {"in":"body","name":"credentialToVerify","required":true,"ref":"SafeW3cJsonLdVerifyCredentialOptions"}, }; - app.get('/multi-tenancy/proofs/:proofRecordId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getProofById)), + app.post('/agent/credential/verify', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(AgentController)), + ...(fetchMiddlewares(AgentController.prototype.verifyCredential)), - async function MultiTenancyController_getProofById(request: ExRequest, response: ExResponse, next: any) { + async function AgentController_verifyCredential(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getProofById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_verifyCredential, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(AgentController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getProofById', + methodName: 'verifyCredential', controller, response, next, @@ -3400,31 +2198,35 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_deleteTenantById: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsQuestionAnswerController_getQuestionAnswerRecords: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + connectionId: {"in":"query","name":"connectionId","dataType":"string"}, + role: {"in":"query","name":"role","ref":"QuestionAnswerRole"}, + state: {"in":"query","name":"state","ref":"QuestionAnswerState"}, + threadId: {"in":"query","name":"threadId","dataType":"string"}, }; - app.delete('/multi-tenancy/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.deleteTenantById)), + app.get('/didcomm/question-answer', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(QuestionAnswerController)), + ...(fetchMiddlewares(QuestionAnswerController.prototype.getQuestionAnswerRecords)), - async function MultiTenancyController_deleteTenantById(request: ExRequest, response: ExResponse, next: any) { + async function QuestionAnswerController_getQuestionAnswerRecords(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_deleteTenantById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_getQuestionAnswerRecords, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(QuestionAnswerController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'deleteTenantById', + methodName: 'getQuestionAnswerRecords', controller, response, next, @@ -3436,32 +2238,33 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createDidWeb: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - didOptions: {"in":"body","name":"didOptions","required":true,"ref":"DidCreate"}, + const argsQuestionAnswerController_sendQuestion: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, + config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"detail":{"dataType":"string"},"validResponses":{"dataType":"array","array":{"dataType":"refObject","ref":"ValidResponse"},"required":true},"question":{"dataType":"string","required":true}}}, }; - app.post('/multi-tenancy/did/web/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createDidWeb)), + app.post('/didcomm/question-answer/question/:connectionId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(QuestionAnswerController)), + ...(fetchMiddlewares(QuestionAnswerController.prototype.sendQuestion)), - async function MultiTenancyController_createDidWeb(request: ExRequest, response: ExResponse, next: any) { + async function QuestionAnswerController_sendQuestion(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createDidWeb, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_sendQuestion, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(QuestionAnswerController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createDidWeb', + methodName: 'sendQuestion', controller, response, next, @@ -3473,32 +2276,33 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_createDidKey: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - didOptions: {"in":"body","name":"didOptions","required":true,"ref":"DidCreate"}, + const argsQuestionAnswerController_sendAnswer: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, + body: {"in":"body","name":"body","required":true,"ref":"Record_response.string_"}, }; - app.post('/multi-tenancy/did/key:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.createDidKey)), + app.post('/didcomm/question-answer/answer/:id', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(QuestionAnswerController)), + ...(fetchMiddlewares(QuestionAnswerController.prototype.sendAnswer)), - async function MultiTenancyController_createDidKey(request: ExRequest, response: ExResponse, next: any) { + async function QuestionAnswerController_sendAnswer(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createDidKey, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_sendAnswer, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(QuestionAnswerController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createDidKey', + methodName: 'sendAnswer', controller, response, next, @@ -3510,35 +2314,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getQuestionAnswerRecords: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - connectionId: {"in":"query","name":"connectionId","dataType":"string"}, - role: {"in":"query","name":"role","ref":"QuestionAnswerRole"}, - state: {"in":"query","name":"state","ref":"QuestionAnswerState"}, - threadId: {"in":"query","name":"threadId","dataType":"string"}, + const argsQuestionAnswerController_getQuestionAnswerRecordById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, }; - app.get('/multi-tenancy/question-answer/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getQuestionAnswerRecords)), + app.get('/didcomm/question-answer/:id', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(QuestionAnswerController)), + ...(fetchMiddlewares(QuestionAnswerController.prototype.getQuestionAnswerRecordById)), - async function MultiTenancyController_getQuestionAnswerRecords(request: ExRequest, response: ExResponse, next: any) { + async function QuestionAnswerController_getQuestionAnswerRecordById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getQuestionAnswerRecords, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_getQuestionAnswerRecordById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(QuestionAnswerController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getQuestionAnswerRecords', + methodName: 'getQuestionAnswerRecordById', controller, response, next, @@ -3550,33 +2351,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_sendQuestion: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"detail":{"dataType":"string"},"validResponses":{"dataType":"array","array":{"dataType":"refObject","ref":"ValidResponse"},"required":true},"question":{"dataType":"string","required":true}}}, + const argsProofController_getAllProofs: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + threadId: {"in":"query","name":"threadId","dataType":"string"}, }; - app.post('/multi-tenancy/question-answer/question/:connectionId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.sendQuestion)), + app.get('/didcomm/proofs', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.getAllProofs)), - async function MultiTenancyController_sendQuestion(request: ExRequest, response: ExResponse, next: any) { + async function ProofController_getAllProofs(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_sendQuestion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_getAllProofs, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'sendQuestion', + methodName: 'getAllProofs', controller, response, next, @@ -3588,33 +2388,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_sendAnswer: Record = { - id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"ref":"Record_response.string_"}, + const argsProofController_getProofById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"ref":"RecordId"}, }; - app.post('/multi-tenancy/question-answer/answer/:id/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.sendAnswer)), + app.get('/didcomm/proofs/:proofRecordId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.getProofById)), - async function MultiTenancyController_sendAnswer(request: ExRequest, response: ExResponse, next: any) { + async function ProofController_getProofById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_sendAnswer, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_getProofById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'sendAnswer', + methodName: 'getProofById', controller, response, next, @@ -3626,32 +2425,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getQuestionAnswerRecordById: Record = { - id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsProofController_proposeProof: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestProofProposalOptions: {"in":"body","name":"requestProofProposalOptions","required":true,"ref":"RequestProofProposalOptions"}, }; - app.get('/multi-tenancy/question-answer/:id/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getQuestionAnswerRecordById)), + app.post('/didcomm/proofs/propose-proof', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.proposeProof)), - async function MultiTenancyController_getQuestionAnswerRecordById(request: ExRequest, response: ExResponse, next: any) { + async function ProofController_proposeProof(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getQuestionAnswerRecordById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_proposeProof, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getQuestionAnswerRecordById', + methodName: 'proposeProof', controller, response, next, @@ -3663,32 +2462,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_getBasicMessages: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + const argsProofController_acceptProposal: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + acceptProposal: {"in":"body","name":"acceptProposal","required":true,"ref":"AcceptProofProposal"}, }; - app.get('/multi-tenancy/basic-messages/:connectionId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.getBasicMessages)), + app.post('/didcomm/proofs/:proofRecordId/accept-proposal', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.acceptProposal)), - async function MultiTenancyController_getBasicMessages(request: ExRequest, response: ExResponse, next: any) { + async function ProofController_acceptProposal(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getBasicMessages, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_acceptProposal, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getBasicMessages', + methodName: 'acceptProposal', controller, response, next, @@ -3700,33 +2499,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_sendMessage: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"ref":"Record_content.string_"}, + const argsProofController_requestProof: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + requestProofOptions: {"in":"body","name":"requestProofOptions","required":true,"ref":"RequestProofOptions"}, }; - app.post('/multi-tenancy/basic-messages/:connectionId/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.sendMessage)), + app.post('/didcomm/proofs/request-proof', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.requestProof)), - async function MultiTenancyController_sendMessage(request: ExRequest, response: ExResponse, next: any) { + async function ProofController_requestProof(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_sendMessage, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_requestProof, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'sendMessage', + methodName: 'requestProof', controller, response, next, @@ -3738,32 +2536,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_verify: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - request: {"in":"body","name":"request","required":true,"ref":"VerifyDataOptions"}, + const argsProofController_createRequest: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + createRequestOptions: {"in":"body","name":"createRequestOptions","required":true,"ref":"CreateProofRequestOobOptions"}, }; - app.post('/multi-tenancy/verify/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.verify)), + app.post('/didcomm/proofs/create-request-oob', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.createRequest)), - async function MultiTenancyController_verify(request: ExRequest, response: ExResponse, next: any) { + async function ProofController_createRequest(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_verify, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_createRequest, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'verify', + methodName: 'createRequest', controller, response, next, @@ -3775,34 +2573,33 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_signCredential: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - storeCredential: {"in":"query","name":"storeCredential","required":true,"dataType":"boolean"}, - dataTypeToSign: {"in":"query","name":"dataTypeToSign","required":true,"dataType":"union","subSchemas":[{"dataType":"enum","enums":["rawData"]},{"dataType":"enum","enums":["jsonLd"]}]}, - data: {"in":"body","name":"data","required":true,"dataType":"union","subSchemas":[{"ref":"CustomW3cJsonLdSignCredentialOptions"},{"ref":"SignDataOptions"},{"dataType":"any"}]}, + const argsProofController_acceptRequest: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, + body: {"in":"body","name":"body","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"comment":{"dataType":"string"},"filterByNonRevocationRequirements":{"dataType":"boolean"},"filterByPresentationPreview":{"dataType":"boolean"}}}, }; - app.post('/multi-tenancy/credential/sign/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.signCredential)), + app.post('/didcomm/proofs/:proofRecordId/accept-request', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.acceptRequest)), - async function MultiTenancyController_signCredential(request: ExRequest, response: ExResponse, next: any) { + async function ProofController_acceptRequest(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_signCredential, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_acceptRequest, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'signCredential', + methodName: 'acceptRequest', controller, response, next, @@ -3814,32 +2611,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsMultiTenancyController_verifyCredential: Record = { - tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, - credentialToVerify: {"in":"body","name":"credentialToVerify","required":true,"dataType":"union","subSchemas":[{"ref":"SafeW3cJsonLdVerifyCredentialOptions"},{"dataType":"any"}]}, + const argsProofController_acceptPresentation: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, }; - app.post('/multi-tenancy/credential/verify/:tenantId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(MultiTenancyController)), - ...(fetchMiddlewares(MultiTenancyController.prototype.verifyCredential)), + app.post('/didcomm/proofs/:proofRecordId/accept-presentation', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.acceptPresentation)), - async function MultiTenancyController_verifyCredential(request: ExRequest, response: ExResponse, next: any) { + async function ProofController_acceptPresentation(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_verifyCredential, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_acceptPresentation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(MultiTenancyController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'verifyCredential', + methodName: 'acceptPresentation', controller, response, next, @@ -3851,31 +2648,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEndorserTransactionController_endorserTransaction: Record = { - endorserTransaction: {"in":"body","name":"endorserTransaction","required":true,"ref":"EndorserTransaction"}, + const argsProofController_proofFormData: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + proofRecordId: {"in":"path","name":"proofRecordId","required":true,"dataType":"string"}, }; - app.post('/transactions/endorse', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(EndorserTransactionController)), - ...(fetchMiddlewares(EndorserTransactionController.prototype.endorserTransaction)), + app.get('/didcomm/proofs/:proofRecordId/form-data', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(ProofController)), + ...(fetchMiddlewares(ProofController.prototype.proofFormData)), - async function EndorserTransactionController_endorserTransaction(request: ExRequest, response: ExResponse, next: any) { + async function ProofController_proofFormData(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsEndorserTransactionController_endorserTransaction, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsProofController_proofFormData, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(EndorserTransactionController); + const controller: any = await container.get(ProofController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'endorserTransaction', + methodName: 'proofFormData', controller, response, next, @@ -3887,31 +2685,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEndorserTransactionController_didNymTransaction: Record = { - didNymTransaction: {"in":"body","name":"didNymTransaction","required":true,"ref":"DidNymTransaction"}, + const argsOutOfBandController_getAllOutOfBandRecords: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + invitationId: {"in":"query","name":"invitationId","ref":"RecordId"}, }; - app.post('/transactions/set-endorser-role', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(EndorserTransactionController)), - ...(fetchMiddlewares(EndorserTransactionController.prototype.didNymTransaction)), + app.get('/didcomm/oob', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.getAllOutOfBandRecords)), - async function EndorserTransactionController_didNymTransaction(request: ExRequest, response: ExResponse, next: any) { + async function OutOfBandController_getAllOutOfBandRecords(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsEndorserTransactionController_didNymTransaction, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_getAllOutOfBandRecords, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(EndorserTransactionController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'didNymTransaction', + methodName: 'getAllOutOfBandRecords', controller, response, next, @@ -3923,31 +2722,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsEndorserTransactionController_writeSchemaAndCredDefOnLedger: Record = { - writeTransaction: {"in":"body","name":"writeTransaction","required":true,"ref":"WriteTransaction"}, + const argsOutOfBandController_getOutOfBandRecordById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, }; - app.post('/transactions/write', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(EndorserTransactionController)), - ...(fetchMiddlewares(EndorserTransactionController.prototype.writeSchemaAndCredDefOnLedger)), + app.get('/didcomm/oob/:outOfBandId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.getOutOfBandRecordById)), - async function EndorserTransactionController_writeSchemaAndCredDefOnLedger(request: ExRequest, response: ExResponse, next: any) { + async function OutOfBandController_getOutOfBandRecordById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsEndorserTransactionController_writeSchemaAndCredDefOnLedger, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_getOutOfBandRecordById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(EndorserTransactionController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'writeSchemaAndCredDefOnLedger', + methodName: 'getOutOfBandRecordById', controller, response, next, @@ -3959,31 +2759,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsDidController_getDidRecordByDid: Record = { - did: {"in":"path","name":"did","required":true,"ref":"Did"}, + const argsOutOfBandController_createInvitation: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + config: {"in":"body","name":"config","required":true,"dataType":"intersection","subSchemas":[{"ref":"CreateInvitationOptions"},{"ref":"RecipientKeyOption"}]}, }; - app.get('/dids/:did', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(DidController)), - ...(fetchMiddlewares(DidController.prototype.getDidRecordByDid)), + app.post('/didcomm/oob/create-invitation', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.createInvitation)), - async function DidController_getDidRecordByDid(request: ExRequest, response: ExResponse, next: any) { + async function OutOfBandController_createInvitation(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsDidController_getDidRecordByDid, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_createInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(DidController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getDidRecordByDid', + methodName: 'createInvitation', controller, response, next, @@ -3995,31 +2796,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsDidController_writeDid: Record = { - createDidOptions: {"in":"body","name":"createDidOptions","required":true,"ref":"DidCreate"}, + const argsOutOfBandController_createLegacyInvitation: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + config: {"in":"body","name":"config","dataType":"intersection","subSchemas":[{"ref":"Omit_CreateLegacyInvitationConfig.routing_"},{"ref":"RecipientKeyOption"}]}, }; - app.post('/dids/write', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(DidController)), - ...(fetchMiddlewares(DidController.prototype.writeDid)), + app.post('/didcomm/oob/create-legacy-invitation', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyInvitation)), - async function DidController_writeDid(request: ExRequest, response: ExResponse, next: any) { + async function OutOfBandController_createLegacyInvitation(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsDidController_writeDid, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_createLegacyInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(DidController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'writeDid', + methodName: 'createLegacyInvitation', controller, response, next, @@ -4031,30 +2833,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsDidController_getDids: Record = { + const argsOutOfBandController_createLegacyConnectionlessInvitation: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"domain":{"dataType":"string","required":true},"message":{"ref":"AgentMessageType","required":true},"recordId":{"dataType":"string","required":true}}}, }; - app.get('/dids', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(DidController)), - ...(fetchMiddlewares(DidController.prototype.getDids)), + app.post('/didcomm/oob/create-legacy-connectionless-invitation', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.createLegacyConnectionlessInvitation)), - async function DidController_getDids(request: ExRequest, response: ExResponse, next: any) { + async function OutOfBandController_createLegacyConnectionlessInvitation(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsDidController_getDids, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_createLegacyConnectionlessInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(DidController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getDids', + methodName: 'createLegacyConnectionlessInvitation', controller, response, next, @@ -4066,31 +2870,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSchemaController_getSchemaById: Record = { - schemaId: {"in":"path","name":"schemaId","required":true,"dataType":"string"}, + const argsOutOfBandController_receiveInvitation: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationProps"}, }; - app.get('/schemas/:schemaId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(SchemaController)), - ...(fetchMiddlewares(SchemaController.prototype.getSchemaById)), + app.post('/didcomm/oob/receive-invitation', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitation)), - async function SchemaController_getSchemaById(request: ExRequest, response: ExResponse, next: any) { + async function OutOfBandController_receiveInvitation(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsSchemaController_getSchemaById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_receiveInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(SchemaController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getSchemaById', + methodName: 'receiveInvitation', controller, response, next, @@ -4102,31 +2907,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsSchemaController_createSchema: Record = { - schema: {"in":"body","name":"schema","required":true,"ref":"CreateSchemaInput"}, + const argsOutOfBandController_receiveInvitationFromUrl: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + invitationRequest: {"in":"body","name":"invitationRequest","required":true,"ref":"ReceiveInvitationByUrlProps"}, }; - app.post('/schemas', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(SchemaController)), - ...(fetchMiddlewares(SchemaController.prototype.createSchema)), + app.post('/didcomm/oob/receive-invitation-url', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.receiveInvitationFromUrl)), - async function SchemaController_createSchema(request: ExRequest, response: ExResponse, next: any) { + async function OutOfBandController_receiveInvitationFromUrl(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsSchemaController_createSchema, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_receiveInvitationFromUrl, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(SchemaController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createSchema', + methodName: 'receiveInvitationFromUrl', controller, response, next, @@ -4138,31 +2944,33 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsCredentialDefinitionController_getCredentialDefinitionById: Record = { - credentialDefinitionId: {"in":"path","name":"credentialDefinitionId","required":true,"ref":"CredentialDefinitionId"}, + const argsOutOfBandController_acceptInvitation: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, + acceptInvitationConfig: {"in":"body","name":"acceptInvitationConfig","required":true,"ref":"AcceptInvitationConfig"}, }; - app.get('/credential-definitions/:credentialDefinitionId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(CredentialDefinitionController)), - ...(fetchMiddlewares(CredentialDefinitionController.prototype.getCredentialDefinitionById)), + app.post('/didcomm/oob/:outOfBandId/accept-invitation', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.acceptInvitation)), - async function CredentialDefinitionController_getCredentialDefinitionById(request: ExRequest, response: ExResponse, next: any) { + async function OutOfBandController_acceptInvitation(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsCredentialDefinitionController_getCredentialDefinitionById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_acceptInvitation, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(CredentialDefinitionController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getCredentialDefinitionById', + methodName: 'acceptInvitation', controller, response, next, @@ -4174,31 +2982,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsCredentialDefinitionController_createCredentialDefinition: Record = { - credentialDefinitionRequest: {"in":"body","name":"credentialDefinitionRequest","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"endorserDid":{"dataType":"string"},"endorse":{"dataType":"boolean"},"tag":{"dataType":"string","required":true},"schemaId":{"ref":"SchemaId","required":true},"issuerId":{"dataType":"string","required":true}}}, + const argsOutOfBandController_deleteOutOfBandRecord: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + outOfBandId: {"in":"path","name":"outOfBandId","required":true,"ref":"RecordId"}, }; - app.post('/credential-definitions', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(CredentialDefinitionController)), - ...(fetchMiddlewares(CredentialDefinitionController.prototype.createCredentialDefinition)), + app.delete('/didcomm/oob/:outOfBandId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), + ...(fetchMiddlewares(OutOfBandController)), + ...(fetchMiddlewares(OutOfBandController.prototype.deleteOutOfBandRecord)), - async function CredentialDefinitionController_createCredentialDefinition(request: ExRequest, response: ExResponse, next: any) { + async function OutOfBandController_deleteOutOfBandRecord(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsCredentialDefinitionController_createCredentialDefinition, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsOutOfBandController_deleteOutOfBandRecord, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(CredentialDefinitionController); + const controller: any = await container.get(OutOfBandController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'createCredentialDefinition', + methodName: 'deleteOutOfBandRecord', controller, response, next, @@ -4211,14 +3020,15 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_getAllCredentials: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, threadId: {"in":"query","name":"threadId","ref":"ThreadId"}, parentThreadId: {"in":"query","name":"parentThreadId","ref":"ThreadId"}, connectionId: {"in":"query","name":"connectionId","ref":"RecordId"}, state: {"in":"query","name":"state","ref":"CredentialState"}, role: {"in":"query","name":"role","ref":"CredentialRole"}, }; - app.get('/credentials', - authenticateMiddleware([{"apiKey":[]}]), + app.get('/didcomm/credentials', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.getAllCredentials)), @@ -4251,9 +3061,10 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_getAllW3c: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, }; - app.get('/credentials/w3c', - authenticateMiddleware([{"apiKey":[]}]), + app.get('/didcomm/credentials/w3c', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.getAllW3c)), @@ -4286,10 +3097,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_getW3cById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, id: {"in":"path","name":"id","required":true,"dataType":"string"}, }; - app.get('/credentials/w3c/:id', - authenticateMiddleware([{"apiKey":[]}]), + app.get('/didcomm/credentials/w3c/:id', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.getW3cById)), @@ -4322,10 +3134,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_getCredentialById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"ref":"RecordId"}, }; - app.get('/credentials/:credentialRecordId', - authenticateMiddleware([{"apiKey":[]}]), + app.get('/didcomm/credentials/:credentialRecordId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.getCredentialById)), @@ -4358,10 +3171,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_proposeCredential: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, proposeCredentialOptions: {"in":"body","name":"proposeCredentialOptions","required":true,"ref":"ProposeCredentialOptions"}, }; - app.post('/credentials/propose-credential', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/credentials/propose-credential', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.proposeCredential)), @@ -4394,10 +3208,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_acceptProposal: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, acceptCredentialProposal: {"in":"body","name":"acceptCredentialProposal","required":true,"ref":"AcceptCredentialProposalOptions"}, }; - app.post('/credentials/accept-proposal', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/credentials/accept-proposal', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.acceptProposal)), @@ -4430,10 +3245,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_createOffer: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, createOfferOptions: {"in":"body","name":"createOfferOptions","required":true,"ref":"CreateOfferOptions"}, }; - app.post('/credentials/create-offer', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/credentials/create-offer', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.createOffer)), @@ -4466,10 +3282,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_createOfferOob: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, outOfBandOption: {"in":"body","name":"outOfBandOption","required":true,"ref":"CreateOfferOobOptions"}, }; - app.post('/credentials/create-offer-oob', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/credentials/create-offer-oob', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.createOfferOob)), @@ -4502,10 +3319,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_acceptOffer: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, acceptCredentialOfferOptions: {"in":"body","name":"acceptCredentialOfferOptions","required":true,"ref":"CredentialOfferOptions"}, }; - app.post('/credentials/accept-offer', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/credentials/accept-offer', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.acceptOffer)), @@ -4538,10 +3356,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_acceptRequest: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, acceptCredentialRequestOptions: {"in":"body","name":"acceptCredentialRequestOptions","required":true,"ref":"AcceptCredentialRequestOptions"}, }; - app.post('/credentials/accept-request', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/credentials/accept-request', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.acceptRequest)), @@ -4574,10 +3393,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_acceptCredential: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, acceptCredential: {"in":"body","name":"acceptCredential","required":true,"ref":"AcceptCredential"}, }; - app.post('/credentials/accept-credential', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/credentials/accept-credential', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.acceptCredential)), @@ -4610,10 +3430,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsCredentialController_credentialFormData: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, credentialRecordId: {"in":"path","name":"credentialRecordId","required":true,"dataType":"string"}, }; - app.get('/credentials/:credentialRecordId/form-data', - authenticateMiddleware([{"apiKey":[]}]), + app.get('/didcomm/credentials/:credentialRecordId/form-data', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(CredentialController)), ...(fetchMiddlewares(CredentialController.prototype.credentialFormData)), @@ -4646,6 +3467,7 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsConnectionController_getAllConnections: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, outOfBandId: {"in":"query","name":"outOfBandId","dataType":"string"}, alias: {"in":"query","name":"alias","dataType":"string"}, state: {"in":"query","name":"state","ref":"DidExchangeState"}, @@ -4653,8 +3475,8 @@ export function RegisterRoutes(app: Router) { theirDid: {"in":"query","name":"theirDid","dataType":"string"}, theirLabel: {"in":"query","name":"theirLabel","dataType":"string"}, }; - app.get('/connections', - authenticateMiddleware([{"apiKey":[]}]), + app.get('/didcomm/connections', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.getAllConnections)), @@ -4687,10 +3509,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsConnectionController_getConnectionById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, }; - app.get('/connections/:connectionId', - authenticateMiddleware([{"apiKey":[]}]), + app.get('/didcomm/connections/:connectionId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.getConnectionById)), @@ -4723,10 +3546,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsConnectionController_deleteConnection: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, }; - app.delete('/connections/:connectionId', - authenticateMiddleware([{"apiKey":[]}]), + app.delete('/didcomm/connections/:connectionId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.deleteConnection)), @@ -4759,10 +3583,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsConnectionController_acceptRequest: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, }; - app.post('/connections/:connectionId/accept-request', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/connections/:connectionId/accept-request', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.acceptRequest)), @@ -4795,10 +3620,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsConnectionController_acceptResponse: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, }; - app.post('/connections/:connectionId/accept-response', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/connections/:connectionId/accept-response', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.acceptResponse)), @@ -4831,9 +3657,10 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsConnectionController_getInvitation: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, invitationId: {"in":"path","name":"invitationId","required":true,"dataType":"string"}, }; - app.get('/url/:invitationId', + app.get('/didcomm/url/:invitationId', ...(fetchMiddlewares(ConnectionController)), ...(fetchMiddlewares(ConnectionController.prototype.getInvitation)), @@ -4866,10 +3693,11 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsBasicMessageController_getBasicMessages: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, }; - app.get('/basic-messages/:connectionId', - authenticateMiddleware([{"apiKey":[]}]), + app.get('/didcomm/basic-messages/:connectionId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(BasicMessageController)), ...(fetchMiddlewares(BasicMessageController.prototype.getBasicMessages)), @@ -4902,11 +3730,12 @@ export function RegisterRoutes(app: Router) { }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa const argsBasicMessageController_sendMessage: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - request: {"in":"body","name":"request","required":true,"ref":"Record_content.string_"}, + body: {"in":"body","name":"body","required":true,"ref":"Record_content.string_"}, }; - app.post('/basic-messages/:connectionId', - authenticateMiddleware([{"apiKey":[]}]), + app.post('/didcomm/basic-messages/:connectionId', + authenticateMiddleware([{"jwt":["tenant","dedicated"]}]), ...(fetchMiddlewares(BasicMessageController)), ...(fetchMiddlewares(BasicMessageController.prototype.sendMessage)), @@ -4938,103 +3767,32 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsAgentController_getAgentInfo: Record = { - }; - app.get('/agent', - ...(fetchMiddlewares(AgentController)), - ...(fetchMiddlewares(AgentController.prototype.getAgentInfo)), - - async function AgentController_getAgentInfo(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_getAgentInfo, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(AgentController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'getAgentInfo', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsAgentController_deleteWallet: Record = { - }; - app.delete('/agent/wallet', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(AgentController)), - ...(fetchMiddlewares(AgentController.prototype.deleteWallet)), - - async function AgentController_deleteWallet(request: ExRequest, response: ExResponse, next: any) { - - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - - let validatedArgs: any[] = []; - try { - validatedArgs = templateService.getValidatedArgs({ args: argsAgentController_deleteWallet, request, response }); - - const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - - const controller: any = await container.get(AgentController); - if (typeof controller['setStatus'] === 'function') { - controller.setStatus(undefined); - } - - await templateService.apiHandler({ - methodName: 'deleteWallet', - controller, - response, - next, - validatedArgs, - successStatus: undefined, - }); - } catch (err) { - return next(err); - } - }); - // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsQuestionAnswerController_getQuestionAnswerRecords: Record = { - connectionId: {"in":"query","name":"connectionId","dataType":"string"}, - role: {"in":"query","name":"role","ref":"QuestionAnswerRole"}, - state: {"in":"query","name":"state","ref":"QuestionAnswerState"}, - threadId: {"in":"query","name":"threadId","dataType":"string"}, + const argsMultiTenancyController_createTenant: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + createTenantOptions: {"in":"body","name":"createTenantOptions","required":true,"ref":"CreateTenantOptions"}, }; - app.get('/question-answer', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(QuestionAnswerController)), - ...(fetchMiddlewares(QuestionAnswerController.prototype.getQuestionAnswerRecords)), + app.post('/multi-tenancy/create-tenant', + authenticateMiddleware([{"jwt":["Basewallet"]}]), + ...(fetchMiddlewares(MultiTenancyController)), + ...(fetchMiddlewares(MultiTenancyController.prototype.createTenant)), - async function QuestionAnswerController_getQuestionAnswerRecords(request: ExRequest, response: ExResponse, next: any) { + async function MultiTenancyController_createTenant(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_getQuestionAnswerRecords, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_createTenant, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(QuestionAnswerController); + const controller: any = await container.get(MultiTenancyController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getQuestionAnswerRecords', + methodName: 'createTenant', controller, response, next, @@ -5046,32 +3804,34 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsQuestionAnswerController_sendQuestion: Record = { - connectionId: {"in":"path","name":"connectionId","required":true,"ref":"RecordId"}, - config: {"in":"body","name":"config","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"detail":{"dataType":"string"},"validResponses":{"dataType":"array","array":{"dataType":"refObject","ref":"ValidResponse"},"required":true},"question":{"dataType":"string","required":true}}}, + const argsMultiTenancyController_getTenantToken: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; - app.post('/question-answer/question/:connectionId', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(QuestionAnswerController)), - ...(fetchMiddlewares(QuestionAnswerController.prototype.sendQuestion)), + app.post('/multi-tenancy/get-token/:tenantId', + authenticateMiddleware([{"jwt":["Basewallet"]}]), + ...(fetchMiddlewares(MultiTenancyController)), + ...(fetchMiddlewares(MultiTenancyController.prototype.getTenantToken)), - async function QuestionAnswerController_sendQuestion(request: ExRequest, response: ExResponse, next: any) { + async function MultiTenancyController_getTenantToken(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_sendQuestion, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getTenantToken, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(QuestionAnswerController); + const controller: any = await container.get(MultiTenancyController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'sendQuestion', + methodName: 'getTenantToken', controller, response, next, @@ -5083,32 +3843,34 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsQuestionAnswerController_sendAnswer: Record = { - id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, - request: {"in":"body","name":"request","required":true,"ref":"Record_response.string_"}, + const argsMultiTenancyController_getTenantById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; - app.post('/question-answer/answer/:id', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(QuestionAnswerController)), - ...(fetchMiddlewares(QuestionAnswerController.prototype.sendAnswer)), + app.get('/multi-tenancy/:tenantId', + authenticateMiddleware([{"jwt":["Basewallet"]}]), + ...(fetchMiddlewares(MultiTenancyController)), + ...(fetchMiddlewares(MultiTenancyController.prototype.getTenantById)), - async function QuestionAnswerController_sendAnswer(request: ExRequest, response: ExResponse, next: any) { + async function MultiTenancyController_getTenantById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_sendAnswer, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_getTenantById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(QuestionAnswerController); + const controller: any = await container.get(MultiTenancyController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'sendAnswer', + methodName: 'getTenantById', controller, response, next, @@ -5120,31 +3882,34 @@ export function RegisterRoutes(app: Router) { } }); // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa - const argsQuestionAnswerController_getQuestionAnswerRecordById: Record = { - id: {"in":"path","name":"id","required":true,"ref":"RecordId"}, + const argsMultiTenancyController_deleteTenantById: Record = { + request: {"in":"request","name":"request","required":true,"dataType":"object"}, + tenantId: {"in":"path","name":"tenantId","required":true,"dataType":"string"}, + notFoundError: {"in":"res","name":"404","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"reason":{"dataType":"string","required":true}}}, + internalServerError: {"in":"res","name":"500","required":true,"dataType":"nestedObjectLiteral","nestedProperties":{"message":{"dataType":"string","required":true}}}, }; - app.get('/question-answer/:id', - authenticateMiddleware([{"apiKey":[]}]), - ...(fetchMiddlewares(QuestionAnswerController)), - ...(fetchMiddlewares(QuestionAnswerController.prototype.getQuestionAnswerRecordById)), + app.delete('/multi-tenancy/:tenantId', + authenticateMiddleware([{"jwt":["Basewallet"]}]), + ...(fetchMiddlewares(MultiTenancyController)), + ...(fetchMiddlewares(MultiTenancyController.prototype.deleteTenantById)), - async function QuestionAnswerController_getQuestionAnswerRecordById(request: ExRequest, response: ExResponse, next: any) { + async function MultiTenancyController_deleteTenantById(request: ExRequest, response: ExResponse, next: any) { // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa let validatedArgs: any[] = []; try { - validatedArgs = templateService.getValidatedArgs({ args: argsQuestionAnswerController_getQuestionAnswerRecordById, request, response }); + validatedArgs = templateService.getValidatedArgs({ args: argsMultiTenancyController_deleteTenantById, request, response }); const container: IocContainer = typeof iocContainer === 'function' ? (iocContainer as IocContainerFactory)(request) : iocContainer; - const controller: any = await container.get(QuestionAnswerController); + const controller: any = await container.get(MultiTenancyController); if (typeof controller['setStatus'] === 'function') { controller.setStatus(undefined); } await templateService.apiHandler({ - methodName: 'getQuestionAnswerRecordById', + methodName: 'deleteTenantById', controller, response, next, diff --git a/src/routes/swagger.json b/src/routes/swagger.json index d22382dd..44bce21e 100644 --- a/src/routes/swagger.json +++ b/src/routes/swagger.json @@ -9,1101 +9,876 @@ "schemas": { "Record_string.unknown_": { "properties": {}, + "additionalProperties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" }, - "RecordId": { - "type": "string", - "example": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e" - }, - "ProofExchangeRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" + "DidOperation.Create": { + "enum": [ + "createDID" + ], + "type": "string" }, - "ProofFormat": { + "CreateDidOperationOptions": { "properties": { - "formatKey": { + "serviceEndpoint": { "type": "string" }, - "proofFormats": { - "properties": { - "selectCredentialsForRequest": { - "properties": { - "output": {}, - "input": {} - }, - "required": [ - "output", - "input" - ], - "type": "object" - }, - "getCredentialsForRequest": { - "properties": { - "output": {}, - "input": {} - }, - "required": [ - "output", - "input" - ], - "type": "object" - }, - "acceptRequest": {}, - "createRequest": {}, - "acceptProposal": {}, - "createProposal": {} - }, - "required": [ - "selectCredentialsForRequest", - "getCredentialsForRequest", - "acceptRequest", - "createRequest", - "acceptProposal", - "createProposal" - ], - "type": "object" - }, - "formatData": { - "properties": { - "presentation": {}, - "request": {}, - "proposal": {} - }, - "required": [ - "presentation", - "request", - "proposal" - ], - "type": "object" + "operation": { + "$ref": "#/components/schemas/DidOperation.Create" } }, "required": [ - "formatKey", - "proofFormats", - "formatData" + "operation" ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "AutoAcceptProof": { - "description": "Typing of the state for auto acceptance", + "DidOperation.Update": { "enum": [ - "always", - "contentApproved", - "never" + "updateDIDDoc" ], "type": "string" }, - "RequestProofProposalOptions": { + "Record_string.any_": { + "properties": {}, + "additionalProperties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "DidDocument": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "UpdateDidOperationOptions": { "properties": { - "connectionId": { + "did": { "type": "string" }, - "proofFormats": { - "properties": { - "action": { - "type": "string", - "enum": [ - "createProposal" - ], - "nullable": false - }, - "formats": { - "items": { - "$ref": "#/components/schemas/ProofFormat" - }, - "type": "array" - } - }, - "required": [ - "action", - "formats" - ], - "type": "object" - }, - "goalCode": { - "type": "string" + "didDocument": { + "$ref": "#/components/schemas/DidDocument" }, - "parentThreadId": { + "operation": { + "$ref": "#/components/schemas/DidOperation.Update" + } + }, + "required": [ + "did", + "didDocument", + "operation" + ], + "type": "object" + }, + "DidOperation.Deactivate": { + "enum": [ + "deactivate" + ], + "type": "string" + }, + "DeactivateDidOperationOptions": { + "properties": { + "did": { "type": "string" }, - "autoAcceptProof": { - "$ref": "#/components/schemas/AutoAcceptProof" - }, - "comment": { - "type": "string" + "operation": { + "$ref": "#/components/schemas/DidOperation.Deactivate" } }, "required": [ - "connectionId", - "proofFormats" + "did", + "operation" ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "AcceptProofProposal": { + "DidOperation.AddResource": { + "enum": [ + "addResource" + ], + "type": "string" + }, + "AddResourceDidOperationOptions": { "properties": { - "proofRecordId": { + "did": { "type": "string" }, - "proofFormats": { - "properties": { - "action": { - "type": "string", - "enum": [ - "acceptProposal" - ], - "nullable": false - }, - "formats": { - "items": { - "$ref": "#/components/schemas/ProofFormat" - }, - "type": "array" - } - }, - "required": [ - "action", - "formats" - ], + "resource": { + "additionalProperties": false, "type": "object" }, - "comment": { - "type": "string" - }, - "autoAcceptProof": { - "$ref": "#/components/schemas/AutoAcceptProof" - }, - "goalCode": { + "resourceId": { "type": "string" }, - "willConfirm": { - "type": "boolean" + "operation": { + "$ref": "#/components/schemas/DidOperation.AddResource" } }, "required": [ - "proofRecordId", - "proofFormats" + "did", + "resource", + "resourceId", + "operation" ], - "type": "object", - "additionalProperties": false + "type": "object" }, - "RequestProofOptions": { - "properties": { - "connectionId": { - "type": "string" - }, - "protocolVersion": { - "type": "string" + "DidOperationOptions": { + "anyOf": [ + { + "$ref": "#/components/schemas/CreateDidOperationOptions" }, - "proofFormats": {}, - "comment": { - "type": "string" + { + "$ref": "#/components/schemas/UpdateDidOperationOptions" }, - "autoAcceptProof": { - "$ref": "#/components/schemas/AutoAcceptProof" + { + "$ref": "#/components/schemas/DeactivateDidOperationOptions" }, - "goalCode": { - "type": "string" + { + "$ref": "#/components/schemas/AddResourceDidOperationOptions" + } + ] + }, + "EndorserTransaction": { + "properties": { + "transaction": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/Record_string.unknown_" + } + ] }, - "parentThreadId": { + "endorserDid": { "type": "string" - }, - "willConfirm": { - "type": "boolean" } }, "required": [ - "connectionId", - "protocolVersion", - "proofFormats", - "comment", - "autoAcceptProof" + "transaction", + "endorserDid" ], "type": "object", "additionalProperties": false }, - "PlaintextMessage": { + "DidRegistrationSecretOptions": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "DidOperationStateWait": { "properties": { - "@type": { - "type": "string" + "state": { + "type": "string", + "enum": [ + "wait" + ], + "nullable": false }, - "@id": { + "did": { "type": "string" }, - "~thread": { - "properties": { - "pthid": { - "type": "string" - }, - "thid": { - "type": "string" - } - }, - "type": "object" + "secret": { + "$ref": "#/components/schemas/DidRegistrationSecretOptions" }, - "messageType": { - "type": "string" + "didDocument": { + "$ref": "#/components/schemas/DidDocument" } }, "required": [ - "@type", - "@id", - "messageType" + "state" ], "type": "object", - "additionalProperties": {} + "additionalProperties": false }, - "CreateProofRequestOobOptions": { + "DidOperationStateActionBase": { "properties": { - "protocolVersion": { - "type": "string" - }, - "proofFormats": {}, - "goalCode": { - "type": "string" - }, - "parentThreadId": { - "type": "string" - }, - "willConfirm": { - "type": "boolean" - }, - "autoAcceptProof": { - "$ref": "#/components/schemas/AutoAcceptProof" - }, - "comment": { - "type": "string" + "state": { + "type": "string", + "enum": [ + "action" + ], + "nullable": false }, - "label": { + "action": { "type": "string" }, - "imageUrl": { + "did": { "type": "string" }, - "recipientKey": { - "type": "string" + "secret": { + "$ref": "#/components/schemas/DidRegistrationSecretOptions" }, - "invitationDid": { - "type": "string" + "didDocument": { + "$ref": "#/components/schemas/DidDocument" } }, "required": [ - "protocolVersion", - "proofFormats" + "state", + "action" ], "type": "object", "additionalProperties": false }, - "HandshakeProtocol": { - "description": "Enum values should be sorted based on order of preference. Values will be\nincluded in this order when creating out of band invitations.", - "enum": [ - "https://didcomm.org/didexchange/1.x", - "https://didcomm.org/connections/1.x" - ], - "type": "string" - }, - "AgentMessage": { - "$ref": "#/components/schemas/PlaintextMessage" - }, - "KeyType": { - "enum": [ - "ed25519", - "bls12381g1g2", - "bls12381g1", - "bls12381g2", - "x25519", - "p256", - "p384", - "p521", - "k256" - ], - "type": "string" - }, - "Key": { + "DidOperationStateFinished": { "properties": { - "publicKey": { + "state": { "type": "string", - "format": "byte" + "enum": [ + "finished" + ], + "nullable": false }, - "keyType": { - "$ref": "#/components/schemas/KeyType" + "did": { + "type": "string" + }, + "secret": { + "$ref": "#/components/schemas/DidRegistrationSecretOptions" + }, + "didDocument": { + "$ref": "#/components/schemas/DidDocument" } }, "required": [ - "publicKey", - "keyType" + "state", + "did", + "didDocument" ], "type": "object", "additionalProperties": false }, - "Routing": { + "DidOperationStateFailed": { "properties": { - "endpoints": { - "items": { - "type": "string" - }, - "type": "array" + "state": { + "type": "string", + "enum": [ + "failed" + ], + "nullable": false }, - "recipientKey": { - "$ref": "#/components/schemas/Key" + "did": { + "type": "string" }, - "routingKeys": { - "items": { - "$ref": "#/components/schemas/Key" - }, - "type": "array" + "secret": { + "$ref": "#/components/schemas/DidRegistrationSecretOptions" }, - "mediatorId": { + "didDocument": { + "$ref": "#/components/schemas/DidDocument" + }, + "reason": { "type": "string" } }, "required": [ - "endpoints", - "recipientKey", - "routingKeys" + "state", + "reason" ], "type": "object", "additionalProperties": false }, - "JsonValue": { - "anyOf": [ - { + "DidRegistrationMetadata": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "DidResolutionMetadata": { + "properties": { + "contentType": { "type": "string" }, - { - "type": "number", - "format": "double" + "error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [ + "invalidDid", + "notFound", + "representationNotSupported", + "unsupportedDidMethod" + ] + } + ] }, - { - "type": "boolean" + "message": { + "type": "string" }, - { - "$ref": "#/components/schemas/JsonObject" + "servedFromCache": { + "type": "boolean", + "description": "Whether the did document was served from the cache" }, - { - "$ref": "#/components/schemas/JsonArray" + "servedFromDidRecord": { + "type": "boolean", + "description": "Whether the did document was served from a local did record" } - ], - "nullable": true - }, - "JsonObject": { - "properties": {}, - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/JsonValue" - } - }, - "JsonArray": { - "items": { - "$ref": "#/components/schemas/JsonValue" }, - "type": "array" + "type": "object", + "additionalProperties": false }, - "Pick_JwsGeneralFormat.Exclude_keyofJwsGeneralFormat.payload__": { + "DidCreateResult_DidOperationStateActionBase_": { "properties": { - "header": { - "$ref": "#/components/schemas/Record_string.unknown_", - "description": "unprotected header" + "jobId": { + "type": "string" }, - "signature": { - "type": "string", - "description": "Base64url encoded signature" + "didState": { + "anyOf": [ + { + "$ref": "#/components/schemas/DidOperationStateWait" + }, + { + "$ref": "#/components/schemas/DidOperationStateActionBase" + }, + { + "$ref": "#/components/schemas/DidOperationStateFinished" + }, + { + "$ref": "#/components/schemas/DidOperationStateFailed" + } + ] }, - "protected": { - "type": "string", - "description": "Base64url encoded protected header" + "didRegistrationMetadata": { + "$ref": "#/components/schemas/DidRegistrationMetadata" + }, + "didDocumentMetadata": { + "$ref": "#/components/schemas/DidResolutionMetadata" } }, "required": [ - "header", - "signature", - "protected" + "didState", + "didRegistrationMetadata", + "didDocumentMetadata" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_JwsGeneralFormat.payload_": { - "$ref": "#/components/schemas/Pick_JwsGeneralFormat.Exclude_keyofJwsGeneralFormat.payload__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "JwsDetachedFormat": { - "$ref": "#/components/schemas/Omit_JwsGeneralFormat.payload_" + "additionalProperties": false }, - "JwsFlattenedDetachedFormat": { + "DidNymTransaction": { "properties": { - "signatures": { - "items": { - "$ref": "#/components/schemas/JwsDetachedFormat" - }, - "type": "array" + "did": { + "type": "string" + }, + "nymRequest": { + "type": "string" } }, "required": [ - "signatures" + "did", + "nymRequest" ], "type": "object", "additionalProperties": false }, - "AttachmentData": { - "description": "A JSON object that gives access to the actual content of the attachment", + "AnonCredsSchema": { "properties": { - "base64": { - "type": "string", - "description": "Base64-encoded data, when representing arbitrary content inline instead of via links. Optional." + "issuerId": { + "type": "string" }, - "json": { - "$ref": "#/components/schemas/JsonValue", - "description": "Directly embedded JSON data, when representing content inline instead of via links, and when the content is natively conveyable as JSON. Optional." + "name": { + "type": "string" }, - "links": { + "version": { + "type": "string" + }, + "attrNames": { "items": { "type": "string" }, - "type": "array", - "description": "A list of zero or more locations at which the content may be fetched. Optional." - }, - "jws": { - "anyOf": [ - { - "$ref": "#/components/schemas/JwsDetachedFormat" - }, - { - "$ref": "#/components/schemas/JwsFlattenedDetachedFormat" - } - ], - "description": "A JSON Web Signature over the content of the attachment. Optional." - }, - "sha256": { - "type": "string", - "description": "The hash of the content. Optional." + "type": "array" } }, + "required": [ + "issuerId", + "name", + "version", + "attrNames" + ], "type": "object", "additionalProperties": false }, - "Attachment": { - "description": "Represents DIDComm attachment\nhttps://github.com/hyperledger/aries-rfcs/blob/master/concepts/0017-attachments/README.md", + "RegisterSchemaReturnStateWait": { "properties": { - "id": { - "type": "string" - }, - "description": { + "state": { "type": "string", - "description": "An optional human-readable description of the content." + "enum": [ + "wait" + ], + "nullable": false }, - "filename": { - "type": "string", - "description": "A hint about the name that might be used if this attachment is persisted as a file. It is not required, and need not be unique. If this field is present and mime-type is not, the extension on the filename may be used to infer a MIME type." - }, - "mimeType": { - "type": "string", - "description": "Describes the MIME type of the attached content. Optional but recommended." - }, - "lastmodTime": { - "type": "string", - "format": "date-time", - "description": "A hint about when the content in this attachment was last modified." - }, - "byteCount": { - "type": "number", - "format": "double", - "description": "Optional, and mostly relevant when content is included by reference instead of by value. Lets the receiver guess how expensive it will be, in time, bandwidth, and storage, to fully fetch the attachment." + "schema": { + "$ref": "#/components/schemas/AnonCredsSchema" }, - "data": { - "$ref": "#/components/schemas/AttachmentData" + "schemaId": { + "type": "string" } }, "required": [ - "id", - "data" + "state" ], "type": "object", "additionalProperties": false }, - "CreateInvitationOptions": { + "RegisterSchemaReturnStateAction": { "properties": { - "label": { - "type": "string" - }, - "alias": { - "type": "string" + "state": { + "type": "string", + "enum": [ + "action" + ], + "nullable": false }, - "imageUrl": { + "action": { "type": "string" }, - "goalCode": { - "type": "string" + "schema": { + "$ref": "#/components/schemas/AnonCredsSchema" }, - "goal": { + "schemaId": { "type": "string" + } + }, + "required": [ + "state", + "action", + "schema", + "schemaId" + ], + "type": "object", + "additionalProperties": false + }, + "RegisterSchemaReturnStateFinished": { + "properties": { + "state": { + "type": "string", + "enum": [ + "finished" + ], + "nullable": false }, - "handshake": { - "type": "boolean" - }, - "handshakeProtocols": { - "items": { - "$ref": "#/components/schemas/HandshakeProtocol" - }, - "type": "array" - }, - "messages": { - "items": { - "$ref": "#/components/schemas/AgentMessage" - }, - "type": "array" - }, - "multiUseInvitation": { - "type": "boolean" - }, - "autoAcceptConnection": { - "type": "boolean" - }, - "routing": { - "$ref": "#/components/schemas/Routing" - }, - "appendedAttachments": { - "items": { - "$ref": "#/components/schemas/Attachment" - }, - "type": "array" + "schema": { + "$ref": "#/components/schemas/AnonCredsSchema" }, - "invitationDid": { + "schemaId": { "type": "string" } }, + "required": [ + "state", + "schema", + "schemaId" + ], "type": "object", "additionalProperties": false }, - "RecipientKeyOption": { + "RegisterSchemaReturnStateFailed": { "properties": { - "recipientKey": { + "state": { + "type": "string", + "enum": [ + "failed" + ], + "nullable": false + }, + "reason": { + "type": "string" + }, + "schema": { + "$ref": "#/components/schemas/AnonCredsSchema" + }, + "schemaId": { "type": "string" } }, + "required": [ + "state", + "reason" + ], "type": "object", "additionalProperties": false }, - "Pick_CreateLegacyInvitationConfig.Exclude_keyofCreateLegacyInvitationConfig.routing__": { + "AnonCredsCredentialDefinition": { "properties": { - "alias": { + "issuerId": { "type": "string" }, - "label": { + "schemaId": { "type": "string" }, - "imageUrl": { - "type": "string" + "type": { + "type": "string", + "enum": [ + "CL" + ], + "nullable": false }, - "multiUseInvitation": { - "type": "boolean" + "tag": { + "type": "string" }, - "autoAcceptConnection": { - "type": "boolean" + "value": { + "properties": { + "revocation": {}, + "primary": { + "$ref": "#/components/schemas/Record_string.unknown_" + } + }, + "required": [ + "primary" + ], + "type": "object" } }, + "required": [ + "issuerId", + "schemaId", + "type", + "tag", + "value" + ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_CreateLegacyInvitationConfig.routing_": { - "$ref": "#/components/schemas/Pick_CreateLegacyInvitationConfig.Exclude_keyofCreateLegacyInvitationConfig.routing__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "OutOfBandRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" + "additionalProperties": false }, - "AgentMessageType": { + "RegisterCredentialDefinitionReturnStateWait": { "properties": { - "@id": { - "type": "string" + "state": { + "type": "string", + "enum": [ + "wait" + ], + "nullable": false }, - "@type": { + "credentialDefinition": { + "$ref": "#/components/schemas/AnonCredsCredentialDefinition" + }, + "credentialDefinitionId": { "type": "string" } }, "required": [ - "@id", - "@type" + "state" ], "type": "object", - "additionalProperties": {} - }, - "CustomHandshakeProtocol": { - "enum": [ - "https://didcomm.org/didexchange/1.1", - "https://didcomm.org/connections/1.0" - ], - "type": "string" + "additionalProperties": false }, - "OutOfBandDidCommService": { + "RegisterCredentialDefinitionReturnStateAction": { "properties": { - "id": { - "type": "string" + "state": { + "type": "string", + "enum": [ + "action" + ], + "nullable": false }, - "serviceEndpoint": { + "action": { "type": "string" }, - "type": { + "credentialDefinitionId": { "type": "string" }, - "recipientKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "routingKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "accept": { - "items": { - "type": "string" - }, - "type": "array" + "credentialDefinition": { + "$ref": "#/components/schemas/AnonCredsCredentialDefinition" } }, "required": [ - "id", - "serviceEndpoint", - "type", - "recipientKeys" + "state", + "action", + "credentialDefinitionId", + "credentialDefinition" ], "type": "object", "additionalProperties": false }, - "OutOfBandInvitationSchema": { + "RegisterCredentialDefinitionReturnStateFinished": { "properties": { - "@id": { - "type": "string" + "state": { + "type": "string", + "enum": [ + "finished" + ], + "nullable": false }, - "@type": { - "type": "string" + "credentialDefinition": { + "$ref": "#/components/schemas/AnonCredsCredentialDefinition" }, - "label": { - "type": "string" - }, - "goalCode": { - "type": "string" - }, - "goal": { - "type": "string" - }, - "accept": { - "items": { - "type": "string" - }, - "type": "array" - }, - "handshake_protocols": { - "items": { - "$ref": "#/components/schemas/CustomHandshakeProtocol" - }, - "type": "array" - }, - "services": { - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/OutOfBandDidCommService" - }, - { - "type": "string" - } - ] - }, - "type": "array" - }, - "imageUrl": { + "credentialDefinitionId": { "type": "string" } }, "required": [ - "@type", - "label", - "services" + "state", + "credentialDefinition", + "credentialDefinitionId" ], "type": "object", "additionalProperties": false }, - "Pick_ReceiveOutOfBandInvitationConfig.Exclude_keyofReceiveOutOfBandInvitationConfig.routing__": { + "RegisterCredentialDefinitionReturnStateFailed": { "properties": { - "alias": { - "type": "string" - }, - "label": { - "type": "string" + "state": { + "type": "string", + "enum": [ + "failed" + ], + "nullable": false }, - "imageUrl": { + "reason": { "type": "string" }, - "autoAcceptConnection": { - "type": "boolean" - }, - "autoAcceptInvitation": { - "type": "boolean" - }, - "reuseConnection": { - "type": "boolean" - }, - "acceptInvitationTimeoutMs": { - "type": "number", - "format": "double" + "credentialDefinition": { + "$ref": "#/components/schemas/AnonCredsCredentialDefinition" }, - "ourDid": { + "credentialDefinitionId": { "type": "string" } }, + "required": [ + "state", + "reason" + ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_ReceiveOutOfBandInvitationConfig.routing_": { - "$ref": "#/components/schemas/Pick_ReceiveOutOfBandInvitationConfig.Exclude_keyofReceiveOutOfBandInvitationConfig.routing__", - "description": "Construct a type with the properties of T except for those in type K." + "additionalProperties": false }, - "ReceiveInvitationProps": { + "WriteTransaction": { "properties": { - "alias": { - "type": "string" - }, - "label": { + "endorsedTransaction": { "type": "string" }, - "imageUrl": { + "endorserDid": { "type": "string" }, - "autoAcceptConnection": { - "type": "boolean" - }, - "autoAcceptInvitation": { - "type": "boolean" - }, - "reuseConnection": { - "type": "boolean" - }, - "acceptInvitationTimeoutMs": { - "type": "number", - "format": "double" - }, - "ourDid": { - "type": "string" + "schema": { + "properties": { + "attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "version": { + "type": "string" + }, + "name": { + "type": "string" + }, + "issuerId": { + "type": "string" + } + }, + "required": [ + "attributes", + "version", + "name", + "issuerId" + ], + "type": "object" }, - "invitation": { - "$ref": "#/components/schemas/OutOfBandInvitationSchema" + "credentialDefinition": { + "properties": { + "type": { + "type": "string" + }, + "value": {}, + "tag": { + "type": "string" + }, + "issuerId": { + "type": "string" + }, + "schemaId": { + "type": "string" + } + }, + "required": [ + "type", + "value", + "tag", + "issuerId", + "schemaId" + ], + "type": "object" } }, "required": [ - "invitation" + "endorsedTransaction" ], "type": "object", "additionalProperties": false }, - "ReceiveInvitationByUrlProps": { + "DIDDocumentMetadata": { + "description": "Represents metadata about the DID document resulting from a {@link Resolvable.resolve} operation.", "properties": { - "alias": { - "type": "string" - }, - "label": { + "created": { "type": "string" }, - "imageUrl": { + "updated": { "type": "string" }, - "autoAcceptConnection": { + "deactivated": { "type": "boolean" }, - "autoAcceptInvitation": { - "type": "boolean" + "versionId": { + "type": "string" }, - "reuseConnection": { - "type": "boolean" + "nextUpdate": { + "type": "string" }, - "acceptInvitationTimeoutMs": { - "type": "number", - "format": "double" + "nextVersionId": { + "type": "string" }, - "ourDid": { + "equivalentId": { "type": "string" }, - "invitationUrl": { + "canonicalId": { "type": "string" } }, - "required": [ - "invitationUrl" - ], "type": "object", "additionalProperties": false }, - "AcceptInvitationConfig": { + "Did": { + "type": "string", + "example": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + }, + "KeyType": { + "enum": [ + "ed25519", + "bls12381g1g2", + "bls12381g1", + "bls12381g2", + "x25519", + "p256", + "p384", + "p521", + "k256" + ], + "type": "string" + }, + "DidCreate": { "properties": { - "autoAcceptConnection": { - "type": "boolean" + "keyType": { + "$ref": "#/components/schemas/KeyType" }, - "reuseConnection": { - "type": "boolean" + "seed": { + "type": "string" }, - "label": { + "domain": { "type": "string" }, - "alias": { + "method": { "type": "string" }, - "imageUrl": { + "network": { "type": "string" }, - "mediatorId": { + "did": { "type": "string" - } - }, - "type": "object", - "additionalProperties": false - }, - "TenantRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__": { - "properties": { - "label": { + }, + "role": { "type": "string" }, - "connectionImageUrl": { + "endorserDid": { + "type": "string" + }, + "didDocument": { + "$ref": "#/components/schemas/DidDocument" + }, + "privatekey": { + "type": "string" + }, + "endpoint": { "type": "string" } }, "required": [ - "label" + "method" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "additionalProperties": false }, - "Omit_TenantConfig.walletConfig_": { - "$ref": "#/components/schemas/Pick_TenantConfig.Exclude_keyofTenantConfig.walletConfig__", - "description": "Construct a type with the properties of T except for those in type K." + "DidRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - "CreateTenantOptions": { + "AnonCredsResolutionMetadata": { "properties": { - "config": { - "$ref": "#/components/schemas/Omit_TenantConfig.walletConfig_" + "error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [ + "invalid", + "notFound", + "unsupportedAnonCredsMethod" + ] + } + ] + }, + "message": { + "type": "string" } }, - "required": [ - "config" - ], "type": "object", "additionalProperties": false }, - "Record_string.any_": { - "properties": {}, - "additionalProperties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "DidDocument": { - "$ref": "#/components/schemas/Record_string.any_" + "CredoExtensible": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - "DidCreate": { + "GetSchemaReturn": { "properties": { - "keyType": { - "$ref": "#/components/schemas/KeyType" - }, - "seed": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "method": { - "type": "string" - }, - "network": { - "type": "string" - }, - "did": { - "type": "string" - }, - "role": { - "type": "string" + "schema": { + "$ref": "#/components/schemas/AnonCredsSchema" }, - "endorserDid": { + "schemaId": { "type": "string" }, - "didDocument": { - "$ref": "#/components/schemas/DidDocument" - }, - "privatekey": { - "type": "string" + "resolutionMetadata": { + "$ref": "#/components/schemas/AnonCredsResolutionMetadata" }, - "endpoint": { - "type": "string" + "schemaMetadata": { + "$ref": "#/components/schemas/CredoExtensible" } }, "required": [ - "method" + "schemaId", + "resolutionMetadata", + "schemaMetadata" ], "type": "object", "additionalProperties": false }, - "DidNymTransaction": { + "SchemaId": { + "type": "string", + "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" + }, + "RegisterSchemaReturn": { "properties": { - "did": { + "jobId": { "type": "string" }, - "nymRequest": { - "type": "string" - } - }, - "required": [ - "did", - "nymRequest" - ], - "type": "object", - "additionalProperties": false - }, - "EndorserTransaction": { - "properties": { - "transaction": { + "schemaState": { "anyOf": [ { - "type": "string" + "$ref": "#/components/schemas/RegisterSchemaReturnStateWait" }, { - "$ref": "#/components/schemas/Record_string.unknown_" + "$ref": "#/components/schemas/RegisterSchemaReturnStateAction" + }, + { + "$ref": "#/components/schemas/RegisterSchemaReturnStateFinished" + }, + { + "$ref": "#/components/schemas/RegisterSchemaReturnStateFailed" } ] }, - "endorserDid": { - "type": "string" + "schemaMetadata": { + "$ref": "#/components/schemas/CredoExtensible" + }, + "registrationMetadata": { + "$ref": "#/components/schemas/CredoExtensible" } }, "required": [ - "transaction", - "endorserDid" + "schemaState", + "schemaMetadata", + "registrationMetadata" ], "type": "object", "additionalProperties": false }, - "Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing__": { - "properties": { - "alias": { - "type": "string" - }, - "label": { - "type": "string" - }, - "imageUrl": { - "type": "string" - }, - "multiUseInvitation": { - "type": "boolean" - }, - "autoAcceptConnection": { - "type": "boolean" - }, - "goalCode": { - "type": "string" - }, - "goal": { - "type": "string" - }, - "handshake": { - "type": "boolean" - }, - "handshakeProtocols": { - "items": { - "$ref": "#/components/schemas/HandshakeProtocol" - }, - "type": "array" - }, - "messages": { - "items": { - "$ref": "#/components/schemas/AgentMessage" - }, - "type": "array" - }, - "appendedAttachments": { - "items": { - "$ref": "#/components/schemas/Attachment" - }, - "type": "array" - }, - "invitationDid": { - "type": "string", - "description": "Did to use in the invitation. Cannot be used in combination with `routing`." - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_CreateOutOfBandInvitationConfig.routing_": { - "$ref": "#/components/schemas/Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages__": { - "properties": { - "alias": { - "type": "string" - }, - "label": { - "type": "string" - }, - "imageUrl": { - "type": "string" - }, - "multiUseInvitation": { - "type": "boolean" - }, - "autoAcceptConnection": { - "type": "boolean" - }, - "goalCode": { - "type": "string" - }, - "goal": { - "type": "string" - }, - "handshake": { - "type": "boolean" - }, - "handshakeProtocols": { - "items": { - "$ref": "#/components/schemas/HandshakeProtocol" - }, - "type": "array" - }, - "invitationDid": { - "type": "string", - "description": "Did to use in the invitation. Cannot be used in combination with `routing`." - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_CreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages_": { - "$ref": "#/components/schemas/Pick_CreateOutOfBandInvitationConfig.Exclude_keyofCreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "DidExchangeState": { - "description": "Connection states as defined in RFC 0023.", - "enum": [ - "start", - "invitation-sent", - "invitation-received", - "request-sent", - "request-received", - "response-sent", - "response-received", - "abandoned", - "completed" - ], - "type": "string" - }, - "Version": { - "type": "string", - "example": "1.0.0" - }, "CreateSchemaInput": { "properties": { "issuerId": { @@ -1113,7 +888,7 @@ "type": "string" }, "version": { - "$ref": "#/components/schemas/Version" + "type": "string" }, "attributes": { "items": { @@ -1137,621 +912,672 @@ "type": "object", "additionalProperties": false }, - "SchemaMetadata": { + "GetCredentialDefinitionReturn": { "properties": { - "did": { - "type": "string" + "credentialDefinition": { + "$ref": "#/components/schemas/AnonCredsCredentialDefinition" }, - "schemaId": { + "credentialDefinitionId": { "type": "string" }, - "schemaTxnHash": { - "type": "string" + "resolutionMetadata": { + "$ref": "#/components/schemas/AnonCredsResolutionMetadata" }, - "schemaUrl": { - "type": "string" + "credentialDefinitionMetadata": { + "$ref": "#/components/schemas/CredoExtensible" } }, "required": [ - "did", - "schemaId" + "credentialDefinitionId", + "resolutionMetadata", + "credentialDefinitionMetadata" ], "type": "object", "additionalProperties": false }, - "WriteTransaction": { + "CredentialDefinitionId": { + "type": "string", + "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag" + }, + "RegisterCredentialDefinitionReturn": { "properties": { - "endorsedTransaction": { - "type": "string" - }, - "endorserDid": { + "jobId": { "type": "string" }, - "schema": { - "properties": { - "attributes": { - "items": { - "type": "string" - }, - "type": "array" + "credentialDefinitionState": { + "anyOf": [ + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateWait" }, - "version": { - "$ref": "#/components/schemas/Version" + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateAction" }, - "name": { - "type": "string" + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateFinished" }, - "issuerId": { - "type": "string" + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateFailed" } - }, - "required": [ - "attributes", - "version", - "name", - "issuerId" - ], - "type": "object" + ] }, - "credentialDefinition": { - "properties": { - "type": { - "type": "string" - }, - "value": {}, - "tag": { - "type": "string" - }, - "issuerId": { - "type": "string" - }, - "schemaId": { - "type": "string" - } - }, - "required": [ - "type", - "value", - "tag", - "issuerId", - "schemaId" - ], - "type": "object" + "credentialDefinitionMetadata": { + "$ref": "#/components/schemas/CredoExtensible" + }, + "registrationMetadata": { + "$ref": "#/components/schemas/CredoExtensible" } }, "required": [ - "endorsedTransaction" + "credentialDefinitionState", + "credentialDefinitionMetadata", + "registrationMetadata" ], "type": "object", "additionalProperties": false }, - "SchemaId": { - "type": "string", - "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0" - }, - "CredentialDefinitionId": { - "type": "string", - "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag" - }, - "ProtocolVersion": { - "enum": [ - "v1", - "v2" - ], - "type": "string" - }, - "CredentialPreviewAttributeOptions": { + "AgentInfo": { "properties": { - "name": { + "label": { "type": "string" }, - "mimeType": { - "type": "string" + "endpoints": { + "items": { + "type": "string" + }, + "type": "array" }, - "value": { - "type": "string" - } + "isInitialized": { + "type": "boolean" + }, + "publicDid": {} }, "required": [ - "name", - "value" + "label", + "endpoints", + "isInitialized", + "publicDid" ], "type": "object", "additionalProperties": false }, - "LinkedAttachment": { + "AgentToken": { "properties": { - "attributeName": { - "type": "string", - "description": "The name that will be used to generate the linked credential" - }, - "attachment": { - "$ref": "#/components/schemas/Attachment", - "description": "The attachment that needs to be linked to the credential" + "token": { + "type": "string" } }, "required": [ - "attributeName", - "attachment" + "token" ], "type": "object", "additionalProperties": false }, - "AnonCredsOfferCredentialFormat": { - "description": "This defines the module payload for calling CredentialsApi.offerCredential\nor CredentialsApi.negotiateProposal", + "VerifyDataOptions": { "properties": { - "credentialDefinitionId": { + "signature": { "type": "string" }, - "revocationRegistryDefinitionId": { + "publicKeyBase58": { "type": "string" }, - "revocationRegistryIndex": { + "keyType": { + "$ref": "#/components/schemas/KeyType" + }, + "data": { + "type": "string" + } + }, + "required": [ + "signature", + "publicKeyBase58", + "keyType", + "data" + ], + "type": "object" + }, + "W3cCredentialRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "JsonObject": { + "properties": {}, + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/JsonValue" + } + }, + "JsonValue": { + "anyOf": [ + { + "type": "string" + }, + { "type": "number", "format": "double" }, - "attributes": { - "items": { - "$ref": "#/components/schemas/CredentialPreviewAttributeOptions" - }, - "type": "array" + { + "type": "boolean" }, - "linkedAttachments": { - "items": { - "$ref": "#/components/schemas/LinkedAttachment" - }, - "type": "array" + { + "$ref": "#/components/schemas/JsonObject" + }, + { + "$ref": "#/components/schemas/JsonArray" + } + ], + "nullable": true + }, + "JsonArray": { + "items": { + "$ref": "#/components/schemas/JsonValue" + }, + "type": "array" + }, + "W3cIssuer": { + "properties": { + "id": { + "type": "string" } }, "required": [ - "credentialDefinitionId", - "attributes" + "id" ], "type": "object", "additionalProperties": false }, - "W3cIssuerOptions": { - "description": "TODO: check how to support arbitrary data in class", + "W3cCredentialSubject": { "properties": { "id": { "type": "string" + }, + "claims": { + "$ref": "#/components/schemas/Record_string.unknown_" } }, - "required": [ - "id" - ], "type": "object", "additionalProperties": false }, - "SingleOrArray_JsonObject_": { + "SingleOrArray_W3cCredentialSubject_": { "anyOf": [ { - "$ref": "#/components/schemas/JsonObject" + "$ref": "#/components/schemas/W3cCredentialSubject" }, { "items": { - "$ref": "#/components/schemas/JsonObject" + "$ref": "#/components/schemas/W3cCredentialSubject" }, "type": "array" } ] }, - "JsonCredential": { + "W3cCredentialSchema": { "properties": { - "@context": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "#/components/schemas/JsonObject" - } - ] - }, "id": { "type": "string" }, "type": { - "items": { - "type": "string" - }, - "type": "array" - }, - "issuer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/W3cIssuerOptions" - } - ] - }, - "issuanceDate": { - "type": "string" - }, - "expirationDate": { "type": "string" - }, - "credentialSubject": { - "$ref": "#/components/schemas/SingleOrArray_JsonObject_" - }, - "prettyVc": {} + } }, "required": [ - "@context", - "type", - "issuer", - "issuanceDate", - "credentialSubject" + "id", + "type" ], "type": "object", - "additionalProperties": {} + "additionalProperties": false }, - "JsonLdCredentialDetailFormat": { - "description": "Format for creating a jsonld proposal, offer or request.", - "properties": { - "credential": { - "$ref": "#/components/schemas/JsonCredential" + "SingleOrArray_W3cCredentialSchema_": { + "anyOf": [ + { + "$ref": "#/components/schemas/W3cCredentialSchema" }, - "options": { - "properties": { - "proofType": { + { + "items": { + "$ref": "#/components/schemas/W3cCredentialSchema" + }, + "type": "array" + } + ] + }, + "W3cCredentialStatus": { + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "W3cCredential": { + "properties": { + "context": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/JsonObject" + } + ] + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "issuer": { + "anyOf": [ + { "type": "string" }, - "proofPurpose": { - "type": "string" + { + "$ref": "#/components/schemas/W3cIssuer" } - }, - "required": [ - "proofType", - "proofPurpose" - ], - "type": "object" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "credentialSubject": { + "$ref": "#/components/schemas/SingleOrArray_W3cCredentialSubject_" + }, + "credentialSchema": { + "$ref": "#/components/schemas/SingleOrArray_W3cCredentialSchema_" + }, + "credentialStatus": { + "$ref": "#/components/schemas/W3cCredentialStatus" } }, "required": [ - "credential", - "options" + "context", + "type", + "issuer", + "issuanceDate", + "credentialSubject" ], "type": "object", "additionalProperties": false }, - "CredentialFormatPayload_CredentialFormats.createOffer_": { + "Pick_W3cJsonLdSignCredentialOptions.Exclude_keyofW3cJsonLdSignCredentialOptions.format__": { "properties": { - "indy": { - "$ref": "#/components/schemas/AnonCredsOfferCredentialFormat" + "credential": { + "$ref": "#/components/schemas/W3cCredential", + "description": "The credential to be signed." }, - "jsonld": { - "$ref": "#/components/schemas/JsonLdCredentialDetailFormat" + "proofType": { + "type": "string", + "description": "The proofType to be used for signing the credential.\n\nMust be a valid Linked Data Signature suite." }, - "anoncreds": { - "$ref": "#/components/schemas/AnonCredsOfferCredentialFormat" + "proofPurpose": {}, + "created": { + "type": "string" + }, + "verificationMethod": { + "type": "string", + "description": "URI of the verificationMethod to be used for signing the credential.\n\nMust be a valid did url pointing to a key." } }, + "required": [ + "credential", + "proofType", + "verificationMethod" + ], "type": "object", - "description": "Get the payload for a specific method from a list of CredentialFormat interfaces and a method" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "AutoAcceptCredential": { - "description": "Typing of the state for auto acceptance", - "enum": [ - "always", - "contentApproved", - "never" - ], - "type": "string" + "Omit_W3cJsonLdSignCredentialOptions.format_": { + "$ref": "#/components/schemas/Pick_W3cJsonLdSignCredentialOptions.Exclude_keyofW3cJsonLdSignCredentialOptions.format__", + "description": "Construct a type with the properties of T except for those in type K." }, - "CreateOfferOptions": { + "CustomW3cJsonLdSignCredentialOptions": { + "allOf": [ + { + "$ref": "#/components/schemas/Omit_W3cJsonLdSignCredentialOptions.format_" + }, + { + "properties": {}, + "additionalProperties": {}, + "type": "object" + } + ] + }, + "SignDataOptions": { "properties": { - "protocolVersion": { - "$ref": "#/components/schemas/ProtocolVersion" + "method": { + "type": "string" }, - "connectionId": { - "$ref": "#/components/schemas/RecordId" + "did": { + "type": "string" }, - "credentialFormats": { - "$ref": "#/components/schemas/CredentialFormatPayload_CredentialFormats.createOffer_" + "publicKeyBase58": { + "type": "string" }, - "autoAcceptCredential": { - "$ref": "#/components/schemas/AutoAcceptCredential" + "keyType": { + "$ref": "#/components/schemas/KeyType" }, - "comment": { + "data": { "type": "string" } }, "required": [ - "protocolVersion", - "connectionId", - "credentialFormats" + "publicKeyBase58", + "keyType", + "data" ], + "type": "object" + }, + "Partial_W3cCredentialValidations_": { + "properties": {}, "type": "object", - "additionalProperties": false + "description": "Make all properties in T optional" }, - "CredentialFormatPayload_CredentialFormatType-Array.createOffer_": { + "Error": { "properties": { - "indy": { - "$ref": "#/components/schemas/AnonCredsOfferCredentialFormat" + "name": { + "type": "string" }, - "jsonld": { - "$ref": "#/components/schemas/JsonLdCredentialDetailFormat" + "message": { + "type": "string" }, - "anoncreds": { - "$ref": "#/components/schemas/AnonCredsOfferCredentialFormat" + "stack": { + "type": "string" } }, + "required": [ + "name", + "message" + ], "type": "object", - "description": "Get the payload for a specific method from a list of CredentialFormat interfaces and a method" + "additionalProperties": false }, - "CreateOfferOobOptions": { + "W3cVerifyResult_W3cCredentialValidations_": { "properties": { - "protocolVersion": { - "type": "string" + "isValid": { + "type": "boolean", + "description": "Whether the verification as a whole is valid. This means that\nall validations inside the validations object should have passed." }, - "credentialFormats": { - "$ref": "#/components/schemas/CredentialFormatPayload_CredentialFormatType-Array.createOffer_" + "validations": { + "$ref": "#/components/schemas/Partial_W3cCredentialValidations_", + "description": "Validations that have been performed" }, - "autoAcceptCredential": { - "$ref": "#/components/schemas/AutoAcceptCredential" + "error": { + "$ref": "#/components/schemas/Error", + "description": "Error that was caught during verification not related to\nany of the specific validations that are performed" + } + }, + "required": [ + "isValid", + "validations" + ], + "type": "object", + "additionalProperties": false + }, + "W3cVerifyCredentialResult": { + "$ref": "#/components/schemas/W3cVerifyResult_W3cCredentialValidations_" + }, + "Pick_LinkedDataProofOptions.Exclude_keyofLinkedDataProofOptions.cryptosuite__": { + "properties": { + "proofPurpose": { + "type": "string" }, - "comment": { + "created": { "type": "string" }, - "goalCode": { + "verificationMethod": { "type": "string" }, - "parentThreadId": { + "type": { "type": "string" }, - "willConfirm": { - "type": "boolean" + "domain": { + "type": "string" }, - "label": { + "challenge": { "type": "string" }, - "imageUrl": { + "jws": { "type": "string" }, - "recipientKey": { + "proofValue": { "type": "string" }, - "invitationDid": { + "nonce": { "type": "string" } }, "required": [ - "protocolVersion", - "credentialFormats" + "proofPurpose", + "created", + "verificationMethod", + "type" ], "type": "object", - "additionalProperties": false + "description": "From T, pick a set of properties whose keys are in the union K" }, - "CredentialFormatPayload_CredentialFormatsFromProtocols_CredentialProtocol-Array_.acceptOffer_": { - "properties": {}, - "type": "object", - "description": "Get the payload for a specific method from a list of CredentialFormat interfaces and a method" + "Omit_LinkedDataProofOptions.cryptosuite_": { + "$ref": "#/components/schemas/Pick_LinkedDataProofOptions.Exclude_keyofLinkedDataProofOptions.cryptosuite__", + "description": "Construct a type with the properties of T except for those in type K." }, - "AcceptCredentialOfferOptions": { - "description": "Interface for CredentialsApi.acceptOffer. Will send a request\n\ncredentialFormats is optional because this is an accept method", + "DataIntegrityProofOptions": { "properties": { - "autoAcceptCredential": { - "$ref": "#/components/schemas/AutoAcceptCredential" + "type": { + "type": "string" }, - "comment": { + "cryptosuite": { "type": "string" }, - "credentialRecordId": { + "verificationMethod": { "type": "string" }, - "credentialFormats": { - "$ref": "#/components/schemas/CredentialFormatPayload_CredentialFormatsFromProtocols_CredentialProtocol-Array_.acceptOffer_" - } - }, - "required": [ - "credentialRecordId" - ], - "type": "object", - "additionalProperties": false - }, - "CredentialState": { - "description": "Issue Credential states as defined in RFC 0036 and RFC 0453", - "enum": [ - "proposal-sent", - "proposal-received", - "offer-sent", - "offer-received", - "declined", - "request-sent", - "request-received", - "credential-issued", - "credential-received", - "done", - "abandoned" - ], - "type": "string" - }, - "QuestionAnswerRole": { - "enum": [ - "questioner", - "responder" - ], - "type": "string" - }, - "QuestionAnswerState": { - "description": "QuestionAnswer states inferred from RFC 0113.", - "enum": [ - "question-sent", - "question-received", - "answer-received", - "answer-sent" - ], - "type": "string" - }, - "ValidResponse": { - "properties": { - "text": { + "proofPurpose": { "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object", - "additionalProperties": false - }, - "Record_response.string_": { - "properties": { - "response": { + }, + "domain": { "type": "string" - } - }, - "required": [ - "response" - ], - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "Record_content.string_": { - "properties": { - "content": { + }, + "challenge": { "type": "string" - } - }, - "required": [ - "content" - ], - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "VerifyDataOptions": { - "properties": { - "signature": { + }, + "nonce": { "type": "string" }, - "publicKeyBase58": { + "created": { "type": "string" }, - "keyType": { - "$ref": "#/components/schemas/KeyType" + "expires": { + "type": "string" }, - "data": { + "proofValue": { "type": "string" - } - }, - "required": [ - "signature", - "publicKeyBase58", - "keyType", - "data" - ], - "type": "object" - }, - "W3cCredentialRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "W3cIssuer": { - "properties": { - "id": { + }, + "previousProof": { "type": "string" } }, "required": [ - "id" + "type", + "cryptosuite", + "verificationMethod", + "proofPurpose" ], "type": "object", "additionalProperties": false }, - "W3cCredentialSubject": { - "properties": { - "id": { - "type": "string" - }, - "claims": { - "$ref": "#/components/schemas/Record_string.unknown_" - } - }, - "type": "object", - "additionalProperties": false - }, - "SingleOrArray_W3cCredentialSubject_": { + "SingleOrArray_Omit_LinkedDataProofOptions.cryptosuite_-or-DataIntegrityProofOptions_": { "anyOf": [ { - "$ref": "#/components/schemas/W3cCredentialSubject" + "anyOf": [ + { + "$ref": "#/components/schemas/Omit_LinkedDataProofOptions.cryptosuite_" + }, + { + "$ref": "#/components/schemas/DataIntegrityProofOptions" + } + ] }, { "items": { - "$ref": "#/components/schemas/W3cCredentialSubject" + "anyOf": [ + { + "$ref": "#/components/schemas/Omit_LinkedDataProofOptions.cryptosuite_" + }, + { + "$ref": "#/components/schemas/DataIntegrityProofOptions" + } + ] }, "type": "array" } ] }, - "W3cCredentialSchema": { + "LinkedDataProof": { + "description": "Linked Data Proof", "properties": { - "id": { + "type": { "type": "string" }, - "type": { + "proofPurpose": { + "type": "string" + }, + "verificationMethod": { + "type": "string" + }, + "created": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "challenge": { + "type": "string" + }, + "jws": { + "type": "string" + }, + "proofValue": { + "type": "string" + }, + "nonce": { "type": "string" } }, "required": [ - "id", - "type" + "type", + "proofPurpose", + "verificationMethod", + "created" ], "type": "object", "additionalProperties": false }, - "SingleOrArray_W3cCredentialSchema_": { - "anyOf": [ - { - "$ref": "#/components/schemas/W3cCredentialSchema" - }, - { - "items": { - "$ref": "#/components/schemas/W3cCredentialSchema" - }, - "type": "array" - } - ] - }, - "W3cCredentialStatus": { + "DataIntegrityProof": { + "description": "Linked Data Proof", "properties": { - "id": { + "type": { "type": "string" }, - "type": { + "cryptosuite": { + "type": "string" + }, + "proofPurpose": { + "type": "string" + }, + "verificationMethod": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "challenge": { + "type": "string" + }, + "nonce": { + "type": "string" + }, + "created": { + "type": "string" + }, + "expires": { + "type": "string" + }, + "proofValue": { + "type": "string" + }, + "previousProof": { "type": "string" } }, "required": [ - "id", - "type" + "type", + "cryptosuite", + "proofPurpose", + "verificationMethod" ], "type": "object", "additionalProperties": false }, - "W3cCredential": { - "properties": { - "context": { + "SingleOrArray_LinkedDataProof-or-DataIntegrityProof_": { + "anyOf": [ + { + "anyOf": [ + { + "$ref": "#/components/schemas/LinkedDataProof" + }, + { + "$ref": "#/components/schemas/DataIntegrityProof" + } + ] + }, + { "items": { "anyOf": [ { - "type": "string" + "$ref": "#/components/schemas/LinkedDataProof" }, { - "$ref": "#/components/schemas/JsonObject" + "$ref": "#/components/schemas/DataIntegrityProof" } ] }, "type": "array" - }, - "id": { - "type": "string" - }, - "type": { + } + ] + }, + "W3cJsonLdVerifiableCredential": { + "properties": { + "context": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/JsonObject" + } + ] + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "type": { "items": { "type": "string" }, @@ -1781,6 +1607,9 @@ }, "credentialStatus": { "$ref": "#/components/schemas/W3cCredentialStatus" + }, + "proof": { + "$ref": "#/components/schemas/SingleOrArray_LinkedDataProof-or-DataIntegrityProof_" } }, "required": [ @@ -1788,1086 +1617,1054 @@ "type", "issuer", "issuanceDate", - "credentialSubject" + "credentialSubject", + "proof" ], "type": "object", "additionalProperties": false }, - "Pick_W3cJsonLdSignCredentialOptions.Exclude_keyofW3cJsonLdSignCredentialOptions.format__": { + "ProofPurpose": {}, + "SafeW3cJsonLdVerifyCredentialOptions": { "properties": { "credential": { - "$ref": "#/components/schemas/W3cCredential", - "description": "The credential to be signed." + "$ref": "#/components/schemas/W3cJsonLdVerifiableCredential" }, - "proofType": { - "type": "string", - "description": "The proofType to be used for signing the credential.\n\nMust be a valid Linked Data Signature suite." + "verifyCredentialStatus": { + "type": "boolean", + "description": "Whether to verify the credentialStatus, if present." }, - "proofPurpose": {}, - "created": { - "type": "string" + "proofPurpose": { + "$ref": "#/components/schemas/ProofPurpose" }, - "verificationMethod": { - "type": "string", - "description": "URI of the verificationMethod to be used for signing the credential.\n\nMust be a valid did url pointing to a key." + "proof": { + "$ref": "#/components/schemas/SingleOrArray_Omit_LinkedDataProofOptions.cryptosuite_-or-DataIntegrityProofOptions_" } }, "required": [ "credential", - "proofType", - "verificationMethod" + "proof" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "additionalProperties": false }, - "Omit_W3cJsonLdSignCredentialOptions.format_": { - "$ref": "#/components/schemas/Pick_W3cJsonLdSignCredentialOptions.Exclude_keyofW3cJsonLdSignCredentialOptions.format__", - "description": "Construct a type with the properties of T except for those in type K." + "QuestionAnswerRole": { + "enum": [ + "questioner", + "responder" + ], + "type": "string" }, - "CustomW3cJsonLdSignCredentialOptions": { - "allOf": [ - { - "$ref": "#/components/schemas/Omit_W3cJsonLdSignCredentialOptions.format_" - }, - { - "properties": {}, - "additionalProperties": {}, - "type": "object" + "QuestionAnswerState": { + "description": "QuestionAnswer states inferred from RFC 0113.", + "enum": [ + "question-sent", + "question-received", + "answer-received", + "answer-sent" + ], + "type": "string" + }, + "RecordId": { + "type": "string", + "example": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e" + }, + "ValidResponse": { + "properties": { + "text": { + "type": "string" } - ] + }, + "required": [ + "text" + ], + "type": "object", + "additionalProperties": false }, - "SignDataOptions": { + "Record_response.string_": { "properties": { - "method": { + "response": { + "type": "string" + } + }, + "required": [ + "response" + ], + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "ProofExchangeRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "AutoAcceptProof": { + "description": "Typing of the state for auto acceptance", + "enum": [ + "always", + "contentApproved", + "never" + ], + "type": "string" + }, + "RequestProofProposalOptions": { + "properties": { + "connectionId": { "type": "string" }, - "did": { + "proofFormats": {}, + "goalCode": { "type": "string" }, - "publicKeyBase58": { + "parentThreadId": { "type": "string" }, - "keyType": { - "$ref": "#/components/schemas/KeyType" + "autoAcceptProof": { + "$ref": "#/components/schemas/AutoAcceptProof" }, - "data": { + "comment": { "type": "string" } }, "required": [ - "publicKeyBase58", - "keyType", - "data" + "connectionId", + "proofFormats" ], - "type": "object" + "type": "object", + "additionalProperties": false }, - "Pick_LinkedDataProofOptions.Exclude_keyofLinkedDataProofOptions.cryptosuite__": { + "AcceptProofProposal": { "properties": { - "proofPurpose": { + "proofRecordId": { "type": "string" }, - "created": { + "proofFormats": {}, + "comment": { "type": "string" }, - "verificationMethod": { - "type": "string" + "autoAcceptProof": { + "$ref": "#/components/schemas/AutoAcceptProof" }, - "type": { + "goalCode": { "type": "string" }, - "domain": { + "willConfirm": { + "type": "boolean" + } + }, + "required": [ + "proofRecordId", + "proofFormats" + ], + "type": "object", + "additionalProperties": false + }, + "RequestProofOptions": { + "properties": { + "connectionId": { "type": "string" }, - "challenge": { + "protocolVersion": { "type": "string" }, - "jws": { + "proofFormats": {}, + "comment": { "type": "string" }, - "proofValue": { + "autoAcceptProof": { + "$ref": "#/components/schemas/AutoAcceptProof" + }, + "goalCode": { "type": "string" }, - "nonce": { + "parentThreadId": { "type": "string" + }, + "willConfirm": { + "type": "boolean" } }, "required": [ - "proofPurpose", - "created", - "verificationMethod", - "type" + "connectionId", + "protocolVersion", + "proofFormats", + "comment", + "autoAcceptProof" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_LinkedDataProofOptions.cryptosuite_": { - "$ref": "#/components/schemas/Pick_LinkedDataProofOptions.Exclude_keyofLinkedDataProofOptions.cryptosuite__", - "description": "Construct a type with the properties of T except for those in type K." + "additionalProperties": false }, - "DataIntegrityProofOptions": { + "PlaintextMessage": { "properties": { - "type": { + "@type": { "type": "string" }, - "cryptosuite": { + "@id": { "type": "string" }, - "verificationMethod": { - "type": "string" + "~thread": { + "properties": { + "pthid": { + "type": "string" + }, + "thid": { + "type": "string" + } + }, + "type": "object" }, - "proofPurpose": { + "messageType": { + "type": "string" + } + }, + "required": [ + "@type", + "@id", + "messageType" + ], + "type": "object", + "additionalProperties": {} + }, + "CreateProofRequestOobOptions": { + "properties": { + "protocolVersion": { "type": "string" }, - "domain": { + "proofFormats": {}, + "goalCode": { "type": "string" }, - "challenge": { + "parentThreadId": { "type": "string" }, - "nonce": { + "willConfirm": { + "type": "boolean" + }, + "autoAcceptProof": { + "$ref": "#/components/schemas/AutoAcceptProof" + }, + "comment": { "type": "string" }, - "created": { + "label": { "type": "string" }, - "expires": { + "imageUrl": { "type": "string" }, - "proofValue": { + "recipientKey": { "type": "string" }, - "previousProof": { + "invitationDid": { "type": "string" } }, "required": [ - "type", - "cryptosuite", - "verificationMethod", - "proofPurpose" + "protocolVersion", + "proofFormats" ], "type": "object", "additionalProperties": false }, - "SingleOrArray_Omit_LinkedDataProofOptions.cryptosuite_-or-DataIntegrityProofOptions_": { - "anyOf": [ - { - "anyOf": [ - { - "$ref": "#/components/schemas/Omit_LinkedDataProofOptions.cryptosuite_" - }, - { - "$ref": "#/components/schemas/DataIntegrityProofOptions" - } - ] - }, - { - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Omit_LinkedDataProofOptions.cryptosuite_" - }, - { - "$ref": "#/components/schemas/DataIntegrityProofOptions" - } - ] - }, - "type": "array" - } - ] + "ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.proposal_": { + "properties": {}, + "type": "object", + "description": "Get the format data payload for a specific message from a list of ProofFormat interfaces and a message\n\nFor an indy offer, this resolves to the proof request format as defined here:\nhttps://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0592-indy-attachments#proof-request-format" }, - "LinkedDataProof": { - "description": "Linked Data Proof", + "ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.request_": { + "properties": {}, + "type": "object", + "description": "Get the format data payload for a specific message from a list of ProofFormat interfaces and a message\n\nFor an indy offer, this resolves to the proof request format as defined here:\nhttps://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0592-indy-attachments#proof-request-format" + }, + "ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.presentation_": { + "properties": {}, + "type": "object", + "description": "Get the format data payload for a specific message from a list of ProofFormat interfaces and a message\n\nFor an indy offer, this resolves to the proof request format as defined here:\nhttps://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0592-indy-attachments#proof-request-format" + }, + "GetProofFormatDataReturn__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array_": { "properties": { - "type": { - "type": "string" - }, - "proofPurpose": { - "type": "string" - }, - "verificationMethod": { - "type": "string" - }, - "created": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "challenge": { - "type": "string" - }, - "jws": { - "type": "string" + "presentation": { + "$ref": "#/components/schemas/ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.presentation_" }, - "proofValue": { - "type": "string" + "request": { + "$ref": "#/components/schemas/ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.request_" }, - "nonce": { - "type": "string" + "proposal": { + "$ref": "#/components/schemas/ProofFormatDataMessagePayload__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array.proposal_" } }, - "required": [ - "type", - "proofPurpose", - "verificationMethod", - "created" + "type": "object" + }, + "HandshakeProtocol": { + "description": "Enum values should be sorted based on order of preference. Values will be\nincluded in this order when creating out of band invitations.", + "enum": [ + "https://didcomm.org/didexchange/1.x", + "https://didcomm.org/connections/1.x" ], - "type": "object", - "additionalProperties": false + "type": "string" }, - "DataIntegrityProof": { - "description": "Linked Data Proof", + "AgentMessage": { + "$ref": "#/components/schemas/PlaintextMessage" + }, + "Key": { "properties": { - "type": { - "type": "string" - }, - "cryptosuite": { - "type": "string" - }, - "proofPurpose": { - "type": "string" - }, - "verificationMethod": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "challenge": { - "type": "string" - }, - "nonce": { - "type": "string" - }, - "created": { - "type": "string" - }, - "expires": { - "type": "string" - }, - "proofValue": { - "type": "string" + "publicKey": { + "type": "string", + "format": "byte" }, - "previousProof": { - "type": "string" + "keyType": { + "$ref": "#/components/schemas/KeyType" } }, "required": [ - "type", - "cryptosuite", - "proofPurpose", - "verificationMethod" + "publicKey", + "keyType" ], "type": "object", "additionalProperties": false }, - "SingleOrArray_LinkedDataProof-or-DataIntegrityProof_": { - "anyOf": [ - { - "anyOf": [ - { - "$ref": "#/components/schemas/LinkedDataProof" - }, - { - "$ref": "#/components/schemas/DataIntegrityProof" - } - ] - }, - { - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/LinkedDataProof" - }, - { - "$ref": "#/components/schemas/DataIntegrityProof" - } - ] - }, - "type": "array" - } - ] - }, - "W3cJsonLdVerifiableCredential": { + "Routing": { "properties": { - "context": { + "endpoints": { "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/JsonObject" - } - ] + "type": "string" }, "type": "array" }, - "id": { - "type": "string" + "recipientKey": { + "$ref": "#/components/schemas/Key" }, - "type": { + "routingKeys": { "items": { - "type": "string" + "$ref": "#/components/schemas/Key" }, "type": "array" }, - "issuer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/W3cIssuer" - } - ] - }, - "issuanceDate": { - "type": "string" - }, - "expirationDate": { + "mediatorId": { "type": "string" - }, - "credentialSubject": { - "$ref": "#/components/schemas/SingleOrArray_W3cCredentialSubject_" - }, - "credentialSchema": { - "$ref": "#/components/schemas/SingleOrArray_W3cCredentialSchema_" - }, - "credentialStatus": { - "$ref": "#/components/schemas/W3cCredentialStatus" - }, - "proof": { - "$ref": "#/components/schemas/SingleOrArray_LinkedDataProof-or-DataIntegrityProof_" } }, "required": [ - "context", - "type", - "issuer", - "issuanceDate", - "credentialSubject", - "proof" + "endpoints", + "recipientKey", + "routingKeys" ], "type": "object", "additionalProperties": false }, - "ProofPurpose": {}, - "SafeW3cJsonLdVerifyCredentialOptions": { + "Pick_JwsGeneralFormat.Exclude_keyofJwsGeneralFormat.payload__": { "properties": { - "credential": { - "$ref": "#/components/schemas/W3cJsonLdVerifiableCredential" - }, - "verifyCredentialStatus": { - "type": "boolean", - "description": "Whether to verify the credentialStatus, if present." + "header": { + "$ref": "#/components/schemas/Record_string.unknown_", + "description": "unprotected header" }, - "proofPurpose": { - "$ref": "#/components/schemas/ProofPurpose" + "signature": { + "type": "string", + "description": "Base64url encoded signature" }, - "proof": { - "$ref": "#/components/schemas/SingleOrArray_Omit_LinkedDataProofOptions.cryptosuite_-or-DataIntegrityProofOptions_" + "protected": { + "type": "string", + "description": "Base64url encoded protected header" } }, "required": [ - "credential", - "proof" + "header", + "signature", + "protected" ], "type": "object", - "additionalProperties": false + "description": "From T, pick a set of properties whose keys are in the union K" }, - "DidRegistrationSecretOptions": { - "$ref": "#/components/schemas/Record_string.unknown_" + "Omit_JwsGeneralFormat.payload_": { + "$ref": "#/components/schemas/Pick_JwsGeneralFormat.Exclude_keyofJwsGeneralFormat.payload__", + "description": "Construct a type with the properties of T except for those in type K." }, - "DidOperationStateWait": { + "JwsDetachedFormat": { + "$ref": "#/components/schemas/Omit_JwsGeneralFormat.payload_" + }, + "JwsFlattenedDetachedFormat": { "properties": { - "state": { - "type": "string", - "enum": [ - "wait" - ], - "nullable": false - }, - "did": { - "type": "string" - }, - "secret": { - "$ref": "#/components/schemas/DidRegistrationSecretOptions" - }, - "didDocument": { - "$ref": "#/components/schemas/DidDocument" + "signatures": { + "items": { + "$ref": "#/components/schemas/JwsDetachedFormat" + }, + "type": "array" } }, "required": [ - "state" + "signatures" ], "type": "object", "additionalProperties": false }, - "DidOperationStateActionBase": { + "AttachmentData": { + "description": "A JSON object that gives access to the actual content of the attachment", "properties": { - "state": { + "base64": { "type": "string", - "enum": [ - "action" - ], - "nullable": false + "description": "Base64-encoded data, when representing arbitrary content inline instead of via links. Optional." }, - "action": { - "type": "string" + "json": { + "$ref": "#/components/schemas/JsonValue", + "description": "Directly embedded JSON data, when representing content inline instead of via links, and when the content is natively conveyable as JSON. Optional." }, - "did": { - "type": "string" + "links": { + "items": { + "type": "string" + }, + "type": "array", + "description": "A list of zero or more locations at which the content may be fetched. Optional." }, - "secret": { - "$ref": "#/components/schemas/DidRegistrationSecretOptions" + "jws": { + "anyOf": [ + { + "$ref": "#/components/schemas/JwsDetachedFormat" + }, + { + "$ref": "#/components/schemas/JwsFlattenedDetachedFormat" + } + ], + "description": "A JSON Web Signature over the content of the attachment. Optional." }, - "didDocument": { - "$ref": "#/components/schemas/DidDocument" + "sha256": { + "type": "string", + "description": "The hash of the content. Optional." } }, - "required": [ - "state", - "action" - ], "type": "object", "additionalProperties": false }, - "DidOperationStateFinished": { + "Attachment": { + "description": "Represents DIDComm attachment\nhttps://github.com/hyperledger/aries-rfcs/blob/master/concepts/0017-attachments/README.md", "properties": { - "state": { - "type": "string", - "enum": [ - "finished" - ], - "nullable": false - }, - "did": { + "id": { "type": "string" }, - "secret": { - "$ref": "#/components/schemas/DidRegistrationSecretOptions" + "description": { + "type": "string", + "description": "An optional human-readable description of the content." }, - "didDocument": { - "$ref": "#/components/schemas/DidDocument" - } - }, - "required": [ - "state", - "did", - "didDocument" - ], - "type": "object", - "additionalProperties": false - }, - "DidOperationStateFailed": { - "properties": { - "state": { + "filename": { "type": "string", - "enum": [ - "failed" - ], - "nullable": false + "description": "A hint about the name that might be used if this attachment is persisted as a file. It is not required, and need not be unique. If this field is present and mime-type is not, the extension on the filename may be used to infer a MIME type." }, - "did": { - "type": "string" + "mimeType": { + "type": "string", + "description": "Describes the MIME type of the attached content. Optional but recommended." }, - "secret": { - "$ref": "#/components/schemas/DidRegistrationSecretOptions" + "lastmodTime": { + "type": "string", + "format": "date-time", + "description": "A hint about when the content in this attachment was last modified." }, - "didDocument": { - "$ref": "#/components/schemas/DidDocument" + "byteCount": { + "type": "number", + "format": "double", + "description": "Optional, and mostly relevant when content is included by reference instead of by value. Lets the receiver guess how expensive it will be, in time, bandwidth, and storage, to fully fetch the attachment." }, - "reason": { - "type": "string" + "data": { + "$ref": "#/components/schemas/AttachmentData" } }, "required": [ - "state", - "reason" + "id", + "data" ], "type": "object", "additionalProperties": false }, - "DidRegistrationMetadata": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "DidResolutionMetadata": { + "CreateInvitationOptions": { "properties": { - "contentType": { + "label": { "type": "string" }, - "error": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "string", - "enum": [ - "invalidDid", - "notFound", - "representationNotSupported", - "unsupportedDidMethod" - ] - } - ] + "alias": { + "type": "string" }, - "message": { + "imageUrl": { "type": "string" }, - "servedFromCache": { + "goalCode": { + "type": "string" + }, + "goal": { + "type": "string" + }, + "handshake": { + "type": "boolean" + }, + "handshakeProtocols": { + "items": { + "$ref": "#/components/schemas/HandshakeProtocol" + }, + "type": "array" + }, + "messages": { + "items": { + "$ref": "#/components/schemas/AgentMessage" + }, + "type": "array" + }, + "multiUseInvitation": { + "type": "boolean" + }, + "autoAcceptConnection": { "type": "boolean" + }, + "routing": { + "$ref": "#/components/schemas/Routing" + }, + "appendedAttachments": { + "items": { + "$ref": "#/components/schemas/Attachment" + }, + "type": "array" + }, + "invitationDid": { + "type": "string" } }, "type": "object", "additionalProperties": false }, - "DidCreateResult_DidOperationStateActionBase_": { + "RecipientKeyOption": { "properties": { - "jobId": { + "recipientKey": { "type": "string" - }, - "didState": { - "anyOf": [ - { - "$ref": "#/components/schemas/DidOperationStateWait" - }, - { - "$ref": "#/components/schemas/DidOperationStateActionBase" - }, - { - "$ref": "#/components/schemas/DidOperationStateFinished" - }, - { - "$ref": "#/components/schemas/DidOperationStateFailed" - } - ] - }, - "didRegistrationMetadata": { - "$ref": "#/components/schemas/DidRegistrationMetadata" - }, - "didDocumentMetadata": { - "$ref": "#/components/schemas/DidResolutionMetadata" } }, - "required": [ - "didState", - "didRegistrationMetadata", - "didDocumentMetadata" - ], "type": "object", "additionalProperties": false }, - "DIDDocumentMetadata": { - "description": "Represents metadata about the DID document resulting from a {@link Resolvable.resolve} operation.", + "Pick_CreateLegacyInvitationConfig.Exclude_keyofCreateLegacyInvitationConfig.routing__": { "properties": { - "created": { - "type": "string" - }, - "updated": { - "type": "string" - }, - "deactivated": { - "type": "boolean" - }, - "versionId": { + "alias": { "type": "string" }, - "nextUpdate": { + "label": { "type": "string" }, - "nextVersionId": { + "imageUrl": { "type": "string" }, - "equivalentId": { - "type": "string" + "multiUseInvitation": { + "type": "boolean" }, - "canonicalId": { - "type": "string" + "autoAcceptConnection": { + "type": "boolean" } }, "type": "object", - "additionalProperties": false - }, - "Did": { - "type": "string", - "example": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "DidRecord": { + "Omit_CreateLegacyInvitationConfig.routing_": { + "$ref": "#/components/schemas/Pick_CreateLegacyInvitationConfig.Exclude_keyofCreateLegacyInvitationConfig.routing__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "OutOfBandRecord": { "$ref": "#/components/schemas/Record_string.unknown_" }, - "AnonCredsSchema": { + "AgentMessageType": { "properties": { - "issuerId": { - "type": "string" - }, - "name": { + "@id": { "type": "string" }, - "version": { + "@type": { "type": "string" - }, - "attrNames": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "issuerId", - "name", - "version", - "attrNames" + "@id", + "@type" ], "type": "object", - "additionalProperties": false + "additionalProperties": {} }, - "AnonCredsResolutionMetadata": { - "properties": { - "error": { + "CustomHandshakeProtocol": { + "enum": [ + "https://didcomm.org/didexchange/1.1", + "https://didcomm.org/connections/1.0" + ], + "type": "string" + }, + "SingleOrArray_string-or-Record_string.unknown__": { + "anyOf": [ + { "anyOf": [ { "type": "string" }, { - "type": "string", - "enum": [ - "invalid", - "notFound", - "unsupportedAnonCredsMethod" - ] + "$ref": "#/components/schemas/Record_string.unknown_" } ] }, - "message": { - "type": "string" + { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/Record_string.unknown_" + } + ] + }, + "type": "array" } - }, - "type": "object", - "additionalProperties": false - }, - "CredoExtensible": { - "$ref": "#/components/schemas/Record_string.unknown_" + ] }, - "GetSchemaReturn": { + "OutOfBandDidCommService": { "properties": { - "schema": { - "$ref": "#/components/schemas/AnonCredsSchema" + "id": { + "type": "string" }, - "schemaId": { + "serviceEndpoint": { "type": "string" }, - "resolutionMetadata": { - "$ref": "#/components/schemas/AnonCredsResolutionMetadata" + "type": { + "type": "string" }, - "schemaMetadata": { - "$ref": "#/components/schemas/CredoExtensible" + "recipientKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "routingKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "accept": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "schemaId", - "resolutionMetadata", - "schemaMetadata" + "id", + "serviceEndpoint", + "type", + "recipientKeys" ], "type": "object", "additionalProperties": false }, - "RegisterSchemaReturnStateWait": { + "OutOfBandInvitationSchema": { "properties": { - "state": { - "type": "string", - "enum": [ - "wait" - ], - "nullable": false + "@id": { + "type": "string" }, - "schema": { - "$ref": "#/components/schemas/AnonCredsSchema" + "@type": { + "type": "string" }, - "schemaId": { + "label": { + "type": "string" + }, + "goalCode": { + "type": "string" + }, + "goal": { + "type": "string" + }, + "accept": { + "items": { + "type": "string" + }, + "type": "array" + }, + "handshake_protocols": { + "items": { + "$ref": "#/components/schemas/CustomHandshakeProtocol" + }, + "type": "array" + }, + "services": { + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/OutOfBandDidCommService" + }, + { + "type": "string" + } + ] + }, + "type": "array" + }, + "imageUrl": { "type": "string" } }, "required": [ - "state" + "@type", + "label", + "services" ], "type": "object", "additionalProperties": false }, - "RegisterSchemaReturnStateAction": { + "Pick_ReceiveOutOfBandInvitationConfig.Exclude_keyofReceiveOutOfBandInvitationConfig.routing__": { "properties": { - "state": { - "type": "string", - "enum": [ - "action" - ], - "nullable": false + "alias": { + "type": "string" }, - "action": { + "label": { "type": "string" }, - "schema": { - "$ref": "#/components/schemas/AnonCredsSchema" + "imageUrl": { + "type": "string" }, - "schemaId": { + "autoAcceptConnection": { + "type": "boolean" + }, + "autoAcceptInvitation": { + "type": "boolean" + }, + "reuseConnection": { + "type": "boolean" + }, + "acceptInvitationTimeoutMs": { + "type": "number", + "format": "double" + }, + "ourDid": { "type": "string" } }, - "required": [ - "state", - "action", - "schema", - "schemaId" - ], "type": "object", - "additionalProperties": false + "description": "From T, pick a set of properties whose keys are in the union K" }, - "RegisterSchemaReturnStateFinished": { + "Omit_ReceiveOutOfBandInvitationConfig.routing_": { + "$ref": "#/components/schemas/Pick_ReceiveOutOfBandInvitationConfig.Exclude_keyofReceiveOutOfBandInvitationConfig.routing__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "ReceiveInvitationProps": { "properties": { - "state": { - "type": "string", - "enum": [ - "finished" - ], - "nullable": false + "alias": { + "type": "string" }, - "schema": { - "$ref": "#/components/schemas/AnonCredsSchema" + "label": { + "type": "string" }, - "schemaId": { + "imageUrl": { + "type": "string" + }, + "autoAcceptConnection": { + "type": "boolean" + }, + "autoAcceptInvitation": { + "type": "boolean" + }, + "reuseConnection": { + "type": "boolean" + }, + "acceptInvitationTimeoutMs": { + "type": "number", + "format": "double" + }, + "ourDid": { "type": "string" + }, + "invitation": { + "$ref": "#/components/schemas/OutOfBandInvitationSchema" } }, "required": [ - "state", - "schema", - "schemaId" + "invitation" ], "type": "object", "additionalProperties": false }, - "RegisterSchemaReturnStateFailed": { + "ReceiveInvitationByUrlProps": { "properties": { - "state": { - "type": "string", - "enum": [ - "failed" - ], - "nullable": false + "alias": { + "type": "string" }, - "reason": { + "label": { "type": "string" }, - "schema": { - "$ref": "#/components/schemas/AnonCredsSchema" - }, - "schemaId": { - "type": "string" - } - }, - "required": [ - "state", - "reason" - ], - "type": "object", - "additionalProperties": false - }, - "RegisterSchemaReturn": { - "properties": { - "jobId": { + "imageUrl": { "type": "string" }, - "schemaState": { - "anyOf": [ - { - "$ref": "#/components/schemas/RegisterSchemaReturnStateWait" - }, - { - "$ref": "#/components/schemas/RegisterSchemaReturnStateAction" - }, - { - "$ref": "#/components/schemas/RegisterSchemaReturnStateFinished" - }, - { - "$ref": "#/components/schemas/RegisterSchemaReturnStateFailed" - } - ] + "autoAcceptConnection": { + "type": "boolean" }, - "schemaMetadata": { - "$ref": "#/components/schemas/CredoExtensible" + "autoAcceptInvitation": { + "type": "boolean" }, - "registrationMetadata": { - "$ref": "#/components/schemas/CredoExtensible" + "reuseConnection": { + "type": "boolean" + }, + "acceptInvitationTimeoutMs": { + "type": "number", + "format": "double" + }, + "ourDid": { + "type": "string" + }, + "invitationUrl": { + "type": "string" } }, "required": [ - "schemaState", - "schemaMetadata", - "registrationMetadata" + "invitationUrl" ], "type": "object", "additionalProperties": false }, - "AnonCredsCredentialDefinition": { + "AcceptInvitationConfig": { "properties": { - "issuerId": { - "type": "string" + "autoAcceptConnection": { + "type": "boolean" }, - "schemaId": { + "reuseConnection": { + "type": "boolean" + }, + "label": { "type": "string" }, - "type": { - "type": "string", - "enum": [ - "CL" - ], - "nullable": false + "alias": { + "type": "string" }, - "tag": { + "imageUrl": { "type": "string" }, - "value": { - "properties": { - "revocation": {}, - "primary": { - "$ref": "#/components/schemas/Record_string.unknown_" - } - }, - "required": [ - "primary" - ], - "type": "object" + "mediatorId": { + "type": "string" } }, - "required": [ - "issuerId", - "schemaId", - "type", - "tag", - "value" - ], "type": "object", "additionalProperties": false }, - "GetCredentialDefinitionReturn": { + "ThreadId": { + "type": "string", + "example": "ea4e5e69-fc04-465a-90d2-9f8ff78aa71d" + }, + "CredentialState": { + "description": "Issue Credential states as defined in RFC 0036 and RFC 0453", + "enum": [ + "proposal-sent", + "proposal-received", + "offer-sent", + "offer-received", + "declined", + "request-sent", + "request-received", + "credential-issued", + "credential-received", + "done", + "abandoned" + ], + "type": "string" + }, + "CredentialRole": { + "enum": [ + "issuer", + "holder" + ], + "type": "string" + }, + "CredentialExchangeRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "ProtocolVersion": { + "enum": [ + "v1", + "v2" + ], + "type": "string" + }, + "CredentialPreviewAttributeOptions": { "properties": { - "credentialDefinition": { - "$ref": "#/components/schemas/AnonCredsCredentialDefinition" - }, - "credentialDefinitionId": { + "name": { "type": "string" }, - "resolutionMetadata": { - "$ref": "#/components/schemas/AnonCredsResolutionMetadata" + "mimeType": { + "type": "string" }, - "credentialDefinitionMetadata": { - "$ref": "#/components/schemas/CredoExtensible" + "value": { + "type": "string" } }, "required": [ - "credentialDefinitionId", - "resolutionMetadata", - "credentialDefinitionMetadata" + "name", + "value" ], "type": "object", "additionalProperties": false }, - "RegisterCredentialDefinitionReturnStateWait": { + "LinkedAttachment": { "properties": { - "state": { + "attributeName": { "type": "string", - "enum": [ - "wait" - ], - "nullable": false - }, - "credentialDefinition": { - "$ref": "#/components/schemas/AnonCredsCredentialDefinition" + "description": "The name that will be used to generate the linked credential" }, - "credentialDefinitionId": { - "type": "string" + "attachment": { + "$ref": "#/components/schemas/Attachment", + "description": "The attachment that needs to be linked to the credential" } }, "required": [ - "state" + "attributeName", + "attachment" ], "type": "object", "additionalProperties": false }, - "RegisterCredentialDefinitionReturnStateAction": { + "Pick_AnonCredsProposeCredentialFormat.Exclude_keyofAnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId__": { "properties": { - "state": { - "type": "string", - "enum": [ - "action" - ], - "nullable": false + "schemaId": { + "type": "string" }, - "action": { + "schemaName": { + "type": "string" + }, + "schemaVersion": { "type": "string" }, "credentialDefinitionId": { "type": "string" }, - "credentialDefinition": { - "$ref": "#/components/schemas/AnonCredsCredentialDefinition" + "attributes": { + "items": { + "$ref": "#/components/schemas/CredentialPreviewAttributeOptions" + }, + "type": "array" + }, + "linkedAttachments": { + "items": { + "$ref": "#/components/schemas/LinkedAttachment" + }, + "type": "array" + }, + "schemaIssuerDid": { + "type": "string" + }, + "issuerDid": { + "type": "string" } }, - "required": [ - "state", - "action", - "credentialDefinitionId", - "credentialDefinition" - ], "type": "object", - "additionalProperties": false + "description": "From T, pick a set of properties whose keys are in the union K" }, - "RegisterCredentialDefinitionReturnStateFinished": { + "Omit_AnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId_": { + "$ref": "#/components/schemas/Pick_AnonCredsProposeCredentialFormat.Exclude_keyofAnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "LegacyIndyProposeCredentialFormat": { + "$ref": "#/components/schemas/Omit_AnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId_", + "description": "This defines the module payload for calling CredentialsApi.createProposal\nor CredentialsApi.negotiateOffer\n\nNOTE: This doesn't include the `issuerId` and `schemaIssuerId` properties that are present in the newer format." + }, + "W3cIssuerOptions": { + "description": "TODO: check how to support arbitrary data in class", "properties": { - "state": { - "type": "string", - "enum": [ - "finished" - ], - "nullable": false - }, - "credentialDefinition": { - "$ref": "#/components/schemas/AnonCredsCredentialDefinition" - }, - "credentialDefinitionId": { + "id": { "type": "string" } }, "required": [ - "state", - "credentialDefinition", - "credentialDefinitionId" + "id" ], "type": "object", "additionalProperties": false }, - "RegisterCredentialDefinitionReturnStateFailed": { - "properties": { - "state": { - "type": "string", - "enum": [ - "failed" - ], - "nullable": false + "SingleOrArray_JsonObject_": { + "anyOf": [ + { + "$ref": "#/components/schemas/JsonObject" }, - "reason": { - "type": "string" - }, - "credentialDefinition": { - "$ref": "#/components/schemas/AnonCredsCredentialDefinition" - }, - "credentialDefinitionId": { - "type": "string" + { + "items": { + "$ref": "#/components/schemas/JsonObject" + }, + "type": "array" } - }, - "required": [ - "state", - "reason" - ], - "type": "object", - "additionalProperties": false + ] }, - "RegisterCredentialDefinitionReturn": { + "JsonCredential": { "properties": { - "jobId": { - "type": "string" - }, - "credentialDefinitionState": { + "@context": { "anyOf": [ { - "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateWait" + "items": { + "type": "string" + }, + "type": "array" }, { - "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateAction" - }, + "$ref": "#/components/schemas/JsonObject" + } + ] + }, + "id": { + "type": "string" + }, + "type": { + "items": { + "type": "string" + }, + "type": "array" + }, + "issuer": { + "anyOf": [ { - "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateFinished" + "type": "string" }, { - "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateFailed" + "$ref": "#/components/schemas/W3cIssuerOptions" } ] }, - "credentialDefinitionMetadata": { - "$ref": "#/components/schemas/CredoExtensible" + "issuanceDate": { + "type": "string" }, - "registrationMetadata": { - "$ref": "#/components/schemas/CredoExtensible" - } + "expirationDate": { + "type": "string" + }, + "credentialSubject": { + "$ref": "#/components/schemas/SingleOrArray_JsonObject_" + }, + "prettyVc": {} }, "required": [ - "credentialDefinitionState", - "credentialDefinitionMetadata", - "registrationMetadata" - ], - "type": "object", - "additionalProperties": false - }, - "ThreadId": { - "type": "string", - "example": "ea4e5e69-fc04-465a-90d2-9f8ff78aa71d" - }, - "CredentialRole": { - "enum": [ + "@context", + "type", "issuer", - "holder" + "issuanceDate", + "credentialSubject" ], - "type": "string" - }, - "CredentialExchangeRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" + "type": "object", + "additionalProperties": {} }, - "Pick_AnonCredsProposeCredentialFormat.Exclude_keyofAnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId__": { + "JsonLdCredentialDetailFormat": { + "description": "Format for creating a jsonld proposal, offer or request.", "properties": { - "schemaId": { - "type": "string" - }, - "schemaName": { - "type": "string" - }, - "schemaVersion": { - "type": "string" - }, - "credentialDefinitionId": { - "type": "string" - }, - "attributes": { - "items": { - "$ref": "#/components/schemas/CredentialPreviewAttributeOptions" - }, - "type": "array" + "credential": { + "$ref": "#/components/schemas/JsonCredential" }, - "linkedAttachments": { - "items": { - "$ref": "#/components/schemas/LinkedAttachment" + "options": { + "properties": { + "proofType": { + "type": "string" + }, + "proofPurpose": { + "type": "string" + } }, - "type": "array" - }, - "schemaIssuerDid": { - "type": "string" - }, - "issuerDid": { - "type": "string" + "required": [ + "proofType", + "proofPurpose" + ], + "type": "object" } }, + "required": [ + "credential", + "options" + ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_AnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId_": { - "$ref": "#/components/schemas/Pick_AnonCredsProposeCredentialFormat.Exclude_keyofAnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "LegacyIndyProposeCredentialFormat": { - "$ref": "#/components/schemas/Omit_AnonCredsProposeCredentialFormat.schemaIssuerId-or-issuerId_", - "description": "This defines the module payload for calling CredentialsApi.createProposal\nor CredentialsApi.negotiateOffer\n\nNOTE: This doesn't include the `issuerId` and `schemaIssuerId` properties that are present in the newer format." + "additionalProperties": false }, "AnonCredsProposeCredentialFormat": { "description": "This defines the module payload for calling CredentialsApi.createProposal\nor CredentialsApi.negotiateOffer", @@ -2927,6 +2724,15 @@ "type": "object", "description": "Get the payload for a specific method from a list of CredentialFormat interfaces and a method" }, + "AutoAcceptCredential": { + "description": "Typing of the state for auto acceptance", + "enum": [ + "always", + "contentApproved", + "never" + ], + "type": "string" + }, "ProposeCredentialOptions": { "properties": { "protocolVersion": { @@ -3026,104 +2832,242 @@ "type": "object", "additionalProperties": false }, - "AnonCredsAcceptOfferFormat": { - "description": "This defines the module payload for calling CredentialsApi.acceptOffer. No options are available for this\nmethod, so it's an empty object", + "AnonCredsOfferCredentialFormat": { + "description": "This defines the module payload for calling CredentialsApi.offerCredential\nor CredentialsApi.negotiateProposal", "properties": { - "linkSecretId": { + "credentialDefinitionId": { + "type": "string" + }, + "revocationRegistryDefinitionId": { "type": "string" + }, + "revocationRegistryIndex": { + "type": "number", + "format": "double" + }, + "attributes": { + "items": { + "$ref": "#/components/schemas/CredentialPreviewAttributeOptions" + }, + "type": "array" + }, + "linkedAttachments": { + "items": { + "$ref": "#/components/schemas/LinkedAttachment" + }, + "type": "array" } }, + "required": [ + "credentialDefinitionId", + "attributes" + ], "type": "object", "additionalProperties": false }, - "CredentialFormatPayload_CredentialFormats.acceptOffer_": { + "CredentialFormatPayload_CredentialFormats.createOffer_": { "properties": { "indy": { - "$ref": "#/components/schemas/AnonCredsAcceptOfferFormat" + "$ref": "#/components/schemas/AnonCredsOfferCredentialFormat" }, "jsonld": { - "$ref": "#/components/schemas/EmptyObject" + "$ref": "#/components/schemas/JsonLdCredentialDetailFormat" }, "anoncreds": { - "$ref": "#/components/schemas/AnonCredsAcceptOfferFormat" + "$ref": "#/components/schemas/AnonCredsOfferCredentialFormat" } }, "type": "object", "description": "Get the payload for a specific method from a list of CredentialFormat interfaces and a method" }, - "CredentialOfferOptions": { + "CreateOfferOptions": { "properties": { - "credentialRecordId": { + "protocolVersion": { + "$ref": "#/components/schemas/ProtocolVersion" + }, + "connectionId": { "$ref": "#/components/schemas/RecordId" }, "credentialFormats": { - "$ref": "#/components/schemas/CredentialFormatPayload_CredentialFormats.acceptOffer_" + "$ref": "#/components/schemas/CredentialFormatPayload_CredentialFormats.createOffer_" }, "autoAcceptCredential": { "$ref": "#/components/schemas/AutoAcceptCredential" }, "comment": { "type": "string" + }, + "goalCode": { + "type": "string" + }, + "goal": { + "type": "string" } }, "required": [ - "credentialRecordId" + "protocolVersion", + "connectionId", + "credentialFormats" ], "type": "object", "additionalProperties": false }, - "AnonCredsAcceptRequestFormat": { - "$ref": "#/components/schemas/Record_string.never_", - "description": "This defines the module payload for calling CredentialsApi.acceptRequest. No options are available for this\nmethod, so it's an empty object" - }, - "JsonLdAcceptRequestFormat": { - "description": "Format for accepting a jsonld credential request. Optionally allows the verification\nmethod to use to sign the credential.", - "properties": { - "verificationMethod": { - "type": "string" - } - }, - "type": "object", - "additionalProperties": false - }, - "CredentialFormatPayload_CredentialFormats.acceptRequest_": { + "CredentialFormatPayload_CredentialFormatType-Array.createOffer_": { "properties": { "indy": { - "$ref": "#/components/schemas/AnonCredsAcceptRequestFormat" + "$ref": "#/components/schemas/AnonCredsOfferCredentialFormat" }, "jsonld": { - "$ref": "#/components/schemas/JsonLdAcceptRequestFormat" + "$ref": "#/components/schemas/JsonLdCredentialDetailFormat" }, "anoncreds": { - "$ref": "#/components/schemas/AnonCredsAcceptRequestFormat" + "$ref": "#/components/schemas/AnonCredsOfferCredentialFormat" } }, "type": "object", "description": "Get the payload for a specific method from a list of CredentialFormat interfaces and a method" }, - "AcceptCredentialRequestOptions": { + "CreateOfferOobOptions": { "properties": { - "credentialRecordId": { - "$ref": "#/components/schemas/RecordId" + "protocolVersion": { + "type": "string" }, "credentialFormats": { - "$ref": "#/components/schemas/CredentialFormatPayload_CredentialFormats.acceptRequest_" + "$ref": "#/components/schemas/CredentialFormatPayload_CredentialFormatType-Array.createOffer_" }, "autoAcceptCredential": { "$ref": "#/components/schemas/AutoAcceptCredential" }, "comment": { "type": "string" - } - }, - "required": [ - "credentialRecordId" - ], - "type": "object", - "additionalProperties": false - }, - "AcceptCredential": { - "properties": { + }, + "goalCode": { + "type": "string" + }, + "parentThreadId": { + "type": "string" + }, + "willConfirm": { + "type": "boolean" + }, + "label": { + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "recipientKey": { + "type": "string" + }, + "invitationDid": { + "type": "string" + } + }, + "required": [ + "protocolVersion", + "credentialFormats" + ], + "type": "object", + "additionalProperties": false + }, + "AnonCredsAcceptOfferFormat": { + "description": "This defines the module payload for calling CredentialsApi.acceptOffer. No options are available for this\nmethod, so it's an empty object", + "properties": { + "linkSecretId": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "CredentialFormatPayload_CredentialFormats.acceptOffer_": { + "properties": { + "indy": { + "$ref": "#/components/schemas/AnonCredsAcceptOfferFormat" + }, + "jsonld": { + "$ref": "#/components/schemas/EmptyObject" + }, + "anoncreds": { + "$ref": "#/components/schemas/AnonCredsAcceptOfferFormat" + } + }, + "type": "object", + "description": "Get the payload for a specific method from a list of CredentialFormat interfaces and a method" + }, + "CredentialOfferOptions": { + "properties": { + "credentialRecordId": { + "$ref": "#/components/schemas/RecordId" + }, + "credentialFormats": { + "$ref": "#/components/schemas/CredentialFormatPayload_CredentialFormats.acceptOffer_" + }, + "autoAcceptCredential": { + "$ref": "#/components/schemas/AutoAcceptCredential" + }, + "comment": { + "type": "string" + } + }, + "required": [ + "credentialRecordId" + ], + "type": "object", + "additionalProperties": false + }, + "AnonCredsAcceptRequestFormat": { + "$ref": "#/components/schemas/Record_string.never_", + "description": "This defines the module payload for calling CredentialsApi.acceptRequest. No options are available for this\nmethod, so it's an empty object" + }, + "JsonLdAcceptRequestFormat": { + "description": "Format for accepting a jsonld credential request. Optionally allows the verification\nmethod to use to sign the credential.", + "properties": { + "verificationMethod": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "CredentialFormatPayload_CredentialFormats.acceptRequest_": { + "properties": { + "indy": { + "$ref": "#/components/schemas/AnonCredsAcceptRequestFormat" + }, + "jsonld": { + "$ref": "#/components/schemas/JsonLdAcceptRequestFormat" + }, + "anoncreds": { + "$ref": "#/components/schemas/AnonCredsAcceptRequestFormat" + } + }, + "type": "object", + "description": "Get the payload for a specific method from a list of CredentialFormat interfaces and a method" + }, + "AcceptCredentialRequestOptions": { + "properties": { + "credentialRecordId": { + "$ref": "#/components/schemas/RecordId" + }, + "credentialFormats": { + "$ref": "#/components/schemas/CredentialFormatPayload_CredentialFormats.acceptRequest_" + }, + "autoAcceptCredential": { + "$ref": "#/components/schemas/AutoAcceptCredential" + }, + "comment": { + "type": "string" + } + }, + "required": [ + "credentialRecordId" + ], + "type": "object", + "additionalProperties": false + }, + "AcceptCredential": { + "properties": { "credentialRecordId": { "$ref": "#/components/schemas/RecordId" } @@ -3184,30 +3128,146 @@ "type": "object", "description": "Get format data return value. Each key holds a mapping of credential format key to format data." }, + "DidExchangeState": { + "description": "Connection states as defined in RFC 0023.", + "enum": [ + "start", + "invitation-sent", + "invitation-received", + "request-sent", + "request-received", + "response-sent", + "response-received", + "abandoned", + "completed" + ], + "type": "string" + }, "BasicMessageRecord": { "$ref": "#/components/schemas/Record_string.unknown_" }, - "AgentInfo": { + "Record_content.string_": { + "properties": { + "content": { + "type": "string" + } + }, + "required": [ + "content" + ], + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "Pick_InitConfig.label-or-connectionImageUrl_": { "properties": { "label": { "type": "string" }, - "endpoints": { - "items": { - "type": "string" - }, - "type": "array" + "connectionImageUrl": { + "type": "string" + } + }, + "required": [ + "label" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "KeyDerivationMethod": { + "enum": [ + "ARGON2I_MOD", + "ARGON2I_INT", + "RAW" + ], + "type": "string" + }, + "Pick_WalletConfig.id-or-key-or-keyDerivationMethod_": { + "properties": { + "key": { + "type": "string" }, - "isInitialized": { - "type": "boolean" + "id": { + "type": "string" }, - "publicDid": {} + "keyDerivationMethod": { + "$ref": "#/components/schemas/KeyDerivationMethod" + } }, "required": [ - "label", - "endpoints", - "isInitialized", - "publicDid" + "key", + "id" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "TenantConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_InitConfig.label-or-connectionImageUrl_" + }, + { + "properties": { + "walletConfig": { + "$ref": "#/components/schemas/Pick_WalletConfig.id-or-key-or-keyDerivationMethod_" + } + }, + "required": [ + "walletConfig" + ], + "type": "object" + } + ] + }, + "MetadataValue": { + "$ref": "#/components/schemas/Record_string.any_" + }, + "MetadataBase": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/MetadataValue" + }, + "type": "object" + }, + "Metadata____": { + "description": "Metadata access class to get, set (create and update), add (append to a record) and delete metadata on any record.\n\nset will override the previous value if it already exists\n\nnote: To add persistence to these records, you have to update the record in the correct repository", + "properties": { + "data": { + "$ref": "#/components/schemas/MetadataBase" + } + }, + "required": [ + "data" + ], + "type": "object", + "additionalProperties": false + }, + "Pick_CustomTenantConfig.Exclude_keyofCustomTenantConfig.walletConfig__": { + "properties": { + "label": { + "type": "string" + }, + "connectionImageUrl": { + "type": "string" + } + }, + "required": [ + "label" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Omit_CustomTenantConfig.walletConfig_": { + "$ref": "#/components/schemas/Pick_CustomTenantConfig.Exclude_keyofCustomTenantConfig.walletConfig__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "CreateTenantOptions": { + "properties": { + "config": { + "$ref": "#/components/schemas/Omit_CustomTenantConfig.walletConfig_" + } + }, + "required": [ + "config" ], "type": "object", "additionalProperties": false @@ -3218,6 +3278,11 @@ "type": "apiKey", "name": "Authorization", "in": "header" + }, + "jwt": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" } } }, @@ -3231,2253 +3296,78 @@ "contact": {} }, "paths": { - "/proofs": { - "get": { - "operationId": "GetAllProofs", - "responses": { - "200": { - "description": "ProofRecord[]", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "type": "array" - }, - "examples": { - "Example 1": { - "value": [ - { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - ] - } - } - } - } - } - }, - "description": "Retrieve all proof records", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "query", - "name": "threadId", - "required": false, - "schema": { - "type": "string" - } - } - ] - } - }, - "/proofs/{proofRecordId}": { - "get": { - "operationId": "GetProofById", - "responses": { - "200": { - "description": "ProofRecord", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - } - }, - "description": "Retrieve proof record by proof record id", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } - ] - } - }, - "/proofs/propose-proof": { - "post": { - "operationId": "ProposeProof", - "responses": { - "200": { - "description": "ProofRecord", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProofExchangeRecord" - }, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - } - }, - "description": "Initiate a new presentation exchange as prover by sending a presentation proposal request\nto the connection with the specified connection id.", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestProofProposalOptions" - } - } - } - } - } - }, - "/proofs/{proofRecordId}/accept-proposal": { - "post": { - "operationId": "AcceptProposal", - "responses": { - "200": { - "description": "ProofRecord", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProofExchangeRecord" - }, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - } - }, - "description": "Accept a presentation proposal as verifier by sending an accept proposal message\nto the connection associated with the proof record.", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AcceptProofProposal" - } - } - } - } - } - }, - "/proofs/request-proof": { - "post": { - "operationId": "RequestProof", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProofExchangeRecord" - }, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - } - }, - "description": "Creates a presentation request bound to existing connection", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestProofOptions" - } - } - } - } - } - }, - "/proofs/create-request-oob": { - "post": { - "operationId": "CreateRequest", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "proofRecordThId": { - "type": "string" - }, - "invitationDid": { - "type": "string" - }, - "outOfBandRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "invitation": { - "$ref": "#/components/schemas/PlaintextMessage" - }, - "invitationUrl": { - "type": "string" - } - }, - "required": [ - "proofRecordThId", - "invitationDid", - "outOfBandRecord", - "invitation", - "invitationUrl" - ], - "type": "object" - }, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - } - }, - "description": "Creates a presentation request not bound to any proposal or existing connection", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateProofRequestOobOptions" - } - } - } - } - } - }, - "/proofs/{proofRecordId}/accept-request": { - "post": { - "operationId": "AcceptRequest", - "responses": { - "200": { - "description": "ProofRecord", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - } - }, - "description": "Accept a presentation request as prover by sending an accept request message\nto the connection associated with the proof record.", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "comment": { - "type": "string" - }, - "filterByNonRevocationRequirements": { - "type": "boolean" - }, - "filterByPresentationPreview": { - "type": "boolean" - } - }, - "type": "object" - } - } - } - } - } - }, - "/proofs/{proofRecordId}/accept-presentation": { - "post": { - "operationId": "AcceptPresentation", - "responses": { - "200": { - "description": "ProofRecord", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProofExchangeRecord" - }, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - } - }, - "description": "Accept a presentation as prover by sending an accept presentation message\nto the connection associated with the proof record.", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/proofs/{proofRecordId}/form-data": { - "get": { - "operationId": "ProofFormData", - "responses": { - "200": { - "description": "ProofRecord", - "content": { - "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } - } - } - } - } - }, - "description": "Return proofRecord", - "tags": [ - "Proofs" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/polygon/create-keys": { - "post": { - "operationId": "CreateKeyPair", - "responses": { - "200": { - "description": "Secp256k1KeyPair", - "content": { - "application/json": { - "schema": { - "properties": { - "address": { - "type": "string" - }, - "publicKeyBase58": { - "type": "string" - }, - "privateKey": { - "type": "string" - } - }, - "required": [ - "address", - "publicKeyBase58", - "privateKey" - ], - "type": "object" - } - } - } - } - }, - "description": "Create Secp256k1 key pair for polygon DID", - "tags": [ - "Polygon" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [] - } - }, - "/polygon/create-schema": { - "post": { - "operationId": "CreateSchema", - "responses": { - "200": { - "description": "Schema JSON", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "description": "Create polygon based W3C schema", - "tags": [ - "Polygon" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "schema": { - "properties": {}, - "additionalProperties": {}, - "type": "object" - }, - "schemaName": { - "type": "string" - }, - "did": { - "type": "string" - } - }, - "required": [ - "schema", - "schemaName", - "did" - ], - "type": "object" - } - } - } - } - } - }, - "/polygon/estimate-transaction": { - "post": { - "operationId": "EstimateTransaction", - "responses": { - "200": { - "description": "Transaction Object", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "description": "Estimate transaction", - "tags": [ - "Polygon" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "transaction": {}, - "operation": {} - }, - "required": [ - "transaction", - "operation" - ], - "type": "object" - } - } - } - } - } - }, - "/polygon/{did}/{schemaId}": { - "get": { - "operationId": "GetSchemaById", - "responses": { - "200": { - "description": "Schema Object", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "description": "Fetch schema details", - "tags": [ - "Polygon" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "did", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "schemaId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/oob": { - "get": { - "operationId": "GetAllOutOfBandRecords", - "responses": { - "200": { - "description": "OutOfBandRecord[]", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "type": "array" - }, - "examples": { - "Example 1": { - "value": [ - { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - } - ] - } - } - } - } - } - }, - "description": "Retrieve all out of band records", - "tags": [ - "Out Of Band" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "description": "invitation identifier", - "in": "query", - "name": "invitationId", - "required": false, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } - ] - } - }, - "/oob/{outOfBandId}": { - "get": { - "operationId": "GetOutOfBandRecordById", - "responses": { - "200": { - "description": "OutOfBandRecord", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "examples": { - "Example 1": { - "value": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - } - } - } - } - } - } - }, - "description": "Retrieve an out of band record by id", - "tags": [ - "Out Of Band" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "outOfBandId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } - ] - }, - "delete": { - "operationId": "DeleteOutOfBandRecord", - "responses": { - "204": { - "description": "No content" - } - }, - "description": "Deletes an out of band record from the repository.", - "tags": [ - "Out Of Band" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "description": "Record identifier", - "in": "path", - "name": "outOfBandId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } - ] - } - }, - "/oob/create-invitation": { - "post": { - "operationId": "CreateInvitation", - "responses": { - "200": { - "description": "Out of band record", - "content": { - "application/json": { - "schema": { - "properties": { - "invitationDid": { - "type": "string" - }, - "outOfBandRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "invitation": { - "$ref": "#/components/schemas/PlaintextMessage" - }, - "invitationUrl": { - "type": "string" - } - }, - "required": [ - "invitationDid", - "outOfBandRecord", - "invitation", - "invitationUrl" - ], - "type": "object" - }, - "examples": { - "Example 1": { - "value": { - "invitationUrl": "string", - "invitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "outOfBandRecord": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - } - } - } - } - } - } - } - }, - "description": "Creates an outbound out-of-band record containing out-of-band invitation message defined in\nAries RFC 0434: Out-of-Band Protocol 1.1.", - "tags": [ - "Out Of Band" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "description": "configuration of how out-of-band invitation should be created", - "required": true, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/CreateInvitationOptions" - }, - { - "$ref": "#/components/schemas/RecipientKeyOption" - } - ], - "description": "configuration of how out-of-band invitation should be created" - } - } - } - } - } - }, - "/oob/create-legacy-invitation": { - "post": { - "operationId": "CreateLegacyInvitation", - "responses": { - "200": { - "description": "out-of-band record and invitation", - "content": { - "application/json": { - "schema": { - "properties": { - "outOfBandRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "invitation": { - "$ref": "#/components/schemas/PlaintextMessage" - }, - "invitationUrl": { - "type": "string" - }, - "recipientKey": { - "type": "string" - } - }, - "required": [ - "outOfBandRecord", - "invitation", - "invitationUrl" - ], - "type": "object" - }, - "examples": { - "Example 1": { - "value": { - "invitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "outOfBandRecord": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - } - } - } - } - } - } - } - }, - "description": "Creates an outbound out-of-band record in the same way how `createInvitation` method does it,\nbut it also converts out-of-band invitation message to an \"legacy\" invitation message defined\nin RFC 0160: Connection Protocol and returns it together with out-of-band record.", - "tags": [ - "Out Of Band" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "description": "configuration of how a invitation should be created", - "required": false, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Omit_CreateLegacyInvitationConfig.routing_" - }, - { - "$ref": "#/components/schemas/RecipientKeyOption" - } - ], - "description": "configuration of how a invitation should be created" - } - } - } - } - } - }, - "/oob/create-legacy-connectionless-invitation": { - "post": { - "operationId": "CreateLegacyConnectionlessInvitation", - "responses": { - "200": { - "description": "a message and a invitationUrl", - "content": { - "application/json": { - "schema": { - "properties": { - "outOfBandRecord": { - "$ref": "#/components/schemas/OutOfBandRecord" - }, - "invitationUrl": { - "type": "string" - }, - "message": { - "$ref": "#/components/schemas/AgentMessage" - } - }, - "required": [ - "outOfBandRecord", - "invitationUrl", - "message" - ], - "type": "object" - }, - "examples": { - "Example 1": { - "value": { - "message": { - "@id": "eac4ff4e-b4fb-4c1d-aef3-b29c89d1cc00", - "@type": "https://didcomm.org/connections/1.0/invitation" - }, - "invitationUrl": "http://example.com/invitation_url" - } - } - } - } - } - } - }, - "description": "Creates a new connectionless legacy invitation.", - "tags": [ - "Out Of Band" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "description": "configuration of how a connection invitation should be created", - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "domain": { - "type": "string" - }, - "message": { - "$ref": "#/components/schemas/AgentMessageType" - }, - "recordId": { - "type": "string" - } - }, - "required": [ - "domain", - "message", - "recordId" - ], - "type": "object", - "description": "configuration of how a connection invitation should be created" - } - } - } - } - } - }, - "/oob/receive-invitation": { - "post": { - "operationId": "ReceiveInvitation", - "responses": { - "200": { - "description": "out-of-band record and connection record if one has been created.", - "content": { - "application/json": { - "schema": { - "properties": { - "connectionRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "outOfBandRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - } - }, - "required": [ - "connectionRecord", - "outOfBandRecord" - ], - "type": "object" - }, - "examples": { - "Example 1": { - "value": { - "outOfBandRecord": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - }, - "connectionRecord": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" - } - } - } - } - } - } - } - }, - "description": "Creates inbound out-of-band record and assigns out-of-band invitation message to it if the\nmessage is valid.", - "tags": [ - "Out Of Band" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReceiveInvitationProps" - } - } - } - } - } - }, - "/oob/receive-invitation-url": { - "post": { - "operationId": "ReceiveInvitationFromUrl", - "responses": { - "200": { - "description": "out-of-band record and connection record if one has been created.", - "content": { - "application/json": { - "schema": { - "properties": { - "connectionRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "outOfBandRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - } - }, - "required": [ - "connectionRecord", - "outOfBandRecord" - ], - "type": "object" - }, - "examples": { - "Example 1": { - "value": { - "outOfBandRecord": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - }, - "connectionRecord": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" - } - } - } - } - } - } - } - }, - "description": "Creates inbound out-of-band record and assigns out-of-band invitation message to it if the\nmessage is valid.", - "tags": [ - "Out Of Band" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReceiveInvitationByUrlProps" - } - } - } - } - } - }, - "/oob/{outOfBandId}/accept-invitation": { - "post": { - "operationId": "AcceptInvitation", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "connectionRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "outOfBandRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - } - }, - "required": [ - "connectionRecord", - "outOfBandRecord" - ], - "type": "object" - }, - "examples": { - "Example 1": { - "value": { - "outOfBandRecord": { - "_tags": { - "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", - "state": "await-response", - "role": "sender", - "recipientKeyFingerprints": [ - "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" - ] - }, - "outOfBandInvitation": { - "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", - "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", - "label": "Aries Test Agent", - "accept": [ - "didcomm/aip1", - "didcomm/aip2;env=rfc19" - ], - "handshake_protocols": [ - "https://didcomm.org/didexchange/1.0", - "https://didcomm.org/connections/1.0" - ], - "services": [ - { - "id": "#inline-0", - "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", - "type": "did-communication", - "recipientKeys": [ - "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" - ], - "routingKeys": [] - } - ] - }, - "metadata": {}, - "id": "42a95528-0e30-4f86-a462-0efb02178b53", - "createdAt": "2022-01-01T00:00:00.000Z", - "reusable": false - }, - "connectionRecord": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" - } - } - } - } - } - } - } - }, - "description": "Accept a connection invitation as invitee (by sending a connection request message) for the connection with the specified connection id.\nThis is not needed when auto accepting of connections is enabled.", - "tags": [ - "Out Of Band" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "outOfBandId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AcceptInvitationConfig" - } - } - } - } - } - }, - "/multi-tenancy/create-tenant": { - "post": { - "operationId": "CreateTenant", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TenantRecord" - } - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateTenantOptions" - } - } - } - } - } - }, - "/multi-tenancy/create-did/{tenantId}": { - "post": { - "operationId": "CreateDid", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DidCreate" - } - } - } - } - } - }, - "/multi-tenancy/dids/{tenantId}": { - "get": { - "operationId": "GetDids", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/multi-tenancy/transactions/set-endorser-role/{tenantId}": { - "post": { - "operationId": "DidNymTransaction", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DidNymTransaction" - } - } - } - } - } - }, - "/multi-tenancy/transactions/endorse/{tenantId}": { - "post": { - "operationId": "EndorserTransaction", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "signedTransaction": {} - }, - "required": [ - "signedTransaction" - ], - "type": "object" - } - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndorserTransaction" - } - } - } - } - } - }, - "/multi-tenancy/connections/{connectionId}/{tenantId}": { - "get": { - "operationId": "GetConnectionById", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "_tags": { - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", - "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" - }, - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", - "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", - "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" - } - } - } - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } - ] - } - }, - "/multi-tenancy/create-invitation/{tenantId}": { - "post": { - "operationId": "CreateInvitation", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "properties": { - "invitationDid": { - "type": "string" - }, - "outOfBandRecord": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "invitation": { - "$ref": "#/components/schemas/PlaintextMessage" - }, - "invitationUrl": { - "type": "string" - } - }, - "required": [ - "invitationDid", - "outOfBandRecord", - "invitation", - "invitationUrl" - ], - "type": "object" - } - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Omit_CreateOutOfBandInvitationConfig.routing_" - }, - { - "$ref": "#/components/schemas/RecipientKeyOption" - } - ] - } - } - } - } - } - }, - "/multi-tenancy/create-legacy-invitation/{tenantId}": { - "post": { - "operationId": "CreateLegacyInvitation", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Omit_CreateOutOfBandInvitationConfig.routing-or-appendedAttachments-or-messages_" - }, - { - "$ref": "#/components/schemas/RecipientKeyOption" - } - ] - } - } - } - } - } - }, - "/multi-tenancy/receive-invitation/{tenantId}": { - "post": { - "operationId": "ReceiveInvitation", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReceiveInvitationProps" - } - } - } - } - } - }, - "/multi-tenancy/receive-invitation-url/{tenantId}": { - "post": { - "operationId": "ReceiveInvitationFromUrl", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReceiveInvitationByUrlProps" - } - } - } - } - } - }, - "/multi-tenancy/oob/{invitationId}/{tenantId}": { - "get": { - "operationId": "GetAllOutOfBandRecords", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "invitationId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/multi-tenancy/connections/{tenantId}": { - "get": { - "operationId": "GetAllConnections", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "outOfBandId", - "required": false, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "alias", - "required": false, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "state", - "required": false, - "schema": { - "$ref": "#/components/schemas/DidExchangeState" - } - }, - { - "in": "query", - "name": "myDid", - "required": false, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "theirDid", - "required": false, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "theirLabel", - "required": false, - "schema": { - "type": "string" - } - } - ] - } - }, - "/multi-tenancy/url/{tenantId}/{invitationId}": { - "get": { - "operationId": "GetInvitation", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [], - "parameters": [ - { - "in": "path", - "name": "invitationId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/multi-tenancy/schema/{tenantId}": { + "/polygon/create-keys": { "post": { - "operationId": "CreateSchema", + "operationId": "CreateKeyPair", "responses": { "200": { - "description": "Ok", + "description": "Secp256k1KeyPair", "content": { "application/json": { - "schema": {} + "schema": { + "properties": { + "address": { + "type": "string" + }, + "publicKeyBase58": { + "type": "string" + }, + "privateKey": { + "type": "string" + } + }, + "required": [ + "address", + "publicKeyBase58", + "privateKey" + ], + "type": "object" + } } } } }, + "description": "Create Secp256k1 key pair for polygon DID", "tags": [ - "MultiTenancy" + "Polygon" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateSchemaInput" - } - } - } - } + "parameters": [] } }, - "/multi-tenancy/polygon-w3c/schema/{tenantId}": { + "/polygon/create-schema": { "post": { - "operationId": "CreatePolygonW3CSchema", + "operationId": "CreateSchema", "responses": { "200": { - "description": "Ok", + "description": "Schema JSON", "content": { "application/json": { - "schema": { - "$ref": "#/components/schemas/SchemaMetadata" - } + "schema": {} } } } }, + "description": "Create polygon based W3C schema", "tags": [ - "MultiTenancy" + "Polygon" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { @@ -5485,9 +3375,7 @@ "schema": { "properties": { "schema": { - "properties": {}, - "additionalProperties": {}, - "type": "object" + "$ref": "#/components/schemas/Record_string.unknown_" }, "schemaName": { "type": "string" @@ -5508,213 +3396,50 @@ } } }, - "/multi-tenancy/polygon-w3c/schema/{did}/{schemaId}/{tenantId}": { - "get": { - "operationId": "GetPolygonW3CSchemaById", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "did", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "schemaId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/multi-tenancy/transactions/write/{tenantId}": { - "post": { - "operationId": "WriteSchemaAndCredDefOnLedger", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WriteTransaction" - } - } - } - } - } - }, - "/multi-tenancy/schema/{schemaId}/{tenantId}": { - "get": { - "operationId": "GetSchemaById", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "schemaId", - "required": true, - "schema": { - "$ref": "#/components/schemas/SchemaId" - } - }, - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/multi-tenancy/credential-definition/{tenantId}": { + "/polygon/estimate-transaction": { "post": { - "operationId": "CreateCredentialDefinition", + "operationId": "EstimateTransaction", "responses": { "200": { - "description": "Ok", + "description": "Transaction Object", "content": { "application/json": { "schema": {} } } - }, - "202": { - "description": "Wait for action to complete" } }, + "description": "Estimate transaction", "tags": [ - "MultiTenancy" + "Polygon" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "endorserDid": { - "type": "string" - }, - "endorse": { - "type": "boolean" - }, - "tag": { - "type": "string" - }, - "schemaId": { - "type": "string" - }, - "issuerId": { - "type": "string" - } - }, - "required": [ - "tag", - "schemaId", - "issuerId" - ], - "type": "object" + ], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DidOperationOptions" } } } } } }, - "/multi-tenancy/credential-definition/{credentialDefinitionId}/{tenantId}": { + "/polygon/{did}/{schemaId}": { "get": { - "operationId": "GetCredentialDefinitionById", + "operationId": "GetSchemaById", "responses": { "200": { - "description": "Ok", + "description": "Schema Object", "content": { "application/json": { "schema": {} @@ -5722,26 +3447,30 @@ } } }, + "description": "Fetch schema details", "tags": [ - "MultiTenancy" + "Polygon" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ { "in": "path", - "name": "credentialDefinitionId", + "name": "did", "required": true, "schema": { - "$ref": "#/components/schemas/CredentialDefinitionId" + "type": "string" } }, { "in": "path", - "name": "tenantId", + "name": "schemaId", "required": true, "schema": { "type": "string" @@ -5750,333 +3479,375 @@ ] } }, - "/multi-tenancy/credentials/create-offer/{tenantId}": { + "/anoncreds/transactions/endorse": { "post": { - "operationId": "CreateOffer", + "operationId": "EndorserTransaction", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": { + "properties": { + "signedTransaction": { + "type": "string" + } + }, + "required": [ + "signedTransaction" + ], + "type": "object" + } } } } }, "tags": [ - "MultiTenancy" + "Anoncreds - EndorserTransaction" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateOfferOptions" + "$ref": "#/components/schemas/EndorserTransaction" } } } } } }, - "/multi-tenancy/credentials/create-offer-oob/{tenantId}": { + "/anoncreds/transactions/set-endorser-role": { "post": { - "operationId": "CreateOfferOob", + "operationId": "DidNymTransaction", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": { + "$ref": "#/components/schemas/DidCreateResult_DidOperationStateActionBase_" + } } } } }, "tags": [ - "MultiTenancy" + "Anoncreds - EndorserTransaction" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateOfferOobOptions" + "$ref": "#/components/schemas/DidNymTransaction" } } } } } }, - "/multi-tenancy/credentials/accept-offer/{tenantId}": { + "/anoncreds/transactions/write": { "post": { - "operationId": "AcceptOffer", + "operationId": "WriteSchemaAndCredDefOnLedger", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/RegisterSchemaReturnStateWait" + }, + { + "$ref": "#/components/schemas/RegisterSchemaReturnStateAction" + }, + { + "$ref": "#/components/schemas/RegisterSchemaReturnStateFinished" + }, + { + "$ref": "#/components/schemas/RegisterSchemaReturnStateFailed" + }, + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateWait" + }, + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateAction" + }, + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateFinished" + }, + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateFailed" + } + ] + } } } } }, "tags": [ - "MultiTenancy" + "Anoncreds - EndorserTransaction" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AcceptCredentialOfferOptions" + "$ref": "#/components/schemas/WriteTransaction" } } } } } }, - "/multi-tenancy/credentials/{credentialRecordId}/{tenantId}": { - "get": { - "operationId": "GetCredentialById", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "credentialRecordId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - }, - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/multi-tenancy/credentials/{tenantId}": { + "/dids/{did}": { "get": { - "operationId": "GetAllCredentials", + "operationId": "GetDidRecordByDid", "responses": { "200": { - "description": "Ok", + "description": "DidResolutionResult", "content": { "application/json": { - "schema": {} - } - } - } - }, - "tags": [ - "MultiTenancy" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "threadId", - "required": false, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "connectionId", - "required": false, - "schema": { - "type": "string" + "schema": { + "properties": { + "didDocumentMetadata": { + "$ref": "#/components/schemas/DIDDocumentMetadata" + }, + "didResolutionMetadata": { + "$ref": "#/components/schemas/DidResolutionMetadata" + }, + "didDocument": { + "$ref": "#/components/schemas/Record_string.any_" + } + }, + "required": [ + "didDocumentMetadata", + "didResolutionMetadata", + "didDocument" + ], + "type": "object" + }, + "examples": { + "Example 1": { + "value": { + "didDocument": { + "@context": [ + "https://w3id.org/did/v1", + "https://w3id.org/security/suites/ed25519-2018/v1", + "https://w3id.org/security/suites/x25519-2019/v1" + ], + "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", + "verificationMethod": [ + { + "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", + "type": "Ed25519VerificationKey2018", + "controller": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", + "publicKeyBase58": "6fioC1zcDPyPEL19pXRS2E4iJ46zH7xP6uSgAaPdwDrx" + } + ], + "authentication": [ + "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + ], + "assertionMethod": [ + "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + ], + "capabilityInvocation": [ + "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + ], + "capabilityDelegation": [ + "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + ], + "keyAgreement": [ + { + "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6LSrdqo4M24WRDJj1h2hXxgtDTyzjjKCiyapYVgrhwZAySn", + "type": "X25519KeyAgreementKey2019", + "controller": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", + "publicKeyBase58": "FxfdY3DCQxVZddKGAtSjZdFW9bCCW7oRwZn1NFJ2Tbg2" + } + ] + }, + "didDocumentMetadata": {}, + "didResolutionMetadata": { + "contentType": "application/did+ld+json" + } + } + } + } + } } - }, + } + }, + "description": "Resolves did and returns did resolution result", + "tags": [ + "Dids" + ], + "security": [ { - "in": "query", - "name": "state", - "required": false, + "jwt": [ + "tenant", + "dedicated" + ] + } + ], + "parameters": [ + { + "description": "Decentralized Identifier", + "in": "path", + "name": "did", + "required": true, "schema": { - "$ref": "#/components/schemas/CredentialState" + "$ref": "#/components/schemas/Did" } } ] } }, - "/multi-tenancy/credentials/form-data/{tenantId}/{credentialRecordId}": { - "get": { - "operationId": "CredentialFormData", + "/dids/write": { + "post": { + "operationId": "WriteDid", "responses": { "200": { - "description": "Ok", + "description": "DidResolutionResult", "content": { "application/json": { - "schema": {} + "schema": {}, + "examples": { + "Example 1": { + "value": { + "did": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7", + "didDocument": { + "@context": [ + "https://w3id.org/did/v1", + "https://w3id.org/security/suites/ed25519-2018/v1" + ], + "id": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7", + "verificationMethod": [ + { + "id": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7#verkey", + "type": "Ed25519VerificationKey2018", + "controller": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7", + "publicKeyBase58": "BapLDK4dEY88vWcQgNbpAPVVP4r3CHs4MvShmmhqkxXM" + } + ], + "authentication": [ + "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7#verkey" + ] + } + } + } + } } } } }, + "description": "Did nym registration", "tags": [ - "MultiTenancy" + "Dids" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "credentialRecordId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DidCreate" + } } } - ] + } } }, - "/multi-tenancy/proofs/{tenantId}": { + "/dids": { "get": { - "operationId": "GetAllProofs", + "operationId": "GetDids", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": { + "items": { + "$ref": "#/components/schemas/DidRecord" + }, + "type": "array" + } } } } }, "tags": [ - "MultiTenancy" + "Dids" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "threadId", - "required": false, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/multi-tenancy/form-data/{tenantId}/{proofRecordId}": { + "/anoncreds/schemas/{schemaId}": { "get": { - "operationId": "ProofFormData", + "operationId": "GetSchemaById", "responses": { "200": { - "description": "Ok", + "description": "get schema by Id", "content": { "application/json": { - "schema": {}, + "schema": { + "$ref": "#/components/schemas/GetSchemaReturn" + }, "examples": { "Example 1": { "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" + "ver": "1.0", + "id": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", + "name": "schema", + "version": "1.0", + "attrNames": [ + "string" + ], + "seqNo": 351936 } } } @@ -6084,52 +3855,62 @@ } } }, + "description": "Get schema by schemaId", "tags": [ - "MultiTenancy" + "Anoncreds - Schemas" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ { "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "tenantId", + "name": "schemaId", "required": true, "schema": { - "type": "string" + "$ref": "#/components/schemas/SchemaId" } } ] } }, - "/multi-tenancy/proofs/request-proof/{tenantId}": { + "/anoncreds/schemas": { "post": { - "operationId": "RequestProof", + "operationId": "CreateSchema", "responses": { "200": { - "description": "Ok", + "description": "get schema", "content": { "application/json": { - "schema": {}, + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/RegisterSchemaReturn" + }, + { + "$ref": "#/components/schemas/RegisterSchemaReturnStateFinished" + } + ] + }, "examples": { "Example 1": { "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" + "state": "finished", + "schema": { + "issuerId": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7", + "name": "Test Schema", + "version": "1.0.0", + "attrNames": [ + "Name", + "Age" + ] + }, + "schemaId": "LRCUFcizUL74AGgLqdJHK7:2:Test Schema:1.0.0" } } } @@ -6137,146 +3918,207 @@ } } }, + "description": "Create schema", "tags": [ - "MultiTenancy" + "Anoncreds - Schemas" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RequestProofOptions" + "$ref": "#/components/schemas/CreateSchemaInput" } } } } } }, - "/multi-tenancy/proofs/create-request-oob/{tenantId}": { - "post": { - "operationId": "CreateRequest", + "/anoncreds/credential-definitions/{credentialDefinitionId}": { + "get": { + "operationId": "GetCredentialDefinitionById", "responses": { "200": { - "description": "Ok", + "description": "CredDef", "content": { "application/json": { - "schema": {} + "schema": { + "$ref": "#/components/schemas/GetCredentialDefinitionReturn" + }, + "examples": { + "Example 1": { + "value": { + "ver": "1.0", + "id": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "schemaId": "351936", + "type": "CL", + "tag": "definition", + "value": { + "primary": { + "n": "string", + "s": "string", + "r": { + "master_secret": "string", + "string": "string" + }, + "rctxt": "string", + "z": "string" + }, + "revocation": { + "g": "1 string", + "g_dash": "string", + "h": "string", + "h0": "string", + "h1": "string", + "h2": "string", + "htilde": "string", + "h_cap": "string", + "u": "string", + "pk": "string", + "y": "string" + } + } + } + } + } } } } }, + "description": "Retrieve credential definition by credential definition id", "tags": [ - "MultiTenancy" + "Anoncreds - Credential Definitions" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ { "in": "path", - "name": "tenantId", + "name": "credentialDefinitionId", "required": true, "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateProofRequestOobOptions" - } + "$ref": "#/components/schemas/CredentialDefinitionId" } } - } + ] } }, - "/multi-tenancy/proofs/{proofRecordId}/accept-request/{tenantId}": { + "/anoncreds/credential-definitions": { "post": { - "operationId": "AcceptRequest", + "operationId": "CreateCredentialDefinition", "responses": { "200": { - "description": "Ok", + "description": "CredDef", "content": { "application/json": { - "schema": {}, + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturn" + }, + { + "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateFinished" + } + ] + }, "examples": { "Example 1": { "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" + "ver": "1.0", + "id": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", + "schemaId": "351936", + "type": "CL", + "tag": "definition", + "value": { + "primary": { + "n": "string", + "s": "string", + "r": { + "master_secret": "string", + "string": "string" + }, + "rctxt": "string", + "z": "string" + }, + "revocation": { + "g": "1 string", + "g_dash": "string", + "h": "string", + "h0": "string", + "h1": "string", + "h2": "string", + "htilde": "string", + "h_cap": "string", + "u": "string", + "pk": "string", + "y": "string" + } + } } } } } } + }, + "202": { + "description": "Wait for action to complete" } }, + "description": "Creates a new credential definition.", "tags": [ - "MultiTenancy" + "Anoncreds - Credential Definitions" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "comment": { + "endorserDid": { "type": "string" }, - "filterByNonRevocationRequirements": { + "endorse": { "type": "boolean" }, - "filterByPresentationPreview": { - "type": "boolean" + "tag": { + "type": "string" + }, + "schemaId": { + "$ref": "#/components/schemas/SchemaId" + }, + "issuerId": { + "type": "string" } }, + "required": [ + "tag", + "schemaId", + "issuerId" + ], "type": "object" } } @@ -6284,175 +4126,182 @@ } } }, - "/multi-tenancy/proofs/{proofRecordId}/accept-presentation/{tenantId}": { - "post": { - "operationId": "AcceptPresentation", + "/agent": { + "get": { + "operationId": "GetAgentInfo", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } + "schema": { + "$ref": "#/components/schemas/AgentInfo" } } } } }, + "description": "Retrieve basic agent information", "tags": [ - "MultiTenancy" + "Agent" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated", + "Basewallet" + ] } ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/multi-tenancy/proofs/{proofRecordId}/{tenantId}": { - "get": { - "operationId": "GetProofById", + "/agent/token": { + "post": { + "operationId": "GetAgentToken", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {}, - "examples": { - "Example 1": { - "value": { - "metadata": {}, - "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", - "createdAt": "2022-01-01T00:00:00.000Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", - "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", - "protocolVersion": "v1" - } - } + "schema": { + "$ref": "#/components/schemas/AgentToken" } } } } }, + "description": "Retrieve agent token", "tags": [ - "MultiTenancy" + "Agent" ], "security": [ { "apiKey": [] } ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, + "parameters": [] + } + }, + "/agent/wallet": { + "delete": { + "operationId": "DeleteWallet", + "responses": { + "204": { + "description": "No content" + } + }, + "description": "Delete wallet", + "tags": [ + "Agent" + ], + "security": [ { - "in": "path", - "name": "proofRecordId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } + "jwt": [ + "tenant", + "dedicated" + ] } - ] + ], + "parameters": [] } }, - "/multi-tenancy/{tenantId}": { - "delete": { - "operationId": "DeleteTenantById", + "/agent/verify": { + "post": { + "operationId": "Verify", "responses": { "200": { - "description": "Ok", + "description": "isValidSignature - true if signature is valid, false otherwise", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Record_string.any_" + "type": "boolean" } } } } }, + "description": "Verify data using a key", "tags": [ - "MultiTenancy" + "Agent" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VerifyDataOptions" + } } } - ] + } } }, - "/multi-tenancy/did/web/{tenantId}": { + "/agent/credential/sign": { "post": { - "operationId": "CreateDidWeb", + "operationId": "SignCredential", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/Record_string.any_" + }, + { + "$ref": "#/components/schemas/W3cCredentialRecord" + } + ] + } } } } }, "tags": [ - "MultiTenancy" + "Agent" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ { - "in": "path", - "name": "tenantId", + "in": "query", + "name": "storeCredential", "required": true, "schema": { - "type": "string" + "type": "boolean" + } + }, + { + "in": "query", + "name": "dataTypeToSign", + "required": true, + "schema": { + "type": "string", + "enum": [ + "rawData", + "jsonLd" + ] } } ], @@ -6461,57 +4310,60 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DidCreate" + "anyOf": [ + { + "$ref": "#/components/schemas/CustomW3cJsonLdSignCredentialOptions" + }, + { + "$ref": "#/components/schemas/SignDataOptions" + } + ] } } } } } }, - "/multi-tenancy/did/key{tenantId}": { + "/agent/credential/verify": { "post": { - "operationId": "CreateDidKey", + "operationId": "VerifyCredential", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": { + "$ref": "#/components/schemas/W3cVerifyCredentialResult" + } } } } }, "tags": [ - "MultiTenancy" + "Agent" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DidCreate" + "$ref": "#/components/schemas/SafeW3cJsonLdVerifyCredentialOptions" } } } } } }, - "/multi-tenancy/question-answer/{tenantId}": { + "/didcomm/question-answer": { "get": { "operationId": "GetQuestionAnswerRecords", "responses": { @@ -6531,23 +4383,17 @@ }, "description": "Retrieve question and answer records by query", "tags": [ - "MultiTenancy" + "DIDComm - Question Answer" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ - { - "description": "Tenant identifier", - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } - }, { "description": "Connection identifier", "in": "query", @@ -6587,7 +4433,7 @@ ] } }, - "/multi-tenancy/question-answer/question/{connectionId}/{tenantId}": { + "/didcomm/question-answer/question/{connectionId}": { "post": { "operationId": "SendQuestion", "responses": { @@ -6595,18 +4441,26 @@ "description": "Ok", "content": { "application/json": { - "schema": {} + "schema": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "examples": { + "Example 1": {} + } } } } }, "description": "Send a question to a connection", "tags": [ - "MultiTenancy" + "DIDComm - Question Answer" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -6618,15 +4472,6 @@ "schema": { "$ref": "#/components/schemas/RecordId" } - }, - { - "description": "Tenant identifier", - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } } ], "requestBody": { @@ -6659,185 +4504,406 @@ } } }, - "/multi-tenancy/question-answer/answer/{id}/{tenantId}": { + "/didcomm/question-answer/answer/{id}": { "post": { "operationId": "SendAnswer", "responses": { "200": { - "description": "Ok", + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Record_string.unknown_" + } + } + } + } + }, + "description": "Send a answer to question", + "tags": [ + "DIDComm - Question Answer" + ], + "security": [ + { + "jwt": [ + "tenant", + "dedicated" + ] + } + ], + "parameters": [ + { + "description": "The id of the question answer record", + "in": "path", + "name": "id", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Record_response.string_" + } + } + } + } + } + }, + "/didcomm/question-answer/{id}": { + "get": { + "operationId": "GetQuestionAnswerRecordById", + "responses": { + "200": { + "description": "ConnectionRecord", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Record_string.unknown_" + } + } + } + } + }, + "description": "Retrieve question answer record by id", + "tags": [ + "DIDComm - Question Answer" + ], + "security": [ + { + "jwt": [ + "tenant", + "dedicated" + ] + } + ], + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" + } + } + ] + } + }, + "/didcomm/proofs": { + "get": { + "operationId": "GetAllProofs", + "responses": { + "200": { + "description": "ProofRecord[]", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "type": "array" + }, + "examples": { + "Example 1": { + "value": [ + { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" + } + ] + } + } + } + } + } + }, + "description": "Retrieve all proof records", + "tags": [ + "DIDComm - Proofs" + ], + "security": [ + { + "jwt": [ + "tenant", + "dedicated" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "threadId", + "required": false, + "schema": { + "type": "string" + } + } + ] + } + }, + "/didcomm/proofs/{proofRecordId}": { + "get": { + "operationId": "GetProofById", + "responses": { + "200": { + "description": "ProofRecord", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "examples": { + "Example 1": { + "value": { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" + } + } + } + } + } + } + }, + "description": "Retrieve proof record by proof record id", + "tags": [ + "DIDComm - Proofs" + ], + "security": [ + { + "jwt": [ + "tenant", + "dedicated" + ] + } + ], + "parameters": [ + { + "in": "path", + "name": "proofRecordId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" + } + } + ] + } + }, + "/didcomm/proofs/propose-proof": { + "post": { + "operationId": "ProposeProof", + "responses": { + "200": { + "description": "ProofRecord", "content": { "application/json": { - "schema": {} + "schema": { + "$ref": "#/components/schemas/ProofExchangeRecord" + }, + "examples": { + "Example 1": { + "value": { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" + } + } + } } } } }, - "description": "Send a answer to question", + "description": "Initiate a new presentation exchange as prover by sending a presentation proposal request\nto the connection with the specified connection id.", "tags": [ - "MultiTenancy" + "DIDComm - Proofs" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "description": "Question Answer Record identifier", - "in": "path", - "name": "id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - }, - { - "description": "Tenant identifier", - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Record_response.string_" + "$ref": "#/components/schemas/RequestProofProposalOptions" } } } } } }, - "/multi-tenancy/question-answer/{id}/{tenantId}": { - "get": { - "operationId": "GetQuestionAnswerRecordById", + "/didcomm/proofs/{proofRecordId}/accept-proposal": { + "post": { + "operationId": "AcceptProposal", "responses": { "200": { - "description": "ConnectionRecord", + "description": "ProofRecord", "content": { "application/json": { - "schema": {} + "schema": { + "$ref": "#/components/schemas/ProofExchangeRecord" + }, + "examples": { + "Example 1": { + "value": { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" + } + } + } } } } }, - "description": "Retrieve question answer record by id", + "description": "Accept a presentation proposal as verifier by sending an accept proposal message\nto the connection associated with the proof record.", "tags": [ - "MultiTenancy" + "DIDComm - Proofs" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], - "parameters": [ - { - "description": "Question Answer Record identifier", - "in": "path", - "name": "id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - }, - { - "description": "Tenant identifier", - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AcceptProofProposal" + } } } - ] + } } }, - "/multi-tenancy/basic-messages/{connectionId}/{tenantId}": { - "get": { - "operationId": "GetBasicMessages", + "/didcomm/proofs/request-proof": { + "post": { + "operationId": "RequestProof", "responses": { "200": { - "description": "BasicMessageRecord[]", + "description": "Ok", "content": { "application/json": { - "schema": {}, + "schema": { + "$ref": "#/components/schemas/ProofExchangeRecord" + }, "examples": { "Example 1": { - "value": [ - { - "_tags": { - "role": "sender", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" - }, - "metadata": {}, - "id": "74bcf865-1fdc-45b4-b517-9def02dfd25f", - "createdAt": "2022-08-18T08:38:40.216Z", - "content": "string", - "sentTime": "2022-08-18T08:38:40.216Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" - } - ] + "value": { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" + } } } } } } }, - "description": "Retrieve basic messages by connection id", + "description": "Creates a presentation request bound to existing connection", "tags": [ - "MultiTenancy" + "DIDComm - Proofs" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], - "parameters": [ - { - "description": "Connection identifier", - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - }, - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestProofOptions" + } } } - ] - }, + } + } + }, + "/didcomm/proofs/create-request-oob": { "post": { - "operationId": "SendMessage", + "operationId": "CreateRequest", "responses": { "200": { "description": "Ok", "content": { "application/json": { - "schema": {}, + "schema": { + "properties": { + "proofMessageId": { + "type": "string" + }, + "proofRecordThId": { + "type": "string" + }, + "invitationDid": { + "type": "string" + }, + "outOfBandRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "invitation": { + "$ref": "#/components/schemas/PlaintextMessage" + }, + "invitationUrl": { + "type": "string" + } + }, + "required": [ + "proofMessageId", + "proofRecordThId", + "invitationDid", + "outOfBandRecord", + "invitation", + "invitationUrl" + ], + "type": "object" + }, "examples": { "Example 1": { "value": { - "_tags": { - "role": "sender", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" - }, "metadata": {}, - "id": "74bcf865-1fdc-45b4-b517-9def02dfd25f", - "createdAt": "2022-08-18T08:38:40.216Z", - "content": "string", - "sentTime": "2022-08-18T08:38:40.216Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" } } } @@ -6845,75 +4911,74 @@ } } }, - "description": "Send a basic message to a connection", + "description": "Creates a presentation request not bound to any proposal or existing connection", "tags": [ - "MultiTenancy" + "DIDComm - Proofs" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "description": "Connection identifier", - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - }, - { - "in": "path", - "name": "tenantId", - "required": true, - "schema": { - "type": "string" - } + "jwt": [ + "tenant", + "dedicated" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Record_content.string_" + "$ref": "#/components/schemas/CreateProofRequestOobOptions" } } } } } }, - "/multi-tenancy/verify/{tenantId}": { + "/didcomm/proofs/{proofRecordId}/accept-request": { "post": { - "operationId": "Verify", + "operationId": "AcceptRequest", "responses": { "200": { - "description": "isValidSignature - true if signature is valid, false otherwise", + "description": "ProofRecord", "content": { "application/json": { "schema": { - "type": "boolean" + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "examples": { + "Example 1": { + "value": { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" + } + } } } } } }, - "description": "Verify data using a key", + "description": "Accept a presentation request as prover by sending an accept request message\nto the connection associated with the proof record.", "tags": [ - "MultiTenancy" + "DIDComm - Proofs" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ { - "description": "Tenant identifier", "in": "path", - "name": "tenantId", + "name": "proofRecordId", "required": true, "schema": { "type": "string" @@ -6921,331 +4986,425 @@ } ], "requestBody": { - "description": "Verify options\ndata - Data has to be in base64 format\npublicKeyBase58 - Public key in base58 format\nsignature - Signature in base64 format", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VerifyDataOptions", - "description": "Verify options\ndata - Data has to be in base64 format\npublicKeyBase58 - Public key in base58 format\nsignature - Signature in base64 format" + "properties": { + "comment": { + "type": "string" + }, + "filterByNonRevocationRequirements": { + "type": "boolean" + }, + "filterByPresentationPreview": { + "type": "boolean" + } + }, + "type": "object" } } } } } }, - "/multi-tenancy/credential/sign/{tenantId}": { + "/didcomm/proofs/{proofRecordId}/accept-presentation": { "post": { - "operationId": "SignCredential", + "operationId": "AcceptPresentation", "responses": { "200": { - "description": "Ok", + "description": "ProofRecord", "content": { "application/json": { "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/Record_string.any_" - }, - { - "$ref": "#/components/schemas/W3cCredentialRecord" + "$ref": "#/components/schemas/ProofExchangeRecord" + }, + "examples": { + "Example 1": { + "value": { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" } - ] + } } } } } }, + "description": "Accept a presentation as prover by sending an accept presentation message\nto the connection associated with the proof record.", "tags": [ - "MultiTenancy" + "DIDComm - Proofs" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ { "in": "path", - "name": "tenantId", + "name": "proofRecordId", "required": true, "schema": { "type": "string" } - }, - { - "in": "query", - "name": "storeCredential", - "required": true, - "schema": { - "type": "boolean" - } - }, - { - "in": "query", - "name": "dataTypeToSign", - "required": true, - "schema": { - "type": "string", - "enum": [ - "rawData", - "jsonLd" - ] - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/CustomW3cJsonLdSignCredentialOptions" - }, - { - "$ref": "#/components/schemas/SignDataOptions" - }, - {} - ] - } - } } - } + ] } }, - "/multi-tenancy/credential/verify/{tenantId}": { - "post": { - "operationId": "VerifyCredential", + "/didcomm/proofs/{proofRecordId}/form-data": { + "get": { + "operationId": "ProofFormData", "responses": { "200": { - "description": "Ok", + "description": "ProofRecord", "content": { "application/json": { - "schema": {} + "schema": { + "$ref": "#/components/schemas/GetProofFormatDataReturn__40_LegacyIndyProofFormat-or-AnonCredsProofFormat-or-DifPresentationExchangeProofFormat_41_-Array_" + }, + "examples": { + "Example 1": { + "value": { + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834", + "threadId": "0019d466-5eea-4269-8c40-031b4896c5b7", + "protocolVersion": "v1" + } + } + } } } } }, + "description": "Return proofRecord", "tags": [ - "MultiTenancy" + "DIDComm - Proofs" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ { "in": "path", - "name": "tenantId", + "name": "proofRecordId", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/SafeW3cJsonLdVerifyCredentialOptions" + ] + } + }, + "/didcomm/oob": { + "get": { + "operationId": "GetAllOutOfBandRecords", + "responses": { + "200": { + "description": "OutOfBandRecord[]", + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - {} - ] + "type": "array" + }, + "examples": { + "Example 1": { + "value": [ + { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false + } + ] + } + } } } } - } + }, + "description": "Retrieve all out of band records", + "tags": [ + "DIDComm - Out Of Band" + ], + "security": [ + { + "jwt": [ + "tenant", + "dedicated" + ] + } + ], + "parameters": [ + { + "description": "invitation identifier", + "in": "query", + "name": "invitationId", + "required": false, + "schema": { + "$ref": "#/components/schemas/RecordId" + } + } + ] } }, - "/transactions/endorse": { - "post": { - "operationId": "EndorserTransaction", + "/didcomm/oob/{outOfBandId}": { + "get": { + "operationId": "GetOutOfBandRecordById", "responses": { "200": { - "description": "Ok", + "description": "OutOfBandRecord", "content": { "application/json": { "schema": { - "properties": { - "signedTransaction": {} - }, - "required": [ - "signedTransaction" - ], - "type": "object" + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "examples": { + "Example 1": { + "value": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false + } + } } } } } }, + "description": "Retrieve an out of band record by id", "tags": [ - "EndorserTransaction" + "DIDComm - Out Of Band" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EndorserTransaction" - } - } - } - } - } - }, - "/transactions/set-endorser-role": { - "post": { - "operationId": "DidNymTransaction", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DidCreateResult_DidOperationStateActionBase_" - } - } - } + "jwt": [ + "tenant", + "dedicated" + ] } - }, - "tags": [ - "EndorserTransaction" ], - "security": [ + "parameters": [ { - "apiKey": [] - } - ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DidNymTransaction" - } + "in": "path", + "name": "outOfBandId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" } } - } - } - }, - "/transactions/write": { - "post": { - "operationId": "WriteSchemaAndCredDefOnLedger", + ] + }, + "delete": { + "operationId": "DeleteOutOfBandRecord", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": {} - } - } + "204": { + "description": "No content" } }, + "description": "Deletes an out of band record from the repository.", "tags": [ - "EndorserTransaction" + "DIDComm - Out Of Band" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WriteTransaction" - } + "parameters": [ + { + "description": "Record identifier", + "in": "path", + "name": "outOfBandId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" } } - } + ] } }, - "/dids/{did}": { - "get": { - "operationId": "GetDidRecordByDid", + "/didcomm/oob/create-invitation": { + "post": { + "operationId": "CreateInvitation", "responses": { "200": { - "description": "DidResolutionResult", + "description": "Out of band record", "content": { "application/json": { "schema": { "properties": { - "didDocumentMetadata": { - "$ref": "#/components/schemas/DIDDocumentMetadata" + "invitationDid": { + "type": "string" }, - "didResolutionMetadata": { - "$ref": "#/components/schemas/DidResolutionMetadata" + "outOfBandRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - "didDocument": { - "$ref": "#/components/schemas/Record_string.any_" + "invitation": { + "$ref": "#/components/schemas/PlaintextMessage" + }, + "invitationUrl": { + "type": "string" } }, "required": [ - "didDocumentMetadata", - "didResolutionMetadata", - "didDocument" + "invitationDid", + "outOfBandRecord", + "invitation", + "invitationUrl" ], "type": "object" }, "examples": { "Example 1": { "value": { - "didDocument": { - "@context": [ - "https://w3id.org/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1", - "https://w3id.org/security/suites/x25519-2019/v1" - ], - "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", - "verificationMethod": [ - { - "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", - "type": "Ed25519VerificationKey2018", - "controller": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", - "publicKeyBase58": "6fioC1zcDPyPEL19pXRS2E4iJ46zH7xP6uSgAaPdwDrx" - } - ], - "authentication": [ - "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" - ], - "assertionMethod": [ - "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" - ], - "capabilityInvocation": [ - "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + "invitationUrl": "string", + "invitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" ], - "capabilityDelegation": [ - "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL" + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" ], - "keyAgreement": [ + "services": [ { - "id": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL#z6LSrdqo4M24WRDJj1h2hXxgtDTyzjjKCiyapYVgrhwZAySn", - "type": "X25519KeyAgreementKey2019", - "controller": "did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL", - "publicKeyBase58": "FxfdY3DCQxVZddKGAtSjZdFW9bCCW7oRwZn1NFJ2Tbg2" + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] } ] }, - "didDocumentMetadata": {}, - "didResolutionMetadata": { - "contentType": "application/did+ld+json" + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false } } } @@ -7254,58 +5413,134 @@ } } }, - "description": "Resolves did and returns did resolution result", + "description": "Creates an outbound out-of-band record containing out-of-band invitation message defined in\nAries RFC 0434: Out-of-Band Protocol 1.1.", "tags": [ - "Dids" + "DIDComm - Out Of Band" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], - "parameters": [ - { - "description": "Decentralized Identifier", - "in": "path", - "name": "did", - "required": true, - "schema": { - "$ref": "#/components/schemas/Did" + "parameters": [], + "requestBody": { + "description": "configuration of how out-of-band invitation should be created", + "required": true, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateInvitationOptions" + }, + { + "$ref": "#/components/schemas/RecipientKeyOption" + } + ], + "description": "configuration of how out-of-band invitation should be created" + } } } - ] + } } }, - "/dids/write": { + "/didcomm/oob/create-legacy-invitation": { "post": { - "operationId": "WriteDid", + "operationId": "CreateLegacyInvitation", "responses": { "200": { - "description": "DidResolutionResult", + "description": "out-of-band record and invitation", "content": { "application/json": { - "schema": {}, + "schema": { + "properties": { + "outOfBandRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "invitation": { + "$ref": "#/components/schemas/PlaintextMessage" + }, + "invitationUrl": { + "type": "string" + }, + "recipientKey": { + "type": "string" + } + }, + "required": [ + "outOfBandRecord", + "invitation", + "invitationUrl" + ], + "type": "object" + }, "examples": { "Example 1": { "value": { - "did": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7", - "didDocument": { - "@context": [ - "https://w3id.org/did/v1", - "https://w3id.org/security/suites/ed25519-2018/v1" + "invitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" ], - "id": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7", - "verificationMethod": [ + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ { - "id": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7#verkey", - "type": "Ed25519VerificationKey2018", - "controller": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7", - "publicKeyBase58": "BapLDK4dEY88vWcQgNbpAPVVP4r3CHs4MvShmmhqkxXM" + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] } - ], - "authentication": [ - "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7#verkey" ] + }, + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false } } } @@ -7314,79 +5549,75 @@ } } }, - "description": "Did nym registration", + "description": "Creates an outbound out-of-band record in the same way how `createInvitation` method does it,\nbut it also converts out-of-band invitation message to an \"legacy\" invitation message defined\nin RFC 0160: Connection Protocol and returns it together with out-of-band record.", "tags": [ - "Dids" + "DIDComm - Out Of Band" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [], "requestBody": { - "required": true, + "description": "configuration of how a invitation should be created", + "required": false, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DidCreate" + "allOf": [ + { + "$ref": "#/components/schemas/Omit_CreateLegacyInvitationConfig.routing_" + }, + { + "$ref": "#/components/schemas/RecipientKeyOption" + } + ], + "description": "configuration of how a invitation should be created" } } } } } }, - "/dids": { - "get": { - "operationId": "GetDids", + "/didcomm/oob/create-legacy-connectionless-invitation": { + "post": { + "operationId": "CreateLegacyConnectionlessInvitation", "responses": { "200": { - "description": "Ok", + "description": "a message and a invitationUrl", "content": { "application/json": { "schema": { - "items": { - "$ref": "#/components/schemas/DidRecord" + "properties": { + "outOfBandRecord": { + "$ref": "#/components/schemas/OutOfBandRecord" + }, + "invitationUrl": { + "type": "string" + }, + "message": { + "$ref": "#/components/schemas/AgentMessage" + } }, - "type": "array" - } - } - } - } - }, - "tags": [ - "Dids" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [] - } - }, - "/schemas/{schemaId}": { - "get": { - "operationId": "GetSchemaById", - "responses": { - "200": { - "description": "get schema by Id", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetSchemaReturn" + "required": [ + "outOfBandRecord", + "invitationUrl", + "message" + ], + "type": "object" }, "examples": { "Example 1": { "value": { - "ver": "1.0", - "id": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", - "name": "schema", - "version": "1.0", - "attrNames": [ - "string" - ], - "seqNo": 351936 + "message": { + "@id": "eac4ff4e-b4fb-4c1d-aef3-b29c89d1cc00", + "@type": "https://didcomm.org/connections/1.0/invitation" + }, + "invitationUrl": "http://example.com/invitation_url" } } } @@ -7394,59 +5625,128 @@ } } }, - "description": "Get schema by schemaId", + "description": "Creates a new connectionless legacy invitation.", "tags": [ - "Schemas" + "DIDComm - Out Of Band" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], - "parameters": [ - { - "in": "path", - "name": "schemaId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "description": "configuration of how a connection invitation should be created", + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "domain": { + "type": "string" + }, + "message": { + "$ref": "#/components/schemas/AgentMessageType" + }, + "recordId": { + "type": "string" + } + }, + "required": [ + "domain", + "message", + "recordId" + ], + "type": "object", + "description": "configuration of how a connection invitation should be created" + } } } - ] + } } }, - "/schemas": { + "/didcomm/oob/receive-invitation": { "post": { - "operationId": "CreateSchema", + "operationId": "ReceiveInvitation", "responses": { "200": { - "description": "get schema", + "description": "out-of-band record and connection record if one has been created.", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/RegisterSchemaReturn" + "properties": { + "connectionRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - { - "$ref": "#/components/schemas/RegisterSchemaReturnStateFinished" + "outOfBandRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" } - ] + }, + "required": [ + "connectionRecord", + "outOfBandRecord" + ], + "type": "object" }, "examples": { "Example 1": { "value": { - "state": "finished", - "schema": { - "issuerId": "did:indy:bcovrin:testnet:LRCUFcizUL74AGgLqdJHK7", - "name": "Test Schema", - "version": "1.0.0", - "attrNames": [ - "Name", - "Age" - ] + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] + }, + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false }, - "schemaId": "LRCUFcizUL74AGgLqdJHK7:2:Test Schema:1.0.0" + "connectionRecord": { + "_tags": { + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" + }, + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" + } } } } @@ -7454,13 +5754,16 @@ } } }, - "description": "Create schema", + "description": "Creates inbound out-of-band record and assigns out-of-band invitation message to it if the\nmessage is valid.", "tags": [ - "Schemas" + "DIDComm - Out Of Band" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [], @@ -7469,56 +5772,91 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateSchemaInput" + "$ref": "#/components/schemas/ReceiveInvitationProps" } } } } } }, - "/credential-definitions/{credentialDefinitionId}": { - "get": { - "operationId": "GetCredentialDefinitionById", + "/didcomm/oob/receive-invitation-url": { + "post": { + "operationId": "ReceiveInvitationFromUrl", "responses": { "200": { - "description": "CredDef", + "description": "out-of-band record and connection record if one has been created.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetCredentialDefinitionReturn" + "properties": { + "connectionRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" + }, + "outOfBandRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" + } + }, + "required": [ + "connectionRecord", + "outOfBandRecord" + ], + "type": "object" }, "examples": { "Example 1": { "value": { - "ver": "1.0", - "id": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", - "schemaId": "351936", - "type": "CL", - "tag": "definition", - "value": { - "primary": { - "n": "string", - "s": "string", - "r": { - "master_secret": "string", - "string": "string" - }, - "rctxt": "string", - "z": "string" + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] }, - "revocation": { - "g": "1 string", - "g_dash": "string", - "h": "string", - "h0": "string", - "h1": "string", - "h2": "string", - "htilde": "string", - "h_cap": "string", - "u": "string", - "pk": "string", - "y": "string" - } + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false + }, + "connectionRecord": { + "_tags": { + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" + }, + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" } } } @@ -7527,133 +5865,152 @@ } } }, - "description": "Retrieve credential definition by credential definition id", + "description": "Creates inbound out-of-band record and assigns out-of-band invitation message to it if the\nmessage is valid.", "tags": [ - "Credential Definitions" + "DIDComm - Out Of Band" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], - "parameters": [ - { - "in": "path", - "name": "credentialDefinitionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/CredentialDefinitionId" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReceiveInvitationByUrlProps" + } } } - ] + } } }, - "/credential-definitions": { + "/didcomm/oob/{outOfBandId}/accept-invitation": { "post": { - "operationId": "CreateCredentialDefinition", + "operationId": "AcceptInvitation", "responses": { "200": { - "description": "CredDef", + "description": "Ok", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/RegisterCredentialDefinitionReturn" + "properties": { + "connectionRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" }, - { - "$ref": "#/components/schemas/RegisterCredentialDefinitionReturnStateFinished" + "outOfBandRecord": { + "$ref": "#/components/schemas/Record_string.unknown_" } - ] + }, + "required": [ + "connectionRecord", + "outOfBandRecord" + ], + "type": "object" }, "examples": { "Example 1": { "value": { - "ver": "1.0", - "id": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", - "schemaId": "351936", - "type": "CL", - "tag": "definition", - "value": { - "primary": { - "n": "string", - "s": "string", - "r": { - "master_secret": "string", - "string": "string" - }, - "rctxt": "string", - "z": "string" + "outOfBandRecord": { + "_tags": { + "invitationId": "1cbd22e4-1906-41e9-8807-83d84437f978", + "state": "await-response", + "role": "sender", + "recipientKeyFingerprints": [ + "z6MktUCPZjfRJXD4GMcYuXiqX2qZ8vBw6UAYpDFiHEUfwuLj" + ] }, - "revocation": { - "g": "1 string", - "g_dash": "string", - "h": "string", - "h0": "string", - "h1": "string", - "h2": "string", - "htilde": "string", - "h_cap": "string", - "u": "string", - "pk": "string", - "y": "string" - } + "outOfBandInvitation": { + "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/out-of-band/1.1/invitation", + "@id": "d6472943-e5d0-4d95-8b48-790ed5a41931", + "label": "Aries Test Agent", + "accept": [ + "didcomm/aip1", + "didcomm/aip2;env=rfc19" + ], + "handshake_protocols": [ + "https://didcomm.org/didexchange/1.0", + "https://didcomm.org/connections/1.0" + ], + "services": [ + { + "id": "#inline-0", + "serviceEndpoint": "https://6b77-89-20-162-146.ngrok.io", + "type": "did-communication", + "recipientKeys": [ + "did:key:z6MkmTBHTWrvLPN8pBmUj7Ye5ww9GiacXCYMNVvpScSpf1DM" + ], + "routingKeys": [] + } + ] + }, + "metadata": {}, + "id": "42a95528-0e30-4f86-a462-0efb02178b53", + "createdAt": "2022-01-01T00:00:00.000Z", + "reusable": false + }, + "connectionRecord": { + "_tags": { + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationKey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d", + "verkey": "9HG4rJFpLiWf56MWxHj9rgdpErFzim2zEpHuxy1dw7oz" + }, + "metadata": {}, + "id": "821f9b26-ad04-4f56-89b6-e2ef9c72b36e", + "createdAt": "2022-01-01T00:00:00.000Z", + "did": "did:peer:1zQmfQh1T3rSqarP2FZ37uKjdQHPKFdVyo2mGiAPHZ8Ep7hv", + "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9kYTIzLTg5LTIwLTE2Mi0xNDYubmdyb2suaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtualg3U1lXRmdHMThCYkNEZHJnemhuQnA0UlhyOGVITHZxQ3FvRXllckxiTiN6Nk1rbmpYN1NZV0ZnRzE4QmJDRGRyZ3pobkJwNFJYcjhlSEx2cUNxb0V5ZXJMYk4iXSwiciI6W119", + "outOfBandId": "edbc89fe-785f-4774-a288-46012486881d" } } } } } } - }, - "202": { - "description": "Wait for action to complete" } }, - "description": "Creates a new credential definition.", + "description": "Accept a connection invitation as invitee (by sending a connection request message) for the connection with the specified connection id.\nThis is not needed when auto accepting of connections is enabled.", "tags": [ - "Credential Definitions" + "DIDComm - Out Of Band" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] + } + ], + "parameters": [ + { + "in": "path", + "name": "outOfBandId", + "required": true, + "schema": { + "$ref": "#/components/schemas/RecordId" + } } ], - "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "properties": { - "endorserDid": { - "type": "string" - }, - "endorse": { - "type": "boolean" - }, - "tag": { - "type": "string" - }, - "schemaId": { - "$ref": "#/components/schemas/SchemaId" - }, - "issuerId": { - "type": "string" - } - }, - "required": [ - "tag", - "schemaId", - "issuerId" - ], - "type": "object" + "$ref": "#/components/schemas/AcceptInvitationConfig" } } } } } }, - "/credentials": { + "/didcomm/credentials": { "get": { "operationId": "GetAllCredentials", "responses": { @@ -7699,11 +6056,14 @@ }, "description": "Retrieve all credential exchange records", "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -7750,7 +6110,7 @@ ] } }, - "/credentials/w3c": { + "/didcomm/credentials/w3c": { "get": { "operationId": "GetAllW3c", "responses": { @@ -7769,17 +6129,20 @@ } }, "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [] } }, - "/credentials/w3c/{id}": { + "/didcomm/credentials/w3c/{id}": { "get": { "operationId": "GetW3cById", "responses": { @@ -7795,11 +6158,14 @@ } }, "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -7814,7 +6180,7 @@ ] } }, - "/credentials/{credentialRecordId}": { + "/didcomm/credentials/{credentialRecordId}": { "get": { "operationId": "GetCredentialById", "responses": { @@ -7855,11 +6221,14 @@ }, "description": "Retrieve credential exchange record by credential record id", "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -7874,7 +6243,7 @@ ] } }, - "/credentials/propose-credential": { + "/didcomm/credentials/propose-credential": { "post": { "operationId": "ProposeCredential", "responses": { @@ -7915,11 +6284,14 @@ }, "description": "Initiate a new credential exchange as holder by sending a propose credential message\nto the connection with a specified connection id.", "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [], @@ -7935,7 +6307,7 @@ } } }, - "/credentials/accept-proposal": { + "/didcomm/credentials/accept-proposal": { "post": { "operationId": "AcceptProposal", "responses": { @@ -7976,11 +6348,14 @@ }, "description": "Accept a credential proposal as issuer by sending an accept proposal message\nto the connection associated with the credential exchange record.", "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [], @@ -7996,7 +6371,7 @@ } } }, - "/credentials/create-offer": { + "/didcomm/credentials/create-offer": { "post": { "operationId": "CreateOffer", "responses": { @@ -8037,11 +6412,14 @@ }, "description": "Initiate a new credential exchange as issuer by creating a credential offer\nwithout specifying a connection id", "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [], @@ -8057,7 +6435,7 @@ } } }, - "/credentials/create-offer-oob": { + "/didcomm/credentials/create-offer-oob": { "post": { "operationId": "CreateOfferOob", "responses": { @@ -8101,11 +6479,14 @@ } }, "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [], @@ -8121,7 +6502,7 @@ } } }, - "/credentials/accept-offer": { + "/didcomm/credentials/accept-offer": { "post": { "operationId": "AcceptOffer", "responses": { @@ -8162,11 +6543,14 @@ }, "description": "Accept a credential offer as holder by sending an accept offer message\nto the connection associated with the credential exchange record.", "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [], @@ -8182,7 +6566,7 @@ } } }, - "/credentials/accept-request": { + "/didcomm/credentials/accept-request": { "post": { "operationId": "AcceptRequest", "responses": { @@ -8223,11 +6607,14 @@ }, "description": "Accept a credential request as issuer by sending an accept request message\nto the connection associated with the credential exchange record.", "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [], @@ -8243,7 +6630,7 @@ } } }, - "/credentials/accept-credential": { + "/didcomm/credentials/accept-credential": { "post": { "operationId": "AcceptCredential", "responses": { @@ -8284,11 +6671,14 @@ }, "description": "Accept a credential as holder by sending an accept credential message\nto the connection associated with the credential exchange record.", "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [], @@ -8304,7 +6694,7 @@ } } }, - "/credentials/{credentialRecordId}/form-data": { + "/didcomm/credentials/{credentialRecordId}/form-data": { "get": { "operationId": "CredentialFormData", "responses": { @@ -8321,11 +6711,14 @@ }, "description": "Return credentialRecord", "tags": [ - "Credentials" + "DIDComm - Credentials" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -8340,7 +6733,7 @@ ] } }, - "/connections": { + "/didcomm/connections": { "get": { "operationId": "GetAllConnections", "responses": { @@ -8381,11 +6774,14 @@ }, "description": "Retrieve all connections records", "tags": [ - "Connections" + "DIDComm - Connections" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -8445,7 +6841,7 @@ ] } }, - "/connections/{connectionId}": { + "/didcomm/connections/{connectionId}": { "get": { "operationId": "GetConnectionById", "responses": { @@ -8481,11 +6877,14 @@ }, "description": "Retrieve connection record by connection id", "tags": [ - "Connections" + "DIDComm - Connections" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -8509,11 +6908,14 @@ }, "description": "Deletes a connection record from the connection repository.", "tags": [ - "Connections" + "DIDComm - Connections" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -8529,7 +6931,7 @@ ] } }, - "/connections/{connectionId}/accept-request": { + "/didcomm/connections/{connectionId}/accept-request": { "post": { "operationId": "AcceptRequest", "responses": { @@ -8565,11 +6967,14 @@ }, "description": "Accept a connection request as inviter by sending a connection response message\nfor the connection with the specified connection id.\n\nThis is not needed when auto accepting of connection is enabled.", "tags": [ - "Connections" + "DIDComm - Connections" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -8585,7 +6990,7 @@ ] } }, - "/connections/{connectionId}/accept-response": { + "/didcomm/connections/{connectionId}/accept-response": { "post": { "operationId": "AcceptResponse", "responses": { @@ -8621,11 +7026,14 @@ }, "description": "Accept a connection response as invitee by sending a trust ping message\nfor the connection with the specified connection id.\n\nThis is not needed when auto accepting of connection is enabled.", "tags": [ - "Connections" + "DIDComm - Connections" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -8641,7 +7049,7 @@ ] } }, - "/url/{invitationId}": { + "/didcomm/url/{invitationId}": { "get": { "operationId": "GetInvitation", "responses": { @@ -8657,7 +7065,7 @@ } }, "tags": [ - "Connections" + "DIDComm - Connections" ], "security": [], "parameters": [ @@ -8672,7 +7080,7 @@ ] } }, - "/basic-messages/{connectionId}": { + "/didcomm/basic-messages/{connectionId}": { "get": { "operationId": "GetBasicMessages", "responses": { @@ -8710,222 +7118,68 @@ }, "description": "Retrieve basic messages by connection id", "tags": [ - "Basic Messages" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "description": "Connection identifier", - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } - ] - }, - "post": { - "operationId": "SendMessage", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BasicMessageRecord" - }, - "examples": { - "Example 1": { - "value": { - "_tags": { - "role": "sender", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" - }, - "metadata": {}, - "id": "74bcf865-1fdc-45b4-b517-9def02dfd25f", - "createdAt": "2022-08-18T08:38:40.216Z", - "content": "string", - "sentTime": "2022-08-18T08:38:40.216Z", - "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" - } - } - } - } - } - } - }, - "description": "Send a basic message to a connection", - "tags": [ - "Basic Messages" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [ - { - "description": "Connection identifier", - "in": "path", - "name": "connectionId", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Record_content.string_" - } - } - } - } - } - }, - "/agent": { - "get": { - "operationId": "GetAgentInfo", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AgentInfo" - } - } - } - } - }, - "description": "Retrieve basic agent information", - "tags": [ - "Agent" - ], - "security": [], - "parameters": [] - } - }, - "/agent/wallet": { - "delete": { - "operationId": "DeleteWallet", - "responses": { - "204": { - "description": "No content" - } - }, - "description": "Delete wallet", - "tags": [ - "Agent" - ], - "security": [ - { - "apiKey": [] - } - ], - "parameters": [] - } - }, - "/question-answer": { - "get": { - "operationId": "GetQuestionAnswerRecords", - "responses": { - "200": { - "description": "QuestionAnswerRecord[]", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "type": "array" - } - } - } - } - }, - "description": "Retrieve question and answer records by query", - "tags": [ - "Question Answer" + "DIDComm - Basic Messages" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } - ], - "parameters": [ - { - "description": "Connection identifier", - "in": "query", - "name": "connectionId", - "required": false, - "schema": { - "type": "string" - } - }, - { - "description": "Role of the question", - "in": "query", - "name": "role", - "required": false, - "schema": { - "$ref": "#/components/schemas/QuestionAnswerRole" - } - }, - { - "description": "State of the question", - "in": "query", - "name": "state", - "required": false, - "schema": { - "$ref": "#/components/schemas/QuestionAnswerState" - } - }, - { - "description": "Thread identifier", - "in": "query", - "name": "threadId", - "required": false, + ], + "parameters": [ + { + "description": "Connection identifier", + "in": "path", + "name": "connectionId", + "required": true, "schema": { - "type": "string" + "$ref": "#/components/schemas/RecordId" } } ] - } - }, - "/question-answer/question/{connectionId}": { + }, "post": { - "operationId": "SendQuestion", + "operationId": "SendMessage", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Record_string.unknown_" + "$ref": "#/components/schemas/BasicMessageRecord" }, "examples": { - "Example 1": {} + "Example 1": { + "value": { + "_tags": { + "role": "sender", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" + }, + "metadata": {}, + "id": "74bcf865-1fdc-45b4-b517-9def02dfd25f", + "createdAt": "2022-08-18T08:38:40.216Z", + "content": "string", + "sentTime": "2022-08-18T08:38:40.216Z", + "connectionId": "2aecf74c-3073-4f98-9acb-92415d096834" + } + } } } } } }, - "description": "Send a question to a connection", + "description": "Send a basic message to a connection", "tags": [ - "Question Answer" + "DIDComm - Basic Messages" ], "security": [ { - "apiKey": [] + "jwt": [ + "tenant", + "dedicated" + ] } ], "parameters": [ @@ -8944,109 +7198,296 @@ "content": { "application/json": { "schema": { - "properties": { - "detail": { - "type": "string" - }, - "validResponses": { - "items": { - "$ref": "#/components/schemas/ValidResponse" - }, - "type": "array" - }, - "question": { - "type": "string" - } - }, - "required": [ - "validResponses", - "question" - ], - "type": "object" + "$ref": "#/components/schemas/Record_content.string_" } } } } } }, - "/question-answer/answer/{id}": { + "/multi-tenancy/create-tenant": { "post": { - "operationId": "SendAnswer", + "operationId": "CreateTenant", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Record_string.unknown_" + "properties": { + "token": {}, + "metadata": { + "$ref": "#/components/schemas/Metadata____" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "string" + }, + "storageVersion": { + "type": "string" + }, + "config": { + "$ref": "#/components/schemas/TenantConfig" + }, + "type": { + "type": "string", + "enum": [ + "TenantRecord" + ], + "nullable": false + } + }, + "required": [ + "token", + "metadata", + "createdAt", + "id", + "storageVersion", + "config", + "type" + ], + "type": "object" } } } } }, - "description": "Send a answer to question", "tags": [ - "Question Answer" + "MultiTenancy" ], "security": [ { - "apiKey": [] - } - ], - "parameters": [ - { - "description": "The id of the question answer record", - "in": "path", - "name": "id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RecordId" - } + "jwt": [ + "Basewallet" + ] } ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Record_response.string_" + "$ref": "#/components/schemas/CreateTenantOptions" } } } } } }, - "/question-answer/{id}": { + "/multi-tenancy/get-token/{tenantId}": { + "post": { + "operationId": "GetTenantToken", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": {} + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "reason": { + "type": "string" + } + }, + "required": [ + "reason" + ], + "type": "object" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + } + } + }, + "tags": [ + "MultiTenancy" + ], + "security": [ + { + "jwt": [ + "Basewallet" + ] + } + ], + "parameters": [ + { + "in": "path", + "name": "tenantId", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/multi-tenancy/{tenantId}": { "get": { - "operationId": "GetQuestionAnswerRecordById", + "operationId": "GetTenantById", "responses": { "200": { - "description": "ConnectionRecord", + "description": "Ok", + "content": { + "application/json": { + "schema": {} + } + } + }, + "404": { + "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Record_string.unknown_" + "properties": { + "reason": { + "type": "string" + } + }, + "required": [ + "reason" + ], + "type": "object" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" } } } } }, - "description": "Retrieve question answer record by id", "tags": [ - "Question Answer" + "MultiTenancy" ], "security": [ { - "apiKey": [] + "jwt": [ + "Basewallet" + ] } ], "parameters": [ { "in": "path", - "name": "id", + "name": "tenantId", "required": true, "schema": { - "$ref": "#/components/schemas/RecordId" + "type": "string" + } + } + ] + }, + "delete": { + "operationId": "DeleteTenantById", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": {} + } + } + }, + "404": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "reason": { + "type": "string" + } + }, + "required": [ + "reason" + ], + "type": "object" + } + } + } + }, + "500": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + } + } + }, + "tags": [ + "MultiTenancy" + ], + "security": [ + { + "jwt": [ + "Basewallet" + ] + } + ], + "parameters": [ + { + "in": "path", + "name": "tenantId", + "required": true, + "schema": { + "type": "string" } } ] diff --git a/src/securityMiddleware.ts b/src/securityMiddleware.ts index 75654c49..c4f9eb0e 100644 --- a/src/securityMiddleware.ts +++ b/src/securityMiddleware.ts @@ -3,46 +3,9 @@ import type { NextFunction } from 'express' import { Middlewares } from '@tsoa/runtime' -import { expressAuthentication } from './authentication' // Import your authentication function - @Middlewares() export class SecurityMiddleware { public async use(request: express.Request, response: express.Response, next: NextFunction) { - try { - const securityName = 'apiKey' - - // Extract route path or controller name from the request - const routePath = request.path - const requestMethod = request.method - - // List of paths for which authentication should be skipped - const pathsToSkipAuthentication = [ - { path: '/url/', method: 'GET' }, - { path: '/multi-tenancy/url/', method: 'GET' }, - { path: '/agent', method: 'GET' }, - ] - - // Check if authentication should be skipped for this route or controller - const skipAuthentication = pathsToSkipAuthentication.some( - ({ path, method }) => routePath.includes(path) && requestMethod === method - ) - - if (skipAuthentication) { - // Skip authentication for this route or controller - next() - } else if (securityName) { - const result = await expressAuthentication(request, securityName) - - if (result === 'success') { - next() - } else { - response.status(401).json({ message: 'Unauthorized' }) - } - } else { - response.status(400).json({ message: 'Bad Request' }) - } - } catch (error) { - next(error) - } + next() } } diff --git a/src/server.ts b/src/server.ts index 29235397..1b4d2768 100644 --- a/src/server.ts +++ b/src/server.ts @@ -1,10 +1,13 @@ // eslint-disable-next-line import/order import { otelSDK } from './tracer' import 'reflect-metadata' +import type { RestAgentModules, RestMultiTenantAgentModules } from './cliAgent' +import type { ApiError } from './errors' import type { ServerConfig } from './utils/ServerConfig' import type { Response as ExResponse, Request as ExRequest, NextFunction, ErrorRequestHandler } from 'express' import { Agent } from '@credo-ts/core' +import { TenantAgent } from '@credo-ts/tenants/build/TenantAgent' import bodyParser from 'body-parser' import cors from 'cors' import dotenv from 'dotenv' @@ -16,6 +19,7 @@ import { ValidateError } from 'tsoa' import { container } from 'tsyringe' import { setDynamicApiKey } from './authentication' +import { ErrorMessages } from './enums' import { BaseError } from './errors/errors' import { basicMessageEvents } from './events/BasicMessageEvents' import { connectionEvents } from './events/ConnectionEvents' @@ -28,11 +32,16 @@ import { SecurityMiddleware } from './securityMiddleware' dotenv.config() -export const setupServer = async (agent: Agent, config: ServerConfig, apiKey?: string) => { +export const setupServer = async ( + agent: Agent, + config: ServerConfig, + apiKey?: string, +) => { await otelSDK.start() - console.log('OpenTelemetry SDK started') - container.registerInstance(Agent, agent) + agent.config.logger.info('OpenTelemetry SDK started') + container.registerInstance(Agent, agent as Agent) fs.writeFileSync('config.json', JSON.stringify(config, null, 2)) + const app = config.app ?? express() if (config.cors) app.use(cors()) @@ -82,11 +91,19 @@ export const setupServer = async (agent: Agent, config: ServerConfig, apiKey?: s next() }) + app.use(async (req: ExRequest, res: ExResponse, next: NextFunction) => { + res.on('finish', async () => { + await endTenantSessionIfActive(req) + }) + next() + }) + const securityMiddleware = new SecurityMiddleware() app.use(securityMiddleware.use) RegisterRoutes(app) - app.use(((err: unknown, req: ExRequest, res: ExResponse, next: NextFunction): ExResponse | void => { + app.use((async (err: unknown, req: ExRequest, res: ExResponse, next: NextFunction): Promise => { + // End tenant session if active if (err instanceof ValidateError) { agent.config.logger.warn(`Caught Validation Error for ${req.path}:`, err.fields) return res.status(422).json({ @@ -100,6 +117,12 @@ export const setupServer = async (agent: Agent, config: ServerConfig, apiKey?: s } else if (err instanceof Error) { // Extend the Error type with custom properties const error = err as Error & { statusCode?: number; status?: number; stack?: string } + if (error.status === 401) { + return res.status(401).json({ + message: `Unauthorized`, + details: err.message !== ErrorMessages.Unauthorized ? err.message : undefined, + } satisfies ApiError) + } const statusCode = error.statusCode || error.status || 500 return res.status(statusCode).json({ message: error.message || 'Internal Server Error', @@ -110,3 +133,15 @@ export const setupServer = async (agent: Agent, config: ServerConfig, apiKey?: s return app } + +async function endTenantSessionIfActive(request: ExRequest) { + if ('agent' in request) { + const agent = request?.agent + if (agent instanceof TenantAgent) { + agent.config.logger.debug(`Ending tenant session for tenant:: ${agent.context.contextCorrelationId}`) + // TODO: we can also not wait for the ending of session + // This can further imporve the response time + await agent.endSession() + } + } +} diff --git a/src/tracer.ts b/src/tracer.ts index b79e99cf..ed0ecbe1 100644 --- a/src/tracer.ts +++ b/src/tracer.ts @@ -13,6 +13,7 @@ import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http' import { resourceFromAttributes } from '@opentelemetry/resources' import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions' +import type { Logger } from '@opentelemetry/api-logs' import { LoggerProvider, BatchLogRecordProcessor } from '@opentelemetry/sdk-logs' import { DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api' @@ -41,7 +42,7 @@ const logExporter = new OTLPLogExporter({ }) const logProvider = new LoggerProvider({ resource }) logProvider.addLogRecordProcessor(new BatchLogRecordProcessor(logExporter)) -export const otelLogger = logProvider.getLogger('credo-controller-logger') +export const otelLogger: Logger = logProvider.getLogger('credo-controller-logger') export const otelLoggerProviderInstance = logProvider export const otelSDK = new NodeSDK({ diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 00000000..582b1a31 --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1 @@ +export * from './request' diff --git a/src/types/request.d.ts b/src/types/request.d.ts new file mode 100644 index 00000000..89841327 --- /dev/null +++ b/src/types/request.d.ts @@ -0,0 +1,38 @@ +import type { RestAgentModules, RestMultiTenantAgentModules } from '../cliAgent' +import type { Agent } from '@credo-ts/core' +import type { TenantAgent } from '@credo-ts/tenants/build/TenantAgent' + +// declare global { +// namespace Express { +// interface Request { +// user: { +// [x: string]: any +// agent: Agent | Agent | TenantAgent +// } +// } +// } +// } +type AgentType = Agent | Agent | TenantAgent + +interface IAgent { + agent: AgentType +} + +declare global { + namespace Express { + interface Request { + agent: AgentType + } + } +} + +// declare global { +// namespace Express { +// interface Request { +// user: { +// [x: string]: any +// agent: any +// } +// } +// } +// } diff --git a/src/utils/TsyringeAdapter.ts b/src/utils/TsyringeAdapter.ts deleted file mode 100644 index 4d79391f..00000000 --- a/src/utils/TsyringeAdapter.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { IocContainer } from '@tsoa/runtime' - -import { container } from 'tsyringe' - -export const iocContainer: IocContainer = { - get: (controller: Parameters[0]): T | Promise => { - return container.resolve(controller as any) - }, -} diff --git a/src/utils/helpers.ts b/src/utils/helpers.ts index f29f41b5..877798c3 100644 --- a/src/utils/helpers.ts +++ b/src/utils/helpers.ts @@ -1,7 +1,26 @@ import { JsonTransformer } from '@credo-ts/core' import { JsonEncoder } from '@credo-ts/core/build/utils/JsonEncoder' +import { randomBytes } from 'crypto' export function objectToJson(result: T) { const serialized = JsonTransformer.serialize(result) return JsonEncoder.fromString(serialized) } + +export async function generateSecretKey(length: number = 32): Promise { + // Asynchronously generate a buffer containing random values + const buffer: Buffer = await new Promise((resolve, reject) => { + randomBytes(length, (error, buf) => { + if (error) { + reject(error) + } else { + resolve(buf) + } + }) + }) + + // Convert the buffer to a hexadecimal string + const secretKey: string = buffer.toString('hex') + + return secretKey +} diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 00000000..cca63830 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,7 @@ +export * from './ServerConfig' +export * from './agent' +export * from './errorConverter' +export * from './helpers' +export * from './logger' +export * from './tsyringeTsoaIocContainer' +export * from './webhook' diff --git a/src/utils/logger.ts b/src/utils/logger.ts index 80e3a60e..b8616595 100644 --- a/src/utils/logger.ts +++ b/src/utils/logger.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ import type { ILogObject } from 'tslog' import { LogLevel, BaseLogger } from '@credo-ts/core' @@ -14,6 +13,7 @@ function logToTransport(logObject: ILogObject) { export class TsLogger extends BaseLogger { private logger: Logger + // Map our log levels to tslog levels private tsLogLevelMap = { [LogLevel.test]: 'silly', [LogLevel.trace]: 'trace', @@ -24,12 +24,12 @@ export class TsLogger extends BaseLogger { [LogLevel.fatal]: 'fatal', } as const - public constructor(logLevel: LogLevel, private readonly serviceName = 'credo-controller-service' as string) { + public constructor(logLevel: LogLevel, name: string = 'credo-controller-service' as string) { super(logLevel) this.logger = new Logger({ - name: serviceName, - minLevel: logLevel === LogLevel.off ? undefined : this.tsLogLevelMap[logLevel], + name, + minLevel: this.logLevel == LogLevel.off ? undefined : this.tsLogLevelMap[this.logLevel], ignoreStackLevels: 5, attachedTransports: [ { @@ -42,6 +42,7 @@ export class TsLogger extends BaseLogger { error: logToTransport, fatal: logToTransport, }, + // always log to file minLevel: 'silly', }, ], @@ -51,7 +52,7 @@ export class TsLogger extends BaseLogger { private log( level: Exclude, message: string | { message: string }, - data?: Record + data?: Record, ): void { const tsLogLevel = this.tsLogLevelMap[level] @@ -90,7 +91,6 @@ export class TsLogger extends BaseLogger { body: logMessage, severityText: LogLevel[level].toUpperCase(), attributes: { - source: this.serviceName, ...(data || {}), ...(errorDetails ? { error: errorDetails } : {}), }, diff --git a/src/utils/tsyringeTsoaIocContainer.ts b/src/utils/tsyringeTsoaIocContainer.ts index 4d79391f..78a9254e 100644 --- a/src/utils/tsyringeTsoaIocContainer.ts +++ b/src/utils/tsyringeTsoaIocContainer.ts @@ -3,7 +3,7 @@ import type { IocContainer } from '@tsoa/runtime' import { container } from 'tsyringe' export const iocContainer: IocContainer = { - get: (controller: Parameters[0]): T | Promise => { - return container.resolve(controller as any) + get: (controller: any): T | Promise => { + return container.resolve(controller) }, } diff --git a/tsconfig.build.json b/tsconfig.build.json index bef24e4b..9543ae73 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -24,6 +24,8 @@ "**/__tests__/*.ts", "**/__mocks__/*.ts", "**/build/**", + "**/*.js", + "**/*.d.ts", "scripts" ] -} \ No newline at end of file +} diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index c1c33460..107b5389 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -4,7 +4,7 @@ "compilerOptions": { "baseUrl": ".", "paths": { - "afj-controller/*": ["src"] + "credo-controller/*": ["src"] } }, "include": ["./.eslintrc.js", "./jest.config.ts", "./jest.config.base.ts", "types", "tests", "samples", "src", "bin"], diff --git a/tsconfig.json b/tsconfig.json index 49cb417d..b0a53cec 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,12 @@ "lib": ["ES2021.Promise"], "experimentalDecorators": true, "emitDecoratorMetadata": true, - "types": ["jest", "node"] + "types": ["jest", "node"], + "typeRoots": [ + "@types", + "./node_modules/@types", + "src/types" // Add your custom types directory + ] }, "exclude": ["node_modules", "build"] } diff --git a/tsoa.json b/tsoa.json index 5a39d549..92e95bd7 100644 --- a/tsoa.json +++ b/tsoa.json @@ -10,11 +10,16 @@ "type": "apiKey", "name": "Authorization", "in": "header" + }, + "jwt": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" } } }, "routes": { - "routesDir": "src/routes", + "routesDir": "./src/routes", "iocModule": "./src/utils/tsyringeTsoaIocContainer", "authenticationModule": "src/authentication" } diff --git a/yarn.lock b/yarn.lock index 326f0d5d..37da031c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -37,6 +37,30 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" +"@animo-id/mdoc@0.2.38": + version "0.2.38" + resolved "https://registry.yarnpkg.com/@animo-id/mdoc/-/mdoc-0.2.38.tgz#e708a0df5eba3491b4c8e858d53ba9504f6ae472" + integrity sha512-98KQ0jvwTYsFOffTGvvHXBDo23b5xmhYjPiMIX6e807I6iS4fZZ9ypfBySdA5IiGUvXELKqEv27AUaayQa/9bg== + dependencies: + compare-versions "^6.1.1" + +"@animo-id/pex@4.1.1-alpha.0": + version "4.1.1-alpha.0" + resolved "https://registry.yarnpkg.com/@animo-id/pex/-/pex-4.1.1-alpha.0.tgz#037665dd143315e9b18380647d6eb8511a65807e" + integrity sha512-6ieHhH9UE9DLFOJegMCabG3qUFlQk4TLhBefxInpyjx2Ly6kuloVMScJYcnQTs/E6nuHGMd7ebUaKy4+0+ZbOA== + dependencies: + "@astronautlabs/jsonpath" "^1.1.2" + "@sd-jwt/decode" "^0.7.2" + "@sd-jwt/present" "^0.7.2" + "@sd-jwt/types" "^0.7.2" + "@sphereon/pex-models" "^2.3.1" + "@sphereon/ssi-types" "0.30.2-next.135" + ajv "^8.12.0" + ajv-formats "^2.1.1" + jwt-decode "^3.1.2" + nanoid "^3.3.7" + uint8arrays "^3.1.1" + "@astronautlabs/jsonpath@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@astronautlabs/jsonpath/-/jsonpath-1.1.2.tgz#af19bb4a7d13dcfbc60c3c998ee1e73d7c2ddc38" @@ -101,13 +125,6 @@ keccak256 "^1.0.6" uuid "^9.0.1" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" @@ -118,24 +135,24 @@ picocolors "^1.1.1" "@babel/compat-data@^7.27.2": - version "7.27.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.5.tgz#7d0658ec1a8420fc866d1df1b03bea0e79934c82" - integrity sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg== + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.3.tgz#cc49c2ac222d69b889bf34c795f537c0c6311111" + integrity sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.14.6", "@babel/core@^7.23.9": - version "7.27.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.4.tgz#cc1fc55d0ce140a1828d1dd2a2eba285adbfb3ce" - integrity sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g== + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.3.tgz#d7d05502bccede3cab36373ed142e6a1df554c2f" + integrity sha512-hyrN8ivxfvJ4i0fIJuV4EOlV0WDMz5Ui4StRTgVaAvWeiRCilXgwVvxJKtFQ3TKtHgJscB2YiXKGNJuVwhQMtA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.27.1" "@babel/generator" "^7.27.3" "@babel/helper-compilation-targets" "^7.27.2" "@babel/helper-module-transforms" "^7.27.3" - "@babel/helpers" "^7.27.4" - "@babel/parser" "^7.27.4" + "@babel/helpers" "^7.27.3" + "@babel/parser" "^7.27.3" "@babel/template" "^7.27.2" - "@babel/traverse" "^7.27.4" + "@babel/traverse" "^7.27.3" "@babel/types" "^7.27.3" convert-source-map "^2.0.0" debug "^4.1.0" @@ -144,11 +161,11 @@ semver "^6.3.1" "@babel/generator@^7.27.3", "@babel/generator@^7.7.2": - version "7.27.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.5.tgz#3eb01866b345ba261b04911020cbe22dd4be8c8c" - integrity sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw== + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.3.tgz#ef1c0f7cfe3b5fc8cbb9f6cc69f93441a68edefc" + integrity sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q== dependencies: - "@babel/parser" "^7.27.5" + "@babel/parser" "^7.27.3" "@babel/types" "^7.27.3" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" @@ -192,7 +209,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/helper-validator-identifier@^7.25.9", "@babel/helper-validator-identifier@^7.27.1": +"@babel/helper-validator-identifier@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== @@ -202,28 +219,18 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== -"@babel/helpers@^7.27.4": - version "7.27.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.6.tgz#6456fed15b2cb669d2d1fabe84b66b34991d812c" - integrity sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug== +"@babel/helpers@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.3.tgz#387d65d279290e22fe7a47a8ffcd2d0c0184edd0" + integrity sha512-h/eKy9agOya1IGuLaZ9tEUgz+uIRXcbtOhRtUyyMf8JFmn1iT13vnl/IGVWSkdOCG/pC57U4S1jnAabAavTMwg== dependencies: "@babel/template" "^7.27.2" - "@babel/types" "^7.27.6" - -"@babel/highlight@^7.10.4": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6" - integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" + "@babel/types" "^7.27.3" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.27.5": - version "7.27.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.5.tgz#ed22f871f110aa285a6fd934a0efed621d118826" - integrity sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.3.tgz#1b7533f0d908ad2ac545c4d05cbe2fb6dc8cfaaf" + integrity sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw== dependencies: "@babel/types" "^7.27.3" @@ -378,23 +385,23 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1" -"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.27.4": - version "7.27.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.4.tgz#b0045ac7023c8472c3d35effd7cc9ebd638da6ea" - integrity sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA== +"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.3.tgz#8b62a6c2d10f9d921ba7339c90074708509cffae" + integrity sha512-lId/IfN/Ye1CIu8xG7oKBHXd2iNb2aW1ilPszzGcJug6M8RCKfVNcYhpI5+bMvFYjK7lXIM0R+a+6r8xhHp2FQ== dependencies: "@babel/code-frame" "^7.27.1" "@babel/generator" "^7.27.3" - "@babel/parser" "^7.27.4" + "@babel/parser" "^7.27.3" "@babel/template" "^7.27.2" "@babel/types" "^7.27.3" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6", "@babel/types@^7.3.3": - version "7.27.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.6.tgz#a434ca7add514d4e646c80f7375c0aa2befc5535" - integrity sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.3.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.3.tgz#c0257bedf33aad6aad1f406d35c44758321eb3ec" + integrity sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw== dependencies: "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.27.1" @@ -404,49 +411,59 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@credo-ts/anoncreds@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@credo-ts/anoncreds/-/anoncreds-0.5.3.tgz#3e6775b461fc34e377bebe2c0ca53c34ee630a26" - integrity sha512-NXkmbBnWEHnzorbXJ/4VlDZtdz9LrDfojPqX0ZZNIfGiV7K8/uuFHjr8LIPbzjfIsJiaL9VSxnoejHFkTOoilQ== +"@credo-ts/anoncreds@0.5.15": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@credo-ts/anoncreds/-/anoncreds-0.5.15.tgz#38916d94670f480e4f3872deb548fccd4b7ba190" + integrity sha512-b9LkFl/icptDV69QO/DJKfyP7oVuRUlj57xxnMYuJyPnFtfXwkGJr7Fdb62Izi8eZXAOIOtnsXt6P4KEV2cnYA== dependencies: "@astronautlabs/jsonpath" "^1.1.2" - "@credo-ts/core" "0.5.3" + "@credo-ts/core" "0.5.15" + "@sphereon/pex-models" "^2.3.1" big-integer "^1.6.51" bn.js "^5.2.1" class-transformer "0.5.1" class-validator "0.14.1" reflect-metadata "^0.1.13" -"@credo-ts/askar@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@credo-ts/askar/-/askar-0.5.3.tgz#53eaddd6247bbf0aabea436e722d646a0a603e2b" - integrity sha512-AegnSygDAiY77cgidxNAb/ROeGtCNFo2L0nvxXs5MqBIGreT/+llslc5+/FIHDsDfUNB70Y/KK2qsLTVU3MtRg== +"@credo-ts/askar@0.5.15", "@credo-ts/askar@0.5.3": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@credo-ts/askar/-/askar-0.5.15.tgz#0720c55600662232330f9c806b1ce738696a9744" + integrity sha512-eSoiQQEEntTZHsw87BIlafGKash5HAP+34VnVl4T9xKs59KNN7BvpdG6/6lqhS0G8DxeN998KuW4D1CEWh7AhA== dependencies: - "@credo-ts/core" "0.5.3" + "@credo-ts/core" "0.5.15" bn.js "^5.2.1" class-transformer "0.5.1" class-validator "0.14.1" rxjs "^7.8.0" tsyringe "^4.8.0" -"@credo-ts/core@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@credo-ts/core/-/core-0.5.3.tgz#cccbce993acbe7651fb397e7a0933ffde3246027" - integrity sha512-bM9iNhhXWiJ4YdH5uqaIfK3XhZ6GjuzF0AwE1vMy586sZz05J1ZLQvIYzRpm/p3Buxj9rimnLrc4jcYNit0VUw== +"@credo-ts/core@0.5.15", "@credo-ts/core@0.5.3": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@credo-ts/core/-/core-0.5.15.tgz#18f9e2f5c42d8cef955c230edad77028a6cd2cd4" + integrity sha512-3BYjncNY1Y6JDtxnbza1WVID8OoPgIZEno3z2F8a11xvsemsZCyy9vpyVgQi/Dz3P6/6JLZ/mnJAUwGKFZPnqA== dependencies: + "@animo-id/mdoc" "0.2.38" + "@animo-id/pex" "4.1.1-alpha.0" + "@astronautlabs/jsonpath" "^1.1.2" "@digitalcredentials/jsonld" "^6.0.0" "@digitalcredentials/jsonld-signatures" "^9.4.0" "@digitalcredentials/vc" "^6.0.1" "@multiformats/base-x" "^4.0.1" - "@sd-jwt/core" "^0.6.1" - "@sd-jwt/decode" "^0.6.1" - "@sd-jwt/types" "^0.6.1" - "@sd-jwt/utils" "^0.6.1" - "@sphereon/pex" "^3.3.2" - "@sphereon/pex-models" "^2.2.4" - "@sphereon/ssi-types" "^0.23.0" + "@noble/curves" "^1.6.0" + "@noble/hashes" "^1.5.0" + "@peculiar/asn1-ecc" "^2.3.8" + "@peculiar/asn1-schema" "^2.3.8" + "@peculiar/asn1-x509" "^2.3.8" + "@peculiar/x509" "^1.11.0" + "@sd-jwt/core" "^0.7.0" + "@sd-jwt/decode" "^0.7.0" + "@sd-jwt/jwt-status-list" "^0.7.0" + "@sd-jwt/sd-jwt-vc" "^0.7.0" + "@sd-jwt/types" "^0.7.0" + "@sd-jwt/utils" "^0.7.0" + "@sphereon/pex-models" "^2.3.1" + "@sphereon/ssi-types" "0.30.2-next.135" "@stablelib/ed25519" "^1.0.2" - "@stablelib/sha256" "^1.0.1" "@types/ws" "^8.5.4" abort-controller "^3.0.0" big-integer "^1.6.51" @@ -455,9 +472,8 @@ class-transformer "0.5.1" class-validator "0.14.1" did-resolver "^4.1.0" - jsonpath "^1.1.1" lru_map "^0.4.1" - luxon "^3.3.0" + luxon "^3.5.0" make-error "^1.3.6" object-inspect "^1.10.3" query-string "^7.0.1" @@ -467,28 +483,30 @@ uuid "^9.0.0" varint "^6.0.0" web-did-resolver "^2.0.21" + webcrypto-core "^1.8.0" -"@credo-ts/indy-vdr@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@credo-ts/indy-vdr/-/indy-vdr-0.5.3.tgz#14c1fbe77b77f7214ee66807e4011a5e3c813819" - integrity sha512-UjydimYomJ2wArr0qkXy21I3PK6859vs/y/BEeKgt4b1cI7hGBZ23+DSTfxHZdf/fLy4k0iu+cfFwx3VoNyAng== +"@credo-ts/indy-vdr@0.5.15": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@credo-ts/indy-vdr/-/indy-vdr-0.5.15.tgz#b65276c59616afa3c582d17fefef6a264b9f6ea8" + integrity sha512-+ZANXK+7WW5fTvRhQCCHevihHwApmk69PniJ8dwdtGAmGZbswpYmZfHFJYExsA8Absk2dOPPzMKMdDQOkwagBw== dependencies: - "@credo-ts/anoncreds" "0.5.3" - "@credo-ts/core" "0.5.3" + "@credo-ts/anoncreds" "0.5.15" + "@credo-ts/core" "0.5.15" -"@credo-ts/node@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@credo-ts/node/-/node-0.5.3.tgz#163e530fa3260835081b653363c2e610c3d5347d" - integrity sha512-CbriW2WqYyB1ak9PNR+5a1okKuxjepL1bgAbEk98rfveGccyV/misL5kCmWtT/bnETl9fB+UcJ47GbvBeNmDiQ== +"@credo-ts/node@^0.5.15": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@credo-ts/node/-/node-0.5.15.tgz#2514edeb1493c57ad40f3030390c4d788c26cbcf" + integrity sha512-oLGwWGX3TKzZakfps9Dgb7UGJWsFaW7WpQ1n4gIYg54L3Ew0K6e/A1McJ/atOS8RhU3YS2/DVhs8uBY5xqbfuQ== dependencies: "@2060.io/ffi-napi" "^4.0.9" "@2060.io/ref-napi" "^3.0.6" - "@credo-ts/core" "0.5.3" + "@credo-ts/core" "0.5.15" "@types/express" "^4.17.15" express "^4.17.1" + rxjs "^7.8.0" ws "^8.13.0" -"@credo-ts/push-notifications@^0.7.0": +"@credo-ts/push-notifications@^0.7.1": version "0.7.1" resolved "https://registry.yarnpkg.com/@credo-ts/push-notifications/-/push-notifications-0.7.1.tgz#368c9c6f8a7b442a9ce2e6e31324d913f8a49350" integrity sha512-HpaHT9MIeEF3Mlm2ETpgLS30gA6uA3UPxV5cRp5G48sCzHTSs1iIYzgTwcQl91M7Ccd6i85OTzKgw9W2S4xv8g== @@ -497,22 +515,22 @@ class-validator "0.14.1" tsyringe "^4.6.0" -"@credo-ts/question-answer@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@credo-ts/question-answer/-/question-answer-0.5.3.tgz#dfe52999279df3016ad1ef8319bb9a14de3ca4ff" - integrity sha512-xdclXz08iDbQX5KnlBPbMNaVqYjdrnjJ8tq3KILnCbWzwSbxIF7Ab7T3E9g6DKYkb5zmVaMVTUQU41ocyYCsJQ== +"@credo-ts/question-answer@0.5.15": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@credo-ts/question-answer/-/question-answer-0.5.15.tgz#9906387e7ef470c8cf01149d69fe2a5a1a19bb6d" + integrity sha512-5K2x9HoQXge4l/gnRhZtt3rDGUNtROsZnXE5gHKGpLtzh/X1dH99ukEBTrFJX3k+EcuJe34dh+HtkoEQayVO7A== dependencies: - "@credo-ts/core" "0.5.3" + "@credo-ts/core" "0.5.15" class-transformer "0.5.1" class-validator "0.14.1" rxjs "^7.8.0" -"@credo-ts/tenants@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@credo-ts/tenants/-/tenants-0.5.3.tgz#bcea2693dff06349c777454e6f6a67c7b0e8ecdb" - integrity sha512-4KwVCc0Nwdld8223w+d9PBa3Cj/NkuTFmit6/Bk/KIAZ1VasvMF4p/bYuGNB/MJaqy306fwRn12InClq36kJIw== +"@credo-ts/tenants@0.5.15": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@credo-ts/tenants/-/tenants-0.5.15.tgz#5e164ab04dc59a1907d98c4c82fd53c6a1b5073d" + integrity sha512-4ikl1Fv1T/3MA6KqqecfMOwSWGOjmz2AoUvuEpWA2Og7MZ+X6n8VnNbPw42Sqlm94zDRdWikfq3R0LuW9M+TwQ== dependencies: - "@credo-ts/core" "0.5.3" + "@credo-ts/core" "0.5.15" async-mutex "^0.4.0" "@cspotcode/source-map-support@^0.8.0": @@ -716,33 +734,72 @@ dependencies: tslib "^2.4.0" -"@eslint-community/eslint-utils@^4.4.0": +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.7.0": version "4.7.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a" integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw== dependencies: eslint-visitor-keys "^3.4.3" -"@eslint-community/regexpp@^4.5.1": +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": version "4.12.1" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== +"@eslint/config-array@^0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.20.0.tgz#7a1232e82376712d3340012a2f561a2764d1988f" + integrity sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ== + dependencies: + "@eslint/object-schema" "^2.1.6" + debug "^4.3.1" + minimatch "^3.1.2" + +"@eslint/config-helpers@^0.2.1": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.2.tgz#3779f76b894de3a8ec4763b79660e6d54d5b1010" + integrity sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg== + +"@eslint/core@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.14.0.tgz#326289380968eaf7e96f364e1e4cf8f3adf2d003" + integrity sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg== + dependencies: + "@types/json-schema" "^7.0.15" + +"@eslint/eslintrc@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964" + integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" + debug "^4.3.2" + espree "^10.0.1" + globals "^14.0.0" + ignore "^5.2.0" import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" + js-yaml "^4.1.0" + minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/js@9.27.0": + version "9.27.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.27.0.tgz#181a23460877c484f6dd03890f4e3fa2fdeb8ff0" + integrity sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA== + +"@eslint/object-schema@^2.1.6": + version "2.1.6" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f" + integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== + +"@eslint/plugin-kit@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz#b71b037b2d4d68396df04a8c35a49481e5593067" + integrity sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w== + dependencies: + "@eslint/core" "^0.14.0" + levn "^0.4.1" + "@ethersproject/abi@5.8.0", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.8.0": version "5.8.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.8.0.tgz#e79bb51940ac35fe6f3262d7fe2cdb25ad5f07d9" @@ -1370,54 +1427,68 @@ "@hapi/bourne" "^3.0.0" "@hapi/hoek" "^11.0.2" -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== +"@humanfs/core@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" + integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== + +"@humanfs/node@^0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" + integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" + "@humanfs/core" "^0.19.1" + "@humanwhocodes/retry" "^0.3.0" -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@hyperledger/anoncreds-nodejs@0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@hyperledger/anoncreds-nodejs/-/anoncreds-nodejs-0.2.2.tgz#5344427c554fc7280efe22f2061e3a26023fdd84" - integrity sha512-qRMSSyERwjAVCPlHjCAY3OJno4DNIJ0uLi+g6ek7HrFVich3X6Kzr0ng/MSiDKmTBXyGiip1zDIBABA8y3yNGg== +"@humanwhocodes/retry@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" + integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== + +"@humanwhocodes/retry@^0.4.2": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" + integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== + +"@hyperledger/anoncreds-nodejs@0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@hyperledger/anoncreds-nodejs/-/anoncreds-nodejs-0.3.1.tgz#72777755c6debd6aacaeb41eaeb6e7a3f1570760" + integrity sha512-/oWmWgcOPqjAtd2+dKASPYL84Qd7sAFyCBfEKM7PAgVbObaZUZc0kqA7hkEz/qyiqUvcP/JwKTc1v4zVZi6BTg== dependencies: "@2060.io/ffi-napi" "^4.0.9" "@2060.io/ref-napi" "^3.0.6" - "@hyperledger/anoncreds-shared" "0.2.2" - "@mapbox/node-pre-gyp" "^1.0.11" + "@hyperledger/anoncreds-shared" "0.3.1" ref-array-di "1.2.2" ref-struct-di "1.1.1" -"@hyperledger/anoncreds-shared@0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@hyperledger/anoncreds-shared/-/anoncreds-shared-0.2.2.tgz#492995d076448d682a828312bbba58314e943c4a" - integrity sha512-dfYpqbAkqtHJkRkuGmWdJruHfLegLUIbu/dSAWnz5dMRKd8ad8rEnQkwRnockQZ/pc7QDr8kxfG6bT2YDGZeMw== +"@hyperledger/anoncreds-shared@0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@hyperledger/anoncreds-shared/-/anoncreds-shared-0.3.1.tgz#b227bc068c965ce6a6ce821b0a49832dd27c1461" + integrity sha512-pJNIMvineGpNsyEqsMR+tkRNy5+PQAnMkNgnefJlscCjVsTMqJnOtoNl18pk0LzjVKdGtwJtpg5N+lRx81hfAQ== + dependencies: + tar "^7.4.3" -"@hyperledger/aries-askar-nodejs@0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@hyperledger/aries-askar-nodejs/-/aries-askar-nodejs-0.2.1.tgz#3473786a4d758ebf39a6b855386a9fa3577033d5" - integrity sha512-RSBa+onshUSIJlVyGBzndZtcw2KPb8mgnYIio9z0RquKgGitufc0ymNiL2kLKWNjk2gET20jAUHijhlE4ssk5A== +"@hyperledger/aries-askar-nodejs@0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@hyperledger/aries-askar-nodejs/-/aries-askar-nodejs-0.2.3.tgz#f939c19047c78b9903b422f992b4f5406ac3aae3" + integrity sha512-2BnGqK08Y96DEB8tDuXy2x+soetChyMGB0+L1yqdHx1Xv5FvRerYrTXdTjJXTW6ANb48k2Np8WlJ4YNePSo6ww== dependencies: "@2060.io/ffi-napi" "^4.0.9" "@2060.io/ref-napi" "^3.0.6" - "@hyperledger/aries-askar-shared" "0.2.1" - "@mapbox/node-pre-gyp" "^1.0.10" - node-cache "^5.1.2" + "@hyperledger/aries-askar-shared" "0.2.3" + "@mapbox/node-pre-gyp" "^1.0.11" ref-array-di "^1.2.2" ref-struct-di "^1.1.1" -"@hyperledger/aries-askar-shared@0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@hyperledger/aries-askar-shared/-/aries-askar-shared-0.2.1.tgz#0c01abe47fd53dd1629ee41af51c9d9d42f7f86f" - integrity sha512-7d8tiqq27dxFl7+0Cf2I40IzzDoRU9aEolyPyvfdLGbco6NAtWB4CV8AzgY11EZ7/ou4RirJxfP9hBjgYBo1Ag== +"@hyperledger/aries-askar-shared@0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@hyperledger/aries-askar-shared/-/aries-askar-shared-0.2.3.tgz#670fea675982e3b0a2f416131b04d0f1e058cd1b" + integrity sha512-g9lao8qa80kPCLqqp02ovNqEfQIrm6cAf4xZVzD5P224VmOhf4zM6AKplQTvQx7USNKoXroe93JrOOSVxPeqrA== dependencies: buffer "^6.0.3" @@ -1450,6 +1521,13 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" +"@isaacs/fs-minipass@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz#2d59ae3ab4b38fb4270bfa23d30f8e2e86c7fe32" + integrity sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== + dependencies: + minipass "^7.0.4" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1698,6 +1776,16 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@js-joda/core@5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@js-joda/core/-/core-5.6.3.tgz#41ae1c07de1ebe0f6dde1abcbc9700a09b9c6056" + integrity sha512-T1rRxzdqkEXcou0ZprN1q9yDRlvzCPLqmlNt5IIsGBzoEVgLCCYrKEwc84+TvsXuAc95VAZwtWD2zVsKPY4bcA== + +"@js-joda/timezone@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@js-joda/timezone/-/timezone-2.3.0.tgz#72878f6dc8afef20c29906e5d8d946f91618a2c3" + integrity sha512-DHXdNs0SydSqC5f0oRJPpTcNfnpRojgBqMCFupQFv6WgeZAjU3DBx+A7JtaGPP3dHrP2Odi2N8Vf+uAm/8ynCQ== + "@js-sdsl/ordered-map@^4.4.2": version "4.4.2" resolved "https://registry.yarnpkg.com/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz#9299f82874bab9e4c7f9c48d865becbfe8d6907c" @@ -1723,10 +1811,10 @@ resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121" integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw== -"@napi-rs/wasm-runtime@^0.2.11": - version "0.2.11" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz#192c1610e1625048089ab4e35bc0649ce478500e" - integrity sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA== +"@napi-rs/wasm-runtime@^0.2.10": + version "0.2.10" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.10.tgz#f3b7109419c6670000b2401e0c778b98afc25f84" + integrity sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ== dependencies: "@emnapi/core" "^1.4.3" "@emnapi/runtime" "^1.4.3" @@ -1739,12 +1827,19 @@ dependencies: "@noble/hashes" "1.3.2" +"@noble/curves@^1.6.0": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.1.tgz#9654a0bc6c13420ae252ddcf975eaf0f58f0a35c" + integrity sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA== + dependencies: + "@noble/hashes" "1.8.0" + "@noble/hashes@1.3.2": version "1.3.2" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== -"@noble/hashes@^1.1.5": +"@noble/hashes@1.8.0", "@noble/hashes@^1.1.5", "@noble/hashes@^1.5.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== @@ -1770,11 +1865,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nolyfill/is-core-module@1.0.39": - version "1.0.39" - resolved "https://registry.yarnpkg.com/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz#3dc35ba0f1e66b403c00b39344f870298ebb1c8e" - integrity sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA== - "@nomicfoundation/hardhat-verify@^2.0.3": version "2.0.14" resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.14.tgz#ba80918fac840f1165825f2a422a694486f82f6f" @@ -2105,7 +2195,84 @@ dependencies: "@noble/hashes" "^1.1.5" -"@peculiar/asn1-schema@^2.3.13", "@peculiar/asn1-schema@^2.3.8": +"@peculiar/asn1-cms@^2.3.13", "@peculiar/asn1-cms@^2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-cms/-/asn1-cms-2.3.15.tgz#8baf1fcf51dae2e9122126e13acf6a2e1698d35c" + integrity sha512-B+DoudF+TCrxoJSTjjcY8Mmu+lbv8e7pXGWrhNp2/EGJp9EEcpzjBCar7puU57sGifyzaRVM03oD5L7t7PghQg== + dependencies: + "@peculiar/asn1-schema" "^2.3.15" + "@peculiar/asn1-x509" "^2.3.15" + "@peculiar/asn1-x509-attr" "^2.3.15" + asn1js "^3.0.5" + tslib "^2.8.1" + +"@peculiar/asn1-csr@^2.3.13": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-csr/-/asn1-csr-2.3.15.tgz#a99375f2ffde6e759c70f73ce5c6600101457a57" + integrity sha512-caxAOrvw2hUZpxzhz8Kp8iBYKsHbGXZPl2KYRMIPvAfFateRebS3136+orUpcVwHRmpXWX2kzpb6COlIrqCumA== + dependencies: + "@peculiar/asn1-schema" "^2.3.15" + "@peculiar/asn1-x509" "^2.3.15" + asn1js "^3.0.5" + tslib "^2.8.1" + +"@peculiar/asn1-ecc@^2.3.14", "@peculiar/asn1-ecc@^2.3.8": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-ecc/-/asn1-ecc-2.3.15.tgz#2301cff76a089bfa2ec93b4cfd9071a382aa677f" + integrity sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA== + dependencies: + "@peculiar/asn1-schema" "^2.3.15" + "@peculiar/asn1-x509" "^2.3.15" + asn1js "^3.0.5" + tslib "^2.8.1" + +"@peculiar/asn1-pfx@^2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-pfx/-/asn1-pfx-2.3.15.tgz#644b189e8ac88aa31ab96288fe79838106624c11" + integrity sha512-E3kzQe3J2xV9DP6SJS4X6/N1e4cYa2xOAK46VtvpaRk8jlheNri8v0rBezKFVPB1rz/jW8npO+u1xOvpATFMWg== + dependencies: + "@peculiar/asn1-cms" "^2.3.15" + "@peculiar/asn1-pkcs8" "^2.3.15" + "@peculiar/asn1-rsa" "^2.3.15" + "@peculiar/asn1-schema" "^2.3.15" + asn1js "^3.0.5" + tslib "^2.8.1" + +"@peculiar/asn1-pkcs8@^2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.3.15.tgz#ecfa5152ecdf24164887c6fa3170163476c40fd5" + integrity sha512-/PuQj2BIAw1/v76DV1LUOA6YOqh/UvptKLJHtec/DQwruXOCFlUo7k6llegn8N5BTeZTWMwz5EXruBw0Q10TMg== + dependencies: + "@peculiar/asn1-schema" "^2.3.15" + "@peculiar/asn1-x509" "^2.3.15" + asn1js "^3.0.5" + tslib "^2.8.1" + +"@peculiar/asn1-pkcs9@^2.3.13": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.3.15.tgz#91c55fd0c0134983a6bd2bae7de026c59a7080de" + integrity sha512-yiZo/1EGvU1KiQUrbcnaPGWc0C7ElMMskWn7+kHsCFm+/9fU0+V1D/3a5oG0Jpy96iaXggQpA9tzdhnYDgjyFg== + dependencies: + "@peculiar/asn1-cms" "^2.3.15" + "@peculiar/asn1-pfx" "^2.3.15" + "@peculiar/asn1-pkcs8" "^2.3.15" + "@peculiar/asn1-schema" "^2.3.15" + "@peculiar/asn1-x509" "^2.3.15" + "@peculiar/asn1-x509-attr" "^2.3.15" + asn1js "^3.0.5" + tslib "^2.8.1" + +"@peculiar/asn1-rsa@^2.3.13", "@peculiar/asn1-rsa@^2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-rsa/-/asn1-rsa-2.3.15.tgz#0e24aadcc96b34f57b488c6c95e3eedbb1cb1c73" + integrity sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg== + dependencies: + "@peculiar/asn1-schema" "^2.3.15" + "@peculiar/asn1-x509" "^2.3.15" + asn1js "^3.0.5" + tslib "^2.8.1" + +"@peculiar/asn1-schema@^2.3.13", "@peculiar/asn1-schema@^2.3.15", "@peculiar/asn1-schema@^2.3.8": version "2.3.15" resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.15.tgz#e926bfdeed51945a06f38be703499e7d8341a5d3" integrity sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w== @@ -2114,6 +2281,26 @@ pvtsutils "^1.3.6" tslib "^2.8.1" +"@peculiar/asn1-x509-attr@^2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.3.15.tgz#036ea4ff68427fa9b51d6adb7051b7f1f91091b4" + integrity sha512-TWJVJhqc+IS4MTEML3l6W1b0sMowVqdsnI4dnojg96LvTuP8dga9f76fjP07MUuss60uSyT2ckoti/2qHXA10A== + dependencies: + "@peculiar/asn1-schema" "^2.3.15" + "@peculiar/asn1-x509" "^2.3.15" + asn1js "^3.0.5" + tslib "^2.8.1" + +"@peculiar/asn1-x509@^2.3.13", "@peculiar/asn1-x509@^2.3.15", "@peculiar/asn1-x509@^2.3.8": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-x509/-/asn1-x509-2.3.15.tgz#55adc616a075512ace64128eb34a9e071841ab14" + integrity sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg== + dependencies: + "@peculiar/asn1-schema" "^2.3.15" + asn1js "^3.0.5" + pvtsutils "^1.3.6" + tslib "^2.8.1" + "@peculiar/json-schema@^1.1.12": version "1.1.12" resolved "https://registry.yarnpkg.com/@peculiar/json-schema/-/json-schema-1.1.12.tgz#fe61e85259e3b5ba5ad566cb62ca75b3d3cd5339" @@ -2132,11 +2319,33 @@ tslib "^2.6.2" webcrypto-core "^1.8.0" +"@peculiar/x509@^1.11.0": + version "1.12.3" + resolved "https://registry.yarnpkg.com/@peculiar/x509/-/x509-1.12.3.tgz#af3db2c637a861d9bd6ca29c4bd659048d8d42b1" + integrity sha512-+Mzq+W7cNEKfkNZzyLl6A6ffqc3r21HGZUezgfKxpZrkORfOqgRXnS80Zu0IV6a9Ue9QBJeKD7kN0iWfc3bhRQ== + dependencies: + "@peculiar/asn1-cms" "^2.3.13" + "@peculiar/asn1-csr" "^2.3.13" + "@peculiar/asn1-ecc" "^2.3.14" + "@peculiar/asn1-pkcs9" "^2.3.13" + "@peculiar/asn1-rsa" "^2.3.13" + "@peculiar/asn1-schema" "^2.3.13" + "@peculiar/asn1-x509" "^2.3.13" + pvtsutils "^1.3.5" + reflect-metadata "^0.2.2" + tslib "^2.7.0" + tsyringe "^4.8.0" + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@pkgr/core@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.4.tgz#d897170a2b0ba51f78a099edccd968f7b103387c" + integrity sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw== + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -2200,44 +2409,62 @@ resolved "https://registry.yarnpkg.com/@scarf/scarf/-/scarf-1.4.0.tgz#3bbb984085dbd6d982494538b523be1ce6562972" integrity sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ== -"@sd-jwt/core@^0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@sd-jwt/core/-/core-0.6.1.tgz#d28be10d0f4b672636fcf7ad71737cb08e5dae96" - integrity sha512-egFTb23o6BGWF93vnjopN02rSiC1HOOnkk9BI8Kao3jz9ipZAHdO6wF7gwfZm5Nlol/Kd1/KSLhbOUPYt++FjA== +"@sd-jwt/core@0.7.2", "@sd-jwt/core@^0.7.0": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@sd-jwt/core/-/core-0.7.2.tgz#cfbcd853d507e2c31bf66ea5b2c1748291924ec3" + integrity sha512-vix1GplUFc1A9H42r/yXkg7cKYthggyqZEwlFdsBbn4xdZNE+AHVF4N7kPa1pPxipwN3UIHd4XnQ5MJV15mhsQ== dependencies: - "@sd-jwt/decode" "0.6.1" - "@sd-jwt/present" "0.6.1" - "@sd-jwt/types" "0.6.1" - "@sd-jwt/utils" "0.6.1" + "@sd-jwt/decode" "0.7.2" + "@sd-jwt/present" "0.7.2" + "@sd-jwt/types" "0.7.2" + "@sd-jwt/utils" "0.7.2" -"@sd-jwt/decode@0.6.1", "@sd-jwt/decode@^0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@sd-jwt/decode/-/decode-0.6.1.tgz#141f7782df53bab7159a75d91ed4711e1c14a7ea" - integrity sha512-QgTIoYd5zyKKLgXB4xEYJTrvumVwtsj5Dog0v0L9UH9ZvHekDaeexS247X7A4iSdzTvmZzUpGskgABOa4D8NmQ== +"@sd-jwt/decode@0.7.2", "@sd-jwt/decode@^0.7.0", "@sd-jwt/decode@^0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@sd-jwt/decode/-/decode-0.7.2.tgz#a0dd90d82c0b8b5e68adb22257a3db4b72de8529" + integrity sha512-dan2LSvK63SKwb62031G4r7TE4TaiI0EK1KbPXqS+LCXNkNDUHqhtYp9uOpj+grXceCsMtMa2f8VnUfsjmwHHg== dependencies: - "@sd-jwt/types" "0.6.1" - "@sd-jwt/utils" "0.6.1" + "@sd-jwt/types" "0.7.2" + "@sd-jwt/utils" "0.7.2" -"@sd-jwt/present@0.6.1", "@sd-jwt/present@^0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@sd-jwt/present/-/present-0.6.1.tgz#82b9188becb0fa240897c397d84a54d55c7d169e" - integrity sha512-QRD3TUDLj4PqQNZ70bBxh8FLLrOE9mY8V9qiZrJSsaDOLFs2p1CtZG+v9ig62fxFYJZMf4bWKwYjz+qqGAtxCg== +"@sd-jwt/jwt-status-list@0.7.2", "@sd-jwt/jwt-status-list@^0.7.0": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@sd-jwt/jwt-status-list/-/jwt-status-list-0.7.2.tgz#13cd1b4abbcb08217a44efb59f0fd2a134fe398a" + integrity sha512-o/Mg/Zg21poFsPXuxtPD9sdXq2b/0L+rb9gxU2k1rp1aT+DWmqD0k8v0Ttr2tlMc8l1xXQNA8FLXbL1AdLRmbQ== dependencies: - "@sd-jwt/decode" "0.6.1" - "@sd-jwt/types" "0.6.1" - "@sd-jwt/utils" "0.6.1" + "@sd-jwt/types" "0.7.2" + base64url "^3.0.1" + pako "^2.1.0" -"@sd-jwt/types@0.6.1", "@sd-jwt/types@^0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@sd-jwt/types/-/types-0.6.1.tgz#fc4235e00cf40d35a21d6bc02e44e12d7162aa9b" - integrity sha512-LKpABZJGT77jNhOLvAHIkNNmGqXzyfwBT+6r+DN9zNzMx1CzuNR0qXk1GMUbast9iCfPkGbnEpUv/jHTBvlIvg== +"@sd-jwt/present@0.7.2", "@sd-jwt/present@^0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@sd-jwt/present/-/present-0.7.2.tgz#23e521cda6adf6ce9f73fcda64502ea7c45f61c3" + integrity sha512-mQV85u2+mLLy2VZ9Wx2zpaB6yTDnbhCfWkP7eeCrzJQHBKAAHko8GrylEFmLKewFIcajS/r4lT/zHOsCkp5pZw== + dependencies: + "@sd-jwt/decode" "0.7.2" + "@sd-jwt/types" "0.7.2" + "@sd-jwt/utils" "0.7.2" -"@sd-jwt/utils@0.6.1", "@sd-jwt/utils@^0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@sd-jwt/utils/-/utils-0.6.1.tgz#33273b20c9eb1954e4eab34118158b646b574ff9" - integrity sha512-1NHZ//+GecGQJb+gSdDicnrHG0DvACUk9jTnXA5yLZhlRjgkjyfJLNsCZesYeCyVp/SiyvIC9B+JwoY4kI0TwQ== +"@sd-jwt/sd-jwt-vc@^0.7.0": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@sd-jwt/sd-jwt-vc/-/sd-jwt-vc-0.7.2.tgz#565a4fcebfe97915a995fd26b0e3cb1fdd56ff6a" + integrity sha512-rryYmnoJHRSNqHcrs0Atta+bfJzU2yT7mYumR2D4lTfxJKWZd0OHHFq57uZSEm/wXPI6uytUJXYbEboCqLUAtw== dependencies: - "@sd-jwt/types" "0.6.1" + "@sd-jwt/core" "0.7.2" + "@sd-jwt/jwt-status-list" "0.7.2" + "@sd-jwt/utils" "0.7.2" + +"@sd-jwt/types@0.7.2", "@sd-jwt/types@^0.7.0", "@sd-jwt/types@^0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@sd-jwt/types/-/types-0.7.2.tgz#29b5bf923eaed041b1375624afd7ce522f954f66" + integrity sha512-1NRKowiW0ZiB9SGLApLPBH4Xk8gDQJ+nA9NdZ+uy6MmJKLEwjuJxO7yTvRIv/jX/0/Ebh339S7Kq4RD2AiFuRg== + +"@sd-jwt/utils@0.7.2", "@sd-jwt/utils@^0.7.0": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@sd-jwt/utils/-/utils-0.7.2.tgz#4309fa2f5ebe214947de4fb07a1e06a70c29710b" + integrity sha512-aMPY7uHRMgyI5PlDvEiIc+eBFGC1EM8OCQRiEjJ8HGN0pajWMYj0qwSw7pS90A49/DsYU1a5Zpvb7nyjgGH0Yg== + dependencies: + "@sd-jwt/types" "0.7.2" js-base64 "^3.7.6" "@sideway/address@^4.1.5": @@ -2286,43 +2513,29 @@ resolved "https://registry.yarnpkg.com/@sovpro/delimited-stream/-/delimited-stream-1.1.0.tgz#4334bba7ee241036e580fdd99c019377630d26b4" integrity sha512-kQpk267uxB19X3X2T1mvNMjyvIEonpNSHrMlK5ZaBU6aZxw7wPbpgKJOjHN3+/GPVpXgAV9soVT2oyHpLkLtyw== -"@sphereon/pex-models@^2.2.4": +"@sphereon/kmp-mdl-mdoc@0.2.0-SNAPSHOT.22": + version "0.2.0-SNAPSHOT.22" + resolved "https://registry.yarnpkg.com/@sphereon/kmp-mdl-mdoc/-/kmp-mdl-mdoc-0.2.0-SNAPSHOT.22.tgz#958ed3831fba25175f80333c7287842dca332fc0" + integrity sha512-uAZZExVy+ug9JLircejWa5eLtAZ7bnBP6xb7DO2+86LRsHNLh2k2jMWJYxp+iWtGHTsh6RYsZl14ScQLvjiQ/A== + dependencies: + "@js-joda/core" "5.6.3" + "@js-joda/timezone" "2.3.0" + format-util "^1.0.5" + +"@sphereon/pex-models@^2.3.1": version "2.3.2" resolved "https://registry.yarnpkg.com/@sphereon/pex-models/-/pex-models-2.3.2.tgz#88bb330745ef8011e4b13fb0a586593095888c6e" integrity sha512-foFxfLkRwcn/MOp/eht46Q7wsvpQGlO7aowowIIb5Tz9u97kYZ2kz6K2h2ODxWuv5CRA7Q0MY8XUBGE2lfOhOQ== -"@sphereon/pex@^3.3.2": - version "3.3.3" - resolved "https://registry.yarnpkg.com/@sphereon/pex/-/pex-3.3.3.tgz#8712ecc3c1a2548bd5e531bb41dd54e8010c1dc5" - integrity sha512-CXwdEcMTUh2z/5AriBn3OuShEG06l2tgiIr7qDJthnkez8DQ3sZo2vr4NEQWKKAL+DeAWAI4FryQGO4KuK7yfg== - dependencies: - "@astronautlabs/jsonpath" "^1.1.2" - "@sd-jwt/decode" "^0.6.1" - "@sd-jwt/present" "^0.6.1" - "@sd-jwt/types" "^0.6.1" - "@sphereon/pex-models" "^2.2.4" - "@sphereon/ssi-types" "0.22.0" - ajv "^8.12.0" - ajv-formats "^2.1.1" - jwt-decode "^3.1.2" - nanoid "^3.3.7" - string.prototype.matchall "^4.0.10" - uint8arrays "^3.1.1" - -"@sphereon/ssi-types@0.22.0": - version "0.22.0" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.22.0.tgz#da2eed7296e8932271af0c72a66eeea20b0b5689" - integrity sha512-YPJAZlKmzNALXK8ohP3ETxj1oVzL4+M9ljj3fD5xrbacvYax1JPCVKc8BWSubGcQckKHPbgbpcS7LYEeghyT9Q== - dependencies: - "@sd-jwt/decode" "^0.6.1" - jwt-decode "^3.1.2" - -"@sphereon/ssi-types@^0.23.0": - version "0.23.4" - resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.23.4.tgz#8d53e12b51e00376fdc0190c8244b1602f12d5ca" - integrity sha512-1lM2yfOEhpcYYBxm/12KYY4n3ZSahVf5rFqGdterQkMJMthwr20HqTjw3+VK5p7IVf+86DyBoZJyS4V9tSsoCA== +"@sphereon/ssi-types@0.30.2-next.135": + version "0.30.2-next.135" + resolved "https://registry.yarnpkg.com/@sphereon/ssi-types/-/ssi-types-0.30.2-next.135.tgz#bcdbfa6351ff88d1458f31a63f574671215da266" + integrity sha512-YLQfFMPUlOJUxHbOS9v01nG3cgLwTk3d95/rTnOmEQx9kXgXjoXdvt7D0uGcMRL3RHeQ9biT/jWY//mDvCirVQ== dependencies: - "@sd-jwt/decode" "^0.6.1" + "@sd-jwt/decode" "^0.7.2" + "@sphereon/kmp-mdl-mdoc" "0.2.0-SNAPSHOT.22" + debug "^4.3.5" + events "^3.3.0" jwt-decode "^3.1.2" "@stablelib/binary@^1.0.1": @@ -2359,15 +2572,6 @@ "@stablelib/binary" "^1.0.1" "@stablelib/wipe" "^1.0.1" -"@stablelib/sha256@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" - integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - "@stablelib/sha512@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" @@ -2427,7 +2631,7 @@ yaml "^2.6.1" yargs "^17.7.1" -"@tsoa/runtime@^6.0.0", "@tsoa/runtime@^6.6.0": +"@tsoa/runtime@^6.6.0": version "6.6.0" resolved "https://registry.yarnpkg.com/@tsoa/runtime/-/runtime-6.6.0.tgz#8cbe2773fed7867979b6dee51d6c8abd5d264e14" integrity sha512-+rF2gdL8CX+jQ82/IBc+MRJFNAvWPoBBl77HHJv3ESVMqbKhlhlo97JHmKyFbLcX6XOJN8zl8gfQpAEJN4SOMQ== @@ -2487,10 +2691,10 @@ dependencies: "@babel/types" "^7.20.7" -"@types/body-parser@*", "@types/body-parser@^1.19.2": - version "1.19.6" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474" - integrity sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g== +"@types/body-parser@*", "@types/body-parser@^1.19.5": + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== dependencies: "@types/connect" "*" "@types/node" "*" @@ -2532,25 +2736,25 @@ "@types/keygrip" "*" "@types/node" "*" -"@types/cors@^2.8.12": - version "2.8.19" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.19.tgz#d93ea2673fd8c9f697367f5eeefc2bbfa94f0342" - integrity sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg== +"@types/cors@^2.8.18": + version "2.8.18" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.18.tgz#101e033b3ca06695f3d73c587cd7f9eb348135d1" + integrity sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA== dependencies: "@types/node" "*" -"@types/eslint@^8.40.2": - version "8.56.12" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.12.tgz#1657c814ffeba4d2f84c0d4ba0f44ca7ea1ca53a" - integrity sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g== +"@types/eslint@^9.6.1": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== +"@types/estree@*", "@types/estree@^1.0.6": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" + integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== "@types/express-serve-static-core@^4.17.33": version "4.19.6" @@ -2562,7 +2766,7 @@ "@types/range-parser" "*" "@types/send" "*" -"@types/express-serve-static-core@^5.0.0": +"@types/express-serve-static-core@^5.0.0", "@types/express-serve-static-core@^5.0.6": version "5.0.6" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz#41fec4ea20e9c7b22f024ab88a95c6bb288f51b8" integrity sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA== @@ -2573,18 +2777,18 @@ "@types/send" "*" "@types/express@*", "@types/express@^5.0.2": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.3.tgz#6c4bc6acddc2e2a587142e1d8be0bce20757e956" - integrity sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw== + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.2.tgz#7be9e337a5745d6b43ef5b0c352dad94a7f0c256" + integrity sha512-BtjL3ZwbCQriyb0DGw+Rt12qAXPiBTPs815lsUvtt1Grk0vLRMZNMUZ741d5rjk+UQOxfDiBZ3dxpX00vSkK3g== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^5.0.0" "@types/serve-static" "*" "@types/express@^4.17.15": - version "4.17.23" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.23.tgz#35af3193c640bfd4d7fe77191cd0ed411a433bef" - integrity sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ== + version "4.17.22" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.22.tgz#14cfcf120f7eb56ebb8ca77b7fa9a14d21de7c96" + integrity sha512-eZUmSnhRX9YRSkplpz0N+k6NljUUn5l3EWZIKZvYzhvMphEuNiyyy1viH/ejgt66JWgALwC/gtSUAeQKtSwW/w== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -2632,15 +2836,15 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^27.0.3": - version "27.5.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c" - integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== +"@types/jest@^29.5.14": + version "29.5.14" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" + integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" + expect "^29.0.0" + pretty-format "^29.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.12": +"@types/json-schema@*", "@types/json-schema@^7.0.15": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -2650,10 +2854,10 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/jsonwebtoken@^9.0.5": - version "9.0.10" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz#a7932a47177dcd4283b6146f3bd5c26d82647f09" - integrity sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA== +"@types/jsonwebtoken@^9.0.9": + version "9.0.9" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.9.tgz#a4c3a446c0ebaaf467a58398382616f416345fb3" + integrity sha512-uoe+GxEuHbvy12OUQct2X9JenKM3qAscquYymuQN4fMWG9DBQtykrQEFcAbVACF7qaLw9BePSodUL0kquqBJpQ== dependencies: "@types/ms" "*" "@types/node" "*" @@ -2706,10 +2910,10 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== -"@types/multer@^1.4.12", "@types/multer@^1.4.7": - version "1.4.13" - resolved "https://registry.yarnpkg.com/@types/multer/-/multer-1.4.13.tgz#be483f909a77f13e0624cac3d001859eb12ae68b" - integrity sha512-bhhdtPw7JqCiEfC9Jimx5LqX9BDIPJEh2q/fQ4bqbBPtyEZYr3cvF22NwG0DmPZNYA0CAf2CnqDB4KIGGpJcaw== +"@types/multer@^1.4.12": + version "1.4.12" + resolved "https://registry.yarnpkg.com/@types/multer/-/multer-1.4.12.tgz#da67bd0c809f3a63fe097c458c0d4af1fea50ab7" + integrity sha512-pQ2hoqvXiJt2FP9WQVLPRO+AmiIm/ZYkavPlIQnx282u4ZrVdztx0pkh3jjpQt0Kz+YI0YhSG264y08UJKoUQg== dependencies: "@types/express" "*" @@ -2721,12 +2925,12 @@ "@types/node" "*" form-data "^4.0.0" -"@types/node@*", "@types/node@>=13.7.0": - version "24.0.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.3.tgz#f935910f3eece3a3a2f8be86b96ba833dc286cab" - integrity sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg== +"@types/node@*": + version "22.15.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.24.tgz#3b31f1650571c0123388db29d95c12e6f6761744" + integrity sha512-w9CZGm9RDjzTh/D+hFwlBJ3ziUaVw7oufKA3vOFSOZlzmW9AkZnfjPb+DLnrV6qtgL/LNmP0/2zBNCFHL3F0ng== dependencies: - undici-types "~7.8.0" + undici-types "~6.21.0" "@types/node@22.7.5": version "22.7.5" @@ -2735,12 +2939,19 @@ dependencies: undici-types "~6.19.2" -"@types/node@^18.18.8": - version "18.19.112" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.112.tgz#cd2aee9c075402e0e1942a44101428881dbeb110" - integrity sha512-i+Vukt9POdS/MBI7YrrkkI5fMfwFtOjphSmt4WXYLfwqsfr6z/HdCx7LqT9M7JktGob8WNgj8nFB4TbGNE4Cog== +"@types/node@>=13.7.0": + version "24.0.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.4.tgz#dbae889912bda33a7f57669fb8587c1a56bc0c1f" + integrity sha512-ulyqAkrhnuNq9pB76DRBTkcS6YsmDALy6Ua63V8OhrOBgbcYt6IOdzpw5P1+dyRIyMerzLkeYWBeOXPpA9GMAA== dependencies: - undici-types "~5.26.4" + undici-types "~7.8.0" + +"@types/node@^20.17.0": + version "20.17.52" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.52.tgz#0cf582371f88529c61f384fcd57a21b797c56c6e" + integrity sha512-2aj++KfxubvW/Lc0YyXE3OEW7Es8TWn1MsRzYgcOGyTNQxi0L8rxQUCZ7ZbyOBWZQD5I63PV9egZWMsapVaklg== + dependencies: + undici-types "~6.19.2" "@types/node@^8.10.50": version "8.10.66" @@ -2771,7 +2982,7 @@ dependencies: "@types/node" "*" -"@types/ref-struct-di@^1.1.9": +"@types/ref-struct-di@^1.1.12": version "1.1.12" resolved "https://registry.yarnpkg.com/@types/ref-struct-di/-/ref-struct-di-1.1.12.tgz#5d9167488692816754c6d2b9064d9b0313609d59" integrity sha512-R2RNkGIROGoJTbXYTXrsXybnsQD4iAy26ih/G6HCeCB9luWFQKkr537XGz0uGJ1kH8y8RMkdbQmD/wBulrOPHw== @@ -2785,11 +2996,6 @@ dependencies: "@types/node" "*" -"@types/semver@^7.5.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.7.0.tgz#64c441bdae033b378b6eef7d0c3d77c329b9378e" - integrity sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA== - "@types/send@*": version "0.17.5" resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.5.tgz#d991d4f2b16f2b1ef497131f00a9114290791e74" @@ -2822,7 +3028,7 @@ resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== -"@types/superagent@*": +"@types/superagent@^8.1.0": version "8.1.9" resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-8.1.9.tgz#28bfe4658e469838ed0bf66d898354bcab21f49f" integrity sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ== @@ -2832,12 +3038,13 @@ "@types/node" "*" form-data "^4.0.0" -"@types/supertest@^2.0.12": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.16.tgz#7a1294edebecb960d957bbe9b26002a2b7f21cd7" - integrity sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg== +"@types/supertest@^6.0.3": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-6.0.3.tgz#d736f0e994b195b63e1c93e80271a2faf927388c" + integrity sha512-8WzXq62EXFhJ7QsH3Ocb/iKQ/Ty9ZVWnVzoTKc9tyyFRRF3a74Tk2+TLFgaFFw364Ere+npzHKEJ6ga2LzIL7w== dependencies: - "@types/superagent" "*" + "@types/methods" "^1.1.4" + "@types/superagent" "^8.1.0" "@types/swagger-ui-express@^4.1.8": version "4.1.8" @@ -2847,17 +3054,17 @@ "@types/express" "*" "@types/serve-static" "*" -"@types/uuid@^8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" - integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== +"@types/uuid@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-10.0.0.tgz#e9c07fe50da0f53dc24970cca94d619ff03f6f6d" + integrity sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ== "@types/validator@^13.11.8": - version "13.15.2" - resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.15.2.tgz#ee533a20ab977df36917a454754c7e0df4aa6f8f" - integrity sha512-y7pa/oEJJ4iGYBxOpfAKn5b9+xuihvzDVnC/OSvlVnGxVg0pOqmjiMafiJ1KVNQEaPZf9HsEp5icEwGg8uIe5Q== + version "13.15.1" + resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.15.1.tgz#52f3617eb5ba30dd0018380c64568440d0b4de0a" + integrity sha512-9gG6ogYcoI2mCMLdcO0NYI0AYrbxIjv0MDmy/5Ywo6CpWWrqYayc+mmgxRsCgtcGJm9BSbXkMsmxGah1iGHAAQ== -"@types/ws@^8.5.4": +"@types/ws@^8.18.1", "@types/ws@^8.5.4": version "8.18.1" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== @@ -2869,7 +3076,7 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== -"@types/yargs@^17.0.8": +"@types/yargs@^17.0.33", "@types/yargs@^17.0.8": version "17.0.33" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== @@ -2883,91 +3090,102 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^6.19.1": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" - integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/type-utils" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" +"@typescript-eslint/eslint-plugin@^8.32.1": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz#51ed03649575ba51bcee7efdbfd85283249b5447" + integrity sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "8.33.0" + "@typescript-eslint/type-utils" "8.33.0" + "@typescript-eslint/utils" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" graphemer "^1.4.0" - ignore "^5.2.4" + ignore "^7.0.0" natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" + ts-api-utils "^2.1.0" -"@typescript-eslint/parser@^6.19.1": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" - integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== +"@typescript-eslint/parser@^8.26.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.33.0.tgz#8e523c2b447ad7cd6ac91b719d8b37449481784d" + integrity sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ== dependencies: - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" + "@typescript-eslint/scope-manager" "8.33.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/typescript-estree" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" - integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== +"@typescript-eslint/project-service@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.33.0.tgz#71f37ef9010de47bf20963914743c5cbef851e08" + integrity sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A== dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" + "@typescript-eslint/tsconfig-utils" "^8.33.0" + "@typescript-eslint/types" "^8.33.0" + debug "^4.3.4" -"@typescript-eslint/type-utils@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" - integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== +"@typescript-eslint/scope-manager@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.33.0.tgz#459cf0c49d410800b1a023b973c62d699b09bf4c" + integrity sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw== dependencies: - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - debug "^4.3.4" - ts-api-utils "^1.0.1" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" -"@typescript-eslint/types@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" - integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== +"@typescript-eslint/tsconfig-utils@8.33.0", "@typescript-eslint/tsconfig-utils@^8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.0.tgz#316adab038bbdc43e448781d5a816c2973eab73e" + integrity sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug== -"@typescript-eslint/typescript-estree@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" - integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== +"@typescript-eslint/type-utils@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.33.0.tgz#f06124b2d6db8a51b24990cb123c9543af93fef5" + integrity sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ== dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" + "@typescript-eslint/typescript-estree" "8.33.0" + "@typescript-eslint/utils" "8.33.0" + debug "^4.3.4" + ts-api-utils "^2.1.0" + +"@typescript-eslint/types@8.33.0", "@typescript-eslint/types@^8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.0.tgz#02a7dbba611a8abf1ad2a9e00f72f7b94b5ab0ee" + integrity sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg== + +"@typescript-eslint/typescript-estree@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.0.tgz#abcc1d3db75a8e9fd2e274ee8c4099fa2399abfd" + integrity sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ== + dependencies: + "@typescript-eslint/project-service" "8.33.0" + "@typescript-eslint/tsconfig-utils" "8.33.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/visitor-keys" "8.33.0" debug "^4.3.4" - globby "^11.1.0" + fast-glob "^3.3.2" is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^2.1.0" -"@typescript-eslint/utils@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" - integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - semver "^7.5.4" +"@typescript-eslint/utils@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.0.tgz#574ad5edee371077b9e28ca6fb804f2440f447c1" + integrity sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw== + dependencies: + "@eslint-community/eslint-utils" "^4.7.0" + "@typescript-eslint/scope-manager" "8.33.0" + "@typescript-eslint/types" "8.33.0" + "@typescript-eslint/typescript-estree" "8.33.0" -"@typescript-eslint/visitor-keys@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" - integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== +"@typescript-eslint/visitor-keys@8.33.0": + version "8.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.0.tgz#fbae16fd3594531f8cad95d421125d634e9974fe" + integrity sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ== dependencies: - "@typescript-eslint/types" "6.21.0" - eslint-visitor-keys "^3.4.1" + "@typescript-eslint/types" "8.33.0" + eslint-visitor-keys "^4.2.0" "@unimodules/core@*": version "7.1.2" @@ -2984,102 +3202,92 @@ expo-modules-autolinking "^0.0.3" invariant "^2.2.4" -"@unrs/resolver-binding-android-arm-eabi@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.9.1.tgz#6fc1ae6fc252963aa545245f17c67d47164446e6" - integrity sha512-dd7yIp1hfJFX9ZlVLQRrh/Re9WMUHHmF9hrKD1yIvxcyNr2BhQ3xc1upAVhy8NijadnCswAxWQu8MkkSMC1qXQ== - -"@unrs/resolver-binding-android-arm64@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.9.1.tgz#9498dbfdab375726a2f8474e0d50f5940d0d2b4a" - integrity sha512-EzUPcMFtDVlo5yrbzMqUsGq3HnLXw+3ZOhSd7CUaDmbTtnrzM+RO2ntw2dm2wjbbc5djWj3yX0wzbbg8pLhx8g== - -"@unrs/resolver-binding-darwin-arm64@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.9.1.tgz#e13e7b2a134f88b5e445e4548ee53a7ef33c56fb" - integrity sha512-nB+dna3q4kOleKFcSZJ/wDXIsAd1kpMO9XrVAt8tG3RDWJ6vi+Ic6bpz4cmg5tWNeCfHEY4KuqJCB+pKejPEmQ== - -"@unrs/resolver-binding-darwin-x64@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.9.1.tgz#6d2d0c63400852075de84612e51a4d6ee5c01391" - integrity sha512-aKWHCrOGaCGwZcekf3TnczQoBxk5w//W3RZ4EQyhux6rKDwBPgDU9Y2yGigCV1Z+8DWqZgVGQi+hdpnlSy3a1w== - -"@unrs/resolver-binding-freebsd-x64@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.9.1.tgz#71dc0b1e28e6e7c19388b873fd8ca87724e468b0" - integrity sha512-4dIEMXrXt0UqDVgrsUd1I+NoIzVQWXy/CNhgpfS75rOOMK/4Abn0Mx2M2gWH4Mk9+ds/ASAiCmqoUFynmMY5hA== - -"@unrs/resolver-binding-linux-arm-gnueabihf@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.9.1.tgz#8c0c888f388af853649807712ec181cfb93335e4" - integrity sha512-vtvS13IXPs1eE8DuS/soiosqMBeyh50YLRZ+p7EaIKAPPeevRnA9G/wu/KbVt01ZD5qiGjxS+CGIdVC7I6gTOw== - -"@unrs/resolver-binding-linux-arm-musleabihf@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.9.1.tgz#a974b25348fe3d329d8ee22f09c6d4a258734ede" - integrity sha512-BfdnN6aZ7NcX8djW8SR6GOJc+K+sFhWRF4vJueVE0vbUu5N1bLnBpxJg1TGlhSyo+ImC4SR0jcNiKN0jdoxt+A== - -"@unrs/resolver-binding-linux-arm64-gnu@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.9.1.tgz#0a52f119510e03f53e39d782a3183a45d4b0332c" - integrity sha512-Jhge7lFtH0QqfRz2PyJjJXWENqywPteITd+nOS0L6AhbZli+UmEyGBd2Sstt1c+l9C+j/YvKTl9wJo9PPmsFNg== - -"@unrs/resolver-binding-linux-arm64-musl@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.9.1.tgz#db614df450992b8bc0dc19d17db924e95ebae282" - integrity sha512-ofdK/ow+ZSbSU0pRoB7uBaiRHeaAOYQFU5Spp87LdcPL/P1RhbCTMSIYVb61XWzsVEmYKjHFtoIE0wxP6AFvrA== - -"@unrs/resolver-binding-linux-ppc64-gnu@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.9.1.tgz#ea7a53069c612288b6adc96f1b907609bcb5941d" - integrity sha512-eC8SXVn8de67HacqU7PoGdHA+9tGbqfEdD05AEFRAB81ejeQtNi5Fx7lPcxpLH79DW0BnMAHau3hi4RVkHfSCw== - -"@unrs/resolver-binding-linux-riscv64-gnu@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.9.1.tgz#e6366f3a3e4ef435ee1b87ebe7ca87155fa1d1c9" - integrity sha512-fIkwvAAQ41kfoGWfzeJ33iLGShl0JEDZHrMnwTHMErUcPkaaZRJYjQjsFhMl315NEQ4mmTlC+2nfK/J2IszDOw== - -"@unrs/resolver-binding-linux-riscv64-musl@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.9.1.tgz#198c1e552e2963035e237b2f5dbdb5c81fcde4bd" - integrity sha512-RAAszxImSOFLk44aLwnSqpcOdce8sBcxASledSzuFAd8Q5ZhhVck472SisspnzHdc7THCvGXiUeZ2hOC7NUoBQ== - -"@unrs/resolver-binding-linux-s390x-gnu@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.9.1.tgz#982501b8865f0d36c82b933b9de4e71894a749f5" - integrity sha512-QoP9vkY+THuQdZi05bA6s6XwFd6HIz3qlx82v9bTOgxeqin/3C12Ye7f7EOD00RQ36OtOPWnhEMMm84sv7d1XQ== - -"@unrs/resolver-binding-linux-x64-gnu@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.9.1.tgz#f93271025f814506fad97fa749a8ed8a0536e813" - integrity sha512-/p77cGN/h9zbsfCseAP5gY7tK+7+DdM8fkPfr9d1ye1fsF6bmtGbtZN6e/8j4jCZ9NEIBBkT0GhdgixSelTK9g== - -"@unrs/resolver-binding-linux-x64-musl@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.9.1.tgz#9c13e0f602527a4bc77852268fa493b1845c5ee2" - integrity sha512-wInTqT3Bu9u50mDStEig1v8uxEL2Ht+K8pir/YhyyrM5ordJtxoqzsL1vR/CQzOJuDunUTrDkMM0apjW/d7/PA== - -"@unrs/resolver-binding-wasm32-wasi@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.9.1.tgz#d3c088be1b510cd02822bf0258861a2dd8dac096" - integrity sha512-eNwqO5kUa+1k7yFIircwwiniKWA0UFHo2Cfm8LYgkh9km7uMad+0x7X7oXbQonJXlqfitBTSjhA0un+DsHIrhw== - dependencies: - "@napi-rs/wasm-runtime" "^0.2.11" - -"@unrs/resolver-binding-win32-arm64-msvc@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.9.1.tgz#c2aa3e371d5c53b962b1a7a45503a68e96f710a0" - integrity sha512-Eaz1xMUnoa2mFqh20mPqSdbYl6crnk8HnIXDu6nsla9zpgZJZO8w3c1gvNN/4Eb0RXRq3K9OG6mu8vw14gIqiA== - -"@unrs/resolver-binding-win32-ia32-msvc@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.9.1.tgz#12f1be2ce8041fdadfef23bf69e104ab8176127a" - integrity sha512-H/+d+5BGlnEQif0gnwWmYbYv7HJj563PUKJfn8PlmzF8UmF+8KxdvXdwCsoOqh4HHnENnoLrav9NYBrv76x1wQ== - -"@unrs/resolver-binding-win32-x64-msvc@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.9.1.tgz#5f9e5b6ce30c355161527e17734320ddfb1a4561" - integrity sha512-rS86wI4R6cknYM3is3grCb/laE8XBEbpWAMSIPjYfmYp75KL5dT87jXF2orDa4tQYg5aajP5G8Fgh34dRyR+Rw== +"@unrs/resolver-binding-darwin-arm64@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.7.8.tgz#d78b964ed64e16103b5324b50dcb4277afeda4d7" + integrity sha512-rsRK8T7yxraNRDmpFLZCWqpea6OlXPNRRCjWMx24O1V86KFol7u2gj9zJCv6zB1oJjtnzWceuqdnCgOipFcJPA== + +"@unrs/resolver-binding-darwin-x64@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.7.8.tgz#d095a6c941b2d7892179c3afbd7c34e2416094fd" + integrity sha512-16yEMWa+Olqkk8Kl6Bu0ltT5OgEedkSAsxcz1B3yEctrDYp3EMBu/5PPAGhWVGnwhtf3hNe3y15gfYBAjOv5tQ== + +"@unrs/resolver-binding-freebsd-x64@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.7.8.tgz#0330e52103c400d0c9d5d27050bfda39c40ccae2" + integrity sha512-ST4uqF6FmdZQgv+Q73FU1uHzppeT4mhX3IIEmHlLObrv5Ep50olWRz0iQ4PWovadjHMTAmpuJAGaAuCZYb7UAQ== + +"@unrs/resolver-binding-linux-arm-gnueabihf@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.7.8.tgz#dcc2c61b6c49886c225ad25ab3e73bbaf768d906" + integrity sha512-Z/A/4Rm2VWku2g25C3tVb986fY6unx5jaaCFpx1pbAj0OKkyuJ5wcQLHvNbIcJ9qhiYwXfrkB7JNlxrAbg7YFg== + +"@unrs/resolver-binding-linux-arm-musleabihf@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.7.8.tgz#269f5d78cbfdfe3591005c7602bf9c559a6f6928" + integrity sha512-HN0p7o38qKmDo3bZUiQa6gP7Qhf0sKgJZtRfSHi6JL2Gi4NaUVF0EO1sQ1RHbeQ4VvfjUGMh3QE5dxEh06BgQQ== + +"@unrs/resolver-binding-linux-arm64-gnu@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.7.8.tgz#43c30aeecdb1d36aa2201196568209c46d99c234" + integrity sha512-HsoVqDBt9G69AN0KWeDNJW+7i8KFlwxrbbnJffgTGpiZd6Jw+Q95sqkXp8y458KhKduKLmXfVZGnKBTNxAgPjw== + +"@unrs/resolver-binding-linux-arm64-musl@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.7.8.tgz#fc6cc665195a1d8f276cc3a83f4956ee3c1c0a6b" + integrity sha512-VfR2yTDUbUvn+e/Aw22CC9fQg9zdShHAfwWctNBdOk7w9CHWl2OtYlcMvjzMAns8QxoHQoqn3/CEnZ4Ts7hfrA== + +"@unrs/resolver-binding-linux-ppc64-gnu@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.7.8.tgz#bde19d505eab59ce82e812e8824c9d3e17ca71cf" + integrity sha512-xUauVQNz4uDgs4UJJiUAwMe3N0PA0wvtImh7V0IFu++UKZJhssXbKHBRR4ecUJpUHCX2bc4Wc8sGsB6P+7BANg== + +"@unrs/resolver-binding-linux-riscv64-gnu@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.7.8.tgz#9b96ddfc4e88720d795629ad3c0cd7a2bcc4afa8" + integrity sha512-GqyIB+CuSHGhhc8ph5RrurtNetYJjb6SctSHafqmdGcRuGi6uyTMR8l18hMEhZFsXdFMc/MpInPLvmNV22xn+A== + +"@unrs/resolver-binding-linux-riscv64-musl@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.7.8.tgz#287690c24f2b8106531968d22ad277af13bca57a" + integrity sha512-eEU3rWIFRv60xaAbtsgwHNWRZGD7cqkpCvNtio/f1TjEE3HfKLzPNB24fA9X/8ZXQrGldE65b7UKK3PmO4eWIQ== + +"@unrs/resolver-binding-linux-s390x-gnu@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.7.8.tgz#b58bf7ed52f13753c9240fc59c2bd21cc348ee4e" + integrity sha512-GVLI0f4I4TlLqEUoOFvTWedLsJEdvsD0+sxhdvQ5s+N+m2DSynTs8h9jxR0qQbKlpHWpc2Ortz3z48NHRT4l+w== + +"@unrs/resolver-binding-linux-x64-gnu@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.7.8.tgz#578efe1a96f0e737ec9c65dd9211aff9c4bd4b99" + integrity sha512-GX1pZ/4ncUreB0Rlp1l7bhKAZ8ZmvDIgXdeb5V2iK0eRRF332+6gRfR/r5LK88xfbtOpsmRHU6mQ4N8ZnwvGEA== + +"@unrs/resolver-binding-linux-x64-musl@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.7.8.tgz#1f1aab9d047a2ab8830a2bb65dee950d7583518b" + integrity sha512-n1N84MnsvDupzVuYqJGj+2pb9s8BI1A5RgXHvtVFHedGZVBCFjDpQVRlmsFMt6xZiKwDPaqsM16O/1isCUGt7w== + +"@unrs/resolver-binding-wasm32-wasi@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.7.8.tgz#85b627a4bf93d439df5e5c77c135f98699c1aa35" + integrity sha512-x94WnaU5g+pCPDVedfnXzoG6lCOF2xFGebNwhtbJCWfceE94Zj8aysSxdxotlrZrxnz5D3ijtyFUYtpz04n39Q== + dependencies: + "@napi-rs/wasm-runtime" "^0.2.10" + +"@unrs/resolver-binding-win32-arm64-msvc@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.7.8.tgz#3acb45dbf6561c7c05d2fb554e36d2c46502bf1c" + integrity sha512-vst2u8EJZ5L6jhJ6iLis3w9rg16aYqRxQuBAMYQRVrPMI43693hLP7DuqyOBRKgsQXy9/jgh204k0ViHkqQgdg== + +"@unrs/resolver-binding-win32-ia32-msvc@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.7.8.tgz#63628b5e12d14dd6275ec499398272ed5c272479" + integrity sha512-yb3LZOLMFqnA+/ShlE1E5bpYPGDsA590VHHJPB+efnyowT776GJXBoh82em6O9WmYBUq57YblGTcMYAFBm72HA== + +"@unrs/resolver-binding-win32-x64-msvc@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.7.8.tgz#ee29c817f285ccb328b206356eeee588a7388d2b" + integrity sha512-hHKFx+opG5BA3/owMXon8ypwSotBGTdblG6oda/iOu9+OEYnk0cxD2uIcGyGT8jCK578kV+xMrNxqbn8Zjlpgw== "@yarnpkg/lockfile@^1.1.0": version "1.1.0" @@ -3119,7 +3327,7 @@ acorn-import-attributes@^1.9.5: resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== -acorn-jsx@^5.3.1: +acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -3131,15 +3339,10 @@ acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1: - version "8.15.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" - integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== aes-js@3.0.0: version "3.0.0" @@ -3165,7 +3368,7 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv@^6.10.0, ajv@^6.12.4: +ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3185,11 +3388,6 @@ ajv@^8.0.0, ajv@^8.0.1, ajv@^8.12.0: json-schema-traverse "^1.0.0" require-from-string "^2.0.2" -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -3207,13 +3405,6 @@ ansi-regex@^6.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" @@ -3264,6 +3455,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" @@ -3278,18 +3474,16 @@ array-flatten@1.1.1: integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-includes@^3.1.8: - version "3.1.9" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.9.tgz#1f0ccaa08e90cdbc3eb433210f903ad0f17c3f3a" - integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ== + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== dependencies: - call-bind "^1.0.8" - call-bound "^1.0.4" + call-bind "^1.0.7" define-properties "^1.2.1" - es-abstract "^1.24.0" - es-object-atoms "^1.1.1" - get-intrinsic "^1.3.0" - is-string "^1.1.1" - math-intrinsics "^1.1.0" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" array-index@^1.0.0: version "1.0.0" @@ -3299,11 +3493,6 @@ array-index@^1.0.0: debug "^2.2.0" es6-symbol "^3.0.2" -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - array.prototype.findlastindex@^1.2.5: version "1.2.6" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz#cfa1065c81dcb64e34557c9b81d012f6a421c564" @@ -3408,10 +3597,10 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -axios@^1.4.0, axios@^1.6.3: - version "1.10.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.10.0.tgz#af320aee8632eaf2a400b6a1979fa75856f38d54" - integrity sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw== +axios@^1.6.3, axios@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.9.0.tgz#25534e3b72b54540077d33046f77e3b8d7081901" + integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -3558,7 +3747,7 @@ bn.js@^5.2.0, bn.js@^5.2.1: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.2.tgz#82c09f9ebbb17107cd72cb7fd39bd1f9d0aaa566" integrity sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw== -body-parser@1.20.3, body-parser@^1.20.0: +body-parser@1.20.3: version "1.20.3" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== @@ -3743,9 +3932,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001718: - version "1.0.30001724" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001724.tgz#312e163553dd70d2c0fb603d74810c85d8ed94a0" - integrity sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA== + version "1.0.30001720" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz#c138cb6026d362be9d8d7b0e4bcd0183a850edfd" + integrity sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g== canonicalize@^1.0.1: version "1.0.8" @@ -3759,15 +3948,6 @@ cbor@^8.1.0: dependencies: nofilter "^3.1.0" -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -3801,6 +3981,11 @@ chownr@^2.0.0: resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== +chownr@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-3.0.0.tgz#9855e64ecd240a9cc4267ce8a4aa5d24a1da15e4" + integrity sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== + ci-info@^3.2.0, ci-info@^3.7.0: version "3.9.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" @@ -3841,11 +4026,6 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -clone@2.x: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3856,13 +4036,6 @@ collect-v8-coverage@^1.0.0: resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -3870,11 +4043,6 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -3907,6 +4075,11 @@ compare-versions@^3.4.0: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== +compare-versions@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-6.1.1.tgz#7af3cc1099ba37d244b3145a9af5201b629148a9" + integrity sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg== + component-emitter@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" @@ -4009,7 +4182,7 @@ cross-fetch@^4.1.0: dependencies: node-fetch "^2.7.0" -cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6: +cross-spawn@^7.0.3, cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -4075,7 +4248,7 @@ debug@2.6.9, debug@^2.2.0: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0, debug@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== @@ -4182,11 +4355,6 @@ did-resolver@^4.1.0: resolved "https://registry.yarnpkg.com/did-resolver/-/did-resolver-4.1.0.tgz#740852083c4fd5bf9729d528eca5d105aff45eb6" integrity sha512-S6fWHvCXkZg2IhS4RcVHxwuyVejPR7c+a4Go0xbQ9ps5kILa8viiYQgrM4gfTyeTjJ0ekgJH9gk/BawTpmkbZA== -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== - diff-sequences@^29.6.3: version "29.6.3" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" @@ -4197,13 +4365,6 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -4211,14 +4372,7 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dotenv@^16.4.5: +dotenv@^16.5.0: version "16.5.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.5.0.tgz#092b49f25f808f020050051d1ff258e404c78692" integrity sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg== @@ -4274,9 +4428,9 @@ ejs@^3.1.10: jake "^10.8.5" electron-to-chromium@^1.5.160: - version "1.5.171" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.171.tgz#e552b4fd73d4dd941ee4c70ae288a8a39f818726" - integrity sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ== + version "1.5.161" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz#650376bd3be7ff8e581031409fc2d4f150620b12" + integrity sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA== elliptic@6.6.1: version "6.6.1" @@ -4323,14 +4477,6 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enquirer@^2.3.5: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -4338,7 +4484,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0: +es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9: version "1.24.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.0.tgz#c44732d2beb0acc1ed60df840869e3106e7af328" integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg== @@ -4478,11 +4624,6 @@ escape-html@^1.0.3, escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - escape-string-regexp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" @@ -4505,10 +4646,18 @@ escodegen@^1.8.1: optionalDependencies: source-map "~0.6.1" -eslint-config-prettier@^8.8.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" - integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== +eslint-config-prettier@^10.1.5: + version "10.1.5" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz#00c18d7225043b6fbce6a665697377998d453782" + integrity sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw== + +eslint-import-context@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/eslint-import-context/-/eslint-import-context-0.1.6.tgz#42dcd6718beea6279a78015e347d82a1c75f0dfa" + integrity sha512-/e2ZNPDLCrU8niIy0pddcvXuoO2YrKjf3NAIX+60mHJBT4yv7mqCqvVdyCW2E720e25e4S/1OSVef4U6efGLFg== + dependencies: + get-tsconfig "^4.10.1" + stable-hash "^0.0.5" eslint-import-resolver-node@^0.3.9: version "0.3.9" @@ -4519,27 +4668,27 @@ eslint-import-resolver-node@^0.3.9: is-core-module "^2.13.0" resolve "^1.22.4" -eslint-import-resolver-typescript@^3.5.5: - version "3.10.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz#23dac32efa86a88e2b8232eb244ac499ad636db2" - integrity sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ== +eslint-import-resolver-typescript@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.4.1.tgz#3da41dcaa17ddfc520ad2d2d1e30b8ac4e137e8e" + integrity sha512-KHQnjMAn/Hbs1AcMs2YfJTeNoWsaOoMRvJUKr77Y2dv7jNOaT8/IJYlvfN/ZIwTxUsv2B6amwv7u9bt2Vl9lZg== dependencies: - "@nolyfill/is-core-module" "1.0.39" - debug "^4.4.0" - get-tsconfig "^4.10.0" + debug "^4.4.1" + eslint-import-context "^0.1.5" + get-tsconfig "^4.10.1" is-bun-module "^2.0.0" stable-hash "^0.0.5" - tinyglobby "^0.2.13" - unrs-resolver "^1.6.2" + tinyglobby "^0.2.14" + unrs-resolver "^1.7.2" eslint-module-utils@^2.12.0: - version "2.12.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz#f76d3220bfb83c057651359295ab5854eaad75ff" - integrity sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw== + version "2.12.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" + integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== dependencies: debug "^3.2.7" -eslint-plugin-import@^2.27.5: +eslint-plugin-import@^2.31.0: version "2.31.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== @@ -4564,88 +4713,72 @@ eslint-plugin-import@^2.27.5: string.prototype.trimend "^1.0.8" tsconfig-paths "^3.15.0" -eslint-plugin-prettier@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== +eslint-plugin-prettier@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.4.0.tgz#54d4748904e58eaf1ffe26c4bffa4986ca7f952b" + integrity sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA== dependencies: prettier-linter-helpers "^1.0.0" + synckit "^0.11.0" -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== +eslint-scope@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.3.0.tgz#10cd3a918ffdd722f5f3f7b5b83db9b23c87340d" + integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ== dependencies: esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + estraverse "^5.2.0" -eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@^7.32.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" +eslint-visitor-keys@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" + integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== + +eslint@^9.27.0: + version "9.27.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.27.0.tgz#a587d3cd5b844b68df7898944323a702afe38979" + integrity sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.20.0" + "@eslint/config-helpers" "^0.2.1" + "@eslint/core" "^0.14.0" + "@eslint/eslintrc" "^3.3.1" + "@eslint/js" "9.27.0" + "@eslint/plugin-kit" "^0.3.1" + "@humanfs/node" "^0.16.6" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.4.2" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" + ajv "^6.12.4" chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" + cross-spawn "^7.0.6" + debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" + eslint-scope "^8.3.0" + eslint-visitor-keys "^4.2.0" + espree "^10.3.0" + esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" lodash.merge "^4.6.2" - minimatch "^3.0.4" + minimatch "^3.1.2" natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" + optionator "^0.9.3" esniff@^2.0.1: version "2.0.1" @@ -4657,26 +4790,21 @@ esniff@^2.0.1: event-emitter "^0.3.5" type "^2.7.2" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^10.0.1, espree@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" + integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" - integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== + acorn "^8.14.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.2.0" esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: +esquery@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== @@ -4690,7 +4818,7 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== @@ -4747,9 +4875,9 @@ ethers@^5.1.0: "@ethersproject/wordlists" "5.8.0" ethers@^6.9.0: - version "6.14.4" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.14.4.tgz#0f6fbc562a8425c7c888da307fa71ef796be0c04" - integrity sha512-Jm/dzRs2Z9iBrT6e9TvGxyb5YVKAPLlpna7hjxH7KH/++DSh2T/JVmQUv7iHI5E55hDbp/gEVvstWYXVxXFzsA== + version "6.14.3" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.14.3.tgz#7c4443c165ee59b2964e691600fd4586004b2000" + integrity sha512-qq7ft/oCJohoTcsNPFaXSQUm457MA5iWqkf1Mb11ujONdg7jBI6sAOrHaTi3j0CBqIGFSCeR/RMc+qwRRub7IA== dependencies: "@adraffy/ens-normalize" "1.10.1" "@noble/curves" "1.2.0" @@ -4772,6 +4900,11 @@ event-target-shim@^5.0.0: resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== +events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -4792,7 +4925,7 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== -expect@^29.7.0: +expect@^29.0.0, expect@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== @@ -4924,7 +5057,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.5, fast-glob@^3.2.9: +fast-glob@^3.2.5, fast-glob@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== @@ -4982,9 +5115,9 @@ fd-slicer@~1.1.0: pend "~1.2.0" fdir@^6.4.4: - version "6.4.6" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.6.tgz#2b268c0232697063111bbf3f64810a2a741ba281" - integrity sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w== + version "6.4.5" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.5.tgz#328e280f3a23699362f95f2e82acf978a0c0cb49" + integrity sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw== fetch-blob@^2.1.1: version "2.1.2" @@ -4999,12 +5132,12 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: node-domexception "^1.0.0" web-streams-polyfill "^3.0.3" -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== dependencies: - flat-cache "^3.0.4" + flat-cache "^4.0.0" filelist@^1.0.4: version "1.0.4" @@ -5058,7 +5191,7 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-up@~5.0.0: +find-up@^5.0.0, find-up@~5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== @@ -5082,14 +5215,13 @@ fix-esm@^1.0.1: "@babel/plugin-proposal-export-namespace-from" "^7.14.5" "@babel/plugin-transform-modules-commonjs" "^7.14.5" -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== dependencies: flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" + keyv "^4.5.4" flatted@^3.2.9: version "3.3.3" @@ -5117,16 +5249,20 @@ foreground-child@^3.1.0: signal-exit "^4.0.1" form-data@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.3.tgz#608b1b3f3e28be0fccf5901fc85fb3641e5cf0ae" - integrity sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA== + version "4.0.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" + integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" es-set-tostringtag "^2.1.0" - hasown "^2.0.2" mime-types "^2.1.12" +format-util@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/format-util/-/format-util-1.0.5.tgz#1ffb450c8a03e7bccffe40643180918cc297d271" + integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg== + formdata-polyfill@^4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" @@ -5134,15 +5270,14 @@ formdata-polyfill@^4.0.10: dependencies: fetch-blob "^3.1.2" -formidable@^2.1.2: - version "2.1.5" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.5.tgz#dd7ef4d55c164afaf9b6eb472bfd04b02d66d2dd" - integrity sha512-Oz5Hwvwak/DCaXVVUtPn4oLMLLy1CdclLKO1LFgU7XzDpVMUU5UjlSLpGMocyQNNk8F6IJW9M/YdooSn2MRI+Q== +formidable@^3.5.4: + version "3.5.4" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-3.5.4.tgz#ac9a593b951e829b3298f21aa9a2243932f32ed9" + integrity sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug== dependencies: "@paralleldrive/cuid2" "^2.2.2" dezalgo "^1.0.4" once "^1.4.0" - qs "^6.11.0" forwarded-parse@2.1.2: version "2.1.2" @@ -5217,11 +5352,6 @@ function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: hasown "^2.0.2" is-callable "^1.2.7" -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -5307,7 +5437,7 @@ get-symbol-from-current-process-h@^1.0.1, get-symbol-from-current-process-h@^1.0 resolved "https://registry.yarnpkg.com/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.2.tgz#510af52eaef873f7028854c3377f47f7bb200265" integrity sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw== -get-tsconfig@^4.10.0: +get-tsconfig@^4.10.1: version "4.10.1" resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.10.1.tgz#d34c1c01f47d65a606c37aa7a177bc3e56ab4b2e" integrity sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ== @@ -5328,6 +5458,13 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob@^10.3.10: version "10.4.5" resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" @@ -5357,12 +5494,10 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0, globals@^13.9.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== globalthis@^1.0.4: version "1.0.4" @@ -5372,18 +5507,6 @@ globalthis@^1.0.4: define-properties "^1.2.1" gopd "^1.0.1" -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" @@ -5433,11 +5556,6 @@ has-bigints@^1.0.2: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -5564,17 +5682,17 @@ ieee754@^1.1.13, ieee754@^1.2.1: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.2.0: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -import-fresh@^3.0.0, import-fresh@^3.2.1: +ignore@^7.0.0: + version "7.0.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.4.tgz#a12c70d0f2607c5bf508fb65a40c75f037d7a078" + integrity sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A== + +import-fresh@^3.2.1: version "3.3.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== @@ -5821,7 +5939,7 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.1.1: +is-string@^1.0.7, is-string@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== @@ -6062,16 +6180,6 @@ jest-config@^29.7.0: slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - jest-diff@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" @@ -6112,11 +6220,6 @@ jest-environment-node@^29.7.0: jest-mock "^29.7.0" jest-util "^29.7.0" -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== - jest-get-type@^29.6.3: version "29.6.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" @@ -6149,16 +6252,6 @@ jest-leak-detector@^29.7.0: jest-get-type "^29.6.3" pretty-format "^29.7.0" -jest-matcher-utils@^27.0.0: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - jest-matcher-utils@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" @@ -6307,7 +6400,7 @@ jest-snapshot@^29.7.0: pretty-format "^29.7.0" semver "^7.5.3" -jest-util@^29.7.0: +jest-util@^29.0.0, jest-util@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== @@ -6365,7 +6458,7 @@ jest@^29.7.0: import-local "^3.0.2" jest-cli "^29.7.0" -joi@^17.12.3: +joi@^17.13.3: version "17.13.3" resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec" integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA== @@ -6399,6 +6492,13 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsesc@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" @@ -6493,15 +6593,6 @@ jsonld@^8.0.0: lru-cache "^6.0.0" rdf-canonize "^3.4.0" -jsonpath@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" - integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== - dependencies: - esprima "1.2.2" - static-eval "2.0.2" - underscore "1.12.1" - jsonwebtoken@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" @@ -6558,7 +6649,7 @@ keccak@^3.0.2: node-gyp-build "^4.2.0" readable-stream "^3.6.0" -keyv@^4.0.0, keyv@^4.5.3: +keyv@^4.0.0, keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== @@ -6625,9 +6716,9 @@ levn@~0.3.0: type-check "~0.3.2" libphonenumber-js@^1.10.53: - version "1.12.9" - resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.12.9.tgz#25626cd825225b326a514a142aaa26717286c4b0" - integrity sha512-VWwAdNeJgN7jFOD+wN4qx83DTPMVPPAUyx9/TUkBXKLiNkuWWk6anV0439tgdtwaJDrEdqkvdN22iA6J4bUCZg== + version "1.12.8" + resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.12.8.tgz#20e5b57f24e60359d795e2fa2ee185776331e34f" + integrity sha512-f1KakiQJa9tdc7w1phC2ST+DyxWimy9c3g3yeF+84QtEanJr2K77wAmBPP22riU05xldniHsvXuflnLZ4oysqA== lines-and-columns@^1.1.6: version "1.2.4" @@ -6749,7 +6840,7 @@ lru_map@^0.4.1: resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.4.1.tgz#f7b4046283c79fb7370c36f8fca6aee4324b0a98" integrity sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg== -luxon@^3.3.0: +luxon@^3.5.0: version "3.6.1" resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.6.1.tgz#d283ffc4c0076cb0db7885ec6da1c49ba97e47b0" integrity sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ== @@ -6817,7 +6908,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -6894,13 +6985,6 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -6939,7 +7023,7 @@ minipass@^5.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4, minipass@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== @@ -6952,11 +7036,23 @@ minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" +minizlib@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-3.0.2.tgz#f33d638eb279f664439aa38dc5f91607468cb574" + integrity sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA== + dependencies: + minipass "^7.1.2" + mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +mkdirp@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" + integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== + module-details-from-path@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.4.tgz#b662fdcd93f6c83d3f25289da0ce81c8d9685b94" @@ -7017,7 +7113,7 @@ next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -ngrok@^4.3.1: +ngrok@^4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/ngrok/-/ngrok-4.3.3.tgz#c51a1c4af2271ac3c9092ede3b0975caf7833217" integrity sha512-a2KApnkiG5urRxBPdDf76nNBQTnNNWXU0nXw0SsqsPI+Kmt2lGf9TdVYpYrHMnC+T9KhcNSWjCpWqBgC6QcFvw== @@ -7041,18 +7137,18 @@ node-addon-api@^3.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-cache@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-5.1.2.tgz#f264dc2ccad0a780e76253a694e9fd0ed19c398d" - integrity sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg== - dependencies: - clone "2.x" - node-domexception@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== +node-fetch@2, node-fetch@^2.6.7, node-fetch@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-fetch@3.0.0-beta.9: version "3.0.0-beta.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.0.0-beta.9.tgz#0a7554cfb824380dd6812864389923c783c80d9b" @@ -7061,13 +7157,6 @@ node-fetch@3.0.0-beta.9: data-uri-to-buffer "^3.0.1" fetch-blob "^2.1.1" -node-fetch@^2.6.7, node-fetch@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - node-fetch@^3.2.10: version "3.3.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" @@ -7228,7 +7317,7 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" -optionator@^0.9.1: +optionator@^0.9.3: version "0.9.4" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== @@ -7297,7 +7386,7 @@ package-json-from-dist@^1.0.0: resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== -pako@^2.0.4: +pako@^2.0.4, pako@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== @@ -7383,17 +7472,12 @@ path-to-regexp@^8.0.0: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4" integrity sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ== -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: +picocolors@^1.1.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -7425,11 +7509,6 @@ possible-typed-array-names@^1.0.0: resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== -postinstall-postinstall@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3" - integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ== - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -7447,21 +7526,12 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.8.8: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.5.3.tgz#4fc2ce0d657e7a02e602549f053b239cb7dfe1b5" + integrity sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw== -pretty-format@^27.0.0, pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^29.7.0: +pretty-format@^29.0.0, pretty-format@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== @@ -7470,11 +7540,6 @@ pretty-format@^29.7.0: ansi-styles "^5.0.0" react-is "^18.0.0" -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - prompts@^2.0.1: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -7515,9 +7580,9 @@ proxy-from-env@^1.1.0: integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== pump@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" - integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8" + integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -7617,11 +7682,6 @@ rdf-canonize@^4.0.1: dependencies: setimmediate "^1.0.5" -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - react-is@^18.0.0: version "18.3.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" @@ -7689,7 +7749,7 @@ reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: get-proto "^1.0.1" which-builtin-type "^1.2.1" -regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4: +regexp.prototype.flags@^1.5.4: version "1.5.4" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== @@ -7701,11 +7761,6 @@ regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4: gopd "^1.2.0" set-function-name "^2.0.2" -regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -7865,7 +7920,7 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.2.1, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.7.1, semver@^7.7.2: +semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.7.1, semver@^7.7.2: version "7.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== @@ -8115,16 +8170,11 @@ static-eval@2.0.2: dependencies: escodegen "^1.8.1" -statuses@2.0.1: +statuses@2.0.1, statuses@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -statuses@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" - integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== - stop-iteration-iterator@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" @@ -8178,25 +8228,6 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.matchall@^4.0.10: - version "4.0.12" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" - integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== - dependencies: - call-bind "^1.0.8" - call-bound "^1.0.3" - define-properties "^1.2.1" - es-abstract "^1.23.6" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.6" - gopd "^1.2.0" - has-symbols "^1.1.0" - internal-slot "^1.1.0" - regexp.prototype.flags "^1.5.3" - set-function-name "^2.0.2" - side-channel "^1.1.0" - string.prototype.trim@^1.2.10: version "1.2.10" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" @@ -8277,41 +8308,33 @@ strip-json-comments@^2.0.0: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -superagent@^8.1.2: - version "8.1.2" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" - integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== +superagent@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/superagent/-/superagent-10.2.1.tgz#3e39038fff125cbd1584fa4b384db2994bbffdcb" + integrity sha512-O+PCv11lgTNJUzy49teNAWLjBZfc+A1enOwTpLlH6/rsvKcTwcdTT8m9azGkVqM7HBl5jpyZ7KTPhHweokBcdg== dependencies: component-emitter "^1.3.0" cookiejar "^2.1.4" debug "^4.3.4" fast-safe-stringify "^2.1.1" form-data "^4.0.0" - formidable "^2.1.2" + formidable "^3.5.4" methods "^1.1.2" mime "2.6.0" qs "^6.11.0" - semver "^7.3.8" -supertest@^6.2.3: - version "6.3.4" - resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.4.tgz#2145c250570c2ea5d337db3552dbfb78a2286218" - integrity sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw== +supertest@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/supertest/-/supertest-7.1.1.tgz#c5e7e2d047fbbe4403b17b2622dc5323adc39f11" + integrity sha512-aI59HBTlG9e2wTjxGJV+DygfNLgnWbGdZxiA/sgrnNNikIW8lbDvCtF6RnhZoJ82nU7qv7ZLjrvWqCEm52fAmw== dependencies: methods "^1.1.2" - superagent "^8.1.2" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" + superagent "^10.2.1" supports-color@^7.1.0: version "7.2.0" @@ -8333,9 +8356,9 @@ supports-preserve-symlinks-flag@^1.0.0: integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== swagger-ui-dist@>=4.11.0: - version "5.25.2" - resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.25.2.tgz#2e07608b44031a6bbb6ceb790165ca05980bd423" - integrity sha512-V4JyoygUe5nCbn7bAD0fVKSC0yNcL3ROIQtGC7M0NATKuyosCSmMU6T0yDZIIuGpSxjsjZh/D2Ejb8lnF2jjxw== + version "5.22.0" + resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.22.0.tgz#8280cfa9659d90cf6f682c76f7e792b0da939946" + integrity sha512-8YlCSxiyb8uPFa7qoB1lRHYr1PBbT1NuV9RvQdFFPFPudRBTPf9coU5jl02KhzvrtmTEw4jXRgb0kg8pJvVuWQ== dependencies: "@scarf/scarf" "=1.4.0" @@ -8346,7 +8369,14 @@ swagger-ui-express@^4.4.0: dependencies: swagger-ui-dist ">=4.11.0" -table@^6.0.9, table@^6.8.0: +synckit@^0.11.0: + version "0.11.6" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.6.tgz#e742a0c27bbc1fbc96f2010770521015cca7ed5c" + integrity sha512-2pR2ubZSV64f/vqm9eLPz/KOvR9Dm+Co/5ChLgeHl0yEDRc6h5hXHoxEQH8Y5Ljycozd3p1k5TTSVdzYGkPvLw== + dependencies: + "@pkgr/core" "^0.2.4" + +table@^6.8.0: version "6.9.0" resolved "https://registry.yarnpkg.com/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5" integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A== @@ -8369,6 +8399,18 @@ tar@^6.1.11: mkdirp "^1.0.3" yallist "^4.0.0" +tar@^7.4.3: + version "7.4.3" + resolved "https://registry.yarnpkg.com/tar/-/tar-7.4.3.tgz#88bbe9286a3fcd900e94592cda7a22b192e80571" + integrity sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw== + dependencies: + "@isaacs/fs-minipass" "^4.0.0" + chownr "^3.0.0" + minipass "^7.1.2" + minizlib "^3.0.1" + mkdirp "^3.0.1" + yallist "^5.0.0" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -8378,12 +8420,7 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -tinyglobby@^0.2.13: +tinyglobby@^0.2.14: version "0.2.14" resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d" integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ== @@ -8425,24 +8462,25 @@ tree-kill@^1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -ts-api-utils@^1.0.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" - integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== +ts-api-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91" + integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== ts-deepmerge@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/ts-deepmerge/-/ts-deepmerge-7.0.3.tgz#e7053ddb45be093b71d7f9a5a05935ae119f1d31" integrity sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA== -ts-jest@^29.1.2: - version "29.4.0" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.4.0.tgz#bef0ee98d94c83670af7462a1617bf2367a83740" - integrity sha512-d423TJMnJGu80/eSgfQ5w/R+0zFJvdtTxwtF9KzFFunOpSeD+79lHJQIiAhluJoyGRbvj9NZJsl9WjCUo0ND7Q== +ts-jest@^29.3.4: + version "29.3.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.3.4.tgz#9354472aceae1d3867a80e8e02014ea5901aee41" + integrity sha512-Iqbrm8IXOmV+ggWHOTEbjwyCf2xZlUMv5npExksXohL+tk8va4Fjhb+X2+Rt9NBmgO7bJ8WpnMLOwih/DnMlFA== dependencies: bs-logger "^0.2.6" ejs "^3.1.10" fast-json-stable-stringify "^2.1.0" + jest-util "^29.0.0" json5 "^2.2.3" lodash.memoize "^4.1.2" make-error "^1.3.6" @@ -8643,7 +8681,7 @@ typed-array-length@^1.0.7: possible-typed-array-names "^1.0.0" reflect.getprototypeof "^1.0.6" -typescript@^5.3.3, typescript@^5.7.2: +typescript@^5.7.2, typescript@^5.8.3: version "5.8.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== @@ -8670,21 +8708,16 @@ unbox-primitive@^1.1.0: has-symbols "^1.1.0" which-boxed-primitive "^1.1.1" -underscore@1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" - integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - undici-types@~6.19.2: version "6.19.8" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== + undici-types@~7.8.0: version "7.8.0" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294" @@ -8707,32 +8740,30 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -unrs-resolver@^1.6.2: - version "1.9.1" - resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.9.1.tgz#c3579abf32e48dbb1b429f4812196611afb021cf" - integrity sha512-4AZVxP05JGN6DwqIkSP4VKLOcwQa5l37SWHF/ahcuqBMbfxbpN1L1QKafEhWCziHhzKex9H/AR09H0OuVyU+9g== +unrs-resolver@^1.7.2: + version "1.7.8" + resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.7.8.tgz#f76ca5592d7225f8fd12cd5f39fad9e86f0945c9" + integrity sha512-2zsXwyOXmCX9nGz4vhtZRYhe30V78heAv+KDc21A/KMdovGHbZcixeD5JHEF0DrFXzdytwuzYclcPbvp8A3Jlw== dependencies: napi-postinstall "^0.2.2" optionalDependencies: - "@unrs/resolver-binding-android-arm-eabi" "1.9.1" - "@unrs/resolver-binding-android-arm64" "1.9.1" - "@unrs/resolver-binding-darwin-arm64" "1.9.1" - "@unrs/resolver-binding-darwin-x64" "1.9.1" - "@unrs/resolver-binding-freebsd-x64" "1.9.1" - "@unrs/resolver-binding-linux-arm-gnueabihf" "1.9.1" - "@unrs/resolver-binding-linux-arm-musleabihf" "1.9.1" - "@unrs/resolver-binding-linux-arm64-gnu" "1.9.1" - "@unrs/resolver-binding-linux-arm64-musl" "1.9.1" - "@unrs/resolver-binding-linux-ppc64-gnu" "1.9.1" - "@unrs/resolver-binding-linux-riscv64-gnu" "1.9.1" - "@unrs/resolver-binding-linux-riscv64-musl" "1.9.1" - "@unrs/resolver-binding-linux-s390x-gnu" "1.9.1" - "@unrs/resolver-binding-linux-x64-gnu" "1.9.1" - "@unrs/resolver-binding-linux-x64-musl" "1.9.1" - "@unrs/resolver-binding-wasm32-wasi" "1.9.1" - "@unrs/resolver-binding-win32-arm64-msvc" "1.9.1" - "@unrs/resolver-binding-win32-ia32-msvc" "1.9.1" - "@unrs/resolver-binding-win32-x64-msvc" "1.9.1" + "@unrs/resolver-binding-darwin-arm64" "1.7.8" + "@unrs/resolver-binding-darwin-x64" "1.7.8" + "@unrs/resolver-binding-freebsd-x64" "1.7.8" + "@unrs/resolver-binding-linux-arm-gnueabihf" "1.7.8" + "@unrs/resolver-binding-linux-arm-musleabihf" "1.7.8" + "@unrs/resolver-binding-linux-arm64-gnu" "1.7.8" + "@unrs/resolver-binding-linux-arm64-musl" "1.7.8" + "@unrs/resolver-binding-linux-ppc64-gnu" "1.7.8" + "@unrs/resolver-binding-linux-riscv64-gnu" "1.7.8" + "@unrs/resolver-binding-linux-riscv64-musl" "1.7.8" + "@unrs/resolver-binding-linux-s390x-gnu" "1.7.8" + "@unrs/resolver-binding-linux-x64-gnu" "1.7.8" + "@unrs/resolver-binding-linux-x64-musl" "1.7.8" + "@unrs/resolver-binding-wasm32-wasi" "1.7.8" + "@unrs/resolver-binding-win32-arm64-msvc" "1.7.8" + "@unrs/resolver-binding-win32-ia32-msvc" "1.7.8" + "@unrs/resolver-binding-win32-x64-msvc" "1.7.8" update-browserslist-db@^1.1.3: version "1.1.3" @@ -8774,11 +8805,6 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-compile-cache@^2.0.3: - version "2.4.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" - integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== - v8-to-istanbul@^9.0.1: version "9.3.0" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" @@ -8979,7 +9005,7 @@ ws@8.18.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== -ws@^8.13.0: +ws@^8.13.0, ws@^8.18.2: version "8.18.2" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.2.tgz#42738b2be57ced85f46154320aabb51ab003705a" integrity sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ== @@ -9004,6 +9030,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yallist@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" + integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== + yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" From f63e261d19a4c5f95efb7efdf36f5214710bc406 Mon Sep 17 00:00:00 2001 From: Tipu_Singh Date: Wed, 6 Aug 2025 14:42:52 +0530 Subject: [PATCH 09/13] fix: added patch for getFormatData Signed-off-by: Tipu_Singh --- ....5.15+005+credential-get-format-data.patch | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 patches/@credo-ts+core+0.5.15+005+credential-get-format-data.patch diff --git a/patches/@credo-ts+core+0.5.15+005+credential-get-format-data.patch b/patches/@credo-ts+core+0.5.15+005+credential-get-format-data.patch new file mode 100644 index 00000000..e0a63329 --- /dev/null +++ b/patches/@credo-ts+core+0.5.15+005+credential-get-format-data.patch @@ -0,0 +1,44 @@ +diff --git a/node_modules/@credo-ts/core/build/modules/credentials/CredentialsApi.js b/node_modules/@credo-ts/core/build/modules/credentials/CredentialsApi.js +index 7b54cfb..3ed891d 100644 +--- a/node_modules/@credo-ts/core/build/modules/credentials/CredentialsApi.js ++++ b/node_modules/@credo-ts/core/build/modules/credentials/CredentialsApi.js +@@ -415,10 +415,17 @@ let CredentialsApi = class CredentialsApi { + return credentialRecord; + } + async getFormatData(credentialRecordId) { +- const credentialRecord = await this.getById(credentialRecordId); +- const protocol = this.getProtocol(credentialRecord.protocolVersion); +- return protocol.getFormatData(this.agentContext, credentialRecordId); ++ try { ++ const credentialRecord = await this.getById(credentialRecordId); ++ const protocol = this.getProtocol(credentialRecord.protocolVersion); ++ return protocol.getFormatData(this.agentContext, credentialRecordId); ++ } catch (error) { ++ this.logger?.error?.(`Error in getFormatData for credential ID ${credentialRecordId}: ${error?.message}`, error); ++ return null; // Prevents application from crashing ++ } + } ++ ++ + /** + * Retrieve a credential record by id + * +@@ -500,11 +507,11 @@ exports.CredentialsApi = CredentialsApi = __decorate([ + (0, plugins_1.injectable)(), + __param(3, (0, plugins_1.inject)(constants_1.InjectionSymbols.Logger)), + __metadata("design:paramtypes", [MessageSender_1.MessageSender, +- services_1.ConnectionService, +- agent_1.AgentContext, Object, CredentialRepository_1.CredentialRepository, +- RoutingService_1.RoutingService, +- DidCommMessageRepository_1.DidCommMessageRepository, +- services_2.RevocationNotificationService, +- CredentialsModuleConfig_1.CredentialsModuleConfig]) ++ services_1.ConnectionService, ++ agent_1.AgentContext, Object, CredentialRepository_1.CredentialRepository, ++ RoutingService_1.RoutingService, ++ DidCommMessageRepository_1.DidCommMessageRepository, ++ services_2.RevocationNotificationService, ++ CredentialsModuleConfig_1.CredentialsModuleConfig]) + ], CredentialsApi); + //# sourceMappingURL=CredentialsApi.js.map +\ No newline at end of file From aa15ccb83c2213f9b39c113789f854fb956433eb Mon Sep 17 00:00:00 2001 From: Krishna Waske Date: Thu, 7 Aug 2025 12:23:19 +0530 Subject: [PATCH 10/13] fix: scopes for polygon controller to allow estimation of transaction and key creation using the base-wallets APIs as well (#295) Signed-off-by: Krishna Waske --- src/controllers/polygon/PolygonController.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/controllers/polygon/PolygonController.ts b/src/controllers/polygon/PolygonController.ts index a3651ab0..edcc46cb 100644 --- a/src/controllers/polygon/PolygonController.ts +++ b/src/controllers/polygon/PolygonController.ts @@ -12,7 +12,6 @@ import ErrorHandlingService from '../../errorHandlingService' import { BadRequestError, UnprocessableEntityError } from '../../errors' @Tags('Polygon') -@Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @Route('/polygon') @injectable() export class Polygon extends Controller { @@ -21,6 +20,7 @@ export class Polygon extends Controller { * * @returns Secp256k1KeyPair */ + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT, SCOPES.MULTITENANT_BASE_AGENT]) @Post('create-keys') public async createKeyPair(): Promise<{ privateKey: string @@ -40,6 +40,7 @@ export class Polygon extends Controller { * * @returns Schema JSON */ + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @Post('create-schema') public async createSchema( @Request() request: Req, @@ -97,6 +98,7 @@ export class Polygon extends Controller { * * @returns Transaction Object */ + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT, SCOPES.MULTITENANT_BASE_AGENT]) @Post('estimate-transaction') public async estimateTransaction( @Request() request: Req, @@ -124,6 +126,7 @@ export class Polygon extends Controller { * * @returns Schema Object */ + @Security('jwt', [SCOPES.TENANT_AGENT, SCOPES.DEDICATED_AGENT]) @Get(':did/:schemaId') public async getSchemaById( @Request() request: Req, From edae4a381802cb36b8e84765d21f60066a808e20 Mon Sep 17 00:00:00 2001 From: Sahil Kamble Date: Thu, 7 Aug 2025 15:31:04 +0530 Subject: [PATCH 11/13] feat: update dockerfile and workflow file to support multi arch (#294) Signed-off-by: KambleSahil3 --- .github/workflows/continuous-delivery.yml | 7 +++++++ Dockerfile | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/continuous-delivery.yml b/.github/workflows/continuous-delivery.yml index ffdc2e57..25cae023 100644 --- a/.github/workflows/continuous-delivery.yml +++ b/.github/workflows/continuous-delivery.yml @@ -26,6 +26,12 @@ jobs: id: get_tag run: echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Log in to GitHub Container Registry uses: docker/login-action@v3 with: @@ -39,6 +45,7 @@ jobs: context: . file: Dockerfile push: true + platforms: linux/amd64,linux/arm64 tags: | ${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ env.SERVICE }}:${{ env.TAG }} ${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ env.SERVICE }}:latest diff --git a/Dockerfile b/Dockerfile index c8175271..782ed195 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ COPY . . # Install dependencies RUN rm -rf node_modules -RUN yarn install --frozen-lockfile +RUN yarn install --frozen-lockfile --network-timeout 600000 RUN yarn global add patch-package From d8be6ac85db8534ef4446801ee425a31d66d5b4f Mon Sep 17 00:00:00 2001 From: Krishna Waske Date: Thu, 7 Aug 2025 17:29:24 +0530 Subject: [PATCH 12/13] fix: DCO remediation ability (#298) Signed-off-by: Krishna Waske --- .github/dco.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/dco.yml diff --git a/.github/dco.yml b/.github/dco.yml new file mode 100644 index 00000000..1f94d940 --- /dev/null +++ b/.github/dco.yml @@ -0,0 +1,3 @@ +allowRemediationCommits: + individual: true + thirdParty: true From 81cf411d4bae0e4da65ed7f46ea309b5d2d6ce56 Mon Sep 17 00:00:00 2001 From: Krishna Waske Date: Thu, 7 Aug 2025 20:05:21 +0530 Subject: [PATCH 13/13] Third-Party DCO Remediation Commit for Sahil Kamble (#299) On behalf of Sahil Kamble , I, Krishna Waske , hereby add my Signed-off-by to this commit: 5ee68730ecaeb938caad18cafbc067b9558a1380 On behalf of Sahil Kamble , I, Krishna Waske , hereby add my Signed-off-by to this commit: edae4a381802cb36b8e84765d21f60066a808e20 Signed-off-by: Krishna Waske --- src/controllers/agent/AgentController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/agent/AgentController.ts b/src/controllers/agent/AgentController.ts index 4c70efeb..fc23310d 100644 --- a/src/controllers/agent/AgentController.ts +++ b/src/controllers/agent/AgentController.ts @@ -59,7 +59,7 @@ export class AgentController extends Controller { const genericRecords = await request.agent.genericRecords.findAllByQuery({ hasSecretKey: 'true' }) const secretKey = genericRecords[0]?.content.secretKey as string if (!secretKey) { - throw new Error('secretKey not found') + throw new Error('SecretKey not found') } if (!('tenants' in request.agent.modules)) { token = jwt.sign({ role: AgentRole.RestRootAgent }, secretKey)