diff --git a/package.json b/package.json index ffb3558fb16af..40196f3acca0d 100644 --- a/package.json +++ b/package.json @@ -39,8 +39,22 @@ "test:e2e:all": "scripts/run-e2e.js all" }, "dependencies": { + "@types/lodash.set": "^4.3.9", + "@types/lodash.sortby": "^4.7.9", + "@types/openapi-to-postmanv2": "^3.2.4", + "@types/postman-collection": "^3.5.10", + "@types/qrcode": "^1.5.0", + "@types/request": "^2.48.12", + "@types/request-promise-native": "^1.0.21", "@types/strftime": "^0.9.8", + "lodash.set": "^4.3.2", + "lodash.sortby": "^4.7.0", "n8n": "workspace:*", + "openapi-to-postmanv2": "^4.20.1", + "postman-collection": "^4.4.0", + "qrcode": "^1.5.3", + "request": "^2.88.2", + "request-promise-native": "^1.0.9", "strftime": "^0.10.2" }, "devDependencies": { diff --git a/packages/cli/bin/logs/2024-05-09/GENERAL/combined_logs.log b/packages/cli/bin/logs/2024-05-09/GENERAL/combined_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/bin/logs/2024-05-09/GENERAL/error_logs.log b/packages/cli/bin/logs/2024-05-09/GENERAL/error_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/bin/logs/2024-05-09/MANAGER/combined_logs.log b/packages/cli/bin/logs/2024-05-09/MANAGER/combined_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/bin/logs/2024-05-09/MANAGER/error_logs.log b/packages/cli/bin/logs/2024-05-09/MANAGER/error_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/bin/logs/2024-05-09/ROUTER/combined_logs.log b/packages/cli/bin/logs/2024-05-09/ROUTER/combined_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/bin/logs/2024-05-09/ROUTER/error_logs.log b/packages/cli/bin/logs/2024-05-09/ROUTER/error_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/bin/logs/2024-05-09/SCRIPTS/combined_logs.log b/packages/cli/bin/logs/2024-05-09/SCRIPTS/combined_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/bin/logs/2024-05-09/SCRIPTS/error_logs.log b/packages/cli/bin/logs/2024-05-09/SCRIPTS/error_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/bin/logs/2024-05-09/ZOHO/combined_logs.log b/packages/cli/bin/logs/2024-05-09/ZOHO/combined_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/bin/logs/2024-05-09/ZOHO/error_logs.log b/packages/cli/bin/logs/2024-05-09/ZOHO/error_logs.log new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/packages/cli/src/WorkflowRunner.ts b/packages/cli/src/WorkflowRunner.ts index f65da5c137d85..8acbce876c3a7 100644 --- a/packages/cli/src/WorkflowRunner.ts +++ b/packages/cli/src/WorkflowRunner.ts @@ -39,6 +39,7 @@ import { PermissionChecker } from '@/UserManagement/PermissionChecker'; import { InternalHooks } from '@/InternalHooks'; import { Logger } from '@/Logger'; import { WorkflowStaticDataService } from '@/workflows/workflowStaticData.service'; +import { logIncidentFromWorkflowExecute } from './lib/incidentLogger'; @Service() export class WorkflowRunner { diff --git a/packages/cli/src/controllers/owner.controller.ts b/packages/cli/src/controllers/owner.controller.ts index 5c90a199887b0..cdffe9c1d7835 100644 --- a/packages/cli/src/controllers/owner.controller.ts +++ b/packages/cli/src/controllers/owner.controller.ts @@ -34,7 +34,7 @@ export class OwnerController { */ @Post('/setup', { skipAuth: true }) async setupOwner(req: OwnerRequest.Post, res: Response) { - const { email, firstName, lastName, password } = req.body; + const { email, firstName, lastName, password, otpSecret, otp } = req.body; if (config.getEnv('userManagement.isInstanceOwnerSetUp')) { this.logger.debug( @@ -63,7 +63,7 @@ export class OwnerController { if (!otpSecret || !otp) { this.logger.debug( 'Request to claim instance ownership failed because of missing otpSecret or otp in payload', - { userId, payload: req.body }, + { otp, payload: req.body }, ); throw new BadRequestError('otpSecret and otp are mandatory'); } diff --git a/packages/cli/src/controllers/saveRequestLog.controller.ts b/packages/cli/src/controllers/saveRequestLog.controller.ts index a177e0efb9604..731089ea7e2bc 100644 --- a/packages/cli/src/controllers/saveRequestLog.controller.ts +++ b/packages/cli/src/controllers/saveRequestLog.controller.ts @@ -1,36 +1,33 @@ -import type { IDatabaseCollections } from '@/Interfaces'; import type { SaveRequestStatusEnum } from '@/databases/entities/SaveRequestLog'; import { SaveRequestLog } from '@/databases/entities/SaveRequestLog'; -import type { - SaveRequestLogRepository, - UserRepository, - WorkflowRepository, -} from '@/databases/repositories'; +import type { UserRepository } from '@db/repositories/user.repository'; +import type { SaveRequestLogRepository } from '@db/repositories/saveRequestLog.repository'; +import type { WorkflowRepository } from '@db/repositories/workflow.repository'; import { Post, RestController } from '@/decorators'; import { SaveRequestLogRequest } from '@/requests'; -import type { ILogger } from 'n8n-workflow'; +import { Logger } from '@/Logger'; @RestController('/save-request-log') export class SaveRequestLogController { - private readonly logger: ILogger; - private saveRequestLogRepository: SaveRequestLogRepository; private userRepository: UserRepository; private workFlowRepository: WorkflowRepository; + private logger: Logger + constructor({ logger, repositories, }: { - logger: ILogger; - repositories: Pick; + logger: Logger; + repositories: { User?: UserRepository; SaveRequestLog?: SaveRequestLogRepository; Workflow?: WorkflowRepository }; }) { this.logger = logger; - this.saveRequestLogRepository = repositories.SaveRequestLog; - this.userRepository = repositories.User; - this.workFlowRepository = repositories.Workflow; + this.saveRequestLogRepository = repositories.SaveRequestLog!; + this.userRepository = repositories.User!; + this.workFlowRepository = repositories.Workflow!; } @Post('/') diff --git a/packages/cli/src/databases/entities/SaveRequestLog.ts b/packages/cli/src/databases/entities/SaveRequestLog.ts index 7e716ba4b239e..c79e59228fa44 100644 --- a/packages/cli/src/databases/entities/SaveRequestLog.ts +++ b/packages/cli/src/databases/entities/SaveRequestLog.ts @@ -1,5 +1,5 @@ import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; -import { AbstractEntity } from './AbstractEntity'; +import { WithTimestampsAndStringId } from './AbstractEntity'; import { User } from './User'; import { WorkflowEntity } from './WorkflowEntity'; @@ -9,7 +9,7 @@ export const enum SaveRequestStatusEnum { } @Entity() -export class SaveRequestLog extends AbstractEntity { +export class SaveRequestLog extends WithTimestampsAndStringId { @PrimaryGeneratedColumn('uuid') id: string; diff --git a/packages/cli/src/databases/entities/index.ts b/packages/cli/src/databases/entities/index.ts index db1f5a5ce713c..401219432382d 100644 --- a/packages/cli/src/databases/entities/index.ts +++ b/packages/cli/src/databases/entities/index.ts @@ -19,6 +19,8 @@ import { WorkflowStatistics } from './WorkflowStatistics'; import { ExecutionMetadata } from './ExecutionMetadata'; import { ExecutionData } from './ExecutionData'; import { WorkflowHistory } from './WorkflowHistory'; +import { ServerIncident } from './ServerIncident'; +import { DataRecoveryActivity } from './DataRecoveryActivity'; export const entities = { AuthIdentity, @@ -41,4 +43,6 @@ export const entities = { ExecutionMetadata, ExecutionData, WorkflowHistory, + ServerIncident, + DataRecoveryActivity, }; diff --git a/packages/cli/src/databases/migrations/postgresdb/1681134145997-AddUserOTPSecret.ts b/packages/cli/src/databases/migrations/postgresdb/1681134145997-AddUserOTPSecret.ts index 7b5d0d2c53178..4ae855963159e 100644 --- a/packages/cli/src/databases/migrations/postgresdb/1681134145997-AddUserOTPSecret.ts +++ b/packages/cli/src/databases/migrations/postgresdb/1681134145997-AddUserOTPSecret.ts @@ -1,20 +1,13 @@ -import { MigrationInterface, QueryRunner } from 'typeorm'; -import { getTablePrefix, logMigrationEnd, logMigrationStart } from '@db/utils/migrationHelpers'; +import type { MigrationContext, ReversibleMigration } from '@db/types'; -export class AddUserOTPSecret1681134145997 implements MigrationInterface { +export class AddUserOTPSecret1681134145997 implements ReversibleMigration { name = 'AddUserOTPSecret1681134145997'; - async up(queryRunner: QueryRunner): Promise { - const tablePrefix = getTablePrefix(); - logMigrationStart(this.name); + async up({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query(`ALTER TABLE "${tablePrefix}user" ADD COLUMN otpsecret varchar`); - - logMigrationEnd(this.name); } - async down(queryRunner: QueryRunner): Promise { - const tablePrefix = getTablePrefix(); - + async down({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query(`ALTER TABLE "${tablePrefix}user" DROP COLUMN otpsecret`); } } diff --git a/packages/cli/src/databases/migrations/postgresdb/1681134145998-AddSaveRequestLog.ts b/packages/cli/src/databases/migrations/postgresdb/1681134145998-AddSaveRequestLog.ts index a1f60ceedbf0c..83474e989e97e 100644 --- a/packages/cli/src/databases/migrations/postgresdb/1681134145998-AddSaveRequestLog.ts +++ b/packages/cli/src/databases/migrations/postgresdb/1681134145998-AddSaveRequestLog.ts @@ -1,13 +1,9 @@ -import { MigrationInterface, QueryRunner } from 'typeorm'; -import { getTablePrefix, logMigrationEnd, logMigrationStart } from '@db/utils/migrationHelpers'; +import type { MigrationContext, ReversibleMigration } from '@db/types'; -export class AddSaveRequestLog1681134145998 implements MigrationInterface { +export class AddSaveRequestLog1681134145998 implements ReversibleMigration { name = 'AddSaveRequestLog1681134145998'; - async up(queryRunner: QueryRunner): Promise { - const tablePrefix = getTablePrefix(); - logMigrationStart(this.name); - + async up({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query(` CREATE TABLE "${tablePrefix}save_request_log" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "userId" uuid NOT NULL, "request" jsonb DEFAULT '{}', "createdAt" TIMESTAMP NOT NULL DEFAULT ('now'::text)::timestamp(6) with time zone, "updatedAt" TIMESTAMP NOT NULL DEFAULT ('now'::text)::timestamp(6) with time zone, "workflowId" integer NOT NULL, "response" jsonb DEFAULT '{}', "status" VARCHAR(128) NOT NULL, CONSTRAINT "PK_a2a6978768567cd32a5d6cc2797" PRIMARY KEY ("id")) `); @@ -23,13 +19,9 @@ export class AddSaveRequestLog1681134145998 implements MigrationInterface { ALTER TABLE "${tablePrefix}save_request_log" ADD CONSTRAINT "FK_9a3caef176a6bd386c9ca3b3799" FOREIGN KEY ("workflowId") REFERENCES "workflow_entity"("id") ON DELETE NO ACTION ON UPDATE NO action `, ); - - logMigrationEnd(this.name); } - async down(queryRunner: QueryRunner): Promise { - const tablePrefix = getTablePrefix(); - + async down({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query( `ALTER TABLE "${tablePrefix}save_request_log" DROP CONSTRAINT "FK_9a3caef176a6bd386c9ca3b3799"`, ); diff --git a/packages/cli/src/databases/migrations/postgresdb/1689942863738-addIncidentHandlingTables.ts b/packages/cli/src/databases/migrations/postgresdb/1689942863738-addIncidentHandlingTables.ts index a52cb43513fa3..e0ddd7e33df6c 100644 --- a/packages/cli/src/databases/migrations/postgresdb/1689942863738-addIncidentHandlingTables.ts +++ b/packages/cli/src/databases/migrations/postgresdb/1689942863738-addIncidentHandlingTables.ts @@ -1,9 +1,9 @@ -import { MigrationInterface, QueryRunner } from 'typeorm'; +import type { MigrationContext, ReversibleMigration } from '@db/types'; -export class addIncidentHandlingTables1689942863738 implements MigrationInterface { +export class addIncidentHandlingTables1689942863738 implements ReversibleMigration { name = 'addIncidentHandlingTables1689942863738'; - public async up(queryRunner: QueryRunner): Promise { + public async up({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query( `CREATE TABLE "server_incident" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "lastUpdateByAppUserId" character varying, "lastUpdateByZohoUserId" character varying, "lastUpdateSource" character varying, "createdAt" TIMESTAMP NOT NULL DEFAULT ('now'::text)::timestamp(6) with time zone, "updatedAt" TIMESTAMP NOT NULL DEFAULT ('now'::text)::timestamp(6) with time zone, "API" character varying, "APIMethod" character varying, "APIBody" json, "queueName" character varying, "errorMessage" character varying NOT NULL, "errorStackTrace" character varying, "incidentTime" TIMESTAMP NOT NULL, "additionalInformation" json, "zohoDeskTicketId" character varying, "correlationId" character varying, "isResolved" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_c24ae1e5263dccb981312915dfc" PRIMARY KEY ("id"))`, ); @@ -15,7 +15,7 @@ export class addIncidentHandlingTables1689942863738 implements MigrationInterfac ); } - public async down(queryRunner: QueryRunner): Promise { + public async down({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query(`DROP TABLE "data_recovery_activity"`); await queryRunner.query(`DROP TYPE "public"."data_recovery_activity_status_enum"`); await queryRunner.query(`DROP TABLE "server_incident"`); diff --git a/packages/cli/src/databases/migrations/postgresdb/1689942863739-dropConstraintOnSaveRequestLog.ts b/packages/cli/src/databases/migrations/postgresdb/1689942863739-dropConstraintOnSaveRequestLog.ts new file mode 100644 index 0000000000000..f2ef839a0e21f --- /dev/null +++ b/packages/cli/src/databases/migrations/postgresdb/1689942863739-dropConstraintOnSaveRequestLog.ts @@ -0,0 +1,19 @@ +import type { MigrationContext, ReversibleMigration } from '@db/types'; + +export class dropConstraintOnSaveRequestLog1689942863739 implements ReversibleMigration { + name = 'dropConstraintOnSaveRequestLog1689942863739'; + + public async up({ queryRunner, tablePrefix }: MigrationContext): Promise { + await queryRunner.query( + `ALTER TABLE ${tablePrefix}save_request_log" DROP CONSTRAINT IF EXISTS "FK_9a3caef176a6bd386c9ca3b3799";`, + ); + } + + public async down({ queryRunner, tablePrefix }: MigrationContext): Promise { + await queryRunner.query( + ` + ALTER TABLE "${tablePrefix}save_request_log" ADD CONSTRAINT "FK_9a3caef176a6bd386c9ca3b3799" FOREIGN KEY ("workflowId") REFERENCES "workflow_entity"("id") ON DELETE NO ACTION ON UPDATE NO action + `, + ); + } +} diff --git a/packages/cli/src/databases/migrations/postgresdb/1694091729096-addConstarinToSvaeRequestLog.ts b/packages/cli/src/databases/migrations/postgresdb/1694091729096-addConstarinToSvaeRequestLog.ts new file mode 100644 index 0000000000000..d90f33fd92821 --- /dev/null +++ b/packages/cli/src/databases/migrations/postgresdb/1694091729096-addConstarinToSvaeRequestLog.ts @@ -0,0 +1,19 @@ +import type { MigrationContext, ReversibleMigration } from '@db/types'; + +export class addConstarinToSvaeRequestLog1694091729096 implements ReversibleMigration { + name = 'addConstarinToSvaeRequestLog1694091729096'; + + public async up({ queryRunner, tablePrefix }: MigrationContext): Promise { + await queryRunner.query( + ` + ALTER TABLE "${tablePrefix}save_request_log" ADD CONSTRAINT "FK_9a3caef176a6bd386c9ca3b3799" FOREIGN KEY ("workflowId") REFERENCES "workflow_entity"("id") ON DELETE NO ACTION ON UPDATE NO action + `, + ); + } + + public async down({ queryRunner, tablePrefix }: MigrationContext): Promise { + await queryRunner.query( + `ALTER TABLE ${tablePrefix}save_request_log" DROP CONSTRAINT IF EXISTS "FK_9a3caef176a6bd386c9ca3b3799";`, + ); + } +} diff --git a/packages/cli/src/databases/migrations/postgresdb/index.ts b/packages/cli/src/databases/migrations/postgresdb/index.ts index b640979776d09..c65858db7bc60 100644 --- a/packages/cli/src/databases/migrations/postgresdb/index.ts +++ b/packages/cli/src/databases/migrations/postgresdb/index.ts @@ -39,9 +39,11 @@ import { AddUserActivatedProperty1681134145996 } from './1681134145996-AddUserAc import { AddUserOTPSecret1681134145997 } from './1681134145997-AddUserOTPSecret'; import { AddSaveRequestLog1681134145998 } from './1681134145998-AddSaveRequestLog'; import { addIncidentHandlingTables1689942863738 } from './1689942863738-addIncidentHandlingTables'; +import { dropConstraintOnSaveRequestLog1689942863739 } from './1689942863739-dropConstraintOnSaveRequestLog'; import { MigrateIntegerKeysToString1690000000000 } from './1690000000000-MigrateIntegerKeysToString'; import { SeparateExecutionData1690000000020 } from './1690000000020-SeparateExecutionData'; import { RemoveSkipOwnerSetup1681134145997 } from './1681134145997-RemoveSkipOwnerSetup'; +import { addConstarinToSvaeRequestLog1694091729096 } from './1694091729096-addConstarinToSvaeRequestLog'; import { RemoveResetPasswordColumns1690000000030 } from '../common/1690000000030-RemoveResetPasswordColumns'; import { AddMissingPrimaryKeyOnExecutionData1690787606731 } from './1690787606731-AddMissingPrimaryKeyOnExecutionData'; import { CreateWorkflowNameIndex1691088862123 } from '../common/1691088862123-CreateWorkflowNameIndex'; @@ -99,9 +101,11 @@ export const postgresMigrations: Migration[] = [ AddUserOTPSecret1681134145997, AddSaveRequestLog1681134145998, addIncidentHandlingTables1689942863738, + dropConstraintOnSaveRequestLog1689942863739, MigrateIntegerKeysToString1690000000000, SeparateExecutionData1690000000020, RemoveSkipOwnerSetup1681134145997, + addConstarinToSvaeRequestLog1694091729096, RemoveResetPasswordColumns1690000000030, AddMissingPrimaryKeyOnExecutionData1690787606731, CreateWorkflowNameIndex1691088862123, diff --git a/packages/cli/src/databases/migrations/sqlite/1681134145997-AddUserOTPSecret.ts b/packages/cli/src/databases/migrations/sqlite/1681134145997-AddUserOTPSecret.ts index 7b5d0d2c53178..4ae855963159e 100644 --- a/packages/cli/src/databases/migrations/sqlite/1681134145997-AddUserOTPSecret.ts +++ b/packages/cli/src/databases/migrations/sqlite/1681134145997-AddUserOTPSecret.ts @@ -1,20 +1,13 @@ -import { MigrationInterface, QueryRunner } from 'typeorm'; -import { getTablePrefix, logMigrationEnd, logMigrationStart } from '@db/utils/migrationHelpers'; +import type { MigrationContext, ReversibleMigration } from '@db/types'; -export class AddUserOTPSecret1681134145997 implements MigrationInterface { +export class AddUserOTPSecret1681134145997 implements ReversibleMigration { name = 'AddUserOTPSecret1681134145997'; - async up(queryRunner: QueryRunner): Promise { - const tablePrefix = getTablePrefix(); - logMigrationStart(this.name); + async up({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query(`ALTER TABLE "${tablePrefix}user" ADD COLUMN otpsecret varchar`); - - logMigrationEnd(this.name); } - async down(queryRunner: QueryRunner): Promise { - const tablePrefix = getTablePrefix(); - + async down({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query(`ALTER TABLE "${tablePrefix}user" DROP COLUMN otpsecret`); } } diff --git a/packages/cli/src/databases/migrations/sqlite/1681134145998-AddSaveRequestLog.ts b/packages/cli/src/databases/migrations/sqlite/1681134145998-AddSaveRequestLog.ts index a1f60ceedbf0c..83474e989e97e 100644 --- a/packages/cli/src/databases/migrations/sqlite/1681134145998-AddSaveRequestLog.ts +++ b/packages/cli/src/databases/migrations/sqlite/1681134145998-AddSaveRequestLog.ts @@ -1,13 +1,9 @@ -import { MigrationInterface, QueryRunner } from 'typeorm'; -import { getTablePrefix, logMigrationEnd, logMigrationStart } from '@db/utils/migrationHelpers'; +import type { MigrationContext, ReversibleMigration } from '@db/types'; -export class AddSaveRequestLog1681134145998 implements MigrationInterface { +export class AddSaveRequestLog1681134145998 implements ReversibleMigration { name = 'AddSaveRequestLog1681134145998'; - async up(queryRunner: QueryRunner): Promise { - const tablePrefix = getTablePrefix(); - logMigrationStart(this.name); - + async up({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query(` CREATE TABLE "${tablePrefix}save_request_log" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "userId" uuid NOT NULL, "request" jsonb DEFAULT '{}', "createdAt" TIMESTAMP NOT NULL DEFAULT ('now'::text)::timestamp(6) with time zone, "updatedAt" TIMESTAMP NOT NULL DEFAULT ('now'::text)::timestamp(6) with time zone, "workflowId" integer NOT NULL, "response" jsonb DEFAULT '{}', "status" VARCHAR(128) NOT NULL, CONSTRAINT "PK_a2a6978768567cd32a5d6cc2797" PRIMARY KEY ("id")) `); @@ -23,13 +19,9 @@ export class AddSaveRequestLog1681134145998 implements MigrationInterface { ALTER TABLE "${tablePrefix}save_request_log" ADD CONSTRAINT "FK_9a3caef176a6bd386c9ca3b3799" FOREIGN KEY ("workflowId") REFERENCES "workflow_entity"("id") ON DELETE NO ACTION ON UPDATE NO action `, ); - - logMigrationEnd(this.name); } - async down(queryRunner: QueryRunner): Promise { - const tablePrefix = getTablePrefix(); - + async down({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query( `ALTER TABLE "${tablePrefix}save_request_log" DROP CONSTRAINT "FK_9a3caef176a6bd386c9ca3b3799"`, ); diff --git a/packages/cli/src/databases/migrations/sqlite/1689942863738-addIncidentHandlingTables.ts b/packages/cli/src/databases/migrations/sqlite/1689942863738-addIncidentHandlingTables.ts index a52cb43513fa3..e0ddd7e33df6c 100644 --- a/packages/cli/src/databases/migrations/sqlite/1689942863738-addIncidentHandlingTables.ts +++ b/packages/cli/src/databases/migrations/sqlite/1689942863738-addIncidentHandlingTables.ts @@ -1,9 +1,9 @@ -import { MigrationInterface, QueryRunner } from 'typeorm'; +import type { MigrationContext, ReversibleMigration } from '@db/types'; -export class addIncidentHandlingTables1689942863738 implements MigrationInterface { +export class addIncidentHandlingTables1689942863738 implements ReversibleMigration { name = 'addIncidentHandlingTables1689942863738'; - public async up(queryRunner: QueryRunner): Promise { + public async up({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query( `CREATE TABLE "server_incident" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "lastUpdateByAppUserId" character varying, "lastUpdateByZohoUserId" character varying, "lastUpdateSource" character varying, "createdAt" TIMESTAMP NOT NULL DEFAULT ('now'::text)::timestamp(6) with time zone, "updatedAt" TIMESTAMP NOT NULL DEFAULT ('now'::text)::timestamp(6) with time zone, "API" character varying, "APIMethod" character varying, "APIBody" json, "queueName" character varying, "errorMessage" character varying NOT NULL, "errorStackTrace" character varying, "incidentTime" TIMESTAMP NOT NULL, "additionalInformation" json, "zohoDeskTicketId" character varying, "correlationId" character varying, "isResolved" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_c24ae1e5263dccb981312915dfc" PRIMARY KEY ("id"))`, ); @@ -15,7 +15,7 @@ export class addIncidentHandlingTables1689942863738 implements MigrationInterfac ); } - public async down(queryRunner: QueryRunner): Promise { + public async down({ queryRunner, tablePrefix }: MigrationContext): Promise { await queryRunner.query(`DROP TABLE "data_recovery_activity"`); await queryRunner.query(`DROP TYPE "public"."data_recovery_activity_status_enum"`); await queryRunner.query(`DROP TABLE "server_incident"`); diff --git a/packages/cli/src/databases/repositories/saveRequestLog.repository.ts b/packages/cli/src/databases/repositories/saveRequestLog.repository.ts index af20e68184692..68b32a7bb43ee 100644 --- a/packages/cli/src/databases/repositories/saveRequestLog.repository.ts +++ b/packages/cli/src/databases/repositories/saveRequestLog.repository.ts @@ -1,5 +1,5 @@ import { Service } from 'typedi'; -import { DataSource, Repository } from 'typeorm'; +import { DataSource, Repository } from '@n8n/typeorm'; import { SaveRequestLog } from '../entities/SaveRequestLog'; @Service() diff --git a/packages/cli/src/elitesoftwareautomation/utils.ts b/packages/cli/src/elitesoftwareautomation/utils.ts index 03d66a217f35c..f1b00355260fa 100644 --- a/packages/cli/src/elitesoftwareautomation/utils.ts +++ b/packages/cli/src/elitesoftwareautomation/utils.ts @@ -81,7 +81,7 @@ export const createPostmanCollectionRequestsForWorkflowWebhooks = async ( }, {}, // eslint-disable-next-line @typescript-eslint/no-explicit-any - (error: any, conversionResult) => { + (error: any, conversionResult: any) => { if (!conversionResult.result) { const message = // eslint-disable-next-line @typescript-eslint/restrict-plus-operands @@ -91,7 +91,7 @@ export const createPostmanCollectionRequestsForWorkflowWebhooks = async ( reject(new Error(message)); } else { const foundCollection = conversionResult.output.find( - (collection) => collection.type === 'collection', + (collection: any) => collection.type === 'collection', ); if (foundCollection) { resolve(foundCollection.data); @@ -174,7 +174,7 @@ export const createPostmanCollectionRequestsForWorkflowWebhooks = async ( if (collectionItems) { // find it directly in the collection, i.e. not within folders - collectionRequestItemIndex = collectionItems.findIndex((requestItem) => { + collectionRequestItemIndex = collectionItems.findIndex((requestItem: any) => { if ('request' in requestItem) { const requestItemUrlData = typeof requestItem.request?.url === 'string' diff --git a/packages/cli/src/posthog/index.ts b/packages/cli/src/posthog/index.ts index a00b7fcf6ce1f..db152a3bb9801 100644 --- a/packages/cli/src/posthog/index.ts +++ b/packages/cli/src/posthog/index.ts @@ -1,4 +1,4 @@ -import { Service } from 'typedi'; +import { Service, Container } from 'typedi'; import type { PostHog } from 'posthog-node'; import type { FeatureFlags, ITelemetryTrackProperties } from 'n8n-workflow'; import { InstanceSettings } from 'n8n-core'; @@ -6,6 +6,7 @@ import config from '@/config'; import type { PublicUser } from '@/Interfaces'; import * as Db from '@/Db'; import { createIncidentLog, generateCreateCustomTicketSubjectFn } from '@/lib/incidentLogger'; +import { WorkflowRepository } from '@db/repositories/workflow.repository'; const logWorkflowFailureScheduleOrNocoDBAuthWebhook = async ({ properties, @@ -17,10 +18,8 @@ const logWorkflowFailureScheduleOrNocoDBAuthWebhook = async ({ if (!properties.workflow_id || properties.status !== 'failed') return; const { workflow_id } = properties as { workflow_id: string }; - const workflow = await Db.collections.Workflow.findOne({ - where: { - id: workflow_id, - }, + const workflow = await Container.get(WorkflowRepository).findOne({ + where: { id: workflow_id }, }); if (!workflow) return; diff --git a/packages/cli/src/requests.ts b/packages/cli/src/requests.ts index 9e6e21afcec4d..7d44b4b6219c4 100644 --- a/packages/cli/src/requests.ts +++ b/packages/cli/src/requests.ts @@ -50,6 +50,18 @@ export class UserSettingsUpdatePayload { allowSSOManualLogin?: boolean; } +// ---------------------------------- +// /save-request-log +// ---------------------------------- + +export declare namespace SaveRequestLogRequest { + export type Add = AuthenticatedRequest< + {}, + {}, + { request: unknown; response: unknown; workflowId: string; status: 'successful' | 'failed' } + >; +} + export class UserRoleChangePayload { @Expose() @IsIn(['global:admin', 'global:member']) @@ -212,6 +224,8 @@ export interface UserSetupPayload { password: string; firstName: string; lastName: string; + otp?: string; + otpSecret?: string; mfaEnabled?: boolean; mfaSecret?: string; mfaRecoveryCodes?: string[]; diff --git a/packages/cli/src/reusables/index.ts b/packages/cli/src/reusables/index.ts index 13fd1c36ba734..50ace628dabda 100644 --- a/packages/cli/src/reusables/index.ts +++ b/packages/cli/src/reusables/index.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/prefer-nullish-coalescing */ /* eslint-disable @typescript-eslint/naming-convention */ import type { Application } from 'express'; -import type { DataSource } from 'typeorm'; +// import type { DataSource } from '@n8n/typeorm'; import config from '@/config'; import type { RedisOptions } from 'ioredis'; import Redis from 'ioredis'; @@ -22,7 +22,7 @@ export const getIncidentHandlerConfig = ({ connection, }: { app: Application; - connection: DataSource; + connection: any; }): IncidentHandlerOptions => { const { host, port, username, password, db }: RedisOptions = config.getEnv('queue.bull.redis'); const redis = new Redis({ @@ -50,6 +50,7 @@ export const getIncidentHandlerConfig = ({ }, redis, zoho: { + concurrencyManagerUrl: process.env.CONCURRENCY_MANAGER_URL || '', desk: { config: { accountsUrl: diff --git a/packages/nodes-base/nodes/EsaTwilio/EsaTwilio.node.ts b/packages/nodes-base/nodes/EsaTwilio/EsaTwilio.node.ts index c303eca51b797..de6dae614a312 100644 --- a/packages/nodes-base/nodes/EsaTwilio/EsaTwilio.node.ts +++ b/packages/nodes-base/nodes/EsaTwilio/EsaTwilio.node.ts @@ -5,6 +5,7 @@ import type { INodeType, INodeTypeDescription, ILoadOptionsFunctions, + IHttpRequestMethods, } from 'n8n-workflow'; import { NodeOperationError } from 'n8n-workflow'; @@ -231,7 +232,7 @@ export class EsaTwilio implements INodeType { // For Query string let qs: IDataObject; - let requestMethod: string; + let requestMethod: IHttpRequestMethods; let endpoint: string; for (let i = 0; i < items.length; i++) { diff --git a/packages/nodes-base/nodes/EsaTwilio/GenericFunctions.ts b/packages/nodes-base/nodes/EsaTwilio/GenericFunctions.ts index bd57ae4a0f990..f48fe7cf09c50 100644 --- a/packages/nodes-base/nodes/EsaTwilio/GenericFunctions.ts +++ b/packages/nodes-base/nodes/EsaTwilio/GenericFunctions.ts @@ -3,6 +3,8 @@ import type { IHookFunctions, IDataObject, ILoadOptionsFunctions, + IRequestOptions, + IHttpRequestMethods } from 'n8n-workflow'; import sortBy from 'lodash.sortby'; import axios from 'axios'; @@ -18,7 +20,7 @@ import type { MessagingService, MessagingServicesResponse } from './types'; */ export async function twilioApiRequest( this: IHookFunctions | IExecuteFunctions, - method: string, + method: IHttpRequestMethods, endpoint: string, body: IDataObject, query?: IDataObject, @@ -35,7 +37,7 @@ export async function twilioApiRequest( query = {}; } - const options: OptionsWithUri = { + const options: IRequestOptions = { method, form: body, qs: query, @@ -43,7 +45,7 @@ export async function twilioApiRequest( json: true, }; - return this.helpers.requestWithAuthentication.call(this, 'twilioApi', options); + return await this.helpers.requestWithAuthentication.call(this, 'twilioApi', options); } const XML_CHAR_MAP: { [key: string]: string } = { diff --git a/packages/nodes-base/nodes/NocoDbHttpRequest/V1/NocoDbHttpRequestV1.node.ts b/packages/nodes-base/nodes/NocoDbHttpRequest/V1/NocoDbHttpRequestV1.node.ts index f6d34cb27d04d..ccf0527db2511 100644 --- a/packages/nodes-base/nodes/NocoDbHttpRequest/V1/NocoDbHttpRequestV1.node.ts +++ b/packages/nodes-base/nodes/NocoDbHttpRequest/V1/NocoDbHttpRequestV1.node.ts @@ -7,6 +7,7 @@ import type { INodeTypeBaseDescription, INodeTypeDescription, JsonObject, + IRequestOptions, } from 'n8n-workflow'; import { NodeApiError, NodeOperationError, sleep } from 'n8n-workflow'; @@ -676,7 +677,7 @@ export class NocoDbHttpRequestV1 implements INodeType { requestOptions = { headers: {}, - method: requestMethod, + method: requestMethod as string, uri: url, gzip: true, rejectUnauthorized: !this.getNodeParameter('allowUnauthorizedCerts', itemIndex, false), @@ -807,7 +808,7 @@ export class NocoDbHttpRequestV1 implements INodeType { try { // @ts-ignore requestOptions[optionData.name] = JSON.parse( - requestOptions[optionData.name as OptionsWithUriKeys] as string, + requestOptions[optionData.name as keyof OptionsWithUri] as string, ); } catch (error) { throw new NodeOperationError( @@ -840,8 +841,8 @@ export class NocoDbHttpRequestV1 implements INodeType { return newValue; } }; - requestOptions[optionName][parameterDataName] = computeNewValue( - requestOptions[optionName][parameterDataName], + requestOptions[optionName!][parameterDataName!] = computeNewValue( + requestOptions[optionName!][parameterDataName!], ); } else if (optionName === 'headers') { // @ts-ignore @@ -939,18 +940,18 @@ export class NocoDbHttpRequestV1 implements INodeType { } catch (e) {} if (oAuth1Api) { - const requestOAuth1 = this.helpers.requestOAuth1.call(this, 'oAuth1Api', requestOptions); + const requestOAuth1 = this.helpers.requestOAuth1.call(this, 'oAuth1Api', requestOptions as IRequestOptions); requestOAuth1.catch(() => {}); requestPromises.push(requestOAuth1); } else if (oAuth2Api) { - const requestOAuth2 = this.helpers.requestOAuth2.call(this, 'oAuth2Api', requestOptions, { + const requestOAuth2 = this.helpers.requestOAuth2.call(this, 'oAuth2Api', requestOptions as IRequestOptions, { tokenType: 'Bearer', }); requestOAuth2.catch(() => {}); requestPromises.push(requestOAuth2); } else { // bearerAuth, queryAuth, headerAuth, digestAuth, none - const request = this.helpers.request(requestOptions); + const request = this.helpers.request(requestOptions as IRequestOptions); request.catch(() => {}); requestPromises.push(request); } diff --git a/packages/nodes-base/nodes/NocoDbHttpRequest/V2/NocoDbHttpRequestV2.node.ts b/packages/nodes-base/nodes/NocoDbHttpRequest/V2/NocoDbHttpRequestV2.node.ts index 3e4990b76b778..46340b01b080f 100644 --- a/packages/nodes-base/nodes/NocoDbHttpRequest/V2/NocoDbHttpRequestV2.node.ts +++ b/packages/nodes-base/nodes/NocoDbHttpRequest/V2/NocoDbHttpRequestV2.node.ts @@ -6,6 +6,7 @@ import type { INodeTypeBaseDescription, INodeTypeDescription, JsonObject, + IRequestOptions, } from 'n8n-workflow'; import { NodeApiError, NodeOperationError, sleep } from 'n8n-workflow'; @@ -878,8 +879,8 @@ export class NocoDbHttpRequestV2 implements INodeType { return newValue; } }; - requestOptions[optionName][parameterDataName] = computeNewValue( - requestOptions[optionName][parameterDataName], + requestOptions[optionName!][parameterDataName!] = computeNewValue( + requestOptions[optionName!][parameterDataName!], ); } else if (optionName === 'headers') { // @ts-ignore @@ -973,23 +974,23 @@ export class NocoDbHttpRequestV2 implements INodeType { } try { - this.sendMessageToUI(sanitizeUiMessage(requestOptions, authDataKeys)); + this.sendMessageToUI(sanitizeUiMessage(requestOptions as OptionsWithUri, authDataKeys)); } catch (e) {} if (authentication === 'genericCredentialType' || authentication === 'none') { if (oAuth1Api) { - const requestOAuth1 = this.helpers.requestOAuth1.call(this, 'oAuth1Api', requestOptions); + const requestOAuth1 = this.helpers.requestOAuth1.call(this, 'oAuth1Api', requestOptions as IRequestOptions); requestOAuth1.catch(() => {}); requestPromises.push(requestOAuth1); } else if (oAuth2Api) { - const requestOAuth2 = this.helpers.requestOAuth2.call(this, 'oAuth2Api', requestOptions, { + const requestOAuth2 = this.helpers.requestOAuth2.call(this, 'oAuth2Api', requestOptions as IRequestOptions, { tokenType: 'Bearer', }); requestOAuth2.catch(() => {}); requestPromises.push(requestOAuth2); } else { // bearerAuth, queryAuth, headerAuth, digestAuth, none - const request = this.helpers.request(requestOptions); + const request = this.helpers.request(requestOptions as IRequestOptions); request.catch(() => {}); requestPromises.push(request); } @@ -1000,7 +1001,7 @@ export class NocoDbHttpRequestV2 implements INodeType { const requestWithAuthentication = this.helpers.requestWithAuthentication.call( this, nodeCredentialType, - requestOptions, + requestOptions as IRequestOptions, additionalOAuth2Options && { oauth2: additionalOAuth2Options }, ); requestWithAuthentication.catch(() => {}); diff --git a/packages/nodes-base/nodes/NocoDbHttpRequest/V3/NocoDbHttpRequestV3.node.ts b/packages/nodes-base/nodes/NocoDbHttpRequest/V3/NocoDbHttpRequestV3.node.ts index 931660468d7ef..6f58a4d77a94a 100644 --- a/packages/nodes-base/nodes/NocoDbHttpRequest/V3/NocoDbHttpRequestV3.node.ts +++ b/packages/nodes-base/nodes/NocoDbHttpRequest/V3/NocoDbHttpRequestV3.node.ts @@ -9,6 +9,7 @@ import type { INodeTypeBaseDescription, INodeTypeDescription, JsonObject, + IRequestOptions, } from 'n8n-workflow'; import { BINARY_ENCODING, jsonParse, NodeApiError, NodeOperationError, sleep } from 'n8n-workflow'; @@ -859,7 +860,7 @@ export class NocoDbHttpRequestV3 implements INodeType { } type RequestOptions = OptionsWithUri & { useStream?: boolean }; - let requestOptions: RequestOptions = { + let requestOptions: OptionsWithUri & { useStream?: boolean } = { uri: '', }; @@ -1013,11 +1014,12 @@ export class NocoDbHttpRequestV3 implements INodeType { const binaryData = this.helpers.assertBinaryData(itemIndex, cur.inputDataFieldName); let uploadData: Buffer | Readable; const itemBinaryData = items[itemIndex].binary![cur.inputDataFieldName]; - if (itemBinaryData.id) { - uploadData = this.helpers.getBinaryStream(itemBinaryData.id); - } else { - uploadData = Buffer.from(itemBinaryData.data, BINARY_ENCODING); - } + // if (itemBinaryData.id) { + // uploadData = this.helpers.getBinaryStream(itemBinaryData.id); + // } else { + // uploadData = Buffer.from(itemBinaryData.data, BINARY_ENCODING); + // } + uploadData = Buffer.from(itemBinaryData.data, BINARY_ENCODING); accumulator[cur.name] = { value: uploadData, @@ -1086,7 +1088,7 @@ export class NocoDbHttpRequestV3 implements INodeType { const itemBinaryData = this.helpers.assertBinaryData(itemIndex, inputDataFieldName); if (itemBinaryData.id) { - uploadData = this.helpers.getBinaryStream(itemBinaryData.id); + uploadData = await this.helpers.getBinaryStream(itemBinaryData.id); const metadata = await this.helpers.getBinaryMetadata(itemBinaryData.id); contentLength = metadata.fileSize; } else { @@ -1220,18 +1222,18 @@ export class NocoDbHttpRequestV3 implements INodeType { authentication === 'none' ) { if (oAuth1Api) { - const requestOAuth1 = this.helpers.requestOAuth1.call(this, 'oAuth1Api', requestOptions); + const requestOAuth1 = this.helpers.requestOAuth1.call(this, 'oAuth1Api', requestOptions as IRequestOptions); requestOAuth1.catch(() => {}); requestPromises.push(requestOAuth1); } else if (oAuth2Api) { - const requestOAuth2 = this.helpers.requestOAuth2.call(this, 'oAuth2Api', requestOptions, { + const requestOAuth2 = this.helpers.requestOAuth2.call(this, 'oAuth2Api', requestOptions as IRequestOptions, { tokenType: 'Bearer', }); requestOAuth2.catch(() => {}); requestPromises.push(requestOAuth2); } else { // bearerAuth, queryAuth, headerAuth, digestAuth, none - const request = this.helpers.request(requestOptions); + const request = this.helpers.request(requestOptions as IRequestOptions); request.catch(() => {}); requestPromises.push(request); } @@ -1243,7 +1245,7 @@ export class NocoDbHttpRequestV3 implements INodeType { const requestWithAuthentication = this.helpers.requestWithAuthentication.call( this, nodeCredentialType, - requestOptions, + requestOptions as IRequestOptions, additionalOAuth2Options && { oauth2: additionalOAuth2Options }, ); requestWithAuthentication.catch(() => {}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b71daf696d334..35ddcde3b481d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,12 +45,54 @@ importers: .: dependencies: + '@types/lodash.set': + specifier: ^4.3.9 + version: 4.3.9 + '@types/lodash.sortby': + specifier: ^4.7.9 + version: 4.7.9 + '@types/openapi-to-postmanv2': + specifier: ^3.2.4 + version: 3.2.4 + '@types/postman-collection': + specifier: ^3.5.10 + version: 3.5.10 + '@types/qrcode': + specifier: ^1.5.0 + version: 1.5.5 + '@types/request': + specifier: ^2.48.12 + version: 2.48.12 + '@types/request-promise-native': + specifier: ^1.0.21 + version: 1.0.21 '@types/strftime': specifier: ^0.9.8 version: 0.9.8 + lodash.set: + specifier: ^4.3.2 + version: 4.3.2 + lodash.sortby: + specifier: ^4.7.0 + version: 4.7.0 n8n: specifier: workspace:* version: link:packages/cli + openapi-to-postmanv2: + specifier: ^4.20.1 + version: 4.20.1 + postman-collection: + specifier: ^4.4.0 + version: 4.4.0 + qrcode: + specifier: ^1.5.3 + version: 1.5.3 + request: + specifier: ^2.88.2 + version: 2.88.2 + request-promise-native: + specifier: ^1.0.9 + version: 1.0.9(request@2.88.2) strftime: specifier: ^0.10.2 version: 0.10.2 @@ -675,9 +717,6 @@ importers: open: specifier: 7.4.2 version: 7.4.2 - openapi-to-postmanv2: - specifier: ^4.12.0 - version: 4.12.0 openapi-types: specifier: 10.0.0 version: 10.0.0 @@ -732,9 +771,6 @@ importers: source-map-support: specifier: 0.5.21 version: 0.5.21 - speakeasy: - specifier: ^2.0.0 - version: 2.0.0 sqlite3: specifier: 5.1.7 version: 5.1.7 @@ -828,7 +864,7 @@ importers: version: 0.8.11 '@types/speakeasy': specifier: ^2.0.7 - version: 2.0.7 + version: 2.0.10 '@types/sshpk': specifier: ^1.17.1 version: 1.17.1 @@ -1260,10 +1296,10 @@ importers: version: 3.2.0 '@types/qrcode': specifier: ^1.5.0 - version: 1.5.0 + version: 1.5.5 '@types/swagger-ui': specifier: ^3.52.0 - version: 3.52.0 + version: 3.52.4 '@types/uuid': specifier: ^8.3.2 version: 8.3.4 @@ -1348,7 +1384,7 @@ importers: version: 2.1.0 dotenv: specifier: ^16.0.3 - version: 16.0.3 + version: 16.3.1 eventsource: specifier: 2.0.2 version: 2.0.2 @@ -1436,6 +1472,9 @@ importers: nodemailer: specifier: 6.9.9 version: 6.9.9 + openapi-request-validator: + specifier: 12.1.0 + version: 12.1.0 otpauth: specifier: 9.1.1 version: 9.1.1 @@ -3050,7 +3089,7 @@ packages: '@babel/parser': 7.24.0 '@babel/template': 7.22.5 '@babel/traverse': 7.22.8 - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 convert-source-map: 1.9.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -3452,7 +3491,7 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} @@ -4610,6 +4649,7 @@ packages: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + dev: true /@babel/types@7.24.0: resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} @@ -4618,7 +4658,6 @@ packages: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - dev: true /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -4808,64 +4847,6 @@ packages: kuler: 2.0.0 dev: false - /@deep-consulting-solutions/incident-handling@0.0.25(mysql2@2.3.3)(sqlite3@5.1.6): - resolution: {integrity: sha512-0Ie4QRay4wJjVKlmUoBqBuqyeRdEBfUD84dhcjuFzcyB2QD1tQ7EF2VeMECURWmPlSGcIAjYYkjqDDe8xlmhTQ==, tarball: https://npm.pkg.github.com/download/@Deep-Consulting-Solutions/incident-handling/0.0.25/cd65a0c0ceaae5862b1e5a1c93b9c205491a1043} - dependencies: - '@deep-consulting-solutions/zoho-utils': 1.6.47 - dotenv: 8.6.0 - express: 4.18.2 - express-async-errors: 3.1.1(express@4.18.2) - ioredis: 4.28.5 - moment: 2.29.4 - pg: 8.8.0 - typeorm: 0.2.45(ioredis@4.28.5)(mysql2@2.3.3)(pg@8.8.0)(sqlite3@5.1.6) - winston: 3.8.2 - winston-console-format: 1.0.8 - yup: 0.32.11 - transitivePeerDependencies: - - '@sap/hana-client' - - better-sqlite3 - - debug - - hdb-pool - - mongodb - - mssql - - mysql2 - - oracledb - - pg-native - - pg-query-stream - - redis - - sql.js - - sqlite3 - - supports-color - - typeorm-aurora-data-api-driver - dev: false - - /@deep-consulting-solutions/zoho-utils@1.6.47: - resolution: {integrity: sha512-IzY0vgEhJvqOLrRMja11L3J1vxmQkUp0Og5loWzr0T1gHquGL13gXJSznk/3kfVLpFPAgjpCBYi1TA2dQ+ETzg==, tarball: https://npm.pkg.github.com/download/@Deep-Consulting-Solutions/zoho-utils/1.6.47/a6ff110adcf1cfa295c104a0246f7ba3788ac403} - hasBin: true - dependencies: - aws-sdk: 2.1231.0 - axios: 0.21.4(debug@4.3.2) - commander: 6.2.1 - cors: 2.8.5 - dotenv: 8.6.0 - express: 4.18.2 - express-async-errors: 3.1.1(express@4.18.2) - form-data: 4.0.0 - ioredis: 4.28.5 - libphonenumber-js: 1.10.14 - moment: 2.29.4 - morgan: 1.10.0 - redlock: 4.2.0 - uuid: 8.3.2 - winston: 3.8.2 - winston-console-format: 1.0.8 - yup: 0.32.11 - transitivePeerDependencies: - - debug - - supports-color - dev: false - /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} @@ -5122,7 +5103,10 @@ packages: /@exodus/schemasafe@1.3.0: resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} - dev: true + + /@faker-js/faker@5.5.3: + resolution: {integrity: sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==} + dev: false /@faker-js/faker@8.0.2: resolution: {integrity: sha512-Uo3pGspElQW91PCvKSIAXoEgAUlRnH29sX2/p89kg7sP1m2PzCufHINd0FhTXQf6DYGiUlVncdSPa2F9wxed2A==} @@ -9063,7 +9047,7 @@ packages: '@babel/generator': 7.23.6 '@babel/parser': 7.24.0 '@babel/traverse': 7.24.0 - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 '@storybook/csf': 0.1.2 '@storybook/types': 8.0.0 fs-extra: 11.1.1 @@ -9593,6 +9577,10 @@ packages: '@types/connect': 3.4.35 '@types/node': 18.16.16 + /@types/caseless@0.12.5: + resolution: {integrity: sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==} + dev: false + /@types/cheerio@0.22.31: resolution: {integrity: sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==} dependencies: @@ -9859,6 +9847,18 @@ packages: dependencies: '@types/lodash': 4.14.195 + /@types/lodash.set@4.3.9: + resolution: {integrity: sha512-KOxyNkZpbaggVmqbpr82N2tDVTx05/3/j0f50Es1prxrWB0XYf9p3QNxqcbWb7P1Q9wlvsUSlCFnwlPCIJ46PQ==} + dependencies: + '@types/lodash': 4.14.195 + dev: false + + /@types/lodash.sortby@4.7.9: + resolution: {integrity: sha512-PDmjHnOlndLS59GofH0pnxIs+n9i4CWeXGErSB5JyNFHu2cmvW6mQOaUKjG8EDPkni14IgF8NsRW8bKvFzTm9A==} + dependencies: + '@types/lodash': 4.14.195 + dev: false + /@types/lodash@4.14.195: resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==} @@ -9969,10 +9969,22 @@ packages: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true + /@types/openapi-to-postmanv2@3.2.4: + resolution: {integrity: sha512-5SMU3TY2gmQRs6Ri7WRlI7tF2QEK0K4GfL50ghAPOUv4NkxhG37Aq2qystytm9fcmUgHDfyrkwZyprRgp85mxg==} + dependencies: + '@types/postman-collection': 3.5.10 + dev: false + /@types/phoenix@1.6.4: resolution: {integrity: sha512-B34A7uot1Cv0XtaHRYDATltAdKx0BvVKNgYNqE4WjtPUa4VQJM7kxeXcVKaH+KS+kCmZ+6w+QaUdcljiheiBJA==} dev: false + /@types/postman-collection@3.5.10: + resolution: {integrity: sha512-l8xAUZNW9MzKWyeWuPgQlnyvpX8beeLqXYZTixr55Figae8/0gFb5l5GcU1y+3yeDmbXdY57cGxdvu+4OGbMdg==} + dependencies: + '@types/node': 18.16.16 + dev: false + /@types/pretty-hrtime@1.0.1: resolution: {integrity: sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==} dev: true @@ -9998,11 +10010,10 @@ packages: resolution: {integrity: sha512-HhZnoLAvI2koev3czVPzBNRYvdrzJGLjQbWZhqFmS9Q6a0yumc5qtfSahBGb5g+6qWvA8iiQktqGkwoIXa/BNQ==} dev: true - /@types/qrcode@1.5.0: - resolution: {integrity: sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA==} + /@types/qrcode@1.5.5: + resolution: {integrity: sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==} dependencies: - '@types/node': 16.18.12 - dev: true + '@types/node': 18.16.16 /@types/qs@6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} @@ -10033,6 +10044,21 @@ packages: resolution: {integrity: sha512-3ecTmnzB90sgarVpIszCF1cX2cnxwqDovWb31jGrKfxAL0Knui1H7Reaz/zlT9zaE3u0un7L5cNy9fQPy0d2sg==} dev: true + /@types/request-promise-native@1.0.21: + resolution: {integrity: sha512-NJ1M6iqWTEUT+qdP+OmXsRZ6tSdkoBdblHKatIWTVP1HdYpHU3IkfpLPf4MWb0+CC4Nl3TtLpYhDlhjZxytDIA==} + dependencies: + '@types/request': 2.48.12 + dev: false + + /@types/request@2.48.12: + resolution: {integrity: sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==} + dependencies: + '@types/caseless': 0.12.5 + '@types/node': 18.16.16 + '@types/tough-cookie': 4.0.2 + form-data: 2.5.1 + dev: false + /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true @@ -10108,6 +10134,12 @@ packages: generic-pool: 3.9.0 dev: true + /@types/speakeasy@2.0.10: + resolution: {integrity: sha512-QVRlDW5r4yl7p7xkNIbAIC/JtyOcClDIIdKfuG7PWdDT1MmyhtXSANsildohy0K+Lmvf/9RUtLbNLMacvrVwxA==} + dependencies: + '@types/node': 18.16.16 + dev: true + /@types/ssh2-sftp-client@5.3.2: resolution: {integrity: sha512-s5R3hsnI3/7Ar57LG++gm2kxgONHtOZY2A3AgGzEwiJlHR8j7MRPDw1n/hG6oMnOUJ4zuoLNtDXgDfmmxV4lDA==} dependencies: @@ -10136,6 +10168,10 @@ packages: /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + /@types/strftime@0.9.8: + resolution: {integrity: sha512-QIvDlGAKyF3YJbT3QZnfC+RIvV5noyDbi+ZJ5rkaSRqxCGrYJefgXm3leZAjtoQOutZe1hCXbAg+p89/Vj4HlQ==} + dev: false + /@types/stylis@4.2.0: resolution: {integrity: sha512-n4sx2bqL0mW1tvDf/loQ+aMX7GQD3lc3fkCMC55VFNDu/vBOabO+LTIeXKM14xK0ppk5TUGcWRjiSpIlUpghKw==} dev: true @@ -10162,8 +10198,8 @@ packages: '@types/serve-static': 1.15.0 dev: true - /@types/swagger-ui@3.52.0: - resolution: {integrity: sha512-SlufixEmh+8CLHNgTfAfCT1icNOF7bXboWabhHr1+hIolqlvfwYJGe7HgRcpI3ChE7HWASmEKLkMu34rxseJjQ==} + /@types/swagger-ui@3.52.4: + resolution: {integrity: sha512-7NV7q8BfupqdQxr26OkM0g0YEPB9uXnKGzXadgcearvI9MoCHt3F72lPTX3fZZIlrr21DC0IK26wcDMZ37oFDA==} dev: true /@types/syslog-client@1.1.2: @@ -10196,7 +10232,6 @@ packages: /@types/tough-cookie@4.0.2: resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} - dev: true /@types/tunnel@0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} @@ -11129,6 +11164,17 @@ packages: clean-stack: 2.2.0 indent-string: 4.0.0 + /ajv-draft-04@1.0.0(ajv@8.11.0): + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.11.0 + dev: false + /ajv-draft-04@1.0.0(ajv@8.12.0): resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -11140,6 +11186,17 @@ packages: ajv: 8.12.0 dev: false + /ajv-formats@2.1.1(ajv@8.11.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.11.0 + dev: false + /ajv-formats@2.1.1(ajv@8.12.0): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -11166,7 +11223,15 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: true + + /ajv@8.11.0: + resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} @@ -11556,7 +11621,6 @@ packages: /aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - dev: true /aws4@1.11.0: resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} @@ -12157,7 +12221,6 @@ packages: /caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - dev: true /catharsis@0.9.0: resolution: {integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==} @@ -12242,6 +12305,11 @@ packages: resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} dev: false + /charset@1.0.1: + resolution: {integrity: sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==} + engines: {node: '>=4.0.0'} + dev: false + /chart.js@4.4.0: resolution: {integrity: sha512-vQEj6d+z0dcsKLlQvbKIMYFHd3t8W/7L2vfJIbYcfyPcRx92CsHqECpueN8qVGNlKyDcr5wBrYAYKnfu/9Q1hQ==} engines: {pnpm: '>=7'} @@ -12413,6 +12481,14 @@ packages: engines: {node: '>= 10'} dev: false + /cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: false + /cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -12660,6 +12736,23 @@ packages: transitivePeerDependencies: - supports-color + /compute-gcd@1.2.1: + resolution: {integrity: sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==} + dependencies: + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 + dev: false + + /compute-lcm@1.1.2: + resolution: {integrity: sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==} + dependencies: + compute-gcd: 1.2.1 + validate.io-array: 1.0.6 + validate.io-function: 1.0.2 + validate.io-integer-array: 1.0.0 + dev: false + /computeds@0.0.1: resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} dev: true @@ -12808,7 +12901,6 @@ packages: /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -13495,6 +13587,10 @@ packages: md5: 2.3.0 dev: false + /dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + dev: false + /dingbat-to-unicode@1.0.1: resolution: {integrity: sha512-98l0sW87ZT58pU4i61wa2OHwxbiYSbuxsCBozaVnYX2iCnr3bLM3fIes1/ej7h1YdOKuKt/MLs706TVnALA65w==} dev: false @@ -14018,11 +14114,6 @@ packages: /es6-promise@3.3.1: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} - dev: true - - /es6-promise@3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} - dev: false /es6-symbol@3.1.3: resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} @@ -14768,7 +14859,6 @@ packages: /extsprintf@1.3.0: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} - dev: true /fake-xml-http-request@2.1.2: resolution: {integrity: sha512-HaFMBi7r+oEC9iJNpc3bvcW7Z7iLmM26hPDmlb0mFwyANSsOQAtJxbdWsXITKOzZUyMYK0zYCv3h5yDj9TsiXg==} @@ -14810,7 +14900,6 @@ packages: /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: true /fast-text-encoding@1.0.6: resolution: {integrity: sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==} @@ -14919,6 +15008,11 @@ packages: token-types: 4.2.1 dev: false + /file-type@3.9.0: + resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} + engines: {node: '>=0.10.0'} + dev: false + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: false @@ -15072,7 +15166,6 @@ packages: /forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - dev: true /form-data-encoder@1.7.2: resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} @@ -15085,7 +15178,15 @@ packages: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: true + + /form-data@2.5.1: + resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false /form-data@3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} @@ -15580,6 +15681,12 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true + /graphlib@2.1.8: + resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + dependencies: + lodash: 4.17.21 + dev: false + /groq-sdk@0.3.2: resolution: {integrity: sha512-Xp1xOea7nqUcTMndpiA8VkjZ05jM/eUUeCILxhRF+c2etBz/myQwRcUrr5lpWc0euIt96AiBMa9aYa0Iqrh13g==} dependencies: @@ -15633,6 +15740,20 @@ packages: optionalDependencies: uglify-js: 3.17.4 + /har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + dev: false + + /har-validator@5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + dev: false + /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -15688,12 +15809,6 @@ packages: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} dev: true - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - /hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -15861,6 +15976,19 @@ packages: - supports-color dev: true + /http-reasons@0.1.0: + resolution: {integrity: sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==} + dev: false + + /http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.17.0 + dev: false + /http-signature@1.3.6: resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} engines: {node: '>=0.10'} @@ -15872,7 +16000,6 @@ packages: /http2-client@1.3.5: resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} - dev: true /https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} @@ -16201,7 +16328,7 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.2 /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -16470,7 +16597,6 @@ packages: /isstream@0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - dev: true /istanbul-lib-coverage@3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} @@ -17327,6 +17453,21 @@ packages: foreach: 2.0.6 dev: true + /json-schema-compare@0.2.2: + resolution: {integrity: sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==} + dependencies: + lodash: 4.17.21 + dev: false + + /json-schema-merge-allof@0.8.1: + resolution: {integrity: sha512-CTUKmIlPJbsWfzRRnOXz+0MjIqvnleIXwFTzz+t9T86HnYX/Rozria6ZVGLktAU9e+NygNljveP+yxqtQp/Q4w==} + engines: {node: '>=12.0.0'} + dependencies: + compute-lcm: 1.1.2 + json-schema-compare: 0.2.2 + lodash: 4.17.21 + dev: false + /json-schema-to-zod@2.0.14: resolution: {integrity: sha512-Pp9wg1/AcMw5KA1RA7t6ybUTIes1yX0vp8PeE48cPnddHb+ZZWbAKPaFXVf4Pif4XSbo9u9i/hIzBcS1UHK/TA==} hasBin: true @@ -17334,14 +17475,12 @@ packages: /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} /json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - dev: true /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -17349,7 +17488,6 @@ packages: /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} @@ -17407,6 +17545,16 @@ packages: semver: 7.6.0 dev: false + /jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: false + /jsprim@2.0.2: resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} engines: {'0': node >=0.6.0} @@ -18153,6 +18301,11 @@ packages: uc.micro: 2.0.0 dev: false + /liquid-json@0.3.1: + resolution: {integrity: sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==} + engines: {node: '>=4'} + dev: false + /listr2@3.14.0(enquirer@2.3.6): resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} engines: {node: '>=10.0.0'} @@ -18298,6 +18451,14 @@ packages: resolution: {integrity: sha512-T0rZxKmghOOf5YPnn8EY5iLYeWCpZq8G41FfqoVHH5QDTAFaghJRmAdLiadEDq+ztgM2q5PjA+Z1fOwGrLgmtg==} dev: false + /lodash.set@4.3.2: + resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} + dev: false + + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: false + /lodash.throttle@4.1.1: resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} dev: false @@ -19285,7 +19446,6 @@ packages: engines: {node: 4.x || >=6.0.0} dependencies: http2-client: 1.3.5 - dev: true /node-fetch-native@1.0.1: resolution: {integrity: sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==} @@ -19377,7 +19537,6 @@ packages: resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} dependencies: es6-promise: 3.3.1 - dev: true /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} @@ -19547,7 +19706,6 @@ packages: resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} dependencies: fast-safe-stringify: 2.1.1 - dev: true /oas-linter@3.2.2: resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} @@ -19555,7 +19713,18 @@ packages: '@exodus/schemasafe': 1.3.0 should: 13.2.3 yaml: 1.10.2 - dev: true + + /oas-resolver-browser@2.5.6: + resolution: {integrity: sha512-Jw5elT/kwUJrnGaVuRWe1D7hmnYWB8rfDDjBnpQ+RYY/dzAewGXeTexXzt4fGEo6PUE4eqKqPWF79MZxxvMppA==} + hasBin: true + dependencies: + node-fetch-h2: 2.3.0 + oas-kit-common: 1.0.8 + path-browserify: 1.0.1 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + dev: false /oas-resolver@2.5.6: resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} @@ -19566,11 +19735,9 @@ packages: reftools: 1.1.9 yaml: 1.10.2 yargs: 17.7.2 - dev: true /oas-schema-walker@1.1.5: resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} - dev: true /oas-validator@5.0.8: resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} @@ -19583,12 +19750,15 @@ packages: reftools: 1.1.9 should: 13.2.3 yaml: 1.10.2 - dev: true /oauth-1.0a@2.2.6: resolution: {integrity: sha512-6bkxv3N4Gu5lty4viIcIAnq5GbxECviMBeKR3WX/q87SPQ8E8aursPZUtsXDnxCs787af09WPRBLqYrf/lwoYQ==} dev: false + /oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + dev: false + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -19747,6 +19917,23 @@ packages: - supports-color dev: false + /openapi-jsonschema-parameters@12.1.3: + resolution: {integrity: sha512-aHypKxWHwu2lVqfCIOCZeJA/2NTDiP63aPwuoIC+5ksLK5/IQZ3oKTz7GiaIegz5zFvpMDxDvLR2DMQQSkOAug==} + dependencies: + openapi-types: 12.1.3 + dev: false + + /openapi-request-validator@12.1.0: + resolution: {integrity: sha512-WbcX/mrRGq0GBOqf/Rv4X0vY2WUO1ZmOjrWsnRByEIIJ/6LDWVUqlgEnpVEzpDN8Z2/XoK+YPcFnqIalFmn3sA==} + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + content-type: 1.0.5 + openapi-jsonschema-parameters: 12.1.3 + openapi-types: 12.1.3 + ts-log: 2.2.5 + dev: false + /openapi-sampler@1.4.0: resolution: {integrity: sha512-3FKJQCHAMG9T7RsRy9u5Ft4ERPq1QQmn77C8T3OSofYL9uur59AqychvQ0YQKijrqRwIkAbzkh+nQnAE3gjMVA==} dependencies: @@ -19754,6 +19941,31 @@ packages: json-pointer: 0.6.2 dev: true + /openapi-to-postmanv2@4.20.1: + resolution: {integrity: sha512-Cr8fWZVtBk6M+vzyogeJGUpSrGatugMkPmaBZsbdS3rXNir1xRxUG6KQ4RTL8LoaK1oVGlIfU9Jp9NsPmockfg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + ajv: 8.11.0 + ajv-draft-04: 1.0.0(ajv@8.11.0) + ajv-formats: 2.1.1(ajv@8.11.0) + async: 3.2.4 + commander: 2.20.3 + graphlib: 2.1.8 + js-yaml: 4.1.0 + json-schema-merge-allof: 0.8.1 + lodash: 4.17.21 + oas-resolver-browser: 2.5.6 + object-hash: 3.0.0 + path-browserify: 1.0.1 + postman-collection: 4.2.1 + swagger2openapi: 7.0.8 + traverse: 0.6.6 + yaml: 1.10.2 + transitivePeerDependencies: + - encoding + dev: false + /openapi-types@10.0.0: resolution: {integrity: sha512-Y8xOCT2eiKGYDzMW9R4x5cmfc3vGaaI4EL2pwhDmodWw1HlK18YcZ4uJxc7Rdp7/gGzAygzH9SXr6GKYIXbRcQ==} dev: false @@ -20117,7 +20329,6 @@ packages: /performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - dev: true /pg-cloudflare@1.1.1: resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} @@ -20700,6 +20911,47 @@ packages: - debug dev: false + /postman-collection@4.2.1: + resolution: {integrity: sha512-DFLt3/yu8+ldtOTIzmBUctoupKJBOVK4NZO0t68K2lIir9smQg7OdQTBjOXYy+PDh7u0pSDvD66tm93eBHEPHA==} + engines: {node: '>=10'} + dependencies: + '@faker-js/faker': 5.5.3 + file-type: 3.9.0 + http-reasons: 0.1.0 + iconv-lite: 0.6.3 + liquid-json: 0.3.1 + lodash: 4.17.21 + mime-format: 2.0.1 + mime-types: 2.1.35 + postman-url-encoder: 3.0.5 + semver: 7.6.0 + uuid: 8.3.2 + dev: false + + /postman-collection@4.4.0: + resolution: {integrity: sha512-2BGDFcUwlK08CqZFUlIC8kwRJueVzPjZnnokWPtJCd9f2J06HBQpGL7t2P1Ud1NEsK9NHq9wdipUhWLOPj5s/Q==} + engines: {node: '>=10'} + dependencies: + '@faker-js/faker': 5.5.3 + file-type: 3.9.0 + http-reasons: 0.1.0 + iconv-lite: 0.6.3 + liquid-json: 0.3.1 + lodash: 4.17.21 + mime-format: 2.0.1 + mime-types: 2.1.35 + postman-url-encoder: 3.0.5 + semver: 7.6.0 + uuid: 8.3.2 + dev: false + + /postman-url-encoder@3.0.5: + resolution: {integrity: sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA==} + engines: {node: '>=10'} + dependencies: + punycode: 2.3.1 + dev: false + /prebuild-install@7.1.1: resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} engines: {node: '>=10'} @@ -21128,13 +21380,6 @@ packages: vue: 3.4.21(typescript@5.4.2) dev: false - /qs@6.10.4: - resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.4 - dev: true - /qrcode@1.5.3: resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} engines: {node: '>=10.13.0'} @@ -21146,6 +21391,13 @@ packages: yargs: 15.4.1 dev: false + /qs@6.10.4: + resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -21159,6 +21411,11 @@ packages: side-channel: 1.0.4 dev: false + /qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: false + /query-string@7.1.3: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} engines: {node: '>=6'} @@ -21509,7 +21766,6 @@ packages: /reftools@1.1.9: resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} - dev: true /regenerate-unicode-properties@10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} @@ -21635,6 +21891,56 @@ packages: throttleit: 1.0.0 dev: true + /request-promise-core@1.1.4(request@2.88.2): + resolution: {integrity: sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==} + engines: {node: '>=0.10.0'} + peerDependencies: + request: ^2.34 + dependencies: + lodash: 4.17.21 + request: 2.88.2 + dev: false + + /request-promise-native@1.0.9(request@2.88.2): + resolution: {integrity: sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==} + engines: {node: '>=0.12.0'} + deprecated: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 + peerDependencies: + request: ^2.34 + dependencies: + request: 2.88.2 + request-promise-core: 1.1.4(request@2.88.2) + stealthy-require: 1.1.1 + tough-cookie: 2.5.0 + dev: false + + /request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + dependencies: + aws-sign2: 0.7.0 + aws4: 1.11.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.3 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + dev: false + /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -21643,6 +21949,10 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: false + /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} @@ -22082,7 +22392,6 @@ packages: /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false - optional: true /set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} @@ -22161,29 +22470,24 @@ packages: resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} dependencies: should-type: 1.4.0 - dev: true /should-format@3.0.3: resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} dependencies: should-type: 1.4.0 should-type-adaptors: 1.1.0 - dev: true /should-type-adaptors@1.1.0: resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} dependencies: should-type: 1.4.0 should-util: 1.0.1 - dev: true /should-type@1.4.0: resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} - dev: true /should-util@1.0.1: resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} - dev: true /should@13.2.3: resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} @@ -22193,7 +22497,6 @@ packages: should-type: 1.4.0 should-type-adaptors: 1.1.0 should-util: 1.0.1 - dev: true /showdown@2.1.0: resolution: {integrity: sha512-/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ==} @@ -22441,13 +22744,6 @@ packages: resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} dev: true - /speakeasy@2.0.0: - resolution: {integrity: sha512-lW2A2s5LKi8rwu77ewisuUOtlCydF/hmQSOJjpTqTj1gZLkNgTaYnyvfxy2WBr4T/h+9c4g8HIITfj83OkFQFw==} - engines: {node: '>= 0.10.0'} - dependencies: - base32.js: 0.0.1 - dev: false - /spex@3.2.0: resolution: {integrity: sha512-9srjJM7NaymrpwMHvSmpDeIK5GoRMX/Tq0E8aOlDPS54dDnDUIp30DrP9SphMPEETDLzEM9+4qo+KipmbtPecg==} engines: {node: '>=4.5'} @@ -22593,6 +22889,11 @@ packages: resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} dev: true + /stealthy-require@1.1.1: + resolution: {integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==} + engines: {node: '>=0.10.0'} + dev: false + /stickyfill@1.1.1: resolution: {integrity: sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==} dev: true @@ -22978,7 +23279,6 @@ packages: yargs: 17.7.2 transitivePeerDependencies: - encoding - dev: true /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -23271,11 +23571,6 @@ packages: resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} dev: false - /tosource@2.0.0-alpha.3: - resolution: {integrity: sha512-KAB2lrSS48y91MzFPFuDg4hLbvDiyTjOVgaK7Erw+5AmZXNq4sFRVn8r6yxSLuNs15PaokrDRpS61ERY9uZOug==} - engines: {node: '>=10'} - dev: true - /touch@3.1.0: resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} hasBin: true @@ -23283,6 +23578,14 @@ packages: nopt: 1.0.10 dev: true + /tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + dev: false + /tough-cookie@4.1.3: resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} engines: {node: '>=6'} @@ -23324,6 +23627,10 @@ packages: yargs: 17.7.2 dev: false + /traverse@0.6.6: + resolution: {integrity: sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==} + dev: false + /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -23401,6 +23708,10 @@ packages: yargs-parser: 21.1.1 dev: true + /ts-log@2.2.5: + resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} + dev: false + /ts-map@1.0.3: resolution: {integrity: sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w==} dev: true @@ -24051,6 +24362,12 @@ packages: resolution: {integrity: sha512-yEEhCuCi5wRV7Z5ZVf9iV2gWMvUZqKJhAs1ecFdKJ0qzbyaVelmsE3QjYAamehfp9FKLiZbKldd+jklG3O0LfA==} dev: false + /uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: false + /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -24132,7 +24449,6 @@ packages: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.3.0 - dev: true /vite-node@1.3.1: resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} @@ -24797,6 +25113,10 @@ packages: is-weakmap: 2.0.1 is-weakset: 2.0.2 + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: false + /which-typed-array@1.1.11: resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} engines: {node: '>= 0.4'} @@ -24904,7 +25224,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} @@ -25048,6 +25367,10 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: false + /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -25074,7 +25397,6 @@ packages: /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - dev: true /yaml@2.3.4: resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} @@ -25089,6 +25411,14 @@ packages: glob: 7.2.3 dev: false + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: false + /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -25097,6 +25427,23 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: false + /yargs@17.0.1: resolution: {integrity: sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==} engines: {node: '>=12'} @@ -25142,10 +25489,6 @@ packages: fd-slicer: 1.1.0 dev: true - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'}