diff --git a/.devcontainer/devcontainer.json b/.devcontainer/app/devcontainer.json similarity index 90% rename from .devcontainer/devcontainer.json rename to .devcontainer/app/devcontainer.json index 57941cb1272..0696b70fc67 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/app/devcontainer.json @@ -2,8 +2,8 @@ // README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu { "name": "GROWI-Dev", - "dockerComposeFile": "compose.yml", - "service": "node", + "dockerComposeFile": "../compose.yml", + "service": "app", "workspaceFolder": "/workspace/growi", "features": { @@ -16,7 +16,7 @@ // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "/bin/bash ./.devcontainer/postCreateCommand.sh", + "postCreateCommand": "/bin/bash ./.devcontainer/app/postCreateCommand.sh", // Configure tool-specific properties. "customizations": { diff --git a/.devcontainer/postCreateCommand.sh b/.devcontainer/app/postCreateCommand.sh similarity index 100% rename from .devcontainer/postCreateCommand.sh rename to .devcontainer/app/postCreateCommand.sh diff --git a/.devcontainer/compose.yml b/.devcontainer/compose.yml index f1c0a57a4f2..c94a719252b 100644 --- a/.devcontainer/compose.yml +++ b/.devcontainer/compose.yml @@ -1,5 +1,5 @@ services: - node: + app: image: mcr.microsoft.com/devcontainers/base:ubuntu volumes: - ..:/workspace/growi:delegated @@ -7,6 +7,7 @@ services: - node_modules:/workspace/growi/node_modules - buildcache_app:/workspace/growi/apps/app/.next - ../../growi-docker-compose:/workspace/growi-docker-compose:delegated + - page_bulk_export_tmp:/tmp/page-bulk-export tty: true mongo: @@ -40,7 +41,18 @@ services: - /usr/share/elasticsearch/data - ../../growi-docker-compose/elasticsearch/v8/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml + pdf-converter: + # enabling devcontainer 'features' was not working for secondary devcontainer (https://github.com/devcontainers/features/issues/1175) + image: mcr.microsoft.com/vscode/devcontainers/javascript-node:1-20 + volumes: + - ..:/workspace/growi:delegated + - pnpm-store:/workspace/growi/.pnpm-store + - node_modules:/workspace/growi/node_modules + - page_bulk_export_tmp:/tmp/page-bulk-export + tty: true + volumes: pnpm-store: node_modules: buildcache_app: + page_bulk_export_tmp: diff --git a/.devcontainer/pdf-converter/devcontainer.json b/.devcontainer/pdf-converter/devcontainer.json new file mode 100644 index 00000000000..0804178f27f --- /dev/null +++ b/.devcontainer/pdf-converter/devcontainer.json @@ -0,0 +1,29 @@ +{ + "name": "GROWI-PDF-Converter", + "dockerComposeFile": "../compose.yml", + "service": "pdf-converter", + "workspaceFolder": "/workspace/growi", + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "/bin/bash ./.devcontainer/pdf-converter/postCreateCommand.sh", + + // Configure tool-specific properties. + "customizations": { + "vscode": { + "extensions": [ + "dbaeumer.vscode-eslint", + "mhutchie.git-graph", + "eamodio.gitlens" + ], + "settings": { + "terminal.integrated.defaultProfile.linux": "bash" + } + } + } + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/pdf-converter/postCreateCommand.sh b/.devcontainer/pdf-converter/postCreateCommand.sh new file mode 100644 index 00000000000..a1cb50d19a5 --- /dev/null +++ b/.devcontainer/pdf-converter/postCreateCommand.sh @@ -0,0 +1,17 @@ +# Instal additional packages +sudo apt update +sudo apt-get install -y --no-install-recommends \ + chromium locales fonts-ipafont fonts-ipaexfont fonts-ipafont-gothic fonts-ipafont-mincho +sudo apt-get clean -y + +# Setup pnpm +SHELL=bash pnpm setup +eval "$(cat /home/node/.bashrc)" +# Update pnpm +pnpm i -g pnpm + +# Install turbo +pnpm install turbo --global + +# Install dependencies +turbo run bootstrap diff --git a/.github/workflows/ci-pdf-converter.yml b/.github/workflows/ci-pdf-converter.yml new file mode 100644 index 00000000000..86f523c6e0a --- /dev/null +++ b/.github/workflows/ci-pdf-converter.yml @@ -0,0 +1,168 @@ +name: Node CI for pdf-converter + +on: + push: + branches-ignore: + - release/** + - rc/** + - support/prepare-v** + paths: + - .github/mergify.yml + - .github/workflows/ci-pdf-converter.yml + - .eslint* + - tsconfig.base.json + - turbo.json + - pnpm-lock.yaml + - package.json + - apps/pdf-converter/** + - '!apps/pdf-converter/docker/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + + +jobs: + + ci-pdf-converter-lint: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + + - name: Install dependencies + run: | + pnpm add turbo --global + pnpm install --frozen-lockfile + + - name: Lint + run: | + turbo run lint --filter=@growi/pdf-converter + + - name: Slack Notification + uses: weseek/ghaction-slack-notification@master + if: failure() + with: + type: ${{ job.status }} + job_name: '*Node CI for growi-pdf-converter - test (${{ matrix.node-version }})*' + channel: '#ci' + isCompactMode: true + url: ${{ secrets.SLACK_WEBHOOK_URL }} + + ci-pdf-converter-launch-dev: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + + - name: Install dependencies + run: | + pnpm add turbo --global + pnpm install --frozen-lockfile + + - name: turbo run dev:pdf-converter:ci + working-directory: ./apps/pdf-converter + run: turbo run dev:pdf-converter:ci + + - name: Slack Notification + uses: weseek/ghaction-slack-notification@master + if: failure() + with: + type: ${{ job.status }} + job_name: '*Node CI for growi-pdf-converter - launch-dev (${{ matrix.node-version }})*' + channel: '#ci' + isCompactMode: true + url: ${{ secrets.SLACK_WEBHOOK_URL }} + + ci-pdf-converter-launch-prod: + + if: startsWith(github.head_ref, 'mergify/merge-queue/') + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: 'pnpm' + + - name: Install turbo + run: | + pnpm add turbo --global + + - name: Install dependencies + run: | + pnpm install --frozen-lockfile + + - name: Restore dist + uses: actions/cache/restore@v4 + with: + path: | + **/.turbo + **/dist + key: dist-pdf-converter-prod-${{ runner.OS }}-node${{ matrix.node-version }}-${{ github.sha }} + restore-keys: | + dist-pdf-converter-prod-${{ runner.OS }}-node${{ matrix.node-version }}- + + - name: Build + working-directory: ./apps/pdf-converter + run: | + turbo run build + + - name: Assembling all dependencies + run: | + rm -rf out + pnpm deploy out --prod --filter @growi/pdf-converter + rm -rf apps/pdf-converter/node_modules && mv out/node_modules apps/pdf-converter/node_modules + + - name: pnpm run start:prod:ci + working-directory: ./apps/pdf-converter + run: pnpm run start:prod:ci + + - name: Slack Notification + uses: weseek/ghaction-slack-notification@master + if: failure() + with: + type: ${{ job.status }} + job_name: '*Node CI for growi-pdf-converter - launch-prod (${{ matrix.node-version }})*' + channel: '#ci' + isCompactMode: true + url: ${{ secrets.SLACK_WEBHOOK_URL }} + + - name: Cache dist + uses: actions/cache/save@v4 + with: + path: | + **/.turbo + **/dist + key: dist-pdf-converter-prod-${{ runner.OS }}-node${{ matrix.node-version }}-${{ github.sha }} diff --git a/apps/app/package.json b/apps/app/package.json index 1e1950bcf16..61530a31b02 100644 --- a/apps/app/package.json +++ b/apps/app/package.json @@ -83,6 +83,7 @@ "@growi/remark-growi-directive": "workspace:^", "@growi/remark-lsx": "workspace:^", "@growi/slack": "workspace:^", + "@growi/pdf-converter-client": "workspace:^", "@keycloak/keycloak-admin-client": "^18.0.0", "@slack/web-api": "^6.2.4", "@slack/webhook": "^6.0.0", @@ -205,6 +206,7 @@ "remark-directive": "^3.0.0", "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.0", + "remark-html": "^16.0.1", "remark-math": "^6.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.1", diff --git a/apps/app/src/features/page-bulk-export/client/components/PageBulkExportSelectModal.tsx b/apps/app/src/features/page-bulk-export/client/components/PageBulkExportSelectModal.tsx index 7676736e1dc..2bf735a9480 100644 --- a/apps/app/src/features/page-bulk-export/client/components/PageBulkExportSelectModal.tsx +++ b/apps/app/src/features/page-bulk-export/client/components/PageBulkExportSelectModal.tsx @@ -69,8 +69,7 @@ const PageBulkExportSelectModal = (): JSX.Element => { - {/* TODO: enable in https://redmine.weseek.co.jp/issues/135772 */} - {/* */} + diff --git a/apps/app/src/features/page-bulk-export/server/routes/apiv3/page-bulk-export.ts b/apps/app/src/features/page-bulk-export/server/routes/apiv3/page-bulk-export.ts index 564cc8c1f12..7fd98090045 100644 --- a/apps/app/src/features/page-bulk-export/server/routes/apiv3/page-bulk-export.ts +++ b/apps/app/src/features/page-bulk-export/server/routes/apiv3/page-bulk-export.ts @@ -37,7 +37,7 @@ module.exports = (crowi: Crowi): Router => { const { path, format, restartJob } = req.body; try { - await pageBulkExportService?.createOrResetBulkExportJob(path, req.user, restartJob); + await pageBulkExportService?.createOrResetBulkExportJob(path, format, req.user, restartJob); return res.apiv3({}, 204); } catch (err) { diff --git a/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/index.ts b/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/index.ts index 3beaafb6828..94041777ee0 100644 --- a/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/index.ts +++ b/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/index.ts @@ -1,4 +1,5 @@ import fs from 'fs'; +import path from 'path'; import type { Readable } from 'stream'; import type { IUser } from '@growi/core'; @@ -16,13 +17,14 @@ import CronService from '~/server/service/cron'; import { preNotifyService } from '~/server/service/pre-notify'; import loggerFactory from '~/utils/logger'; -import { PageBulkExportJobInProgressStatus, PageBulkExportJobStatus } from '../../../interfaces/page-bulk-export'; +import { PageBulkExportFormat, PageBulkExportJobInProgressStatus, PageBulkExportJobStatus } from '../../../interfaces/page-bulk-export'; import type { PageBulkExportJobDocument } from '../../models/page-bulk-export-job'; import PageBulkExportJob from '../../models/page-bulk-export-job'; import PageBulkExportPageSnapshot from '../../models/page-bulk-export-page-snapshot'; import { BulkExportJobExpiredError, BulkExportJobRestartedError } from './errors'; +import { requestPdfConverter } from './request-pdf-converter'; import { compressAndUpload } from './steps/compress-and-upload'; import { createPageSnapshotsAsync } from './steps/create-page-snapshots-async'; import { exportPagesToFsAsync } from './steps/export-pages-to-fs-async'; @@ -39,7 +41,7 @@ export interface IPageBulkExportJobCronService { removeStreamInExecution(jobId: ObjectIdLike): void; handleError(err: Error | null, pageBulkExportJob: PageBulkExportJobDocument): void; notifyExportResultAndCleanUp(action: SupportedActionType, pageBulkExportJob: PageBulkExportJobDocument): Promise; - getTmpOutputDir(pageBulkExportJob: PageBulkExportJobDocument): string; + getTmpOutputDir(pageBulkExportJob: PageBulkExportJobDocument, isHtmlPath?: boolean): string; } /** @@ -98,9 +100,14 @@ class PageBulkExportJobCronService extends CronService implements IPageBulkExpor /** * Get the output directory on the fs to temporarily store page files before compressing and uploading + * @param pageBulkExportJob page bulk export job in execution + * @param isHtmlPath whether the tmp output path is for html files */ - getTmpOutputDir(pageBulkExportJob: PageBulkExportJobDocument): string { - return `${this.tmpOutputRootDir}/${pageBulkExportJob._id}`; + getTmpOutputDir(pageBulkExportJob: PageBulkExportJobDocument, isHtmlPath = false): string { + if (isHtmlPath) { + return path.join(this.tmpOutputRootDir, 'html', pageBulkExportJob._id.toString()); + } + return path.join(this.tmpOutputRootDir, pageBulkExportJob._id.toString()); } /** @@ -130,20 +137,25 @@ class PageBulkExportJobCronService extends CronService implements IPageBulkExpor * @param pageBulkExportJob PageBulkExportJob in progress */ async proceedBulkExportJob(pageBulkExportJob: PageBulkExportJobDocument) { - if (pageBulkExportJob.restartFlag) { - await this.cleanUpExportJobResources(pageBulkExportJob, true); - pageBulkExportJob.restartFlag = false; - pageBulkExportJob.status = PageBulkExportJobStatus.initializing; - pageBulkExportJob.statusOnPreviousCronExec = undefined; - await pageBulkExportJob.save(); - } - - // return if job is still the same status as the previous cron exec - if (pageBulkExportJob.status === pageBulkExportJob.statusOnPreviousCronExec) { - return; - } - const User = mongoose.model('User'); try { + if (pageBulkExportJob.restartFlag) { + await this.cleanUpExportJobResources(pageBulkExportJob, true); + pageBulkExportJob.restartFlag = false; + pageBulkExportJob.status = PageBulkExportJobStatus.initializing; + pageBulkExportJob.statusOnPreviousCronExec = undefined; + await pageBulkExportJob.save(); + } + + if (pageBulkExportJob.status === PageBulkExportJobStatus.exporting && pageBulkExportJob.format === PageBulkExportFormat.pdf) { + await requestPdfConverter(pageBulkExportJob); + } + + // return if job is still the same status as the previous cron exec + if (pageBulkExportJob.status === pageBulkExportJob.statusOnPreviousCronExec) { + return; + } + + const User = mongoose.model('User'); const user = await User.findById(getIdForRef(pageBulkExportJob.user)); // update statusOnPreviousCronExec before starting processes that updates status @@ -154,7 +166,7 @@ class PageBulkExportJobCronService extends CronService implements IPageBulkExpor await createPageSnapshotsAsync.bind(this)(user, pageBulkExportJob); } else if (pageBulkExportJob.status === PageBulkExportJobStatus.exporting) { - exportPagesToFsAsync.bind(this)(pageBulkExportJob); + await exportPagesToFsAsync.bind(this)(pageBulkExportJob); } else if (pageBulkExportJob.status === PageBulkExportJobStatus.uploading) { compressAndUpload.bind(this)(user, pageBulkExportJob); @@ -230,9 +242,17 @@ class PageBulkExportJobCronService extends CronService implements IPageBulkExpor const promises = [ PageBulkExportPageSnapshot.deleteMany({ pageBulkExportJob }), + // delete /tmp/page-bulk-export/{jobId} dir fs.promises.rm(this.getTmpOutputDir(pageBulkExportJob), { recursive: true, force: true }), ]; + if (pageBulkExportJob.format === PageBulkExportFormat.pdf) { + promises.push( + // delete /tmp/page-bulk-export/html/{jobId} dir + fs.promises.rm(this.getTmpOutputDir(pageBulkExportJob, true), { recursive: true, force: true }), + ); + } + const results = await Promise.allSettled(promises); results.forEach((result) => { if (result.status === 'rejected') logger.error(result.reason); diff --git a/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/request-pdf-converter.ts b/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/request-pdf-converter.ts new file mode 100644 index 00000000000..d1137fe8d3c --- /dev/null +++ b/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/request-pdf-converter.ts @@ -0,0 +1,62 @@ +import { PdfCtrlSyncJobStatus202Status, PdfCtrlSyncJobStatusBodyStatus, pdfCtrlSyncJobStatus } from '@growi/pdf-converter-client'; + +import { configManager } from '~/server/service/config-manager'; + +import { PageBulkExportJobStatus } from '../../../interfaces/page-bulk-export'; +import type { PageBulkExportJobDocument } from '../../models/page-bulk-export-job'; +import PageBulkExportPageSnapshot from '../../models/page-bulk-export-page-snapshot'; + +import { BulkExportJobExpiredError } from './errors'; + +/** + * Request PDF converter and start pdf convert for the pageBulkExportJob, + * or sync pdf convert status if already started. + */ +export async function requestPdfConverter(pageBulkExportJob: PageBulkExportJobDocument): Promise { + const jobCreatedAt = pageBulkExportJob.createdAt; + if (jobCreatedAt == null) { + throw new Error('createdAt is not set'); + } + + const exportJobExpirationSeconds = configManager.getConfig('crowi', 'app:bulkExportJobExpirationSeconds'); + const bulkExportJobExpirationDate = new Date(jobCreatedAt.getTime() + exportJobExpirationSeconds * 1000); + let pdfConvertStatus: PdfCtrlSyncJobStatusBodyStatus = PdfCtrlSyncJobStatusBodyStatus.HTML_EXPORT_IN_PROGRESS; + + const lastExportPagePath = (await PageBulkExportPageSnapshot.findOne({ pageBulkExportJob }).sort({ path: -1 }))?.path; + if (lastExportPagePath == null) { + throw new Error('lastExportPagePath is missing'); + } + + if (new Date() > bulkExportJobExpirationDate) { + throw new BulkExportJobExpiredError(); + } + + try { + if (pageBulkExportJob.lastExportedPagePath === lastExportPagePath) { + pdfConvertStatus = PdfCtrlSyncJobStatusBodyStatus.HTML_EXPORT_DONE; + } + + if (pageBulkExportJob.status === PageBulkExportJobStatus.failed) { + pdfConvertStatus = PdfCtrlSyncJobStatusBodyStatus.FAILED; + } + + const res = await pdfCtrlSyncJobStatus({ + jobId: pageBulkExportJob._id.toString(), expirationDate: bulkExportJobExpirationDate.toISOString(), status: pdfConvertStatus, + }, { baseURL: configManager.getConfig('crowi', 'app:pageBulkExportPdfConverterUrl') }); + + if (res.data.status === PdfCtrlSyncJobStatus202Status.PDF_EXPORT_DONE) { + pageBulkExportJob.status = PageBulkExportJobStatus.uploading; + await pageBulkExportJob.save(); + } + else if (res.data.status === PdfCtrlSyncJobStatus202Status.FAILED) { + throw new Error('PDF export failed'); + } + } + catch (err) { + // Only set as failure when host is ready but failed. + // If host is not ready, the request should be retried on the next cron execution. + if (!['ENOTFOUND', 'ECONNREFUSED'].includes(err.code)) { + throw err; + } + } +} diff --git a/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/steps/export-pages-to-fs-async.ts b/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/steps/export-pages-to-fs-async.ts index 968804adcc2..da54e49aa3a 100644 --- a/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/steps/export-pages-to-fs-async.ts +++ b/apps/app/src/features/page-bulk-export/server/service/page-bulk-export-job-cron/steps/export-pages-to-fs-async.ts @@ -2,8 +2,13 @@ import fs from 'fs'; import path from 'path'; import { Writable, pipeline } from 'stream'; +import { dynamicImport } from '@cspell/dynamic-import'; import { isPopulated } from '@growi/core'; import { getParentPath, normalizePath } from '@growi/core/dist/utils/path-utils'; +import type { Root } from 'mdast'; +import type * as RemarkHtml from 'remark-html'; +import type * as RemarkParse from 'remark-parse'; +import type * as Unified from 'unified'; import { PageBulkExportFormat, PageBulkExportJobStatus } from '~/features/page-bulk-export/interfaces/page-bulk-export'; @@ -12,11 +17,29 @@ import type { PageBulkExportJobDocument } from '../../../models/page-bulk-export import type { PageBulkExportPageSnapshotDocument } from '../../../models/page-bulk-export-page-snapshot'; import PageBulkExportPageSnapshot from '../../../models/page-bulk-export-page-snapshot'; +async function convertMdToHtml(md: string, htmlConverter: Unified.Processor): Promise { + const htmlString = (await htmlConverter + .process(md)) + .toString(); + + return htmlString; +} + /** * Get a Writable that writes the page body temporarily to fs */ -function getPageWritable(this: IPageBulkExportJobCronService, pageBulkExportJob: PageBulkExportJobDocument): Writable { - const outputDir = this.getTmpOutputDir(pageBulkExportJob); +async function getPageWritable(this: IPageBulkExportJobCronService, pageBulkExportJob: PageBulkExportJobDocument): Promise { + const unified = (await dynamicImport('unified', __dirname)).unified; + const remarkParse = (await dynamicImport('remark-parse', __dirname)).default; + const remarkHtml = (await dynamicImport('remark-html', __dirname)).default; + + const isHtmlPath = pageBulkExportJob.format === PageBulkExportFormat.pdf; + const format = pageBulkExportJob.format === PageBulkExportFormat.pdf ? 'html' : pageBulkExportJob.format; + const outputDir = this.getTmpOutputDir(pageBulkExportJob, isHtmlPath); + // define before the stream starts to avoid creating multiple instances + const htmlConverter = unified() + .use(remarkParse) + .use(remarkHtml); return new Writable({ objectMode: true, write: async(page: PageBulkExportPageSnapshotDocument, encoding, callback) => { @@ -25,12 +48,18 @@ function getPageWritable(this: IPageBulkExportJobCronService, pageBulkExportJob: if (revision != null && isPopulated(revision)) { const markdownBody = revision.body; - const pathNormalized = `${normalizePath(page.path)}.${PageBulkExportFormat.md}`; + const pathNormalized = `${normalizePath(page.path)}.${format}`; const fileOutputPath = path.join(outputDir, pathNormalized); const fileOutputParentPath = getParentPath(fileOutputPath); await fs.promises.mkdir(fileOutputParentPath, { recursive: true }); - await fs.promises.writeFile(fileOutputPath, markdownBody); + if (pageBulkExportJob.format === PageBulkExportFormat.md) { + await fs.promises.writeFile(fileOutputPath, markdownBody); + } + else { + const htmlString = await convertMdToHtml(markdownBody, htmlConverter); + await fs.promises.writeFile(fileOutputPath, htmlString); + } pageBulkExportJob.lastExportedPagePath = page.path; await pageBulkExportJob.save(); } @@ -43,8 +72,12 @@ function getPageWritable(this: IPageBulkExportJobCronService, pageBulkExportJob: }, final: async(callback) => { try { - pageBulkExportJob.status = PageBulkExportJobStatus.uploading; - await pageBulkExportJob.save(); + // If the format is md, the export process ends here. + // If the format is pdf, pdf conversion in pdf-converter has to finish. + if (pageBulkExportJob.format === PageBulkExportFormat.md) { + pageBulkExportJob.status = PageBulkExportJobStatus.uploading; + await pageBulkExportJob.save(); + } } catch (err) { callback(err); @@ -59,7 +92,7 @@ function getPageWritable(this: IPageBulkExportJobCronService, pageBulkExportJob: * Export pages to the file system before compressing and uploading to the cloud storage. * The export will resume from the last exported page if the process was interrupted. */ -export function exportPagesToFsAsync(this: IPageBulkExportJobCronService, pageBulkExportJob: PageBulkExportJobDocument): void { +export async function exportPagesToFsAsync(this: IPageBulkExportJobCronService, pageBulkExportJob: PageBulkExportJobDocument): Promise { const findQuery = pageBulkExportJob.lastExportedPagePath != null ? { pageBulkExportJob, path: { $gt: pageBulkExportJob.lastExportedPagePath }, @@ -69,7 +102,7 @@ export function exportPagesToFsAsync(this: IPageBulkExportJobCronService, pageBu .populate('revision').sort({ path: 1 }).lean() .cursor({ batchSize: this.pageBatchSize }); - const pagesWritable = getPageWritable.bind(this)(pageBulkExportJob); + const pagesWritable = await getPageWritable.bind(this)(pageBulkExportJob); this.setStreamInExecution(pageBulkExportJob._id, pageSnapshotsReadable); diff --git a/apps/app/src/features/page-bulk-export/server/service/page-bulk-export.ts b/apps/app/src/features/page-bulk-export/server/service/page-bulk-export.ts index 1e2b5124010..3c0bfcf82a6 100644 --- a/apps/app/src/features/page-bulk-export/server/service/page-bulk-export.ts +++ b/apps/app/src/features/page-bulk-export/server/service/page-bulk-export.ts @@ -10,7 +10,8 @@ import type { PageModel } from '~/server/models/page'; import Subscription from '~/server/models/subscription'; import loggerFactory from '~/utils/logger'; -import { PageBulkExportFormat, PageBulkExportJobInProgressStatus, PageBulkExportJobStatus } from '../../interfaces/page-bulk-export'; +import type { PageBulkExportFormat } from '../../interfaces/page-bulk-export'; +import { PageBulkExportJobInProgressStatus, PageBulkExportJobStatus } from '../../interfaces/page-bulk-export'; import type { PageBulkExportJobDocument } from '../models/page-bulk-export-job'; import PageBulkExportJob from '../models/page-bulk-export-job'; @@ -40,7 +41,7 @@ class PageBulkExportService implements IPageBulkExportService { /** * Create a new page bulk export job or reset the existing one */ - async createOrResetBulkExportJob(basePagePath: string, currentUser, restartJob = false): Promise { + async createOrResetBulkExportJob(basePagePath: string, format: PageBulkExportFormat, currentUser, restartJob = false): Promise { const Page = mongoose.model('Page'); const basePage = await Page.findByPathAndViewer(basePagePath, currentUser, null, true); @@ -48,7 +49,6 @@ class PageBulkExportService implements IPageBulkExportService { throw new Error('Base page not found or not accessible'); } - const format = PageBulkExportFormat.md; const duplicatePageBulkExportJobInProgress: HydratedDocument | null = await PageBulkExportJob.findOne({ user: currentUser, page: basePage, diff --git a/apps/app/src/server/service/config-loader.ts b/apps/app/src/server/service/config-loader.ts index 03b21e15f4d..f411e2e1cb9 100644 --- a/apps/app/src/server/service/config-loader.ts +++ b/apps/app/src/server/service/config-loader.ts @@ -787,6 +787,12 @@ const ENV_VAR_NAME_TO_CONFIG_INFO: Record = { type: ValueType.NUMBER, default: 5, }, + BULK_EXPORT_PDF_CONVERTER_URL: { + ns: 'crowi', + key: 'app:pageBulkExportPdfConverterUrl', + type: ValueType.STRING, + default: 'http://pdf-converter:3010', + }, BULK_EXPORT_PAGES_ENABLED: { ns: 'crowi', key: 'app:isBulkExportPagesEnabled', diff --git a/apps/pdf-converter/.env b/apps/pdf-converter/.env new file mode 100644 index 00000000000..12c220c7936 --- /dev/null +++ b/apps/pdf-converter/.env @@ -0,0 +1 @@ +PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium diff --git a/apps/pdf-converter/.eslintignore b/apps/pdf-converter/.eslintignore new file mode 100644 index 00000000000..f3e652be545 --- /dev/null +++ b/apps/pdf-converter/.eslintignore @@ -0,0 +1 @@ +/dist/** diff --git a/apps/pdf-converter/.eslintrc.js b/apps/pdf-converter/.eslintrc.js new file mode 100644 index 00000000000..4446a457e21 --- /dev/null +++ b/apps/pdf-converter/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + extends: '../../.eslintrc.js', + rules: { + 'no-useless-constructor': 'off', + '@typescript-eslint/consistent-type-imports': 'off', + }, +}; diff --git a/apps/pdf-converter/.gitignore b/apps/pdf-converter/.gitignore new file mode 100644 index 00000000000..66c68d4c8ae --- /dev/null +++ b/apps/pdf-converter/.gitignore @@ -0,0 +1,2 @@ +/dist +/specs diff --git a/apps/pdf-converter/docker/Dockerfile b/apps/pdf-converter/docker/Dockerfile new file mode 100644 index 00000000000..acfc42350b5 --- /dev/null +++ b/apps/pdf-converter/docker/Dockerfile @@ -0,0 +1,81 @@ +# syntax = docker/dockerfile:1 + +## +## base +## +FROM node:20-slim AS base + +ENV optDir="/opt" + +WORKDIR ${optDir} + +# install pnpm +RUN apt-get update && apt-get install -y ca-certificates wget --no-install-recommends \ + && wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.shrc" SHELL="$(which sh)" sh - +ENV PNPM_HOME="/root/.local/share/pnpm" +ENV PATH="$PNPM_HOME:$PATH" + +# install turbo +RUN pnpm add turbo --global + + + +## +## builder +## +FROM base AS builder + +ENV optDir="/opt" + +WORKDIR ${optDir} + +COPY . . + +RUN pnpm install ---frozen-lockfile + +# build +RUN turbo run build --filter @growi/pdf-converter + +# make artifacts +RUN pnpm deploy out --prod --filter @growi/pdf-converter +RUN rm -rf apps/pdf-converter/node_modules && mv out/node_modules apps/pdf-converter/node_modules +RUN tar -zcf packages.tar.gz \ + package.json \ + apps/pdf-converter/package.json \ + apps/pdf-converter/dist \ + apps/pdf-converter/.env \ + apps/pdf-converter/node_modules + + + +## +## release +## +FROM node:20-slim +LABEL maintainer="Yuki Takei " + +ENV NODE_ENV="production" +ENV PUPPETEER_EXECUTABLE_PATH="/usr/bin/chromium" +ENV LANG="ja_JP.UTF-8" + +ENV optDir="/opt" +ENV appDir="${optDir}/pdf-converter" + +RUN apt-get update && apt-get install -y chromium locales fonts-ipafont fonts-ipaexfont fonts-ipafont-gothic fonts-ipafont-mincho \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/*; \ + echo "ja_JP UTF-8" > /etc/locale.gen && locale-gen; + +# copy artifacts +COPY --from=builder --chown=node:node \ + ${optDir}/packages.tar.gz ${appDir}/ + +USER node +WORKDIR ${appDir} +RUN tar -xf packages.tar.gz && rm packages.tar.gz + +WORKDIR ${appDir}/apps/pdf-converter + +EXPOSE 3010 + +CMD ["node", "dist/index.js"] diff --git a/apps/pdf-converter/package.json b/apps/pdf-converter/package.json new file mode 100644 index 00000000000..167c064f91a --- /dev/null +++ b/apps/pdf-converter/package.json @@ -0,0 +1,44 @@ +{ + "name": "@growi/pdf-converter", + "version": "1.0.0", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "license": "MIT", + "private": true, + "scripts": { + "dev:pdf-converter:ci": "ts-node -r \"dotenv-flow/config\" src/index.ts --ci", + "dev:pdf-converter": "nodemon --watch \"src/**/*.ts\" --ignore \"node_modules/**/*\" --exec ts-node -r \"dotenv-flow/config\" src/index.ts", + "start:prod:ci": "pnpm start:prod --ci", + "start:prod": "node dist/index.js", + "lint": "pnpm eslint **/*.{js,ts}", + "gen:swagger-spec": "SWAGGER_GENERATION=true tsed run generate-swagger --output ./specs", + "build": "pnpm tsc -p tsconfig.build.json" + }, + "dependencies": { + "@godaddy/terminus": "^4.12.1", + "@tsed/cli": "=5.4.3", + "@tsed/cli-core": "=5.4.3", + "@tsed/cli-generate-swagger": "=5.4.3", + "@tsed/common": "=7.84.1", + "@tsed/components-scan": "=7.84.1", + "@tsed/core": "=7.84.1", + "@tsed/di": "=7.84.1", + "@tsed/exceptions": "=7.84.1", + "@tsed/json-mapper": "=7.84.1", + "@tsed/platform-express": "=7.84.1", + "@tsed/schema": "=7.84.1", + "@tsed/swagger": "=7.84.1", + "@tsed/terminus": "=7.84.1", + "axios": "^0.24.0", + "express": "^4.19.2", + "puppeteer": "^23.1.1", + "puppeteer-cluster": "^0.24.0", + "tslib": "^2.8.0" + }, + "devDependencies": { + "@types/connect": "^3.4.38", + "@types/express": "^4.17.21", + "@types/multer": "^1.4.12", + "@types/node": "^22.5.4" + } +} diff --git a/apps/pdf-converter/src/bin/index.ts b/apps/pdf-converter/src/bin/index.ts new file mode 100644 index 00000000000..a1ccc4bd157 --- /dev/null +++ b/apps/pdf-converter/src/bin/index.ts @@ -0,0 +1,9 @@ +import { CliCore } from '@tsed/cli-core'; +import { GenerateSwaggerCmd } from '@tsed/cli-generate-swagger'; + +import Server from '../server'; + +CliCore.bootstrap({ + server: Server, + commands: [GenerateSwaggerCmd], +}); diff --git a/apps/pdf-converter/src/controllers/index.ts b/apps/pdf-converter/src/controllers/index.ts new file mode 100644 index 00000000000..f3a534b750d --- /dev/null +++ b/apps/pdf-converter/src/controllers/index.ts @@ -0,0 +1,2 @@ +export { default as PdfCtrl } from './pdf'; +export { default as TerminusCtrl } from './terminus'; diff --git a/apps/pdf-converter/src/controllers/pdf.ts b/apps/pdf-converter/src/controllers/pdf.ts new file mode 100644 index 00000000000..d7ed50e1276 --- /dev/null +++ b/apps/pdf-converter/src/controllers/pdf.ts @@ -0,0 +1,52 @@ +import { BodyParams, Logger } from '@tsed/common'; +import { Controller, Inject } from '@tsed/di'; +import { InternalServerError } from '@tsed/exceptions'; +import { + Post, Returns, Enum, Description, +} from '@tsed/schema'; + +import PdfConvertService, { JobStatusSharedWithGrowi, JobStatus } from '../service/pdf-convert'; + +@Controller('/pdf') +class PdfCtrl { + + @Inject() + logger: Logger; + + constructor(private readonly pdfConvertService: PdfConvertService) {} + + @Post('/sync-job') + @(Returns(202).ContentType('application/json').Schema({ + type: 'object', + properties: { + status: { type: 'string', enum: Object.values(JobStatus) }, + }, + required: ['status'], + })) + @Returns(500) + @Description(` + Sync job pdf convert status with GROWI. + Register or update job inside pdf-converter with given jobId, expirationDate, and status. + Return resulting status of job to GROWI. + `) + async syncJobStatus( + @BodyParams('jobId') jobId: string, + @BodyParams('expirationDate') expirationDateStr: string, + @BodyParams('status') @Enum(Object.values(JobStatusSharedWithGrowi)) growiJobStatus: JobStatusSharedWithGrowi, + ): Promise<{ status: JobStatus }> { + const expirationDate = new Date(expirationDateStr); + try { + await this.pdfConvertService.registerOrUpdateJob(jobId, expirationDate, growiJobStatus); + const status = this.pdfConvertService.getJobStatus(jobId); // get status before cleanup + this.pdfConvertService.cleanUpJobList(); + return { status }; + } + catch (err) { + this.logger.error('Failed to register or update job', err); + throw new InternalServerError(err); + } + } + +} + +export default PdfCtrl; diff --git a/apps/pdf-converter/src/controllers/terminus.ts b/apps/pdf-converter/src/controllers/terminus.ts new file mode 100644 index 00000000000..92ceb8016a8 --- /dev/null +++ b/apps/pdf-converter/src/controllers/terminus.ts @@ -0,0 +1,25 @@ +import { Logger } from '@tsed/common'; +import { Inject, Injectable } from '@tsed/di'; + +import PdfConvertService from '../service/pdf-convert'; + +@Injectable() +class TerminusCtrl { + + @Inject() + logger: Logger; + + constructor(private readonly pdfConvertService: PdfConvertService) {} + + async $onSignal(): Promise { + this.logger.info('Server is starting cleanup'); + await this.pdfConvertService.closePuppeteerCluster(); + } + + $onShutdown(): void { + this.logger.info('Cleanup finished, server is shutting down'); + } + +} + +export default TerminusCtrl; diff --git a/apps/pdf-converter/src/index.ts b/apps/pdf-converter/src/index.ts new file mode 100644 index 00000000000..a12fcbe50e3 --- /dev/null +++ b/apps/pdf-converter/src/index.ts @@ -0,0 +1,28 @@ +import { $log } from '@tsed/common'; +import { PlatformExpress } from '@tsed/platform-express'; + +import Server from './server'; + +function hasProcessFlag(flag: string): boolean { + return process.argv.join('').indexOf(flag) > -1; +} + +async function bootstrap() { + try { + $log.debug('Start server...'); + const platform = await PlatformExpress.bootstrap(Server); + + await platform.listen(); + $log.debug('Server initialized'); + + if (hasProcessFlag('ci')) { + $log.info('"--ci" flag is detected. Exit process.'); + process.exit(); + } + } + catch (error) { + $log.error(error); + } +} + +bootstrap(); diff --git a/apps/pdf-converter/src/server.ts b/apps/pdf-converter/src/server.ts new file mode 100644 index 00000000000..af5ce58b59e --- /dev/null +++ b/apps/pdf-converter/src/server.ts @@ -0,0 +1,41 @@ +import { PlatformApplication } from '@tsed/common'; +import { Configuration, Inject } from '@tsed/di'; +import express from 'express'; +import '@tsed/swagger'; +import '@tsed/terminus'; + +import * as Controllers from './controllers'; + +import '@tsed/platform-express'; + +const PORT = Number(process.env.PORT || 3010); + +@Configuration({ + port: PORT, + acceptMimes: ['application/json'], + mount: { + '/': [...Object.values(Controllers)], + }, + middlewares: [ + 'json-parser', + express.json({ limit: '50mb' }), + express.urlencoded({ extended: true, limit: '50mb' }), + ], + swagger: [ + { + path: '/v3/docs', + specVersion: '3.0.1', + }, + ], + terminus: { + signals: ['SIGINT', 'SIGTERM'], + }, +}) +class Server { + + @Inject() + app: PlatformApplication; + +} + +export default Server; diff --git a/apps/pdf-converter/src/service/pdf-convert.ts b/apps/pdf-converter/src/service/pdf-convert.ts new file mode 100644 index 00000000000..c9c2cdc0b2a --- /dev/null +++ b/apps/pdf-converter/src/service/pdf-convert.ts @@ -0,0 +1,291 @@ +import fs from 'fs'; +import path from 'path'; +import { Readable, Writable } from 'stream'; +import { pipeline as pipelinePromise } from 'stream/promises'; + +import { Logger, OnInit } from '@tsed/common'; +import { Inject, Service } from '@tsed/di'; +import { Cluster } from 'puppeteer-cluster'; + +interface PageInfo { + htmlString: string; + htmlFilePath: string; +} + +export const JobStatusSharedWithGrowi = { + HTML_EXPORT_IN_PROGRESS: 'HTML_EXPORT_IN_PROGRESS', + HTML_EXPORT_DONE: 'HTML_EXPORT_DONE', + FAILED: 'FAILED', +} as const; + +export const JobStatus = { + ...JobStatusSharedWithGrowi, + PDF_EXPORT_DONE: 'PDF_EXPORT_DONE', +} as const; + +export type JobStatusSharedWithGrowi = typeof JobStatusSharedWithGrowi[keyof typeof JobStatusSharedWithGrowi] +export type JobStatus = typeof JobStatus[keyof typeof JobStatus] + +interface JobInfo { + expirationDate: Date; + status: JobStatus; + currentStream?: Readable; +} + +@Service() +class PdfConvertService implements OnInit { + + private puppeteerCluster: Cluster | undefined; + + private maxConcurrency = 1; + + private convertRetryLimit = 5; + + private tmpOutputRootDir = '/tmp/page-bulk-export'; + + private tmpHtmlDir = `${this.tmpOutputRootDir}/html`; + + private jobList: { + [key: string]: JobInfo; + } = {}; + + @Inject() + logger: Logger; + + async $onInit(): Promise { + if (process.env.SWAGGER_GENERATION === 'true') return; + + await this.initPuppeteerCluster(); + } + + /** + * Register or update job inside jobList with given jobId, expirationDate, and status. + * If job is new, start reading html files and convert them to pdf. + * @param jobId id of PageBulkExportJob + * @param expirationDate expiration date of job + * @param status status of job + */ + async registerOrUpdateJob(jobId: string, expirationDate: Date, status: JobStatusSharedWithGrowi): Promise { + const isJobNew = !(jobId in this.jobList); + + if (isJobNew) { + this.jobList[jobId] = { expirationDate, status }; + } + else { + const jobInfo = this.jobList[jobId]; + jobInfo.expirationDate = expirationDate; + + if (!this.isJobCompleted(jobId)) { + jobInfo.status = status; + } + } + + if (status === JobStatus.FAILED) { + this.jobList[jobId].currentStream?.destroy(new Error('job failed')); + } + + if (isJobNew && status !== JobStatus.FAILED) { + this.readHtmlAndConvertToPdfUntilFinish(jobId); + } + } + + /** + * Get job status + * @param jobId id of PageBulkExportJob + * @returns job status + */ + getJobStatus(jobId: string): JobStatus { + if (!(jobId in this.jobList)) return JobStatus.FAILED; + return this.jobList[jobId].status; + } + + /** + * Clean up job list by removing expired jobs, finished jobs, and failed jobs + */ + cleanUpJobList(): void { + const now = new Date(); + for (const jobId of Object.keys(this.jobList)) { + const job = this.jobList[jobId]; + if (now > job.expirationDate || this.isJobCompleted(jobId)) { + job.currentStream?.destroy(new Error('job expired')); + delete this.jobList[jobId]; + } + } + } + + /** + * Close puppeteer cluster + */ + async closePuppeteerCluster(): Promise { + if (this.puppeteerCluster == null) { + this.logger.info('No puppeteer cluster running for closure'); + return; + } + + this.logger.info('Closing puppeteer cluster...'); + await this.puppeteerCluster.idle(); + await this.puppeteerCluster.close(); + } + + private isJobCompleted(jobId: string): boolean { + if (this.jobList[jobId] == null) return true; + return this.jobList[jobId].status === JobStatus.PDF_EXPORT_DONE || this.jobList[jobId].status === JobStatus.FAILED; + } + + + /** + * Read html files from shared fs path, convert them to pdf, and save them to shared fs path. + * Repeat this until all html files are converted to pdf or job fails. + * @param jobId id of PageBulkExportJob + */ + private async readHtmlAndConvertToPdfUntilFinish(jobId: string): Promise { + while (!this.isJobCompleted(jobId)) { + // eslint-disable-next-line no-await-in-loop + await new Promise(resolve => setTimeout(resolve, 10 * 1000)); + + try { + if (new Date() > this.jobList[jobId].expirationDate) { + throw new Error('Job expired'); + } + + const htmlReadable = this.getHtmlReadable(jobId); + const pdfWritable = this.getPdfWritable(); + this.jobList[jobId].currentStream = htmlReadable; + + // eslint-disable-next-line no-await-in-loop + await pipelinePromise(htmlReadable, pdfWritable); + this.jobList[jobId].currentStream = undefined; + } + catch (err) { + this.logger.error('Failed to convert html to pdf', err); + this.jobList[jobId].status = JobStatus.FAILED; + this.jobList[jobId].currentStream?.destroy(new Error('Failed to convert html to pdf')); + break; + } + } + } + + /** + * Get readable stream that reads html files from shared fs path + * @param jobId id of PageBulkExportJob + * @returns readable stream + */ + private getHtmlReadable(jobId: string): Readable { + const htmlFileEntries = fs.readdirSync(path.join(this.tmpHtmlDir, jobId), { recursive: true, withFileTypes: true }).filter(entry => entry.isFile()); + let index = 0; + + const jobList = this.jobList; + + return new Readable({ + objectMode: true, + async read() { + if (index >= htmlFileEntries.length) { + if (jobList[jobId].status === JobStatus.HTML_EXPORT_DONE && htmlFileEntries.length === 0) { + jobList[jobId].status = JobStatus.PDF_EXPORT_DONE; + } + this.push(null); + return; + } + + const entry = htmlFileEntries[index]; + const htmlFilePath = path.join(entry.parentPath, entry.name); + const htmlString = await fs.promises.readFile(htmlFilePath, 'utf-8'); + + this.push({ htmlString, htmlFilePath }); + + index += 1; + }, + }); + } + + /** + * Get writable stream that converts html to pdf, and save it to shared fs path + * @returns writable stream + */ + private getPdfWritable(): Writable { + return new Writable({ + objectMode: true, + write: async(pageInfo: PageInfo, encoding, callback) => { + const fileOutputPath = pageInfo.htmlFilePath.replace(new RegExp(`^${this.tmpHtmlDir}`), this.tmpOutputRootDir).replace(/\.html$/, '.pdf'); + const fileOutputParentPath = this.getParentPath(fileOutputPath); + + try { + const pdfBody = await this.convertHtmlToPdf(pageInfo.htmlString); + await fs.promises.mkdir(fileOutputParentPath, { recursive: true }); + await fs.promises.writeFile(fileOutputPath, pdfBody); + + await fs.promises.rm(pageInfo.htmlFilePath, { force: true }); + } + catch (err) { + callback(err); + return; + } + callback(); + }, + }); + } + + /** + * Convert html to pdf. Retry up to convertRetryLimit if failed. + * @param htmlString html to convert to pdf + * @returns converted pdf + */ + private async convertHtmlToPdf(htmlString: string): Promise { + const executeConvert = async(retries: number) => { + try { + return this.puppeteerCluster.execute(htmlString); + } + catch (err) { + if (retries > 0) { + this.logger.error('Failed to convert markdown to pdf. Retrying...', err); + return executeConvert(retries - 1); + } + throw err; + } + }; + + const result = await executeConvert(this.convertRetryLimit); + + return result; + } + + /** + * Initialize puppeteer cluster + */ + private async initPuppeteerCluster(): Promise { + this.puppeteerCluster = await Cluster.launch({ + concurrency: Cluster.CONCURRENCY_PAGE, + maxConcurrency: this.maxConcurrency, + workerCreationDelay: 10000, + }); + + await this.puppeteerCluster.task(async({ page, data: htmlString }) => { + await page.setContent(htmlString, { waitUntil: 'domcontentloaded' }); + await page.emulateMediaType('screen'); + const pdfResult = await page.pdf({ + margin: { + top: '100px', right: '50px', bottom: '100px', left: '50px', + }, + printBackground: true, + format: 'A4', + }); + return pdfResult; + }); + } + + /** + * Get parent path from given path + * @param path target path + * @returns parent path + */ + private getParentPath(path: string): string { + const parentPath = path.split('/').slice(0, -1).join('/'); + if (parentPath === '' || parentPath === '/') { + return '/'; + } + return parentPath; + } + +} + +export default PdfConvertService; diff --git a/apps/pdf-converter/tsconfig.build.json b/apps/pdf-converter/tsconfig.build.json new file mode 100644 index 00000000000..6cb7efc907c --- /dev/null +++ b/apps/pdf-converter/tsconfig.build.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "noEmit": false, + }, + "exclude": ["node_modules", "dist", "test"] +} diff --git a/apps/pdf-converter/tsconfig.json b/apps/pdf-converter/tsconfig.json new file mode 100644 index 00000000000..cbb714b984b --- /dev/null +++ b/apps/pdf-converter/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "dist", + "declaration": true, + "target": "ES2020", + "lib": ["ES2020", "dom"], + "module": "commonjs", + "moduleResolution": "node", + "rootDir": "src", + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "strict": false + }, + "include": ["./src/**/*", "./test/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/apps/pdf-converter/turbo.json b/apps/pdf-converter/turbo.json new file mode 100644 index 00000000000..7b50bb747ac --- /dev/null +++ b/apps/pdf-converter/turbo.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://turbo.build/schema.json", + "extends": ["//"], + "tasks": { + "gen:swagger-spec": { + "outputs": ["specs/**"], + "outputLogs": "new-only" + }, + "dev:pdf-converter": { + "cache": false, + "persistent": true + }, + "dev:pdf-converter:ci": { + "cache": false + }, + "build": { + "outputs": ["dist/**"], + "outputLogs": "new-only" + } + } +} diff --git a/packages/pdf-converter-client/.eslintignore b/packages/pdf-converter-client/.eslintignore new file mode 100644 index 00000000000..1f42e8af793 --- /dev/null +++ b/packages/pdf-converter-client/.eslintignore @@ -0,0 +1,3 @@ +src/index.ts +dist/index.d.ts +dist/index.js diff --git a/packages/pdf-converter-client/.gitignore b/packages/pdf-converter-client/.gitignore new file mode 100644 index 00000000000..849ddff3b7e --- /dev/null +++ b/packages/pdf-converter-client/.gitignore @@ -0,0 +1 @@ +dist/ diff --git a/packages/pdf-converter-client/orval.config.js b/packages/pdf-converter-client/orval.config.js new file mode 100644 index 00000000000..2fe751e1f31 --- /dev/null +++ b/packages/pdf-converter-client/orval.config.js @@ -0,0 +1,6 @@ +module.exports = { + 'client-library': { + input: '../../apps/pdf-converter/specs/v3/docs/swagger.yaml', + output: './src/index.ts', + }, +}; diff --git a/packages/pdf-converter-client/package.json b/packages/pdf-converter-client/package.json new file mode 100644 index 00000000000..aa2ab8d0de8 --- /dev/null +++ b/packages/pdf-converter-client/package.json @@ -0,0 +1,20 @@ +{ + "name": "@growi/pdf-converter-client", + "version": "1.0.0", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "license": "MIT", + "private": true, + "scripts": { + "lint": "pnpm eslint **/*.{js,ts}", + "gen:client-code": "orval", + "dev": "pnpm gen:client-code && tsc -p tsconfig.json", + "build": "pnpm gen:client-code && tsc -p tsconfig.json" + }, + "dependencies": { + "axios": "^0.24.0" + }, + "devDependencies": { + "orval": "=7.2.0" + } +} diff --git a/packages/pdf-converter-client/src/index.ts b/packages/pdf-converter-client/src/index.ts new file mode 100644 index 00000000000..06fc0fabb21 --- /dev/null +++ b/packages/pdf-converter-client/src/index.ts @@ -0,0 +1,96 @@ +/** + * Generated by orval v7.2.0 🍺 + * Do not edit manually. + * Api documentation + * OpenAPI spec version: 1.0.0 + */ +import axios from 'axios' +import type { + AxiosRequestConfig, + AxiosResponse +} from 'axios' +export type PdfCtrlSyncJobStatus202Status = typeof PdfCtrlSyncJobStatus202Status[keyof typeof PdfCtrlSyncJobStatus202Status]; + + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const PdfCtrlSyncJobStatus202Status = { + HTML_EXPORT_IN_PROGRESS: 'HTML_EXPORT_IN_PROGRESS', + HTML_EXPORT_DONE: 'HTML_EXPORT_DONE', + FAILED: 'FAILED', + PDF_EXPORT_DONE: 'PDF_EXPORT_DONE', +} as const; + +export type PdfCtrlSyncJobStatus202 = { + status: PdfCtrlSyncJobStatus202Status; +}; + +export type PdfCtrlSyncJobStatusBodyStatus = typeof PdfCtrlSyncJobStatusBodyStatus[keyof typeof PdfCtrlSyncJobStatusBodyStatus]; + + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const PdfCtrlSyncJobStatusBodyStatus = { + HTML_EXPORT_IN_PROGRESS: 'HTML_EXPORT_IN_PROGRESS', + HTML_EXPORT_DONE: 'HTML_EXPORT_DONE', + FAILED: 'FAILED', +} as const; + +export type PdfCtrlSyncJobStatusBody = { + expirationDate?: string; + jobId?: string; + status?: PdfCtrlSyncJobStatusBodyStatus; +}; + +export interface GenericError { + /** + * An error message + * @minLength 1 + */ + message: string; + /** + * The error name + * @minLength 1 + */ + name: string; + [key: string]: unknown; + } + +export interface InternalServerError { + /** A list of related errors */ + errors?: GenericError[]; + /** + * An error message + * @minLength 1 + */ + message: string; + /** + * The error name + * @minLength 1 + */ + name: string; + /** The stack trace (only in development mode) */ + stack?: string; + /** The status code of the exception */ + status: number; +} + + + + + + /** + * + Sync job pdf convert status with GROWI. + Register or update job inside pdf-converter with given jobId, expirationDate, and status. + Return resulting status of job to GROWI. + + */ +export const pdfCtrlSyncJobStatus = >( + pdfCtrlSyncJobStatusBody?: PdfCtrlSyncJobStatusBody, options?: AxiosRequestConfig + ): Promise => { + return axios.post( + `/pdf/sync-job`, + pdfCtrlSyncJobStatusBody,options + ); + } + +export type PdfCtrlSyncJobStatusResult = AxiosResponse diff --git a/packages/pdf-converter-client/tsconfig.json b/packages/pdf-converter-client/tsconfig.json new file mode 100644 index 00000000000..85a59086841 --- /dev/null +++ b/packages/pdf-converter-client/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "dist", + "declaration": true, + "rootDir": "src", + "noEmit": false + }, + "include": ["./src/**/*"] +} diff --git a/packages/pdf-converter-client/turbo.json b/packages/pdf-converter-client/turbo.json new file mode 100644 index 00000000000..cd82342fd72 --- /dev/null +++ b/packages/pdf-converter-client/turbo.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://turbo.build/schema.json", + "extends": ["//"], + "tasks": { + "build": { + "dependsOn": ["@growi/pdf-converter#gen:swagger-spec"], + "outputs": ["dist/**"], + "outputLogs": "new-only" + }, + "dev": { + "dependsOn": ["@growi/pdf-converter#gen:swagger-spec"], + "outputs": ["dist/**"], + "outputLogs": "new-only" + } + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index deea714c45e..26087b29949 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -231,6 +231,9 @@ importers: '@growi/core': specifier: workspace:^ version: link:../../packages/core + '@growi/pdf-converter-client': + specifier: workspace:^ + version: link:../../packages/pdf-converter-client '@growi/pluginkit': specifier: workspace:^ version: link:../../packages/pluginkit @@ -509,7 +512,7 @@ importers: version: 1.5.1 openai: specifier: ^4.56.0 - version: 4.56.0(encoding@0.1.13) + version: 4.56.0(encoding@0.1.13)(zod@3.23.8) openid-client: specifier: ^5.4.0 version: 5.6.5 @@ -624,6 +627,9 @@ importers: remark-gfm: specifier: ^4.0.0 version: 4.0.0 + remark-html: + specifier: ^16.0.1 + version: 16.0.1 remark-math: specifier: ^6.0.0 version: 6.0.0 @@ -831,7 +837,7 @@ importers: version: 3.1.0 eslint-plugin-jest: specifier: ^26.5.3 - version: 26.9.0(@typescript-eslint/eslint-plugin@5.59.7(@typescript-eslint/parser@5.59.7(eslint@8.41.0)(typescript@5.4.2))(eslint@8.41.0)(typescript@5.4.2))(eslint@8.41.0)(jest@29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)))(typescript@5.4.2) + version: 26.9.0(@typescript-eslint/eslint-plugin@5.59.7(@typescript-eslint/parser@5.59.7(eslint@8.41.0)(typescript@5.4.2))(eslint@8.41.0)(typescript@5.4.2))(eslint@8.41.0)(jest@29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)))(typescript@5.4.2) fslightbox-react: specifier: ^1.7.6 version: 1.7.6(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -855,7 +861,7 @@ importers: version: 4.2.0 jest: specifier: ^29.5.0 - version: 29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)) + version: 29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)) jest-date-mock: specifier: ^1.0.8 version: 1.0.10 @@ -891,7 +897,7 @@ importers: version: 5.1.0(react@18.2.0) react-dnd: specifier: ^14.0.5 - version: 14.0.5(@types/hoist-non-react-statics@3.3.5)(@types/node@20.14.0)(@types/react@18.3.3)(react@18.2.0) + version: 14.0.5(@types/hoist-non-react-statics@3.3.5)(@types/node@22.8.7)(@types/react@18.3.3)(react@18.2.0) react-dnd-html5-backend: specifier: ^14.1.0 version: 14.1.0 @@ -932,6 +938,79 @@ importers: specifier: ^7.0.8 version: 7.0.8(encoding@0.1.13) + apps/pdf-converter: + dependencies: + '@godaddy/terminus': + specifier: ^4.12.1 + version: 4.12.1 + '@tsed/cli': + specifier: '=5.4.3' + version: 5.4.3(@tsed/cli-core@5.4.3(@babel/core@7.24.6)(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(ejs@3.1.10)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/cli-core': + specifier: '=5.4.3' + version: 5.4.3(@babel/core@7.24.6)(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(ejs@3.1.10)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tsed/cli-generate-swagger': + specifier: '=5.4.3' + version: 5.4.3(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1))(@tsed/swagger@7.84.1(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1))) + '@tsed/common': + specifier: '=7.84.1' + version: 7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1) + '@tsed/components-scan': + specifier: '=7.84.1' + version: 7.84.1(@tsed/core@7.84.1) + '@tsed/core': + specifier: '=7.84.1' + version: 7.84.1 + '@tsed/di': + specifier: '=7.84.1' + version: 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/exceptions': + specifier: '=7.84.1' + version: 7.84.1(@tsed/core@7.84.1) + '@tsed/json-mapper': + specifier: '=7.84.1' + version: 7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/platform-express': + specifier: '=7.84.1' + version: 7.84.1(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1))(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1)(@tsed/platform-views@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/engines@7.83.4)(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))(@types/multer@1.4.12)(body-parser@1.20.3)(cross-env@7.0.0)(multer@1.4.4) + '@tsed/schema': + specifier: '=7.84.1' + version: 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + '@tsed/swagger': + specifier: '=7.84.1' + version: 7.84.1(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1)) + '@tsed/terminus': + specifier: '=7.84.1' + version: 7.84.1(@godaddy/terminus@4.12.1)(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1))(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + axios: + specifier: ^0.24.0 + version: 0.24.0 + express: + specifier: ^4.19.2 + version: 4.21.0 + puppeteer: + specifier: ^23.1.1 + version: 23.6.1(typescript@5.4.2) + puppeteer-cluster: + specifier: ^0.24.0 + version: 0.24.0(puppeteer@23.6.1(typescript@5.4.2)) + tslib: + specifier: ^2.8.0 + version: 2.8.0 + devDependencies: + '@types/connect': + specifier: ^3.4.38 + version: 3.4.38 + '@types/express': + specifier: ^4.17.21 + version: 4.17.21 + '@types/multer': + specifier: ^1.4.12 + version: 1.4.12 + '@types/node': + specifier: ^22.5.4 + version: 22.8.7 + apps/slackbot-proxy: dependencies: '@godaddy/terminus': @@ -948,13 +1027,13 @@ importers: version: 6.12.0 '@tsed/common': specifier: '=6.43.0' - version: 6.43.0(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 6.43.0(handlebars@4.7.7)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tsed/di': specifier: '=6.43.0' version: 6.43.0 '@tsed/platform-express': specifier: '=6.43.0' - version: 6.43.0(@types/multer@1.4.11)(body-parser@1.20.3) + version: 6.43.0(@types/multer@1.4.12)(body-parser@1.20.3) '@tsed/schema': specifier: '=6.43.0' version: 6.43.0 @@ -1227,6 +1306,16 @@ importers: specifier: ^13.6.19 version: 13.6.19 + packages/pdf-converter-client: + dependencies: + axios: + specifier: ^0.24.0 + version: 0.24.0 + devDependencies: + orval: + specifier: '=7.2.0' + version: 7.2.0(encoding@0.1.13)(openapi-types@12.1.3)(typescript@5.4.2) + packages/pluginkit: dependencies: '@growi/core': @@ -1685,6 +1774,9 @@ packages: '@antfu/utils@0.7.10': resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + '@apidevtools/json-schema-ref-parser@9.0.6': + resolution: {integrity: sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==} + '@apidevtools/json-schema-ref-parser@9.1.2': resolution: {integrity: sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==} @@ -1700,6 +1792,14 @@ packages: peerDependencies: openapi-types: '>=7' + '@apidevtools/swagger-parser@10.1.0': + resolution: {integrity: sha512-9Kt7EuS/7WbMAUv2gSziqjvxwDbFSg3Xeyfuj5laUODX8o/k/CpsAKiQ8W7/R88eXFTMbJYg6+7uAmOWNKmwnw==} + peerDependencies: + openapi-types: '>=7' + + '@asyncapi/specs@4.3.1': + resolution: {integrity: sha512-EfexhJu/lwF8OdQDm28NKLJHFkx0Gb6O+rcezhZYLPIoNYKXJMh2J1vFGpwmfAcTTh+ffK44Oc2Hs1Q4sLBp+A==} + '@aws-crypto/crc32@3.0.0': resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} @@ -2524,138 +2624,282 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.24.0': + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.24.0': + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.24.0': + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.24.0': + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.24.0': + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.24.0': + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.24.0': + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.24.0': + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.24.0': + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.24.0': + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.24.0': + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.24.0': + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.24.0': + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.24.0': + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.24.0': + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.24.0': + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.24.0': + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.24.0': + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.24.0': + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.24.0': + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.24.0': + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.24.0': + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.24.0': + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.24.0': + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2724,6 +2968,14 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} deprecated: Use @eslint/object-schema instead + '@ibm-cloud/openapi-ruleset-utilities@1.4.0': + resolution: {integrity: sha512-m033WjdlX3k5aSpK2iNX61hS4INEJXUpAxr1l1wBamRQklZpXE2EZKcDQ5AuqVMyz4VV9e46RTp6MAcwXh0gbA==} + engines: {node: '>=16.0.0'} + + '@ibm-cloud/openapi-ruleset@1.23.2': + resolution: {integrity: sha512-yNdrVw9OZ8AHb1FR+o4k1ST5c+kXOKOMKYkRi1nFBtOlOuAZU+FMym9tnFa3lOS9+ePipul5DBJj3Hhd70vFpw==} + engines: {node: '>=16.0.0'} + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -2843,6 +3095,18 @@ packages: resolution: {integrity: sha512-n5JEf16Wr4mdkRMZ8wMP/wN9/sHmTjRPbouXjJH371mZ2LEGDl72t8tEsMRNFerQN/QJtivOxqK1frdGa4QK5Q==} engines: {node: '>=10'} + '@jsep-plugin/regex@1.0.3': + resolution: {integrity: sha512-XfZgry4DwEZvSFtS/6Y+R48D7qJYJK6R9/yJFyUFHCIUMEEHuJ4X95TDgJp5QkmzfLYvapMPzskV5HpIDrREug==} + engines: {node: '>= 10.16.0'} + peerDependencies: + jsep: ^0.4.0||^1.0.0 + + '@jsep-plugin/ternary@1.1.3': + resolution: {integrity: sha512-qtLGzCNzPVJ3kdH6/zoLWDPjauHIKiLSBAR71Wa0+PWvGA8wODUQvRgxtpUA5YqAYL3CQ8S4qXhd/9WuWTZirg==} + engines: {node: '>= 10.16.0'} + peerDependencies: + jsep: ^0.4.0||^1.0.0 + '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} @@ -3172,6 +3436,43 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This functionality has been moved to @npmcli/fs + '@npmcli/node-gyp@1.0.3': + resolution: {integrity: sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==} + + '@npmcli/promise-spawn@1.3.2': + resolution: {integrity: sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==} + + '@npmcli/run-script@3.0.1': + resolution: {integrity: sha512-o2fkld5hYwu9sKYzoXTpqEocMnDLaigobaPzLaGB63k/ExmLBTaB+KpfKlpcIePPnuP8RFR+0GDI4KopJCM6Xg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} + + '@orval/angular@7.2.0': + resolution: {integrity: sha512-wjizqcEqu90VzYBrasfRdk4Xy7mzFN+K0ioXiC8UwCzFpNJOqNnLK6Jw09qPKP1BkwRsvYp8STquXJ5Z5DCKsg==} + + '@orval/axios@7.2.0': + resolution: {integrity: sha512-RnOMK3xet97h7a2oJ1g0sPv2mTFwM701a3BzNmlQFwC49oOQv2ZhKNiHlKwkTwk5C/PwblkA/WHK9wU9DtUCgw==} + + '@orval/core@7.2.0': + resolution: {integrity: sha512-46BZ+1xCydgbZ7shHxdE3QGMYwhOuKAgOPiTRNZpHvCp4iUdkh64kA9PPObSfQmp5BtYZI+ADVgEue2KBUdK/A==} + + '@orval/fetch@7.2.0': + resolution: {integrity: sha512-jX82Lrk10hBmRm5gbxALREn97P20IBCbwc0adXmdD1JiuxOESDiTvn3UMM0FJUQAmc7maU3+mWN6+Kr0emD88A==} + + '@orval/hono@7.2.0': + resolution: {integrity: sha512-ENLWcpLltPueq4Ygevqne27ph4HR0T48yGbp9XiTCNPa1IfJYfmh66qaNLvAezbnJ8B1JeiYO8wKhQ9hZQTtWg==} + + '@orval/mock@7.2.0': + resolution: {integrity: sha512-9shlOuMUlz93m8FhYb1gJHtmQR0iixdC+262r2NTQcZ0EWKj7Rg7mnvAHCiTfSLhs9cbOpOO1T4VU5jcBQAWCA==} + + '@orval/query@7.2.0': + resolution: {integrity: sha512-XVSI/dQAPdi9RNIzTjdood7u+PRwNtyGanhN65LFhQr1jMYG1mrPZJW7vyTinHEcJRJnNXdMBdfqoOPUGmBrgQ==} + + '@orval/swr@7.2.0': + resolution: {integrity: sha512-LbMFyUVU2RD7PLBRku8GGnktjv9QasQ8VKh996uLhlKlzgVWd1yjE1z5U9k0KKCgJPyRiH7lV3IcTSEa457gUA==} + + '@orval/zod@7.2.0': + resolution: {integrity: sha512-WjJabVPrICOgj0ReLB4ooKIxVbvYtqskGcmNkXv1xiNDbgpcpYpYk9HYJ43zTN0bw3T4+8RmpvoLRgHi1TtdzQ==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -3185,12 +3486,29 @@ packages: engines: {node: '>=18'} hasBin: true + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + engines: {node: '>=12'} + '@polka/url@1.0.0-next.25': resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + '@puppeteer/browsers@2.4.0': + resolution: {integrity: sha512-x8J1csfIygOwf6D6qUAZ0ASk3z63zPb7wkNeHRerCMh82qWKUrOgkuP005AJC8lDL6/evtXETGEJVcwykKT4/g==} + engines: {node: '>=18'} + hasBin: true + '@react-dnd/asap@4.0.1': resolution: {integrity: sha512-kLy0PJDDwvwwTXxqTFNAAllPHD73AycE9ypWeln/IguoGBEbvFcPDbCV03G52bEcC5E+YgupBE0VzHGdC8SIXg==} @@ -3726,6 +4044,83 @@ packages: '@sqltools/formatter@1.2.5': resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} + '@stoplight/better-ajv-errors@1.0.3': + resolution: {integrity: sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==} + engines: {node: ^12.20 || >= 14.13} + peerDependencies: + ajv: '>=8' + + '@stoplight/json-ref-readers@1.2.2': + resolution: {integrity: sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==} + engines: {node: '>=8.3.0'} + + '@stoplight/json-ref-resolver@3.1.6': + resolution: {integrity: sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==} + engines: {node: '>=8.3.0'} + + '@stoplight/json@3.21.7': + resolution: {integrity: sha512-xcJXgKFqv/uCEgtGlPxy3tPA+4I+ZI4vAuMJ885+ThkTHFVkC+0Fm58lA9NlsyjnkpxFh4YiQWpH+KefHdbA0A==} + engines: {node: '>=8.3.0'} + + '@stoplight/ordered-object-literal@1.0.5': + resolution: {integrity: sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==} + engines: {node: '>=8'} + + '@stoplight/path@1.3.2': + resolution: {integrity: sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==} + engines: {node: '>=8'} + + '@stoplight/spectral-core@1.19.1': + resolution: {integrity: sha512-YiWhXdjyjn4vCl3102ywzwCEJzncxapFcj4dxcj1YP/bZ62DFeGJ8cEaMP164vSw2kI3rX7EMMzI/c8XOUnTfQ==} + engines: {node: ^12.20 || >= 14.13} + + '@stoplight/spectral-formats@1.7.0': + resolution: {integrity: sha512-vJ1vIkA2s96fdJp0d3AJBGuPAW3sj8yMamyzR+dquEFO6ZAoYBo/BVsKKQskYzZi/nwljlRqUmGVmcf2PncIaA==} + engines: {node: '>=12'} + + '@stoplight/spectral-functions@1.9.0': + resolution: {integrity: sha512-T+xl93ji8bpus4wUsTq8Qr2DSu2X9PO727rbxW61tTCG0s17CbsXOLYI+Ezjg5P6aaQlgXszGX8khtc57xk8Yw==} + engines: {node: '>=12'} + + '@stoplight/spectral-parsers@1.0.4': + resolution: {integrity: sha512-nCTVvtX6q71M8o5Uvv9kxU31Gk1TRmgD6/k8HBhdCmKG6FWcwgjiZouA/R3xHLn/VwTI/9k8SdG5Mkdy0RBqbQ==} + engines: {node: ^12.20 || >=14.13} + + '@stoplight/spectral-ref-resolver@1.0.4': + resolution: {integrity: sha512-5baQIYL0NJTSVy8v6RxOR4U51xOUYM8wJri1YvlAT6bPN8m0EIxMwfVYi0xUZEMVeHcWx869nIkoqyWmOutF2A==} + engines: {node: '>=12'} + + '@stoplight/spectral-rulesets@1.20.2': + resolution: {integrity: sha512-7Y8orZuNyGyeHr9n50rMfysgUJ+/zzIEHMptt66jiy82GUWl+0nr865DkMuXdC5GryfDYhtjoRTUCVsXu80Nkg==} + engines: {node: '>=12'} + + '@stoplight/spectral-runtime@1.1.2': + resolution: {integrity: sha512-fr5zRceXI+hrl82yAVoME+4GvJie8v3wmOe9tU+ZLRRNonizthy8qDi0Z/z4olE+vGreSDcuDOZ7JjRxFW5kTw==} + engines: {node: '>=12'} + + '@stoplight/types@12.5.0': + resolution: {integrity: sha512-dwqYcDrGmEyUv5TWrDam5TGOxU72ufyQ7hnOIIDdmW5ezOwZaBFoR5XQ9AsH49w7wgvOqB2Bmo799pJPWnpCbg==} + engines: {node: '>=8'} + + '@stoplight/types@13.20.0': + resolution: {integrity: sha512-2FNTv05If7ib79VPDA/r9eUet76jewXFH2y2K5vuge6SXbRHtWBhcaRmu+6QpF4/WRNoJj5XYRSwLGXDxysBGA==} + engines: {node: ^12.20 || >=14.13} + + '@stoplight/types@13.6.0': + resolution: {integrity: sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==} + engines: {node: ^12.20 || >=14.13} + + '@stoplight/types@14.1.1': + resolution: {integrity: sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==} + engines: {node: ^12.20 || >=14.13} + + '@stoplight/yaml-ast-parser@0.0.50': + resolution: {integrity: sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==} + + '@stoplight/yaml@4.3.0': + resolution: {integrity: sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==} + engines: {node: '>=10.8'} + '@swc-node/core@1.13.1': resolution: {integrity: sha512-emB5l2nZsXjUEAuusqjYvWnQMLWZp6K039Mv8aq5SX1rsNM/N7DNhw1i4/DX7AyzNZ0tT+ASWyTvqEURldp5HA==} engines: {node: '>= 10'} @@ -3941,6 +4336,9 @@ packages: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} + '@tootallnate/quickjs-emscripten@0.23.0': + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -3960,39 +4358,217 @@ packages: '@tsconfig/node16@1.0.3': resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + '@tsed/cli-core@5.4.3': + resolution: {integrity: sha512-o9Zg7JCffdXtcCpAQZXUmPVBqCq8DCzmt8XphmZbwQfTgPQKpnnHEt/8bylrFgpRVVVQTV4DE8ooBVYQGYnh5A==} + peerDependencies: + '@tsed/core': '>=7.14.2' + '@tsed/di': '>=7.14.2' + + '@tsed/cli-generate-swagger@5.4.3': + resolution: {integrity: sha512-roSIAB/NxwYmWKlZlZIkHi6hGdJoNP7d3Jkvq4pMUzEsQIWxDHIiRxQc4bidfTStH2lWqhOoGxBiAWsG14cUIQ==} + peerDependencies: + '@tsed/common': '>=7.14.2' + '@tsed/swagger': '>=7.14.2' + + '@tsed/cli@5.4.3': + resolution: {integrity: sha512-/LZ+1a8o0qz7gqyBIyssu+CsHCZqzDvqy/UO7kaz5dvQrix3XkubwgoHjIuouLO2ZHFbWHIXQhJhlRzlZSY5wQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + '@tsed/cli-core': 5.4.3 + '@tsed/core': '>=7.14.2' + '@tsed/di': '>=7.14.2' + '@tsed/logger': '>=6.2.1' + '@tsed/openspec': '>=7.14.2' + '@tsed/schema': '>=7.14.2' + '@tsed/common@6.43.0': resolution: {integrity: sha512-/tSElT1SVH7xbw+h89PLzm0Lhm3RzmVb04al/391wQX5W9rCGPevgFB1HN5zVNQqKFfvKPoTrvzLEHjNZj1jRQ==} + '@tsed/common@7.84.1': + resolution: {integrity: sha512-l9ubzbhCpAEkhM/63MUAz40Z7E2TwYLZga3Gn3/eijT93ZY1ou+HXoglOxzAbLorWZz07F1giw/ASZXnXOCkwg==} + peerDependencies: + '@tsed/logger': '>=6.7.5' + '@tsed/logger-file': '>=6.7.5' + + '@tsed/components-scan@7.84.1': + resolution: {integrity: sha512-/EmAOsyXCISdiKKILIt2XkF6XANFKvn6Qzs4jwEC7b0f4XoXGEs3T0dWeYL6/viP4I36vdBM7vJiqsZaCFXPvA==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/core@6.43.0': resolution: {integrity: sha512-6e3QWTCVla/BtI0bg0/ALvZf0i2MhfQwm32UHr4tHECmJ28AcStD6tc/zF9ffFEJr7xjHrFcMuvdEb3fhPLR4w==} + '@tsed/core@7.84.1': + resolution: {integrity: sha512-enbp0xjN0NOJB+IWQ/ttJlIUcCR8xYWmgtTKCKLGmXPrXrSL7sG3u0OxDpzGpaogarB7PYPOVEnLDLiXYW0uFA==} + '@tsed/di@6.43.0': resolution: {integrity: sha512-F1dM4KfhwOOmv9dKVaoi65wnLW6hPacVpiXYREqPhBHnAMSsQcpdgbvc7cFU3rO5ymPA8IHGLpDsfOM1aj8EcA==} + '@tsed/di@7.84.1': + resolution: {integrity: sha512-qAQ/foBlQpSquVpke3JVaWcsPljtJ1epaOHjaaBKIXcsxWI6oLk87pxRSyYoYnxSMGh1+fy9XntGtxqYD+czyA==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/logger': '>=6.7.5' + '@tsed/schema': 7.84.1 + + '@tsed/engines@7.83.4': + resolution: {integrity: sha512-0MD8Nx0bzt3af6R2GzvVafH5TcwQA8CQgSxC3YejFf2R1IdRESLAMTu3LTJLWl4aZ7ripnaN3UO5d2sgqHGP6Q==} + '@tsed/exceptions@6.43.0': resolution: {integrity: sha512-Sz0Zt51xsoXbF36dWm1vl74pVmAmHAhbykl3pIH5Cnbr4vqp3K5OpPPD/ZVxzfKJrTfiIN15zmvs5eXbyjXu5g==} + '@tsed/exceptions@7.84.1': + resolution: {integrity: sha512-AmCyX9TzxF5mXLPE7BJqYuEQqkxNfVka/vP4FHOi0M5TxgULErTI2WYjkN2ZHLgHioYoio2UVbXyjXnpzMIv4Q==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/json-mapper@6.43.0': resolution: {integrity: sha512-Sy4w5VzSHsERdfBUAxZmkSCf6pC7Ri7qjCNBX9RaZQteqePPOBxugUzOqQCaOBoadawfpn9KDljo+gZbCjqJ9w==} + '@tsed/json-mapper@7.84.1': + resolution: {integrity: sha512-bCMcE+TTar9rf9HoTu5sIo/b4dM11oQaXjMQlFRYotf3tRwfRPNYpJaurip6W2DgSSWaJ1jPPZNBgIbehaurkQ==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/schema': 7.84.1 + + '@tsed/logger-file@6.7.8': + resolution: {integrity: sha512-xOZtTia2ipZRSdaRcOeCSajfYHV+FvTxvtmtiu1gP9l7tvtsAS7TZ3e6XY0LsFZdv/3Eor7n1jVdaEKZYznMwA==} + peerDependencies: + '@tsed/logger': 6.7.8 + '@tsed/logger@5.17.0': resolution: {integrity: sha512-co8DdRgtQaisudEQFP2/7y/ji9bnB9QrJYfEr0SEqdHIBJdwuq8joo2vyfOY8ht/w5LOcqo2NVebtwULSsD9Pg==} + '@tsed/logger@6.7.8': + resolution: {integrity: sha512-4VB4+nt7Ljihp7IEv7RmosxsRyXZGhnesqlcNEyE8r1WZCVdXvUn2YmyF+4zMkaX1pR5Vaf80i4IDp7WSW9gwg==} + + '@tsed/normalize-path@7.84.1': + resolution: {integrity: sha512-POM02iHLhru07AabwFpB+cSGwulzlyNUSovFoS/3V4QTS5eQ7A6/GOB3nYOdtlOJ+Qg37tJWhI/DH8ek9NlpPQ==} + '@tsed/openspec@6.43.0': resolution: {integrity: sha512-vX25uMQ9DZj9F8ZUE4ztsLJDcC9Wjb7OPUqd97Ve+SQoVt0iK5cxw103hBfEjG1Jag2J6IEbeX5SbXjepTZdXg==} + '@tsed/openspec@7.84.1': + resolution: {integrity: sha512-iuNLazzVAX/RdCJlpM4UiXnvcn3zAzzBEgLYmmAO8YRvOptN88itUAszuO/eAc6TPtMcrtQoy4fLD4yzMz4Veg==} + + '@tsed/platform-exceptions@7.84.1': + resolution: {integrity: sha512-yuUbwIMzovEk+Q00OQWeEHsT/XvfTGMu20/SLwEzNLUVgiEOclj0lwjFo9Bmq0rBjdYiAsrDLCiwwAfqJ95Utw==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1 + '@tsed/exceptions': 7.84.1 + '@tsed/schema': 7.84.1 + '@tsed/platform-express@6.43.0': resolution: {integrity: sha512-FsBJfR3wT3qwON8TS5cTITGG/si2KiW+vYXUXCbcgsyRgTGi83K2rNlVcRsZPqCwIJ/pH1fEWjQfMpLYbTIpSQ==} peerDependencies: '@types/multer': ^1.4.5 body-parser: 1.19.0 + '@tsed/platform-express@7.84.1': + resolution: {integrity: sha512-5Xz5P/AbkmE12UcWZtVBSlbL4KOBOJAzH6WfW29wdCRullro58m1HHsfXGHzpMmBhX0uzLj0559VOx/bf07qPg==} + peerDependencies: + '@tsed/common': 7.84.1 + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1 + '@tsed/json-mapper': 7.84.1 + '@tsed/logger': '>=6.7.5' + '@tsed/openspec': 7.84.1 + '@tsed/platform-views': 7.84.1 + '@tsed/schema': 7.84.1 + '@types/multer': ^1.4.5 + body-parser: ^1.19.0 + cross-env: 7.0.3 + multer: ^1.4.5-lts.1 + peerDependenciesMeta: + '@tsed/platform-views': + optional: true + + '@tsed/platform-log-middleware@7.84.1': + resolution: {integrity: sha512-5ICD5qqVdWa/dln2qDLx0PYl0Z09atOXu7znlk7PC+EB4WC9IH09/crF7sBIqxUDWLOlsOc1kcUC9HYUzjnyLg==} + peerDependencies: + '@tsed/di': 7.84.1 + '@tsed/platform-middlewares': 7.84.1 + '@tsed/platform-params': 7.84.1 + + '@tsed/platform-middlewares@7.84.1': + resolution: {integrity: sha512-UI4DuD2Y7LkK55Sy0FaHGhUUsMeuD+ZOCE4aJ0TkvCN1MnqaHF7OWWTb4K8DDB6wua/UYT3gW1sA49MtrO5soA==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1 + '@tsed/schema': 7.84.1 + peerDependenciesMeta: + '@tsed/core': + optional: true + '@tsed/di': + optional: true + '@tsed/schema': + optional: true + + '@tsed/platform-params@7.84.1': + resolution: {integrity: sha512-I1l1G+5c0nCHsLo46QrOwYkIfDl638RpXnBsasy9X9kVsGKdw6kCeKlnCbSzGdVEYMklEc0JPHKE+6yc+mX+xA==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1 + '@tsed/exceptions': 7.84.1 + '@tsed/json-mapper': 7.84.1 + '@tsed/schema': 7.84.1 + + '@tsed/platform-response-filter@7.84.1': + resolution: {integrity: sha512-XlCNSd8zjsv7P5mcZDCT0D/gvmA7GyDD/8xuvkNw37m+JA11qIuAo3B8Xpowp6kWDXtZf0N6ZJMa0bdiIdmWGA==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1 + '@tsed/exceptions': 7.84.1 + '@tsed/json-mapper': 7.84.1 + '@tsed/schema': 7.84.1 + + '@tsed/platform-router@7.84.1': + resolution: {integrity: sha512-ja50nrEjdJDLH86tS67SUizxYs9JMn4Hhif8myxOB1zTtPGdGKQQKGvMbZPFVfhBOgNK7JERPDxq4XEWnqg2MQ==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1 + '@tsed/exceptions': 7.84.1 + '@tsed/json-mapper': 7.84.1 + '@tsed/platform-params': 7.84.1 + '@tsed/schema': 7.84.1 + + '@tsed/platform-views@7.84.1': + resolution: {integrity: sha512-7IwXyTJyMBdRrJZxyeeAu3fgq9WAnYbgOHN/kxRQPfB1ae7ZyYkpyU+/vX/yeSmTlL6e+10lIINBEfdFfoDBgw==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1 + '@tsed/engines': 7.84.1 + '@tsed/exceptions': 7.84.1 + '@tsed/schema': 7.84.1 + '@tsed/schema@6.43.0': resolution: {integrity: sha512-fEP2ieYENPHLXba7ZT7Atys85A//g1f2LSvfWVVdyRPd+fZ/QKA61pDhFV/chWhNGrymqBRNczXcUVnq16l3dA==} + '@tsed/schema@7.84.1': + resolution: {integrity: sha512-RV7Wph9+EuR3QLyadeyxW4/bk6DfLRpxQ+wURWUx6bD407euYZpEC7uah+Ex44QtqMou99c+WEUxU+QLijmt9Q==} + peerDependencies: + '@tsed/core': 7.84.1 + '@tsed/openspec': 7.84.1 + '@tsed/swagger@6.43.0': resolution: {integrity: sha512-wuL5UdlYEpV9mj3smx9Sxq7MhAC5ra32Sc0GL3n+3M2JeWQi2eELNhcsZBDVioh49yfcsI3S1c1/tTHNZPvLdw==} + '@tsed/swagger@7.84.1': + resolution: {integrity: sha512-Ux8IB45BZT5PxAzp1Ds+LFmYrRZ6zkUYlRHAqTslX/hzO7XhyYAzAr5ZdhawGm2UFBv+fDrsj5wIaE8V6H4SBA==} + peerDependencies: + '@tsed/common': 7.84.1 + + '@tsed/terminus@7.84.1': + resolution: {integrity: sha512-m99ZOZ4G0Hsq2YR3YW6jBd3PHpBAntJj79RRbf5xGfojMoGUDARjVecXfF3w7tm9KT2AJaK8jf5r+8APnUR2Pg==} + peerDependencies: + '@godaddy/terminus': ^4.7.1 + '@tsed/common': 7.84.1 + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1 + '@tsed/schema': 7.84.1 + '@tsed/typeorm@6.43.0': resolution: {integrity: sha512-B2xU8fsKQYaAW+DNDoAOvawmqaqmKLia17p9AdTcc1aaxsJ51KTdpOxn9CkwcvWExMqyJNrJldELiaH5LuBqOw==} peerDependencies: @@ -4058,6 +4634,9 @@ packages: '@types/debug@4.1.7': resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + '@types/es-aggregate-error@1.0.6': + resolution: {integrity: sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg==} + '@types/eslint-scope@3.7.7': resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} @@ -4079,6 +4658,9 @@ packages: '@types/express@4.17.21': resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/fs-extra@9.0.13': + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + '@types/glob@7.2.0': resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} @@ -4097,6 +4679,9 @@ packages: '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/inquirer@8.2.10': + resolution: {integrity: sha512-IdD5NmHyVjWM8SHWo/kPBgtzXatwPkfwzyP3fN1jF2g9BWt5WO+8hL2F4o2GKIYsU40PpqeevuUWvkS/roXJkA==} + '@types/is-stream@1.1.0': resolution: {integrity: sha512-jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==} @@ -4154,8 +4739,8 @@ packages: '@types/ms@0.7.31': resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - '@types/multer@1.4.11': - resolution: {integrity: sha512-svK240gr6LVWvv3YGyhLlA+6LRRWA4mnGIU7RcNmgjBYFl6665wcXrRfxGp5tEPVHUNm5FMcmq7too9bxCwX/w==} + '@types/multer@1.4.12': + resolution: {integrity: sha512-pQ2hoqvXiJt2FP9WQVLPRO+AmiIm/ZYkavPlIQnx282u4ZrVdztx0pkh3jjpQt0Kz+YI0YhSG264y08UJKoUQg==} '@types/node-cron@3.0.11': resolution: {integrity: sha512-0ikrnug3/IyneSHqCBeslAhlK2aBfYek1fGo4bP4QnZPmiqSGRK+Oy7ZMisLWkesffJvQ1cqAcBnJC+8+nxIAg==} @@ -4175,6 +4760,9 @@ packages: '@types/node@20.14.0': resolution: {integrity: sha512-5cHBxFGJx6L4s56Bubp4fglrEpmyJypsqI6RgzMfBHWUJQGWAAi8cWcgetEbZXHYXo9C2Fa4EEds/uSyS4cxmA==} + '@types/node@22.8.7': + resolution: {integrity: sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==} + '@types/normalize-package-data@2.4.0': resolution: {integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==} @@ -4239,6 +4827,9 @@ packages: '@types/throttle-debounce@5.0.2': resolution: {integrity: sha512-pDzSNulqooSKvSNcksnV72nk8p7gRqN8As71Sp28nov1IgmPKWbOEIwAWvBME5pPTtaXJAvG3O4oc76HlQ4kqQ==} + '@types/through@0.0.33': + resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} + '@types/unist@2.0.3': resolution: {integrity: sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==} @@ -4248,6 +4839,9 @@ packages: '@types/unzip-stream@0.3.4': resolution: {integrity: sha512-ud0vtsNRF+joUCyvNMyo0j5DKX2Lh/im+xVgRzBEsfHhQYZ+i4fKTveova9XxLzt6Jl6G0e/0mM4aC0gqZYSnA==} + '@types/urijs@1.19.25': + resolution: {integrity: sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg==} + '@types/url-join@4.0.3': resolution: {integrity: sha512-3l1qMm3wqO0iyC5gkADzT95UVW7C/XXcdvUcShOideKF0ddgVRErEQQJXBd2kvQm+aSgqhBGHGB38TgMeT57Ww==} @@ -4272,6 +4866,9 @@ packages: '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + '@types/zen-observable@0.8.3': resolution: {integrity: sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==} @@ -4592,6 +5189,27 @@ packages: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-errors@3.0.0: + resolution: {integrity: sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==} + peerDependencies: + ajv: ^8.0.1 + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv-keywords@3.5.2: resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: @@ -4600,12 +5218,18 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.6.2: - resolution: {integrity: sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==} + ajv@8.11.0: + resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} alien-signals@0.2.1: resolution: {integrity: sha512-FlEQrDJe9r2RI4cDlnK2zYqJezvx1uJaWEuwxsnlFqnPwvJbgitNBRumWrLDv8lA+7cCikpMxfJD2TTHiaTklA==} + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -4765,10 +5389,18 @@ packages: ast-types-flow@0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} + ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} + astring@1.9.0: + resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} + hasBin: true + async-canvas-to-blob@1.0.3: resolution: {integrity: sha512-jXuowR9cJC9TzAyGv4sUh6ilOKuGUvjzJ1GAZMwgaa+q0rXO+SFVyo7GUUCp89mJ/OEVYlAT/gIx3Tlv0fChRw==} @@ -4839,6 +5471,9 @@ packages: axios@0.26.1: resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} + axios@1.6.7: + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + axios@1.7.2: resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} @@ -4896,6 +5531,18 @@ packages: bare-events@2.4.2: resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} + bare-fs@2.3.5: + resolution: {integrity: sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==} + + bare-os@2.4.4: + resolution: {integrity: sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==} + + bare-path@2.1.3: + resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==} + + bare-stream@2.3.2: + resolution: {integrity: sha512-EFZHSIBkDgSHIwj2l2QZfP4U5OcD4xFAOwhSb/vlr9PIqyGJGvB/nfClJbcnh3EY4jtPE4zsb5ztae96bVF79A==} + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -4911,6 +5558,10 @@ packages: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} + basic-ftp@5.0.5: + resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} + engines: {node: '>=10.0.0'} + batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} @@ -4967,6 +5618,10 @@ packages: bowser@2.11.0: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -5124,6 +5779,10 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + camelize-ts@1.0.9: resolution: {integrity: sha512-ePOW3V2qrQ0qtRlcTM6Qe3nXremdydIwsMKI1Vl2NBGM0tOo8n2xzJ7YOQpV1GIKHhs3p+F40ThI8/DoYWbYKQ==} @@ -5169,6 +5828,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + change-case@4.1.2: resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} @@ -5231,6 +5894,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -5239,6 +5906,11 @@ packages: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} + chromium-bidi@0.8.0: + resolution: {integrity: sha512-uJydbGdTw0DEUjhoogGveneJVWX/9YuqkWePzMmkBYwtdAqo5d3J/ovNKFr+/2hWXYmYCr6it8mSSTIj6SS6Ug==} + peerDependencies: + devtools-protocol: '*' + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -5253,6 +5925,10 @@ packages: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -5278,6 +5954,10 @@ packages: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + cli-width@3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} @@ -5405,6 +6085,10 @@ packages: resolution: {integrity: sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==} engines: {node: ^12.20.0 || >=14} + commander@9.3.0: + resolution: {integrity: sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==} + engines: {node: ^12.20.0 || >=14} + commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} @@ -5412,6 +6096,9 @@ packages: commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + compare-versions@6.1.1: + resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + compress-commons@4.1.2: resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} engines: {node: '>= 10'} @@ -5440,10 +6127,17 @@ packages: confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + configstore@5.0.1: resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} engines: {node: '>=8'} + configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + connect-browser-sync@2.1.0: resolution: {integrity: sha512-9P+tsjyN+fBSWodrQqHxwG/phlq7ntq45RxTl2bwSkp+UX4vSw5nyLMYtw2dOV8Ng4kKSkjrGTm9C9iaMbcxzA==} peerDependencies: @@ -5645,6 +6339,156 @@ packages: whiskers: optional: true + consolidate@1.0.1: + resolution: {integrity: sha512-aUK5jDWisHgTtL0u4Wcpy28tVdZ4bBL+D/Vh+novuSOFuvvltyJLo7aLLb5u8LU3B34YOCLBsbDBl0mdLs7RIw==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.22.5 + arc-templates: ^0.5.3 + atpl: '>=0.7.6' + bracket-template: ^1.1.5 + coffee-script: ^1.12.7 + dot: ^1.1.3 + dust: ^0.3.0 + dustjs-helpers: ^1.7.4 + dustjs-linkedin: ^2.7.5 + eco: ^1.1.0-rc-3 + ect: ^0.5.9 + ejs: ^3.1.5 + haml-coffee: ^1.14.1 + hamlet: ^0.3.3 + hamljs: ^0.6.2 + handlebars: ^4.7.6 + hogan.js: ^3.0.2 + htmling: ^0.0.8 + jazz: ^0.0.18 + jqtpl: ~1.1.0 + just: ^0.1.8 + liquid-node: ^3.0.1 + liquor: ^0.0.5 + lodash: ^4.17.20 + mote: ^0.2.0 + mustache: ^4.0.1 + nunjucks: ^3.2.2 + plates: ~0.4.11 + pug: ^3.0.0 + qejs: ^3.0.5 + ractive: ^1.3.12 + react: ^16.13.1 + react-dom: ^16.13.1 + slm: ^2.0.0 + swig: ^1.4.2 + swig-templates: ^2.0.3 + teacup: ^2.0.0 + templayed: '>=0.2.3' + then-pug: '*' + tinyliquid: ^0.2.34 + toffee: ^0.3.6 + twig: ^1.15.2 + twing: ^5.0.2 + underscore: ^1.11.0 + vash: ^0.13.0 + velocityjs: ^2.0.1 + walrus: ^0.10.1 + whiskers: ^0.4.0 + peerDependenciesMeta: + '@babel/core': + optional: true + arc-templates: + optional: true + atpl: + optional: true + bracket-template: + optional: true + coffee-script: + optional: true + dot: + optional: true + dust: + optional: true + dustjs-helpers: + optional: true + dustjs-linkedin: + optional: true + eco: + optional: true + ect: + optional: true + ejs: + optional: true + haml-coffee: + optional: true + hamlet: + optional: true + hamljs: + optional: true + handlebars: + optional: true + hogan.js: + optional: true + htmling: + optional: true + jazz: + optional: true + jqtpl: + optional: true + just: + optional: true + liquid-node: + optional: true + liquor: + optional: true + lodash: + optional: true + mote: + optional: true + mustache: + optional: true + nunjucks: + optional: true + plates: + optional: true + pug: + optional: true + qejs: + optional: true + ractive: + optional: true + react: + optional: true + react-dom: + optional: true + slm: + optional: true + swig: + optional: true + swig-templates: + optional: true + teacup: + optional: true + templayed: + optional: true + then-pug: + optional: true + tinyliquid: + optional: true + toffee: + optional: true + twig: + optional: true + twing: + optional: true + underscore: + optional: true + vash: + optional: true + velocityjs: + optional: true + walrus: + optional: true + whiskers: + optional: true + constant-case@3.0.4: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} @@ -5734,6 +6578,10 @@ packages: resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} engines: {node: '>= 10'} + create-frame@1.0.0: + resolution: {integrity: sha512-SnJYqAwa5Jon3cP8e3LMFBoRG2m/hX20vtOnC3ynhyAa6jmy+BqrPoicBtmKUutnJuphXPj7C54yOXF58Tl71Q==} + engines: {node: '>=0.10.0'} + create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5777,6 +6625,10 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} + crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + crypto@1.0.1: resolution: {integrity: sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==} deprecated: This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in. @@ -6017,6 +6869,10 @@ packages: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} + data-uri-to-buffer@6.0.2: + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} + engines: {node: '>= 14'} + data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -6049,6 +6905,10 @@ packages: engines: {node: '>=4.0'} deprecated: 3.x is no longer supported. Please upgrade to 4.x or higher. + date-format@4.0.14: + resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==} + engines: {node: '>=4.0'} + dayjs@1.11.10: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} @@ -6151,6 +7011,14 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} + define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + + degenerator@5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + del@6.0.0: resolution: {integrity: sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==} engines: {node: '>=10'} @@ -6185,6 +7053,10 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dependency-graph@0.11.0: + resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} + engines: {node: '>= 0.6.0'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -6216,6 +7088,9 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + devtools-protocol@0.0.1354347: + resolution: {integrity: sha512-BlmkSqV0V84E2WnEnoPnwyix57rQxAM5SKJjf4TbYOCGLAWtz8CDH8RIaGOjPgPCXo2Mce3kxSY497OySidY3Q==} + dezalgo@1.0.3: resolution: {integrity: sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==} @@ -6300,6 +7175,10 @@ packages: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + dotenv-expand@5.1.0: resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} @@ -6412,6 +7291,10 @@ packages: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} + enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -6446,6 +7329,10 @@ packages: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} + es-aggregate-error@1.0.13: + resolution: {integrity: sha512-KkzhUUuD2CUMqEc8JEqsXEMDHzDPE8RCjZeUBitsnB1eNcAJWQPiciKsMXe3Yytj4Flw1XLl46Qcf9OxvZha7A==} + engines: {node: '>= 0.4'} + es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -6486,10 +7373,19 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} + escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -6509,6 +7405,11 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + eslint-config-airbnb-base@13.1.0: resolution: {integrity: sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw==} engines: {node: '>= 4'} @@ -6802,6 +7703,10 @@ packages: resolution: {integrity: sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==} engines: {node: '>= 0.10.0'} + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -6815,6 +7720,11 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + extsprintf@1.3.0: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} @@ -6839,12 +7749,18 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-memoize@2.5.2: + resolution: {integrity: sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==} + fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} fast-text-encoding@1.0.6: resolution: {integrity: sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==} + fast-uri@3.0.3: + resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} + fast-xml-parser@4.2.5: resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} hasBin: true @@ -6869,6 +7785,9 @@ packages: fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fdir@6.3.0: resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} peerDependencies: @@ -6884,6 +7803,10 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} + figures@4.0.1: + resolution: {integrity: sha512-rElJwkA/xS04Vfg+CaZodpso7VqBknOYbzi6I76hI4X80RUjkSxO2oAyPmGbuXUppywjqndOrQDl817hDnI++w==} + engines: {node: '>=12'} + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -7025,6 +7948,10 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} + fs-extra@11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} @@ -7119,6 +8046,10 @@ packages: resolution: {integrity: sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==} engines: {node: '>=0.10.0'} + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -7127,6 +8058,10 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} + get-uri@6.0.3: + resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} + engines: {node: '>= 14'} + getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} @@ -7173,6 +8108,10 @@ packages: engines: {node: '>=12'} deprecated: Glob versions prior to v9 are no longer supported + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + global-modules@2.0.0: resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} engines: {node: '>=6'} @@ -7231,6 +8170,9 @@ packages: gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -7251,6 +8193,15 @@ packages: hachure-fill@0.5.2: resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} + handlebars-utils@1.0.6: + resolution: {integrity: sha512-d5mmoQXdeEqSKMtQQZ9WkiUcO1E3tPbWxluCK9hVgIDPzQa9WsKo3Lbe/sGflTe7TomHEeZaOgwIkyIr1kfzkw==} + engines: {node: '>=0.10.0'} + + handlebars@4.7.7: + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + engines: {node: '>=0.4.7'} + hasBin: true + handsontable@6.2.2: resolution: {integrity: sha512-Z/sQa51OMHH4RoeBJeANYJMJYmx5SR+/xP8JCh5mzKJnAMKoQWF1zONPNgNCFZ/LdKFmI0f34XKtU0GHW0MG/Q==} @@ -7351,6 +8302,9 @@ packages: hast-util-select@6.0.2: resolution: {integrity: sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==} + hast-util-to-html@9.0.4: + resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} + hast-util-to-jsx-runtime@2.3.0: resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} @@ -7540,6 +8494,9 @@ packages: immediate@3.3.0: resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + immutable@3.8.2: resolution: {integrity: sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==} engines: {node: '>=0.10.0'} @@ -7595,6 +8552,10 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ini@4.1.3: resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -7602,10 +8563,20 @@ packages: inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + inquirer-autocomplete-prompt@2.0.0: + resolution: {integrity: sha512-c2LljLP3ewVJe4AUZzKdA6oWjqhpy5pfsisHAjh7mP3WUQ/O02x5OLMMqcLOYuRHx6i2hlVSIhUv0xYGyFxFYA==} + engines: {node: '>=12'} + peerDependencies: + inquirer: ^8.0.0 + inquirer@8.2.1: resolution: {integrity: sha512-pxhBaw9cyTFMjwKtkjePWDhvwzvrNGAw7En4hottzlPvz80GZaMZthdDU35aA6/f5FRZf3uhE057q8w1DE3V2g==} engines: {node: '>=12.0.0'} + inquirer@8.2.4: + resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==} + engines: {node: '>=12.0.0'} + internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} @@ -7636,6 +8607,10 @@ packages: resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} @@ -7684,6 +8659,10 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} + is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} engines: {node: '>= 0.4'} @@ -7698,6 +8677,10 @@ packages: is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -7706,6 +8689,10 @@ packages: is-electron@2.2.2: resolution: {integrity: sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==} + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -7735,7 +8722,16 @@ packages: is-hidden@2.0.1: resolution: {integrity: sha512-Z2FLonTlJZAhOEHyszh4kZGWqQy4IIG4s7JIFir5MlXDUI6itOMHlV7/AwxoiOfh4lCW3yCa87VN4e94hvqc1w==} - is-interactive@1.0.0: + is-in-ci@0.1.0: + resolution: {integrity: sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==} + engines: {node: '>=18'} + hasBin: true + + is-installed-globally@1.0.0: + resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} + engines: {node: '>=18'} + + is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} @@ -7749,6 +8745,10 @@ packages: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} + is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-number-like@1.0.8: resolution: {integrity: sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==} @@ -7772,6 +8772,10 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} + is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -7830,6 +8834,10 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} @@ -7864,6 +8872,10 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + isomorphic.js@0.2.5: resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} @@ -8086,6 +9098,10 @@ packages: jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + jsep@1.3.9: + resolution: {integrity: sha512-i1rBX5N7VPl0eYb6+mHNp52sEuaS2Wi8CDYx1X5sn9naevL78+265XJqy1qENEk7mRKwS06NHpUqiBwR7qeodw==} + engines: {node: '>= 10.16.0'} + jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} @@ -8112,6 +9128,9 @@ packages: json-schema@0.2.3: resolution: {integrity: sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ==} + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -8131,6 +9150,9 @@ packages: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + jsonc-parser@2.2.1: + resolution: {integrity: sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==} + jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} @@ -8147,6 +9169,18 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} + jsonpath-plus@6.0.1: + resolution: {integrity: sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==} + engines: {node: '>=10.0.0'} + + jsonpath-plus@7.1.0: + resolution: {integrity: sha512-gTaNRsPWO/K2KY6MrqaUFClF9kmuM6MFH5Dhg1VYDODgFbByw1yb7xu3hrViE/sz+dGOeMWgCzwUwQtAnCTE9g==} + engines: {node: '>=12.0.0'} + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} @@ -8188,6 +9222,10 @@ packages: khroma@2.1.0: resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -8210,6 +9248,10 @@ packages: resolution: {integrity: sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA==} engines: {node: '>8'} + ky@1.7.2: + resolution: {integrity: sha512-OzIvbHKKDpi60TnF9t7UUVAF1B4mcqc02z5PIvrm08Wyb+yOcz63GRvEuVxNT18a9E1SrNouhB4W2NNLeD7Ykg==} + engines: {node: '>=18'} + langium@3.0.0: resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==} engines: {node: '>=16.0.0'} @@ -8220,12 +9262,20 @@ packages: language-tags@1.0.5: resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} + latest-version@9.0.0: + resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==} + engines: {node: '>=18'} + layout-base@1.0.2: resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} layout-base@2.0.1: resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + lazy-cache@2.0.2: + resolution: {integrity: sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==} + engines: {node: '>=0.10.0'} + lazystream@1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} @@ -8308,6 +9358,15 @@ packages: linkify-it@4.0.1: resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} + listr2@5.0.5: + resolution: {integrity: sha512-DpBel6fczu7oQKTXMekeprc0o3XDgGMkD7JNYyX+X0xbwK+xgrx9dcyKoXKqpLSUvAWfmoePS7kavniOcq3r4w==} + engines: {node: ^14.13.1 || >=16.0.0} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + load-css-file@1.0.0: resolution: {integrity: sha512-UgWKK39UthjpjfkhD+tsoo7uKsign7CyU8bl+vKKEmI9ViiOlrKPPDLDzZnRs8Va2oT2R05h4v9qTRQ5zQ20Jg==} @@ -8380,6 +9439,9 @@ packages: lodash.isboolean@3.0.3: resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + lodash.isempty@4.4.0: + resolution: {integrity: sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==} + lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} @@ -8410,6 +9472,12 @@ packages: lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + lodash.omit@4.5.0: + resolution: {integrity: sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==} + + lodash.omitby@4.6.0: + resolution: {integrity: sha512-5OrRcIVR75M288p4nbI2WLAf3ndw2GD9fyNv3Bc15+WCxJDdZ4lYndSxGd7hnG6PVjiJTeJE2dHEGhIuKGicIQ==} + lodash.once@4.1.1: resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} @@ -8422,12 +9490,24 @@ packages: lodash.throttle@4.1.1: resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + lodash.topath@4.5.2: + resolution: {integrity: sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==} + lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} lodash.union@4.6.0: resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash.uniqby@4.7.0: + resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} + + lodash.uniqwith@4.5.0: + resolution: {integrity: sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q==} + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -8435,6 +9515,17 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} + log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + + loglevel-plugin-prefix@0.8.4: + resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} + + loglevel@1.9.2: + resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} + engines: {node: '>= 0.6.0'} + long@4.0.0: resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} @@ -8840,6 +9931,10 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} + minimatch@6.2.0: + resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} + engines: {node: '>=10'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -8890,6 +9985,9 @@ packages: mitt@1.2.0: resolution: {integrity: sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==} + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mixme@0.5.10: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} @@ -8917,6 +10015,12 @@ packages: resolution: {integrity: sha512-lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg==} engines: {node: '>=4.3.0'} + module-alias@2.2.2: + resolution: {integrity: sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==} + + module-alias@2.2.3: + resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==} + moment@2.20.1: resolution: {integrity: sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==} @@ -9115,6 +10219,10 @@ packages: nested-error-stacks@2.1.0: resolution: {integrity: sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==} + netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + new-find-package-json@2.0.0: resolution: {integrity: sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew==} engines: {node: '>=12.22.0'} @@ -9172,6 +10280,10 @@ packages: nice-try@1.0.4: resolution: {integrity: sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==} + nimma@0.2.2: + resolution: {integrity: sha512-V52MLl7BU+tH2Np9tDrIXK8bql3MVUadnMIl/0/oZSGC9keuro0O9UUv9QKp0aMvtN8HRew4G7byY7H4eWsxaQ==} + engines: {node: ^12.20 || >=14.13} + no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} @@ -9263,6 +10375,9 @@ packages: not@0.1.0: resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + npm-normalize-package-bin@1.0.1: + resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} + npm-run-all@4.1.5: resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} engines: {node: '>= 4'} @@ -9394,6 +10509,9 @@ packages: openapi-types@12.1.3: resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} + openapi3-ts@4.2.2: + resolution: {integrity: sha512-+9g4actZKeb3czfi9gVQ4Br2Ju3KwhCAQJBNaKgye5KggqcBLIhFHH+nIkcm0BUX00TrAJl6dH4JWgM4G4JWrw==} + opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true @@ -9413,6 +10531,10 @@ packages: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} + orval@7.2.0: + resolution: {integrity: sha512-4cXVNXnw5yS9+JRLlgpIkbKgBY8NXaOY6NVbUM8SNAPppUCbfU566tPrVbmcFmz6bHMniQfEzxQW8FcbgwuEiQ==} + hasBin: true + os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -9488,9 +10610,21 @@ packages: resolution: {integrity: sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==} engines: {node: '>=6'} + pac-proxy-agent@7.0.2: + resolution: {integrity: sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==} + engines: {node: '>= 14'} + + pac-resolver@7.0.1: + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} + engines: {node: '>= 14'} + package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + package-json@10.0.1: + resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==} + engines: {node: '>=18'} + package-manager-detector@0.2.0: resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} @@ -9740,6 +10874,10 @@ packages: points-on-path@0.2.1: resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} + pony-cause@1.1.1: + resolution: {integrity: sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==} + engines: {node: '>=12.0.0'} + portscanner@2.2.0: resolution: {integrity: sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==} engines: {node: '>=0.4', npm: '>=1.0.0'} @@ -9829,6 +10967,10 @@ packages: process-warning@2.3.2: resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -9854,10 +10996,17 @@ packages: property-information@6.1.1: resolution: {integrity: sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==} + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} + proxy-agent@6.4.0: + resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==} + engines: {node: '>= 14'} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -9892,6 +11041,24 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} + + puppeteer-cluster@0.24.0: + resolution: {integrity: sha512-zHPoNsrwkFLKFtgJJv2aC13EbMASQsE048uZd7CyikEXcl+sc1Nf6PMFb9kMoZI7/zMYxvuP658o2mw079ZZyQ==} + peerDependencies: + puppeteer: '>=22.0.0' + + puppeteer-core@23.6.1: + resolution: {integrity: sha512-DoNLAzQfGklPauEn33N4h9cM9GubJSINEn+AUMwAXwW159Y9JLk5y34Jsbv4c7kG8P0puOYWV9leu2siMZ/QpQ==} + engines: {node: '>=18'} + + puppeteer@23.6.1: + resolution: {integrity: sha512-8+ALGQgwXd3P/tGcuSsxTPGDaOQIjcDIm04I5hpWZv/PiN5q8bQNHRUyfYrifT+flnM9aTWCP7tLEzuB6SlIgA==} + engines: {node: '>=18'} + hasBin: true + pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} @@ -9920,6 +11087,9 @@ packages: engines: {node: '>=0.4.x'} deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -10152,6 +11322,10 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' + read-package-json-fast@2.0.3: + resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==} + engines: {node: '>=10'} + read-pkg-up@1.0.1: resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==} engines: {node: '>=0.10.0'} @@ -10193,6 +11367,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} + rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} @@ -10229,6 +11407,9 @@ packages: reflect-metadata@0.1.14: resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + refractor@3.6.0: resolution: {integrity: sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==} @@ -10278,6 +11459,18 @@ packages: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} + registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} + + registry-url@5.1.0: + resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} + engines: {node: '>=8'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + rehype-katex@7.0.1: resolution: {integrity: sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==} @@ -10313,6 +11506,9 @@ packages: remark-github-admonitions-to-directives@2.0.0: resolution: {integrity: sha512-/fXZWZrU+mr5VeRShPPnzUbWPmOktBAN1vqSwzktVdchhhsL1CqfdBwiQH7mkh8yaxOo/RtXysxlVLXwD2a/Dw==} + remark-html@16.0.1: + resolution: {integrity: sha512-B9JqA5i0qZe0Nsf49q3OXyGvyXuZFDzAP2iOFLEumymuYJITVpiH1IgsTEwTpdptDmZlMDMWeDmSawdaJIGCXQ==} + remark-math@6.0.0: resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} @@ -10425,6 +11621,9 @@ packages: resolution: {integrity: sha512-1CW0auaXNPmwmvQ7TwpszwVxMi2Xr5cTS3J3EBC/HHgbPF32Dn7aiu/LKWDOGjMbaDwKQiGmfqcoGQ74HUHCMw==} engines: {node: '>=10.0.0'} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@2.4.5: resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -10497,6 +11696,9 @@ packages: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} + safe-stable-stringify@1.1.1: + resolution: {integrity: sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -10531,6 +11733,10 @@ packages: secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + semver@5.5.1: resolution: {integrity: sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==} hasBin: true @@ -10543,6 +11749,11 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} + engines: {node: '>=10'} + hasBin: true + semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} @@ -10596,6 +11807,10 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} + set-getter@0.1.1: + resolution: {integrity: sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==} + engines: {node: '>=0.10.0'} + setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} @@ -10679,6 +11894,10 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-eval@1.0.0: + resolution: {integrity: sha512-kpKJR+bqTscgC0xuAl2xHN6bB12lHjC2DCUfqjAx19bQyO3R2EVLOurm3H9AUltv/uFVcSCVNc6faegR+8NYLw==} + engines: {node: '>=12'} + simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} @@ -10710,6 +11929,10 @@ packages: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -10745,6 +11968,10 @@ packages: resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} engines: {node: '>= 10'} + socks-proxy-agent@8.0.4: + resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} + engines: {node: '>= 14'} + socks@2.8.3: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} @@ -10807,6 +12034,9 @@ packages: split2@1.1.1: resolution: {integrity: sha512-cfurE2q8LamExY+lJ9Ex3ZfBwqAPduzOKVscPDXNCLLMvyaeD3DTz1yk7fVIs6Chco+12XeD0BB6HEoYzPYbXA==} + split@1.0.1: + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -10886,6 +12116,10 @@ packages: engines: {node: '>=6.0'} deprecated: 1.x is no longer supported. Please upgrade to 3.x or higher. + streamroller@3.1.5: + resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==} + engines: {node: '>=8.0'} + streamsearch@0.1.2: resolution: {integrity: sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==} engines: {node: '>=0.8.0'} @@ -10897,6 +12131,9 @@ packages: streamx@2.18.0: resolution: {integrity: sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==} + streamx@2.20.1: + resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} + strict-uri-encode@2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} @@ -10905,6 +12142,10 @@ packages: resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -11152,6 +12393,9 @@ packages: swagger-ui-dist@3.52.5: resolution: {integrity: sha512-8z18eX8G/jbTXYzyNIaobrnD7PSN7yU/YkSasMmajrXtw0FGS64XjrKn5v37d36qmU3o1xLeuYnktshRr7uIFw==} + swagger-ui-dist@5.17.14: + resolution: {integrity: sha512-CVbSfaLpstV65OnSjbXfVd6Sta3q3F7Cj/yYuvHMp1P90LztOLs6PfUnKEVAeiIVQt9u2SaPwv0LiH/OyMjHRw==} + swagger2openapi@7.0.8: resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} hasBin: true @@ -11173,6 +12417,9 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + tar-fs@3.0.6: + resolution: {integrity: sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==} + tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -11286,6 +12533,10 @@ packages: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} + to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -11388,6 +12639,16 @@ packages: resolution: {integrity: sha512-fUGMkjGIlD4BFibDM+6pLYLXRguzCUY6fhP1KQzSnFJfAtTDT7DKyX0yHn3CJqfBv4mia/o3ZRte31UVf9Dl1A==} hasBin: true + tsconfck@2.1.2: + resolution: {integrity: sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==} + engines: {node: ^14.13.1 || ^16 || >=18} + hasBin: true + peerDependencies: + typescript: ^4.3.5 || ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + tsconfck@3.0.3: resolution: {integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==} engines: {node: ^18 || >=20} @@ -11414,6 +12675,15 @@ packages: tslib@2.3.0: resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + tslib@2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + + tslib@2.6.1: + resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.8.0: resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} @@ -11451,6 +12721,10 @@ packages: tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel@0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + turbo-darwin-64@2.1.3: resolution: {integrity: sha512-ouJOm0g0YyoBuhmikEujVCBGo3Zr0lbSOWFIsQtWUTItC88F2w2byhjtsYGPXQwMlTbXwmoBU2lOCfWNkeEwHQ==} cpu: [x64] @@ -11525,6 +12799,14 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -11545,12 +12827,19 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} + typed-query-selector@2.12.0: + resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} + typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typeof-article@0.1.1: + resolution: {integrity: sha512-Vn42zdX3FhmUrzEmitX3iYyLb+Umwpmv8fkZRIknYh84lmdrwqZA5xYaoKiIj2Rc5i/5wcDrpUmZcbk1U51vTw==} + engines: {node: '>=4'} + typeorm@0.2.45: resolution: {integrity: sha512-c0rCO8VMJ3ER7JQ73xfk0zDnVv0WDjpsP6Q1m6CVKul7DB9iVdWLRjPzc8v2eaeBuomsbZ2+gTaYr8k1gm3bYA==} hasBin: true @@ -11633,6 +12922,11 @@ packages: ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + uglifycss@0.0.29: resolution: {integrity: sha512-J2SQ2QLjiknNGbNdScaNZsXgmMGI0kYNrXaDlr4obnPW9ni1jljb1NeEVWAiTgZ8z+EBWP2ozfT9vpy03rjlMQ==} engines: {node: '>=6.4.0'} @@ -11648,6 +12942,9 @@ packages: unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbzip2-stream@1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + uncontrollable@7.2.1: resolution: {integrity: sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==} peerDependencies: @@ -11659,6 +12956,9 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici@6.19.2: resolution: {integrity: sha512-JfjKqIauur3Q6biAtHJ564e3bWa8VvT+7cSiOJHFbX4Erv6CLGDpg8z+Fmg/1OI/47RA+GI2QZaF48SSaLvyBA==} engines: {node: '>=18.17'} @@ -11678,6 +12978,10 @@ packages: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} + unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + unist-util-find-after@5.0.0: resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} @@ -11744,6 +13048,10 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-notifier@7.1.0: + resolution: {integrity: sha512-8SV3rIqVY6EFC1WxH6L0j55s0MO79MFBS1pivmInRJg3pCEDgWHBj1Q6XByTtCLOZIFA0f6zoG9ZWf2Ks9lvTA==} + engines: {node: '>=18'} + upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} @@ -11753,15 +13061,24 @@ packages: uri-js@4.2.2: resolution: {integrity: sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==} + urijs@1.19.11: + resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==} + url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + url-template@2.0.8: resolution: {integrity: sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==} url@0.10.3: resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==} + urlpattern-polyfill@10.0.0: + resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} + use-sync-external-store@1.2.2: resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: @@ -11785,6 +13102,10 @@ packages: util.promisify@1.1.1: resolution: {integrity: sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==} + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} @@ -12089,10 +13410,17 @@ packages: wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -12143,6 +13471,18 @@ packages: utf-8-validate: optional: true + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + x-img-diff-js@0.3.5: resolution: {integrity: sha512-B97ztoc2JeM+62HH1zFhmTyilsVqL486WMm8X3oQz16lTCGITY1cz+H57mTsNG0QuyVxv1yGq06qC8wy6UPCmQ==} @@ -12150,6 +13490,10 @@ packages: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} engines: {node: '>=8'} + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + xml-crypto@2.1.5: resolution: {integrity: sha512-xOSJmGFm+BTXmaPYk8pPV3duKo6hJuZ5niN4uMzoNcTlwYs0jAu/N3qY+ud9MhE4N7eMRuC1ayC7Yhmb7MmAWg==} engines: {node: '>=0.4.0'} @@ -12295,6 +13639,9 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yauzl@3.1.3: resolution: {integrity: sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw==} engines: {node: '>=12'} @@ -12327,12 +13674,18 @@ packages: resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} engines: {node: '>= 10'} + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zwitch@1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} zwitch@2.0.2: resolution: {integrity: sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: '@adobe/css-tools@4.4.0': {} @@ -12354,6 +13707,12 @@ snapshots: '@antfu/utils@0.7.10': {} + '@apidevtools/json-schema-ref-parser@9.0.6': + dependencies: + '@jsdevtools/ono': 7.1.3 + call-me-maybe: 1.0.2 + js-yaml: 3.14.1 + '@apidevtools/json-schema-ref-parser@9.1.2': dependencies: '@jsdevtools/ono': 7.1.3 @@ -12375,6 +13734,21 @@ snapshots: openapi-types: 12.1.3 z-schema: 5.0.6 + '@apidevtools/swagger-parser@10.1.0(openapi-types@12.1.3)': + dependencies: + '@apidevtools/json-schema-ref-parser': 9.0.6 + '@apidevtools/openapi-schemas': 2.1.0 + '@apidevtools/swagger-methods': 3.0.2 + '@jsdevtools/ono': 7.1.3 + ajv: 8.17.1 + ajv-draft-04: 1.0.0(ajv@8.17.1) + call-me-maybe: 1.0.2 + openapi-types: 12.1.3 + + '@asyncapi/specs@4.3.1': + dependencies: + '@types/json-schema': 7.0.15 + '@aws-crypto/crc32@3.0.0': dependencies: '@aws-crypto/util': 3.0.0 @@ -14201,72 +15575,144 @@ snapshots: '@esbuild/aix-ppc64@0.21.5': optional: true + '@esbuild/aix-ppc64@0.24.0': + optional: true + '@esbuild/android-arm64@0.21.5': optional: true + '@esbuild/android-arm64@0.24.0': + optional: true + '@esbuild/android-arm@0.21.5': optional: true + '@esbuild/android-arm@0.24.0': + optional: true + '@esbuild/android-x64@0.21.5': optional: true + '@esbuild/android-x64@0.24.0': + optional: true + '@esbuild/darwin-arm64@0.21.5': optional: true + '@esbuild/darwin-arm64@0.24.0': + optional: true + '@esbuild/darwin-x64@0.21.5': optional: true + '@esbuild/darwin-x64@0.24.0': + optional: true + '@esbuild/freebsd-arm64@0.21.5': optional: true + '@esbuild/freebsd-arm64@0.24.0': + optional: true + '@esbuild/freebsd-x64@0.21.5': optional: true + '@esbuild/freebsd-x64@0.24.0': + optional: true + '@esbuild/linux-arm64@0.21.5': optional: true + '@esbuild/linux-arm64@0.24.0': + optional: true + '@esbuild/linux-arm@0.21.5': optional: true + '@esbuild/linux-arm@0.24.0': + optional: true + '@esbuild/linux-ia32@0.21.5': optional: true + '@esbuild/linux-ia32@0.24.0': + optional: true + '@esbuild/linux-loong64@0.21.5': optional: true + '@esbuild/linux-loong64@0.24.0': + optional: true + '@esbuild/linux-mips64el@0.21.5': optional: true + '@esbuild/linux-mips64el@0.24.0': + optional: true + '@esbuild/linux-ppc64@0.21.5': optional: true + '@esbuild/linux-ppc64@0.24.0': + optional: true + '@esbuild/linux-riscv64@0.21.5': optional: true + '@esbuild/linux-riscv64@0.24.0': + optional: true + '@esbuild/linux-s390x@0.21.5': optional: true + '@esbuild/linux-s390x@0.24.0': + optional: true + '@esbuild/linux-x64@0.21.5': optional: true + '@esbuild/linux-x64@0.24.0': + optional: true + '@esbuild/netbsd-x64@0.21.5': optional: true + '@esbuild/netbsd-x64@0.24.0': + optional: true + + '@esbuild/openbsd-arm64@0.24.0': + optional: true + '@esbuild/openbsd-x64@0.21.5': optional: true + '@esbuild/openbsd-x64@0.24.0': + optional: true + '@esbuild/sunos-x64@0.21.5': optional: true + '@esbuild/sunos-x64@0.24.0': + optional: true + '@esbuild/win32-arm64@0.21.5': optional: true + '@esbuild/win32-arm64@0.24.0': + optional: true + '@esbuild/win32-ia32@0.21.5': optional: true + '@esbuild/win32-ia32@0.24.0': + optional: true + '@esbuild/win32-x64@0.21.5': optional: true + '@esbuild/win32-x64@0.24.0': + optional: true + '@eslint-community/eslint-utils@4.4.0(eslint@8.41.0)': dependencies: eslint: 8.41.0 @@ -14359,6 +15805,23 @@ snapshots: '@humanwhocodes/object-schema@1.2.1': {} + '@ibm-cloud/openapi-ruleset-utilities@1.4.0': {} + + '@ibm-cloud/openapi-ruleset@1.23.2(encoding@0.1.13)': + dependencies: + '@ibm-cloud/openapi-ruleset-utilities': 1.4.0 + '@stoplight/spectral-formats': 1.7.0(encoding@0.1.13) + '@stoplight/spectral-functions': 1.9.0(encoding@0.1.13) + '@stoplight/spectral-rulesets': 1.20.2(encoding@0.1.13) + chalk: 4.1.2 + lodash: 4.17.21 + loglevel: 1.9.2 + loglevel-plugin-prefix: 0.8.4 + minimatch: 6.2.0 + validator: 13.12.0 + transitivePeerDependencies: + - encoding + '@iconify/types@2.0.0': {} '@iconify/utils@2.1.32': @@ -14395,27 +15858,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)) + jest-config: 29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -14444,7 +15907,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -14462,7 +15925,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.14.0 + '@types/node': 22.8.7 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -14484,7 +15947,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.14.0 + '@types/node': 22.8.7 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -14554,7 +16017,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.0 + '@types/node': 22.8.7 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -14589,6 +16052,14 @@ snapshots: '@jsdevtools/rehype-toc@3.0.2': {} + '@jsep-plugin/regex@1.0.3(jsep@1.3.9)': + dependencies: + jsep: 1.3.9 + + '@jsep-plugin/ternary@1.1.3(jsep@1.3.9)': + dependencies: + jsep: 1.3.9 + '@juggle/resize-observer@3.4.0': {} '@keycloak/keycloak-admin-client@18.0.2': @@ -14992,6 +16463,122 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 + '@npmcli/node-gyp@1.0.3': {} + + '@npmcli/promise-spawn@1.3.2': + dependencies: + infer-owner: 1.0.4 + + '@npmcli/run-script@3.0.1': + dependencies: + '@npmcli/node-gyp': 1.0.3 + '@npmcli/promise-spawn': 1.3.2 + node-gyp: 9.4.1 + read-package-json-fast: 2.0.3 + transitivePeerDependencies: + - bluebird + - supports-color + + '@orval/angular@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)': + dependencies: + '@orval/core': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + + '@orval/axios@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)': + dependencies: + '@orval/core': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + + '@orval/core@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)': + dependencies: + '@apidevtools/swagger-parser': 10.1.0(openapi-types@12.1.3) + '@ibm-cloud/openapi-ruleset': 1.23.2(encoding@0.1.13) + acorn: 8.14.0 + ajv: 8.17.1 + chalk: 4.1.2 + compare-versions: 6.1.1 + debug: 4.3.7(supports-color@5.5.0) + esbuild: 0.24.0 + esutils: 2.0.3 + fs-extra: 11.2.0 + globby: 11.1.0 + lodash.get: 4.4.2 + lodash.isempty: 4.4.0 + lodash.omit: 4.5.0 + lodash.uniq: 4.5.0 + lodash.uniqby: 4.7.0 + lodash.uniqwith: 4.5.0 + micromatch: 4.0.8 + openapi3-ts: 4.2.2 + swagger2openapi: 7.0.8(encoding@0.1.13) + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + + '@orval/fetch@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)': + dependencies: + '@orval/core': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + + '@orval/hono@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)': + dependencies: + '@orval/core': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/zod': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + + '@orval/mock@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)': + dependencies: + '@orval/core': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + lodash.get: 4.4.2 + lodash.omit: 4.5.0 + openapi3-ts: 4.2.2 + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + + '@orval/query@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)': + dependencies: + '@orval/core': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/fetch': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + lodash.omitby: 4.6.0 + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + + '@orval/swr@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)': + dependencies: + '@orval/core': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/fetch': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + + '@orval/zod@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)': + dependencies: + '@orval/core': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + '@pkgjs/parseargs@0.11.0': optional: true @@ -15008,10 +16595,35 @@ snapshots: dependencies: playwright: 1.46.0 + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@2.3.1': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + '@polka/url@1.0.0-next.25': {} '@popperjs/core@2.11.8': {} + '@puppeteer/browsers@2.4.0': + dependencies: + debug: 4.3.7(supports-color@5.5.0) + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.4.0 + semver: 7.6.3 + tar-fs: 3.0.6 + unbzip2-stream: 1.4.3 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + '@react-dnd/asap@4.0.1': {} '@react-dnd/invariant@2.0.0': {} @@ -15789,6 +17401,174 @@ snapshots: '@sqltools/formatter@1.2.5': {} + '@stoplight/better-ajv-errors@1.0.3(ajv@8.17.1)': + dependencies: + ajv: 8.17.1 + jsonpointer: 5.0.1 + leven: 3.1.0 + + '@stoplight/json-ref-readers@1.2.2(encoding@0.1.13)': + dependencies: + node-fetch: 2.7.0(encoding@0.1.13) + tslib: 1.14.1 + transitivePeerDependencies: + - encoding + + '@stoplight/json-ref-resolver@3.1.6': + dependencies: + '@stoplight/json': 3.21.7 + '@stoplight/path': 1.3.2 + '@stoplight/types': 13.20.0 + '@types/urijs': 1.19.25 + dependency-graph: 0.11.0 + fast-memoize: 2.5.2 + immer: 9.0.21 + lodash: 4.17.21 + tslib: 2.8.0 + urijs: 1.19.11 + + '@stoplight/json@3.21.7': + dependencies: + '@stoplight/ordered-object-literal': 1.0.5 + '@stoplight/path': 1.3.2 + '@stoplight/types': 13.20.0 + jsonc-parser: 2.2.1 + lodash: 4.17.21 + safe-stable-stringify: 1.1.1 + + '@stoplight/ordered-object-literal@1.0.5': {} + + '@stoplight/path@1.3.2': {} + + '@stoplight/spectral-core@1.19.1(encoding@0.1.13)': + dependencies: + '@stoplight/better-ajv-errors': 1.0.3(ajv@8.17.1) + '@stoplight/json': 3.21.7 + '@stoplight/path': 1.3.2 + '@stoplight/spectral-parsers': 1.0.4 + '@stoplight/spectral-ref-resolver': 1.0.4(encoding@0.1.13) + '@stoplight/spectral-runtime': 1.1.2(encoding@0.1.13) + '@stoplight/types': 13.6.0 + '@types/es-aggregate-error': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-errors: 3.0.0(ajv@8.17.1) + ajv-formats: 2.1.1(ajv@8.17.1) + es-aggregate-error: 1.0.13 + jsonpath-plus: 7.1.0 + lodash: 4.17.21 + lodash.topath: 4.5.2 + minimatch: 3.1.2 + nimma: 0.2.2 + pony-cause: 1.1.1 + simple-eval: 1.0.0 + tslib: 2.8.0 + transitivePeerDependencies: + - encoding + + '@stoplight/spectral-formats@1.7.0(encoding@0.1.13)': + dependencies: + '@stoplight/json': 3.21.7 + '@stoplight/spectral-core': 1.19.1(encoding@0.1.13) + '@types/json-schema': 7.0.15 + tslib: 2.8.0 + transitivePeerDependencies: + - encoding + + '@stoplight/spectral-functions@1.9.0(encoding@0.1.13)': + dependencies: + '@stoplight/better-ajv-errors': 1.0.3(ajv@8.17.1) + '@stoplight/json': 3.21.7 + '@stoplight/spectral-core': 1.19.1(encoding@0.1.13) + '@stoplight/spectral-formats': 1.7.0(encoding@0.1.13) + '@stoplight/spectral-runtime': 1.1.2(encoding@0.1.13) + ajv: 8.17.1 + ajv-draft-04: 1.0.0(ajv@8.17.1) + ajv-errors: 3.0.0(ajv@8.17.1) + ajv-formats: 2.1.1(ajv@8.17.1) + lodash: 4.17.21 + tslib: 2.8.0 + transitivePeerDependencies: + - encoding + + '@stoplight/spectral-parsers@1.0.4': + dependencies: + '@stoplight/json': 3.21.7 + '@stoplight/types': 14.1.1 + '@stoplight/yaml': 4.3.0 + tslib: 2.8.0 + + '@stoplight/spectral-ref-resolver@1.0.4(encoding@0.1.13)': + dependencies: + '@stoplight/json-ref-readers': 1.2.2(encoding@0.1.13) + '@stoplight/json-ref-resolver': 3.1.6 + '@stoplight/spectral-runtime': 1.1.2(encoding@0.1.13) + dependency-graph: 0.11.0 + tslib: 2.8.0 + transitivePeerDependencies: + - encoding + + '@stoplight/spectral-rulesets@1.20.2(encoding@0.1.13)': + dependencies: + '@asyncapi/specs': 4.3.1 + '@stoplight/better-ajv-errors': 1.0.3(ajv@8.17.1) + '@stoplight/json': 3.21.7 + '@stoplight/spectral-core': 1.19.1(encoding@0.1.13) + '@stoplight/spectral-formats': 1.7.0(encoding@0.1.13) + '@stoplight/spectral-functions': 1.9.0(encoding@0.1.13) + '@stoplight/spectral-runtime': 1.1.2(encoding@0.1.13) + '@stoplight/types': 13.20.0 + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + json-schema-traverse: 1.0.0 + leven: 3.1.0 + lodash: 4.17.21 + tslib: 2.8.0 + transitivePeerDependencies: + - encoding + + '@stoplight/spectral-runtime@1.1.2(encoding@0.1.13)': + dependencies: + '@stoplight/json': 3.21.7 + '@stoplight/path': 1.3.2 + '@stoplight/types': 12.5.0 + abort-controller: 3.0.0 + lodash: 4.17.21 + node-fetch: 2.7.0(encoding@0.1.13) + tslib: 2.8.0 + transitivePeerDependencies: + - encoding + + '@stoplight/types@12.5.0': + dependencies: + '@types/json-schema': 7.0.15 + utility-types: 3.11.0 + + '@stoplight/types@13.20.0': + dependencies: + '@types/json-schema': 7.0.15 + utility-types: 3.11.0 + + '@stoplight/types@13.6.0': + dependencies: + '@types/json-schema': 7.0.15 + utility-types: 3.11.0 + + '@stoplight/types@14.1.1': + dependencies: + '@types/json-schema': 7.0.15 + utility-types: 3.11.0 + + '@stoplight/yaml-ast-parser@0.0.50': {} + + '@stoplight/yaml@4.3.0': + dependencies: + '@stoplight/ordered-object-literal': 1.0.5 + '@stoplight/types': 14.1.1 + '@stoplight/yaml-ast-parser': 0.0.50 + tslib: 2.8.0 + '@swc-node/core@1.13.1(@swc/core@1.5.25(@swc/helpers@0.5.11))(@swc/types@0.1.12)': dependencies: '@swc/core': 1.5.25(@swc/helpers@0.5.11) @@ -15995,6 +17775,8 @@ snapshots: '@tootallnate/once@2.0.0': {} + '@tootallnate/quickjs-emscripten@0.23.0': {} + '@trysound/sax@0.2.0': {} '@tsbb/copy-template-dir@1.4.0': @@ -16017,7 +17799,122 @@ snapshots: '@tsconfig/node16@1.0.3': {} - '@tsed/common@6.43.0(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tsed/cli-core@5.4.3(@babel/core@7.24.6)(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(ejs@3.1.10)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@npmcli/run-script': 3.0.1 + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/logger': 6.7.8 + '@tsed/normalize-path': 7.84.1 + '@types/fs-extra': 9.0.13 + '@types/inquirer': 8.2.10 + ajv: 8.11.0 + axios: 1.6.7 + chalk: 4.1.2 + change-case: 4.1.2 + commander: 9.3.0 + consolidate: 1.0.1(@babel/core@7.24.6)(ejs@3.1.10)(handlebars@4.7.7)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + create-frame: 1.0.0 + enquirer: 2.3.6 + execa: 5.1.1 + figures: 4.0.1 + fs-extra: 11.1.0 + globby: 11.1.0 + handlebars: 4.7.7 + handlebars-utils: 1.0.6 + inquirer: 8.2.4 + inquirer-autocomplete-prompt: 2.0.0(inquirer@8.2.4) + js-yaml: 4.1.0 + listr2: 5.0.5(enquirer@2.3.6) + module-alias: 2.2.2 + normalize-path: 3.0.0 + read-pkg-up: 7.0.1 + registry-url: 5.1.0 + rxjs: 7.5.6 + semver: 7.3.5 + split: 1.0.1 + tslib: 2.3.1 + tunnel: 0.0.6 + update-notifier: 7.1.0 + url-parse: 1.5.10 + uuid: 8.3.2 + transitivePeerDependencies: + - '@babel/core' + - arc-templates + - atpl + - bluebird + - bracket-template + - coffee-script + - debug + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - hogan.js + - htmling + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - react + - react-dom + - slm + - supports-color + - swig + - swig-templates + - teacup + - templayed + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - vash + - velocityjs + - walrus + - whiskers + + '@tsed/cli-generate-swagger@5.4.3(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1))(@tsed/swagger@7.84.1(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1)))': + dependencies: + '@tsed/common': 7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1) + '@tsed/swagger': 7.84.1(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1)) + change-case: 4.1.2 + tslib: 2.3.1 + + '@tsed/cli@5.4.3(@tsed/cli-core@5.4.3(@babel/core@7.24.6)(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(ejs@3.1.10)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + '@tsed/cli-core': 5.4.3(@babel/core@7.24.6)(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(ejs@3.1.10)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/logger': 6.7.8 + '@tsed/openspec': 7.84.1 + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + chalk: 4.1.2 + change-case: 4.1.2 + globby: 11.1.0 + module-alias: 2.2.3 + normalize-path: 3.0.0 + read-pkg-up: 7.0.1 + semver: 7.6.3 + tslib: 2.3.1 + + '@tsed/common@6.43.0(handlebars@4.7.7)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@tsed/core': 6.43.0 '@tsed/di': 6.43.0 @@ -16028,7 +17925,7 @@ snapshots: '@types/cache-manager': 3.4.3 '@types/json-schema': 7.0.6 cache-manager: 3.6.3 - consolidate: 0.16.0(ejs@3.1.10)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + consolidate: 0.16.0(ejs@3.1.10)(handlebars@4.7.7)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) ejs: 3.1.10 json-schema: 0.2.3 on-finished: 2.3.0 @@ -16089,6 +17986,37 @@ snapshots: - walrus - whiskers + '@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1)': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/exceptions': 7.84.1(@tsed/core@7.84.1) + '@tsed/json-mapper': 7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/logger': 6.7.8 + '@tsed/logger-file': 6.7.8(@tsed/logger@6.7.8) + '@tsed/platform-exceptions': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/platform-log-middleware': 7.84.1(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/platform-middlewares@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/platform-params@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))) + '@tsed/platform-middlewares': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/platform-params': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/platform-response-filter': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/platform-router': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/platform-params@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/platform-views': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/engines@7.83.4)(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + '@types/json-schema': 7.0.15 + accepts: 1.3.8 + tslib: 2.6.1 + uuid: 9.0.1 + transitivePeerDependencies: + - '@tsed/engines' + - '@tsed/openspec' + + '@tsed/components-scan@7.84.1(@tsed/core@7.84.1)': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/normalize-path': 7.84.1 + globby: 11.1.0 + tslib: 2.6.1 + '@tsed/core@6.43.0': dependencies: normalize-path: 3.0.0 @@ -16096,6 +18024,11 @@ snapshots: source-map-support: 0.5.19 tslib: 2.1.0 + '@tsed/core@7.84.1': + dependencies: + reflect-metadata: 0.2.2 + tslib: 2.6.1 + '@tsed/di@6.43.0': dependencies: '@tsed/core': 6.43.0 @@ -16103,15 +18036,47 @@ snapshots: globby: 11.0.1 tslib: 2.1.0 + '@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/logger': 6.7.8 + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + tslib: 2.6.2 + + '@tsed/engines@7.83.4': + dependencies: + tslib: 2.6.1 + '@tsed/exceptions@6.43.0': dependencies: '@tsed/schema': 6.43.0 tslib: 2.1.0 + '@tsed/exceptions@7.84.1(@tsed/core@7.84.1)': + dependencies: + '@tsed/core': 7.84.1 + change-case: 4.1.2 + statuses: 2.0.1 + tslib: 2.6.1 + '@tsed/json-mapper@6.43.0': dependencies: - '@tsed/core': 6.43.0 - tslib: 2.1.0 + '@tsed/core': 6.43.0 + tslib: 2.1.0 + + '@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + tslib: 2.6.1 + + '@tsed/logger-file@6.7.8(@tsed/logger@6.7.8)': + dependencies: + '@tsed/logger': 6.7.8 + streamroller: 3.1.5 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color '@tsed/logger@5.17.0': dependencies: @@ -16124,17 +18089,112 @@ snapshots: transitivePeerDependencies: - supports-color + '@tsed/logger@6.7.8': + dependencies: + colors: 1.4.0 + date-format: 4.0.14 + semver: 7.6.3 + tslib: 2.6.2 + + '@tsed/normalize-path@7.84.1': + dependencies: + normalize-path: 3.0.0 + tslib: 2.6.1 + '@tsed/openspec@6.43.0': {} - '@tsed/platform-express@6.43.0(@types/multer@1.4.11)(body-parser@1.20.3)': + '@tsed/openspec@7.84.1': {} + + '@tsed/platform-exceptions@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/exceptions': 7.84.1(@tsed/core@7.84.1) + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + tslib: 2.6.1 + + '@tsed/platform-express@6.43.0(@types/multer@1.4.12)(body-parser@1.20.3)': + dependencies: + '@types/multer': 1.4.12 + body-parser: 1.20.3 + express: 4.21.0 + multer: 1.4.4 + transitivePeerDependencies: + - supports-color + + '@tsed/platform-express@7.84.1(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1))(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1)(@tsed/platform-views@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/engines@7.83.4)(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))(@types/multer@1.4.12)(body-parser@1.20.3)(cross-env@7.0.0)(multer@1.4.4)': dependencies: - '@types/multer': 1.4.11 + '@tsed/common': 7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1) + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/json-mapper': 7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/logger': 6.7.8 + '@tsed/openspec': 7.84.1 + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + '@types/multer': 1.4.12 body-parser: 1.20.3 + cross-env: 7.0.0 express: 4.21.0 multer: 1.4.4 + tslib: 2.6.1 + optionalDependencies: + '@tsed/platform-views': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/engines@7.83.4)(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) transitivePeerDependencies: - supports-color + '@tsed/platform-log-middleware@7.84.1(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/platform-middlewares@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/platform-params@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))': + dependencies: + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/platform-middlewares': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/platform-params': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + tslib: 2.6.1 + + '@tsed/platform-middlewares@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + tslib: 2.6.1 + optionalDependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + + '@tsed/platform-params@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/exceptions': 7.84.1(@tsed/core@7.84.1) + '@tsed/json-mapper': 7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + tslib: 2.6.1 + + '@tsed/platform-response-filter@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/exceptions': 7.84.1(@tsed/core@7.84.1) + '@tsed/json-mapper': 7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + tslib: 2.6.1 + + '@tsed/platform-router@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/platform-params@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/exceptions': 7.84.1(@tsed/core@7.84.1) + '@tsed/json-mapper': 7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/platform-params': 7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/json-mapper@7.84.1(@tsed/core@7.84.1)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + tslib: 2.6.1 + + '@tsed/platform-views@7.84.1(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/engines@7.83.4)(@tsed/exceptions@7.84.1(@tsed/core@7.84.1))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/engines': 7.83.4 + '@tsed/exceptions': 7.84.1(@tsed/core@7.84.1) + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + ejs: 3.1.10 + tslib: 2.6.1 + '@tsed/schema@6.43.0': dependencies: '@tsed/core': 6.43.0 @@ -16143,11 +18203,41 @@ snapshots: micromatch: 4.0.2 tslib: 2.1.0 + '@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)': + dependencies: + '@tsed/core': 7.84.1 + '@tsed/openspec': 7.84.1 + change-case: 4.1.2 + fs-extra: 11.2.0 + json-schema: 0.4.0 + picomatch: 2.3.1 + statuses: 2.0.1 + tslib: 2.6.1 + '@tsed/swagger@6.43.0': dependencies: swagger-ui-dist: 3.52.5 tslib: 2.1.0 + '@tsed/swagger@7.84.1(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1))': + dependencies: + '@tsed/common': 7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1) + '@tsed/normalize-path': 7.84.1 + '@tsed/openspec': 7.84.1 + fs-extra: 11.2.0 + micromatch: 4.0.8 + swagger-ui-dist: 5.17.14 + tslib: 2.6.1 + + '@tsed/terminus@7.84.1(@godaddy/terminus@4.12.1)(@tsed/common@7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1))(@tsed/core@7.84.1)(@tsed/di@7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)))(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1))': + dependencies: + '@godaddy/terminus': 4.12.1 + '@tsed/common': 7.84.1(@tsed/engines@7.83.4)(@tsed/logger-file@6.7.8(@tsed/logger@6.7.8))(@tsed/logger@6.7.8)(@tsed/openspec@7.84.1) + '@tsed/core': 7.84.1 + '@tsed/di': 7.84.1(@tsed/core@7.84.1)(@tsed/logger@6.7.8)(@tsed/schema@7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1)) + '@tsed/schema': 7.84.1(@tsed/core@7.84.1)(@tsed/openspec@7.84.1) + tslib: 2.6.1 + '@tsed/typeorm@6.43.0(typeorm@0.2.45(mysql2@2.3.3)(redis@3.1.2))': dependencies: tslib: 2.1.0 @@ -16218,7 +18308,7 @@ snapshots: '@types/cors@2.8.17': dependencies: - '@types/node': 20.14.0 + '@types/node': 22.8.7 '@types/css-modules@1.0.2': {} @@ -16226,6 +18316,10 @@ snapshots: dependencies: '@types/ms': 0.7.31 + '@types/es-aggregate-error@1.0.6': + dependencies: + '@types/node': 22.8.7 + '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 8.37.0 @@ -16258,6 +18352,10 @@ snapshots: '@types/qs': 6.9.17 '@types/serve-static': 1.15.7 + '@types/fs-extra@9.0.13': + dependencies: + '@types/node': 22.8.7 + '@types/glob@7.2.0': dependencies: '@types/minimatch': 3.0.5 @@ -16265,7 +18363,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.14.0 + '@types/node': 22.8.7 '@types/hast@2.3.4': dependencies: @@ -16282,9 +18380,14 @@ snapshots: '@types/http-errors@2.0.4': {} + '@types/inquirer@8.2.10': + dependencies: + '@types/through': 0.0.33 + rxjs: 7.5.6 + '@types/is-stream@1.1.0': dependencies: - '@types/node': 20.14.0 + '@types/node': 22.8.7 '@types/istanbul-lib-coverage@2.0.6': {} @@ -16337,7 +18440,7 @@ snapshots: '@types/ms@0.7.31': {} - '@types/multer@1.4.11': + '@types/multer@1.4.12': dependencies: '@types/express': 4.17.21 @@ -16360,6 +18463,10 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@22.8.7': + dependencies: + undici-types: 6.19.8 + '@types/normalize-package-data@2.4.0': {} '@types/path-browserify@1.0.0': {} @@ -16428,6 +18535,10 @@ snapshots: '@types/throttle-debounce@5.0.2': {} + '@types/through@0.0.33': + dependencies: + '@types/node': 22.8.7 + '@types/unist@2.0.3': {} '@types/unist@3.0.3': {} @@ -16436,6 +18547,8 @@ snapshots: dependencies: '@types/node': 20.14.0 + '@types/urijs@1.19.25': {} + '@types/url-join@4.0.3': {} '@types/uuid@10.0.0': {} @@ -16450,7 +18563,7 @@ snapshots: '@types/whatwg-url@8.2.1': dependencies: - '@types/node': 20.14.0 + '@types/node': 22.8.7 '@types/webidl-conversions': 6.1.1 '@types/yargs-parser@21.0.3': {} @@ -16459,6 +18572,11 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 22.8.7 + optional: true + '@types/zen-observable@0.8.3': {} '@typescript-eslint/eslint-plugin@5.59.7(@typescript-eslint/parser@5.59.7(eslint@8.41.0)(typescript@5.0.4))(eslint@8.41.0)(typescript@5.0.4)': @@ -16980,6 +19098,18 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 + ajv-draft-04@1.0.0(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-errors@3.0.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 @@ -16991,15 +19121,26 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.2.2 - ajv@8.6.2: + ajv@8.11.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.2.2 + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + alien-signals@0.2.1: {} + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + ansi-colors@4.1.3: {} ansi-escapes@4.3.2: @@ -17171,8 +19312,14 @@ snapshots: ast-types-flow@0.0.7: {} + ast-types@0.13.4: + dependencies: + tslib: 2.8.0 + astral-regex@2.0.0: {} + astring@1.9.0: {} + async-canvas-to-blob@1.0.3: {} async-each-series@0.1.1: {} @@ -17263,6 +19410,14 @@ snapshots: transitivePeerDependencies: - debug + axios@1.6.7: + dependencies: + follow-redirects: 1.15.9(debug@4.3.7) + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + axios@1.7.2: dependencies: follow-redirects: 1.15.9(debug@4.3.7) @@ -17349,6 +19504,26 @@ snapshots: bare-events@2.4.2: optional: true + bare-fs@2.3.5: + dependencies: + bare-events: 2.4.2 + bare-path: 2.1.3 + bare-stream: 2.3.2 + optional: true + + bare-os@2.4.4: + optional: true + + bare-path@2.1.3: + dependencies: + bare-os: 2.4.4 + optional: true + + bare-stream@2.3.2: + dependencies: + streamx: 2.20.1 + optional: true + base64-js@1.5.1: {} base64id@2.0.0: {} @@ -17359,6 +19534,8 @@ snapshots: dependencies: safe-buffer: 5.1.2 + basic-ftp@5.0.5: {} + batch@0.6.1: {} bcp-47-match@2.0.2: {} @@ -17423,6 +19600,17 @@ snapshots: bowser@2.11.0: {} + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.0 @@ -17662,6 +19850,8 @@ snapshots: camelcase@6.3.0: {} + camelcase@7.0.1: {} + camelize-ts@1.0.9: {} can-use-dom@0.1.0: {} @@ -17719,6 +19909,8 @@ snapshots: ansi-styles: 4.2.1 supports-color: 7.2.0 + chalk@5.3.0: {} + change-case@4.1.2: dependencies: camel-case: 4.1.2 @@ -17810,10 +20002,21 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.1: + dependencies: + readdirp: 4.0.2 + chownr@2.0.0: {} chrome-trace-event@1.0.4: {} + chromium-bidi@0.8.0(devtools-protocol@0.0.1354347): + dependencies: + devtools-protocol: 0.0.1354347 + mitt: 3.0.1 + urlpattern-polyfill: 10.0.0 + zod: 3.23.8 + ci-info@3.9.0: {} cjs-module-lexer@1.3.1: {} @@ -17822,6 +20025,8 @@ snapshots: clean-stack@2.2.0: {} + cli-boxes@3.0.0: {} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -17849,6 +20054,11 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 + cli-truncate@2.1.0: + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + cli-width@3.0.0: {} client-only@0.0.1: {} @@ -17960,10 +20170,14 @@ snapshots: commander@9.2.0: {} + commander@9.3.0: {} + commander@9.5.0: {} commondir@1.0.1: {} + compare-versions@6.1.1: {} + compress-commons@4.1.2: dependencies: buffer-crc32: 0.2.13 @@ -18002,6 +20216,11 @@ snapshots: confbox@0.1.7: {} + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + configstore@5.0.1: dependencies: dot-prop: 5.3.0 @@ -18011,6 +20230,14 @@ snapshots: write-file-atomic: 3.0.3 xdg-basedir: 4.0.0 + configstore@6.0.0: + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.11 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + connect-browser-sync@2.1.0(browser-sync@3.0.2): dependencies: browser-sync: 3.0.2 @@ -18053,11 +20280,23 @@ snapshots: console-control-strings@1.1.0: {} - consolidate@0.16.0(ejs@3.1.10)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + consolidate@0.16.0(ejs@3.1.10)(handlebars@4.7.7)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: bluebird: 3.7.2 optionalDependencies: ejs: 3.1.10 + handlebars: 4.7.7 + hogan.js: 3.0.2 + lodash: 4.17.21 + mustache: 4.2.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + consolidate@1.0.1(@babel/core@7.24.6)(ejs@3.1.10)(handlebars@4.7.7)(hogan.js@3.0.2)(lodash@4.17.21)(mustache@4.2.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + optionalDependencies: + '@babel/core': 7.24.6 + ejs: 3.1.10 + handlebars: 4.7.7 hogan.js: 3.0.2 lodash: 4.17.21 mustache: 4.2.0 @@ -18131,6 +20370,15 @@ snapshots: optionalDependencies: typescript: 5.0.4 + cosmiconfig@9.0.0(typescript@5.4.2): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.4.2 + cp-file@9.1.0: dependencies: graceful-fs: 4.2.11 @@ -18145,13 +20393,20 @@ snapshots: crc-32: 1.2.2 readable-stream: 3.6.0 - create-jest@29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)): + create-frame@1.0.0: + dependencies: + define-property: 0.2.5 + extend-shallow: 2.0.1 + isobject: 3.0.1 + lazy-cache: 2.0.2 + + create-jest@29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)) + jest-config: 29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -18203,6 +20458,10 @@ snapshots: crypto-random-string@2.0.0: {} + crypto-random-string@4.0.0: + dependencies: + type-fest: 1.4.0 + crypto@1.0.1: {} csrf@3.1.0: @@ -18465,6 +20724,8 @@ snapshots: dependencies: assert-plus: 1.0.0 + data-uri-to-buffer@6.0.2: {} + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -18495,6 +20756,8 @@ snapshots: date-format@3.0.0: {} + date-format@4.0.14: {} + dayjs@1.11.10: {} de-indent@1.0.2: {} @@ -18567,6 +20830,16 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 + define-property@0.2.5: + dependencies: + is-descriptor: 0.1.7 + + degenerator@5.0.1: + dependencies: + ast-types: 0.13.4 + escodegen: 2.1.0 + esprima: 4.0.1 + del@6.0.0: dependencies: globby: 11.1.0 @@ -18605,6 +20878,8 @@ snapshots: depd@2.0.0: {} + dependency-graph@0.11.0: {} + dequal@2.0.3: {} destroy@1.0.4: {} @@ -18623,6 +20898,8 @@ snapshots: dependencies: dequal: 2.0.3 + devtools-protocol@0.0.1354347: {} + dezalgo@1.0.3: dependencies: asap: 2.0.6 @@ -18710,6 +20987,10 @@ snapshots: dependencies: is-obj: 2.0.0 + dot-prop@6.0.1: + dependencies: + is-obj: 2.0.0 + dotenv-expand@5.1.0: {} dotenv-flow@3.2.0: @@ -18822,7 +21103,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 20.14.0 + '@types/node': 22.8.7 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.7.2 @@ -18840,6 +21121,10 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enquirer@2.3.6: + dependencies: + ansi-colors: 4.1.3 + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -18914,6 +21199,17 @@ snapshots: unbox-primitive: 1.0.2 which-typed-array: 1.1.15 + es-aggregate-error@1.0.13: + dependencies: + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + function-bind: 1.1.2 + globalthis: 1.0.4 + has-property-descriptors: 1.0.2 + set-function-name: 2.0.2 + es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 @@ -18978,8 +21274,37 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 + esbuild@0.24.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 + escalade@3.2.0: {} + escape-goat@4.0.0: {} + escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -18990,6 +21315,14 @@ snapshots: escape-string-regexp@5.0.0: {} + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + eslint-config-airbnb-base@13.1.0(eslint-plugin-import@2.26.0)(eslint@8.41.0): dependencies: eslint: 8.41.0 @@ -19155,13 +21488,13 @@ snapshots: - typescript optional: true - eslint-plugin-jest@26.9.0(@typescript-eslint/eslint-plugin@5.59.7(@typescript-eslint/parser@5.59.7(eslint@8.41.0)(typescript@5.4.2))(eslint@8.41.0)(typescript@5.4.2))(eslint@8.41.0)(jest@29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)))(typescript@5.4.2): + eslint-plugin-jest@26.9.0(@typescript-eslint/eslint-plugin@5.59.7(@typescript-eslint/parser@5.59.7(eslint@8.41.0)(typescript@5.4.2))(eslint@8.41.0)(typescript@5.4.2))(eslint@8.41.0)(jest@29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)))(typescript@5.4.2): dependencies: '@typescript-eslint/utils': 5.59.7(eslint@8.41.0)(typescript@5.4.2) eslint: 8.41.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 5.59.7(@typescript-eslint/parser@5.59.7(eslint@8.41.0)(typescript@5.4.2))(eslint@8.41.0)(typescript@5.4.2) - jest: 29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)) + jest: 29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)) transitivePeerDependencies: - supports-color - typescript @@ -19445,6 +21778,10 @@ snapshots: transitivePeerDependencies: - supports-color + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + extend@3.0.2: {} extendable-error@0.1.7: {} @@ -19457,6 +21794,16 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 + extract-zip@2.0.1: + dependencies: + debug: 4.3.7(supports-color@5.5.0) + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + extsprintf@1.3.0: {} extsprintf@1.4.0: {} @@ -19477,10 +21824,14 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-memoize@2.5.2: {} + fast-safe-stringify@2.1.1: {} fast-text-encoding@1.0.6: {} + fast-uri@3.0.3: {} + fast-xml-parser@4.2.5: dependencies: strnum: 1.0.5 @@ -19507,6 +21858,10 @@ snapshots: dependencies: bser: 2.1.1 + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + fdir@6.3.0(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -19517,6 +21872,11 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 + figures@4.0.1: + dependencies: + escape-string-regexp: 5.0.0 + is-unicode-supported: 1.3.0 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.0.4 @@ -19676,6 +22036,12 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.0 + fs-extra@11.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 @@ -19787,6 +22153,10 @@ snapshots: get-stdin@4.0.1: {} + get-stream@5.2.0: + dependencies: + pump: 3.0.0 + get-stream@6.0.1: {} get-symbol-description@1.0.2: @@ -19795,6 +22165,15 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 + get-uri@6.0.3: + dependencies: + basic-ftp: 5.0.5 + data-uri-to-buffer: 6.0.2 + debug: 4.3.7(supports-color@5.5.0) + fs-extra: 11.2.0 + transitivePeerDependencies: + - supports-color + getpass@0.1.7: dependencies: assert-plus: 1.0.0 @@ -19873,6 +22252,10 @@ snapshots: minimatch: 5.1.6 once: 1.4.0 + global-directory@4.0.1: + dependencies: + ini: 4.1.1 + global-modules@2.0.0: dependencies: global-prefix: 3.0.0 @@ -19951,6 +22334,8 @@ snapshots: dependencies: get-intrinsic: 1.2.4 + graceful-fs@4.2.10: {} + graceful-fs@4.2.11: {} grapheme-splitter@1.0.4: {} @@ -19972,6 +22357,20 @@ snapshots: hachure-fill@0.5.2: {} + handlebars-utils@1.0.6: + dependencies: + kind-of: 6.0.3 + typeof-article: 0.1.1 + + handlebars@4.7.7: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + handsontable@6.2.2: dependencies: moment: 2.20.1 @@ -20119,6 +22518,20 @@ snapshots: unist-util-visit: 5.0.0 zwitch: 2.0.2 + hast-util-to-html@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.2 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.1.1 + space-separated-tokens: 2.0.1 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + hast-util-to-jsx-runtime@2.3.0: dependencies: '@types/estree': 1.0.6 @@ -20370,6 +22783,8 @@ snapshots: immediate@3.3.0: {} + immer@9.0.21: {} + immutable@3.8.2: {} immutable@4.3.6: {} @@ -20411,11 +22826,39 @@ snapshots: ini@1.3.8: {} + ini@4.1.1: {} + ini@4.1.3: {} inline-style-parser@0.2.4: {} - inquirer@8.2.1: + inquirer-autocomplete-prompt@2.0.0(inquirer@8.2.4): + dependencies: + ansi-escapes: 4.3.2 + figures: 3.2.0 + inquirer: 8.2.4 + picocolors: 1.1.1 + run-async: 2.4.1 + rxjs: 7.5.6 + + inquirer@8.2.1: + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.5.6 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + + inquirer@8.2.4: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -20431,6 +22874,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 + wrap-ansi: 7.0.0 internal-slot@1.0.7: dependencies: @@ -20457,6 +22901,10 @@ snapshots: is-absolute-url@4.0.1: {} + is-accessor-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + is-alphabetical@1.0.4: {} is-alphabetical@2.0.1: {} @@ -20500,6 +22948,10 @@ snapshots: dependencies: hasown: 2.0.2 + is-data-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + is-data-view@1.0.1: dependencies: is-typed-array: 1.1.13 @@ -20512,10 +22964,17 @@ snapshots: is-decimal@2.0.1: {} + is-descriptor@0.1.7: + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + is-docker@2.2.1: {} is-electron@2.2.2: {} + is-extendable@0.1.1: {} + is-extglob@2.1.1: {} is-finite@1.1.0: {} @@ -20534,6 +22993,13 @@ snapshots: is-hidden@2.0.1: {} + is-in-ci@0.1.0: {} + + is-installed-globally@1.0.0: + dependencies: + global-directory: 4.0.1 + is-path-inside: 4.0.0 + is-interactive@1.0.0: {} is-iso-date@0.0.1: {} @@ -20542,6 +23008,8 @@ snapshots: is-negative-zero@2.0.3: {} + is-npm@6.0.0: {} + is-number-like@1.0.8: dependencies: lodash.isfinite: 3.3.2 @@ -20556,6 +23024,8 @@ snapshots: is-path-inside@3.0.3: {} + is-path-inside@4.0.0: {} + is-plain-obj@1.1.0: {} is-plain-obj@4.1.0: {} @@ -20599,6 +23069,8 @@ snapshots: is-unicode-supported@0.1.0: {} + is-unicode-supported@1.3.0: {} + is-utf8@0.2.1: {} is-weakref@1.0.2: @@ -20623,6 +23095,8 @@ snapshots: isexe@2.0.0: {} + isobject@3.0.1: {} + isomorphic.js@0.2.5: {} isstream@0.1.2: {} @@ -20701,7 +23175,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -20721,16 +23195,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)): + jest-cli@29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)) + create-jest: 29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)) + jest-config: 29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -20740,7 +23214,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)): + jest-config@29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)): dependencies: '@babel/core': 7.24.6 '@jest/test-sequencer': 29.7.0 @@ -20765,8 +23239,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 20.14.0 - ts-node: 10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2) + '@types/node': 22.8.7 + ts-node: 10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -20797,7 +23271,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -20807,7 +23281,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.14.0 + '@types/node': 22.8.7 anymatch: 3.1.2 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -20848,7 +23322,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -20883,7 +23357,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -20911,7 +23385,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 chalk: 4.1.2 cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 @@ -20957,7 +23431,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -20976,7 +23450,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -20985,23 +23459,23 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.14.0 + '@types/node': 22.8.7 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.14.0 + '@types/node': 22.8.7 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)): + jest@29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.14.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2)) + jest-cli: 29.7.0(@types/node@22.8.7)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -21039,6 +23513,8 @@ snapshots: jsbn@1.1.0: {} + jsep@1.3.9: {} + jsesc@2.5.2: {} json-bigint@1.0.0: @@ -21057,6 +23533,8 @@ snapshots: json-schema@0.2.3: {} + json-schema@0.4.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} json-stringify-safe@5.0.1: {} @@ -21074,6 +23552,8 @@ snapshots: espree: 9.6.1 semver: 7.6.3 + jsonc-parser@2.2.1: {} + jsonc-parser@3.2.0: {} jsonfile@3.0.1: @@ -21092,6 +23572,13 @@ snapshots: jsonparse@1.3.1: {} + jsonpath-plus@6.0.1: + optional: true + + jsonpath-plus@7.1.0: {} + + jsonpointer@5.0.1: {} + jsonwebtoken@9.0.2: dependencies: jws: 3.2.2 @@ -21156,6 +23643,10 @@ snapshots: khroma@2.1.0: {} + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + kind-of@6.0.3: {} kleur@3.0.3: {} @@ -21170,6 +23661,8 @@ snapshots: dependencies: asn1.js: 5.4.1 + ky@1.7.2: {} + langium@3.0.0: dependencies: chevrotain: 11.0.3 @@ -21184,10 +23677,18 @@ snapshots: dependencies: language-subtag-registry: 0.3.21 + latest-version@9.0.0: + dependencies: + package-json: 10.0.1 + layout-base@1.0.2: {} layout-base@2.0.1: {} + lazy-cache@2.0.2: + dependencies: + set-getter: 0.1.1 + lazystream@1.0.1: dependencies: readable-stream: 2.3.8 @@ -21302,6 +23803,19 @@ snapshots: dependencies: uc.micro: 1.0.6 + listr2@5.0.5(enquirer@2.3.6): + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.20 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.4.1 + rxjs: 7.5.6 + through: 2.3.8 + wrap-ansi: 7.0.0 + optionalDependencies: + enquirer: 2.3.6 + load-css-file@1.0.0: {} load-json-file@1.1.0: @@ -21374,6 +23888,8 @@ snapshots: lodash.isboolean@3.0.3: {} + lodash.isempty@4.4.0: {} + lodash.isequal@4.5.0: {} lodash.isfinite@3.3.2: {} @@ -21394,6 +23910,10 @@ snapshots: lodash.mergewith@4.6.2: {} + lodash.omit@4.5.0: {} + + lodash.omitby@4.6.0: {} + lodash.once@4.1.1: {} lodash.set@4.3.2: {} @@ -21402,10 +23922,18 @@ snapshots: lodash.throttle@4.1.1: {} + lodash.topath@4.5.2: {} + lodash.truncate@4.4.2: {} lodash.union@4.6.0: {} + lodash.uniq@4.5.0: {} + + lodash.uniqby@4.7.0: {} + + lodash.uniqwith@4.5.0: {} + lodash@4.17.21: {} log-symbols@4.1.0: @@ -21413,6 +23941,17 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 + log-update@4.0.0: + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + + loglevel-plugin-prefix@0.8.4: {} + + loglevel@1.9.2: {} + long@4.0.0: {} longest-streak@2.0.4: {} @@ -22126,6 +24665,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@6.2.0: + dependencies: + brace-expansion: 2.0.1 + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -22177,6 +24720,8 @@ snapshots: mitt@1.2.0: {} + mitt@3.0.1: {} + mixme@0.5.10: {} mj-context-menu@0.6.1: {} @@ -22201,6 +24746,10 @@ snapshots: get-caller-file: 1.0.3 normalize-path: 2.1.1 + module-alias@2.2.2: {} + + module-alias@2.2.3: {} + moment@2.20.1: {} moment@2.30.1: {} @@ -22415,6 +24964,8 @@ snapshots: nested-error-stacks@2.1.0: {} + netmask@2.0.2: {} + new-find-package-json@2.0.0: dependencies: debug: 4.3.7(supports-color@5.5.0) @@ -22488,6 +25039,16 @@ snapshots: nice-try@1.0.4: {} + nimma@0.2.2: + dependencies: + '@jsep-plugin/regex': 1.0.3(jsep@1.3.9) + '@jsep-plugin/ternary': 1.1.3(jsep@1.3.9) + astring: 1.9.0 + jsep: 1.3.9 + optionalDependencies: + jsonpath-plus: 6.0.1 + lodash.topath: 4.5.2 + no-case@3.0.4: dependencies: lower-case: 2.0.2 @@ -22586,6 +25147,8 @@ snapshots: not@0.1.0: {} + npm-normalize-package-bin@1.0.1: {} + npm-run-all@4.1.5: dependencies: ansi-styles: 3.2.1 @@ -22732,7 +25295,7 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openai@4.56.0(encoding@0.1.13): + openai@4.56.0(encoding@0.1.13)(zod@3.23.8): dependencies: '@types/node': 18.19.46 '@types/node-fetch': 2.6.11 @@ -22741,11 +25304,17 @@ snapshots: form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0(encoding@0.1.13) + optionalDependencies: + zod: 3.23.8 transitivePeerDependencies: - encoding openapi-types@12.1.3: {} + openapi3-ts@4.2.2: + dependencies: + yaml: 2.4.5 + opener@1.5.2: {} openid-client@5.6.5: @@ -22780,6 +25349,36 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 + orval@7.2.0(encoding@0.1.13)(openapi-types@12.1.3)(typescript@5.4.2): + dependencies: + '@apidevtools/swagger-parser': 10.1.0(openapi-types@12.1.3) + '@orval/angular': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/axios': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/core': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/fetch': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/hono': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/mock': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/query': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/swr': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + '@orval/zod': 7.2.0(encoding@0.1.13)(openapi-types@12.1.3) + ajv: 8.17.1 + cac: 6.7.14 + chalk: 4.1.2 + chokidar: 4.0.1 + enquirer: 2.4.1 + execa: 5.1.1 + find-up: 5.0.0 + fs-extra: 11.2.0 + lodash.uniq: 4.5.0 + openapi3-ts: 4.2.2 + string-argv: 0.3.2 + tsconfck: 2.1.2(typescript@5.4.2) + transitivePeerDependencies: + - encoding + - openapi-types + - supports-color + - typescript + os-tmpdir@1.0.2: {} outdent@0.5.0: {} @@ -22844,8 +25443,33 @@ snapshots: p-try@2.0.0: {} + pac-proxy-agent@7.0.2: + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.1 + debug: 4.3.7(supports-color@5.5.0) + get-uri: 6.0.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.4 + transitivePeerDependencies: + - supports-color + + pac-resolver@7.0.1: + dependencies: + degenerator: 5.0.1 + netmask: 2.0.2 + package-json-from-dist@1.0.0: {} + package-json@10.0.1: + dependencies: + ky: 1.7.2 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.6.3 + package-manager-detector@0.2.0: {} pako@1.0.11: {} @@ -23085,6 +25709,8 @@ snapshots: path-data-parser: 0.1.0 points-on-curve: 0.2.0 + pony-cause@1.1.1: {} + portscanner@2.2.0: dependencies: async: 2.6.4 @@ -23162,6 +25788,8 @@ snapshots: process-warning@2.3.2: {} + progress@2.0.3: {} + promise-inflight@1.0.1: {} promise-retry@2.0.1: @@ -23186,11 +25814,26 @@ snapshots: property-information@6.1.1: {} + proto-list@1.2.4: {} + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 + proxy-agent@6.4.0: + dependencies: + agent-base: 7.1.1 + debug: 4.3.7(supports-color@5.5.0) + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 + lru-cache: 7.18.3 + pac-proxy-agent: 7.0.2 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.4 + transitivePeerDependencies: + - supports-color + proxy-from-env@1.1.0: {} prr@1.0.1: {} @@ -23223,6 +25866,44 @@ snapshots: punycode@2.3.1: {} + pupa@3.1.0: + dependencies: + escape-goat: 4.0.0 + + puppeteer-cluster@0.24.0(puppeteer@23.6.1(typescript@5.4.2)): + dependencies: + debug: 4.3.7(supports-color@5.5.0) + puppeteer: 23.6.1(typescript@5.4.2) + transitivePeerDependencies: + - supports-color + + puppeteer-core@23.6.1: + dependencies: + '@puppeteer/browsers': 2.4.0 + chromium-bidi: 0.8.0(devtools-protocol@0.0.1354347) + debug: 4.3.7(supports-color@5.5.0) + devtools-protocol: 0.0.1354347 + typed-query-selector: 2.12.0 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + puppeteer@23.6.1(typescript@5.4.2): + dependencies: + '@puppeteer/browsers': 2.4.0 + chromium-bidi: 0.8.0(devtools-protocol@0.0.1354347) + cosmiconfig: 9.0.0(typescript@5.4.2) + devtools-protocol: 0.0.1354347 + puppeteer-core: 23.6.1 + typed-query-selector: 2.12.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - typescript + - utf-8-validate + pure-rand@6.1.0: {} q@1.5.1: {} @@ -23242,6 +25923,8 @@ snapshots: querystring@0.2.0: {} + querystringify@2.2.0: {} + queue-microtask@1.2.3: {} queue-tick@1.0.1: {} @@ -23325,7 +26008,7 @@ snapshots: dependencies: dnd-core: 14.0.1 - react-dnd@14.0.5(@types/hoist-non-react-statics@3.3.5)(@types/node@20.14.0)(@types/react@18.3.3)(react@18.2.0): + react-dnd@14.0.5(@types/hoist-non-react-statics@3.3.5)(@types/node@22.8.7)(@types/react@18.3.3)(react@18.2.0): dependencies: '@react-dnd/invariant': 2.0.0 '@react-dnd/shallowequal': 2.0.0 @@ -23335,7 +26018,7 @@ snapshots: react: 18.2.0 optionalDependencies: '@types/hoist-non-react-statics': 3.3.5 - '@types/node': 20.14.0 + '@types/node': 22.8.7 '@types/react': 18.3.3 react-dom@18.2.0(react@18.2.0): @@ -23505,6 +26188,11 @@ snapshots: react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-transition-group: 4.4.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + read-package-json-fast@2.0.3: + dependencies: + json-parse-even-better-errors: 2.3.1 + npm-normalize-package-bin: 1.0.1 + read-pkg-up@1.0.1: dependencies: find-up: 1.1.2 @@ -23573,6 +26261,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.2: {} + rechoir@0.6.2: dependencies: resolve: 1.22.8 @@ -23610,6 +26300,8 @@ snapshots: reflect-metadata@0.1.14: {} + reflect-metadata@0.2.2: {} + refractor@3.6.0: dependencies: hastscript: 6.0.0 @@ -23722,6 +26414,18 @@ snapshots: es-errors: 1.3.0 set-function-name: 2.0.2 + registry-auth-token@5.0.2: + dependencies: + '@pnpm/npm-conf': 2.3.1 + + registry-url@5.1.0: + dependencies: + rc: 1.2.8 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + rehype-katex@7.0.1: dependencies: '@types/hast': 3.0.4 @@ -23805,6 +26509,14 @@ snapshots: transitivePeerDependencies: - supports-color + remark-html@16.0.1: + dependencies: + '@types/mdast': 4.0.4 + hast-util-sanitize: 5.0.1 + hast-util-to-html: 9.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.5 + remark-math@6.0.0: dependencies: '@types/mdast': 4.0.4 @@ -23951,6 +26663,8 @@ snapshots: reveal.js@4.6.1: {} + rfdc@1.4.1: {} + rimraf@2.4.5: dependencies: glob: 6.0.4 @@ -24039,6 +26753,8 @@ snapshots: es-errors: 1.3.0 is-regex: 1.1.4 + safe-stable-stringify@1.1.1: {} + safer-buffer@2.1.2: {} sanitize-filename@1.6.3: @@ -24077,12 +26793,20 @@ snapshots: secure-json-parse@2.7.0: {} + semver-diff@4.0.0: + dependencies: + semver: 7.6.3 + semver@5.5.1: {} semver@5.7.1: {} semver@6.3.1: {} + semver@7.3.5: + dependencies: + lru-cache: 6.0.0 + semver@7.5.4: dependencies: lru-cache: 6.0.0 @@ -24187,6 +26911,10 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + set-getter@0.1.1: + dependencies: + to-object-path: 0.3.0 + setprototypeof@1.1.0: {} setprototypeof@1.1.1: {} @@ -24268,6 +26996,10 @@ snapshots: signal-exit@4.1.0: {} + simple-eval@1.0.0: + dependencies: + jsep: 1.3.9 + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 @@ -24304,6 +27036,12 @@ snapshots: slash@4.0.0: {} + slice-ansi@3.0.0: + dependencies: + ansi-styles: 4.2.1 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + slice-ansi@4.0.0: dependencies: ansi-styles: 4.2.1 @@ -24375,6 +27113,14 @@ snapshots: transitivePeerDependencies: - supports-color + socks-proxy-agent@8.0.4: + dependencies: + agent-base: 7.1.1 + debug: 4.3.7(supports-color@5.5.0) + socks: 2.8.3 + transitivePeerDependencies: + - supports-color + socks@2.8.3: dependencies: ip-address: 9.0.5 @@ -24444,6 +27190,10 @@ snapshots: dependencies: through2: 2.0.5 + split@1.0.1: + dependencies: + through: 2.3.8 + sprintf-js@1.0.3: {} sprintf-js@1.1.3: {} @@ -24517,6 +27267,14 @@ snapshots: transitivePeerDependencies: - supports-color + streamroller@3.1.5: + dependencies: + date-format: 4.0.14 + debug: 4.3.7(supports-color@5.5.0) + fs-extra: 8.1.0 + transitivePeerDependencies: + - supports-color + streamsearch@0.1.2: {} streamsearch@1.1.0: {} @@ -24529,10 +27287,21 @@ snapshots: optionalDependencies: bare-events: 2.4.2 + streamx@2.20.1: + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + text-decoder: 1.1.0 + optionalDependencies: + bare-events: 2.4.2 + optional: true + strict-uri-encode@2.0.0: {} string-argv@0.3.1: {} + string-argv@0.3.2: {} + string-length@4.0.2: dependencies: char-regex: 1.0.2 @@ -24856,6 +27625,8 @@ snapshots: swagger-ui-dist@3.52.5: {} + swagger-ui-dist@5.17.14: {} + swagger2openapi@7.0.8(encoding@0.1.13): dependencies: call-me-maybe: 1.0.2 @@ -24885,7 +27656,7 @@ snapshots: table@6.8.2: dependencies: - ajv: 8.6.2 + ajv: 8.17.1 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 @@ -24893,6 +27664,14 @@ snapshots: tapable@2.2.1: {} + tar-fs@3.0.6: + dependencies: + pump: 3.0.0 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 2.3.5 + bare-path: 2.1.3 + tar-stream@2.2.0: dependencies: bl: 4.1.0 @@ -25020,6 +27799,10 @@ snapshots: to-fast-properties@2.0.0: {} + to-object-path@0.3.0: + dependencies: + kind-of: 3.2.2 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -25102,14 +27885,14 @@ snapshots: optionalDependencies: '@swc/core': 1.5.25(@swc/helpers@0.5.11) - ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@20.14.0)(typescript@5.4.2): + ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.11))(@types/node@22.8.7)(typescript@5.4.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 20.14.0 + '@types/node': 22.8.7 acorn: 8.14.0 acorn-walk: 8.3.2 arg: 4.1.3 @@ -25132,6 +27915,10 @@ snapshots: semver: 7.6.3 strip-ansi: 6.0.1 + tsconfck@2.1.2(typescript@5.4.2): + optionalDependencies: + typescript: 5.4.2 + tsconfck@3.0.3(typescript@5.0.4): optionalDependencies: typescript: 5.0.4 @@ -25155,6 +27942,12 @@ snapshots: tslib@2.3.0: {} + tslib@2.3.1: {} + + tslib@2.6.1: {} + + tslib@2.6.2: {} + tslib@2.8.0: {} tspc@1.1.2: {} @@ -25204,6 +27997,8 @@ snapshots: dependencies: safe-buffer: 5.2.1 + tunnel@0.0.6: {} + turbo-darwin-64@2.1.3: optional: true @@ -25266,6 +28061,10 @@ snapshots: type-fest@0.8.1: {} + type-fest@1.4.0: {} + + type-fest@2.19.0: {} + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -25303,12 +28102,18 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + typed-query-selector@2.12.0: {} + typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 typedarray@0.0.6: {} + typeof-article@0.1.1: + dependencies: + kind-of: 3.2.2 + typeorm@0.2.45(mysql2@2.3.3)(redis@3.1.2): dependencies: '@sqltools/formatter': 1.2.5 @@ -25355,6 +28160,9 @@ snapshots: ufo@1.5.4: {} + uglify-js@3.19.3: + optional: true + uglifycss@0.0.29: {} uid-safe@2.1.5: @@ -25370,6 +28178,11 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + unbzip2-stream@1.4.3: + dependencies: + buffer: 5.7.1 + through: 2.3.8 + uncontrollable@7.2.1(react@18.2.0): dependencies: '@babel/runtime': 7.25.4 @@ -25382,6 +28195,8 @@ snapshots: undici-types@5.26.5: {} + undici-types@6.19.8: {} + undici@6.19.2: {} unified@11.0.5: @@ -25406,6 +28221,10 @@ snapshots: dependencies: crypto-random-string: 2.0.0 + unique-string@3.0.0: + dependencies: + crypto-random-string: 4.0.0 + unist-util-find-after@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -25488,6 +28307,21 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-notifier@7.1.0: + dependencies: + boxen: 7.1.1 + chalk: 5.3.0 + configstore: 6.0.0 + import-lazy: 4.0.0 + is-in-ci: 0.1.0 + is-installed-globally: 1.0.0 + is-npm: 6.0.0 + latest-version: 9.0.0 + pupa: 3.1.0 + semver: 7.6.3 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + upper-case-first@2.0.2: dependencies: tslib: 2.8.0 @@ -25500,8 +28334,15 @@ snapshots: dependencies: punycode: 2.3.1 + urijs@1.19.11: {} + url-join@4.0.1: {} + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + url-template@2.0.8: {} url@0.10.3: @@ -25509,6 +28350,8 @@ snapshots: punycode: 1.3.2 querystring: 0.2.0 + urlpattern-polyfill@10.0.0: {} + use-sync-external-store@1.2.2(react@18.2.0): dependencies: react: 18.2.0 @@ -25538,6 +28381,8 @@ snapshots: has-symbols: 1.0.3 object.getownpropertydescriptors: 2.1.3 + utility-types@3.11.0: {} + utils-merge@1.0.1: {} uuid@11.0.3: {} @@ -25904,8 +28749,14 @@ snapshots: dependencies: string-width: 4.2.3 + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + word-wrap@1.2.3: {} + wordwrap@1.0.0: {} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.2.1 @@ -25947,10 +28798,14 @@ snapshots: ws@8.17.1: {} + ws@8.18.0: {} + x-img-diff-js@0.3.5: {} xdg-basedir@4.0.0: {} + xdg-basedir@5.1.0: {} + xml-crypto@2.1.5: dependencies: '@xmldom/xmldom': 0.7.13 @@ -26117,6 +28972,11 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + yauzl@3.1.3: dependencies: buffer-crc32: 0.2.13 @@ -26151,6 +29011,10 @@ snapshots: compress-commons: 4.1.2 readable-stream: 3.6.0 + zod@3.23.8: {} + zwitch@1.0.5: {} zwitch@2.0.2: {} + + zwitch@2.0.4: {}