From 0a25a3a30b8287da27bb4754f0f3f517cc79c668 Mon Sep 17 00:00:00 2001 From: Lanskikh Date: Mon, 30 Jun 2025 14:45:51 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=B0:=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=20bun.lock?= =?UTF-8?q?b,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=82?= =?UTF-8?q?=D0=B8=D0=BF=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=20=D0=B2=20?= =?UTF-8?q?package.json,=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20TypeScrip?= =?UTF-8?q?t,=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D1=8B=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20tsconfig.jso?= =?UTF-8?q?n,=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D1=8B=20=D0=B8=D0=BC=D0=BF=D0=BE=D1=80=D1=82=D1=8B=20=D0=B8=20?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B2=20=D0=BA=D0=BE=D0=BD=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BB=D0=BB=D0=B5=D1=80=D0=B0=D1=85=20=D0=B8=20?= =?UTF-8?q?=D1=81=D1=85=D0=B5=D0=BC=D0=B0=D1=85=20=D0=B1=D0=B0=D0=B7=D1=8B?= =?UTF-8?q?=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85,=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=BE=D0=B2=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=8F=20=D0=B2=20=D1=82=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=86=D1=83=20mail.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bun.lock | 491 ++++++++++++++++++++++++++++++++ bun.lockb | Bin 102211 -> 0 bytes package.json | 3 +- src/controllers/articles.ts | 42 +-- src/controllers/mail.ts | 66 +++-- src/db/schema/index.ts | 16 +- src/db/schema/mail.ts | 32 ++- src/db/schema/projects.ts | 2 + src/services/articles/getAll.ts | 10 +- tsconfig.json | 6 +- 10 files changed, 589 insertions(+), 79 deletions(-) create mode 100644 bun.lock delete mode 100644 bun.lockb diff --git a/bun.lock b/bun.lock new file mode 100644 index 0000000..589b1ec --- /dev/null +++ b/bun.lock @@ -0,0 +1,491 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "graff.estate-backend", + "dependencies": { + "@aws-sdk/client-s3": "^3.709.0", + "@elysiajs/cors": "1.1.1", + "cron": "^3.3.1", + "drizzle-orm": "^0.38.4", + "drizzle-typebox": "^0.2.0", + "elysia": "latest", + "jose": "^5.9.6", + "nodemailer": "^6.10.0", + "postgres": "^3.4.5", + "sharp": "^0.33.5", + "transliteration": "^2.3.5", + }, + "devDependencies": { + "@types/bun": "^1.2.2", + "@types/nodemailer": "^6.4.17", + "bun-types": "latest", + "drizzle-kit": "^0.30.0", + "typescript": "^5.8.3", + }, + }, + }, + "packages": { + "@aws-crypto/crc32": ["@aws-crypto/crc32@5.2.0", "", { "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" } }, "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg=="], + + "@aws-crypto/crc32c": ["@aws-crypto/crc32c@5.2.0", "", { "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" } }, "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag=="], + + "@aws-crypto/sha1-browser": ["@aws-crypto/sha1-browser@5.2.0", "", { "dependencies": { "@aws-crypto/supports-web-crypto": "^5.2.0", "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg=="], + + "@aws-crypto/sha256-browser": ["@aws-crypto/sha256-browser@5.2.0", "", { "dependencies": { "@aws-crypto/sha256-js": "^5.2.0", "@aws-crypto/supports-web-crypto": "^5.2.0", "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw=="], + + "@aws-crypto/sha256-js": ["@aws-crypto/sha256-js@5.2.0", "", { "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" } }, "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA=="], + + "@aws-crypto/supports-web-crypto": ["@aws-crypto/supports-web-crypto@5.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg=="], + + "@aws-crypto/util": ["@aws-crypto/util@5.2.0", "", { "dependencies": { "@aws-sdk/types": "^3.222.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ=="], + + "@aws-sdk/client-s3": ["@aws-sdk/client-s3@3.787.0", "", { "dependencies": { "@aws-crypto/sha1-browser": "5.2.0", "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/credential-provider-node": "3.787.0", "@aws-sdk/middleware-bucket-endpoint": "3.775.0", "@aws-sdk/middleware-expect-continue": "3.775.0", "@aws-sdk/middleware-flexible-checksums": "3.787.0", "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-location-constraint": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-sdk-s3": "3.775.0", "@aws-sdk/middleware-ssec": "3.775.0", "@aws-sdk/middleware-user-agent": "3.787.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/signature-v4-multi-region": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.787.0", "@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-node": "3.787.0", "@aws-sdk/xml-builder": "3.775.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/eventstream-serde-browser": "^4.0.2", "@smithy/eventstream-serde-config-resolver": "^4.1.0", "@smithy/eventstream-serde-node": "^4.0.2", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/hash-blob-browser": "^4.0.2", "@smithy/hash-node": "^4.0.2", "@smithy/hash-stream-node": "^4.0.2", "@smithy/invalid-dependency": "^4.0.2", "@smithy/md5-js": "^4.0.2", "@smithy/middleware-content-length": "^4.0.2", "@smithy/middleware-endpoint": "^4.1.0", "@smithy/middleware-retry": "^4.1.0", "@smithy/middleware-serde": "^4.0.3", "@smithy/middleware-stack": "^4.0.2", "@smithy/node-config-provider": "^4.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", "@smithy/util-defaults-mode-browser": "^4.0.8", "@smithy/util-defaults-mode-node": "^4.0.8", "@smithy/util-endpoints": "^3.0.2", "@smithy/util-middleware": "^4.0.2", "@smithy/util-retry": "^4.0.2", "@smithy/util-stream": "^4.2.0", "@smithy/util-utf8": "^4.0.0", "@smithy/util-waiter": "^4.0.3", "tslib": "^2.6.2" } }, "sha512-eGLCWkN0NlntJ9yPU6OKUggVS4cFvuZJog+cFg1KD5hniLqz7Y0YRtB4uBxW212fK3XCfddgyscEOEeHaTQQTw=="], + + "@aws-sdk/client-sso": ["@aws-sdk/client-sso@3.787.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-user-agent": "3.787.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.787.0", "@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-node": "3.787.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/hash-node": "^4.0.2", "@smithy/invalid-dependency": "^4.0.2", "@smithy/middleware-content-length": "^4.0.2", "@smithy/middleware-endpoint": "^4.1.0", "@smithy/middleware-retry": "^4.1.0", "@smithy/middleware-serde": "^4.0.3", "@smithy/middleware-stack": "^4.0.2", "@smithy/node-config-provider": "^4.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", "@smithy/util-defaults-mode-browser": "^4.0.8", "@smithy/util-defaults-mode-node": "^4.0.8", "@smithy/util-endpoints": "^3.0.2", "@smithy/util-middleware": "^4.0.2", "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-L8R+Mh258G0DC73ktpSVrG4TT9i2vmDLecARTDR/4q5sRivdDQSL5bUp3LKcK80Bx+FRw3UETIlX6mYMLL9PJQ=="], + + "@aws-sdk/core": ["@aws-sdk/core@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/core": "^3.2.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/signature-v4": "^5.0.2", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/util-middleware": "^4.0.2", "fast-xml-parser": "4.4.1", "tslib": "^2.6.2" } }, "sha512-8vpW4WihVfz0DX+7WnnLGm3GuQER++b0IwQG35JlQMlgqnc44M//KbJPsIHA0aJUJVwJAEShgfr5dUbY8WUzaA=="], + + "@aws-sdk/credential-provider-env": ["@aws-sdk/credential-provider-env@3.775.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-6ESVxwCbGm7WZ17kY1fjmxQud43vzJFoLd4bmlR+idQSWdqlzGDYdcfzpjDKTcivdtNrVYmFvcH1JBUwCRAZhw=="], + + "@aws-sdk/credential-provider-http": ["@aws-sdk/credential-provider-http@3.775.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/property-provider": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/util-stream": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-PjDQeDH/J1S0yWV32wCj2k5liRo0ssXMseCBEkCsD3SqsU8o5cU82b0hMX4sAib/RkglCSZqGO0xMiN0/7ndww=="], + + "@aws-sdk/credential-provider-ini": ["@aws-sdk/credential-provider-ini@3.787.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/credential-provider-env": "3.775.0", "@aws-sdk/credential-provider-http": "3.775.0", "@aws-sdk/credential-provider-process": "3.775.0", "@aws-sdk/credential-provider-sso": "3.787.0", "@aws-sdk/credential-provider-web-identity": "3.787.0", "@aws-sdk/nested-clients": "3.787.0", "@aws-sdk/types": "3.775.0", "@smithy/credential-provider-imds": "^4.0.2", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-hc2taRoDlXn2uuNuHWDJljVWYrp3r9JF1a/8XmOAZhVUNY+ImeeStylHXhXXKEA4JOjW+5PdJj0f1UDkVCHJiQ=="], + + "@aws-sdk/credential-provider-node": ["@aws-sdk/credential-provider-node@3.787.0", "", { "dependencies": { "@aws-sdk/credential-provider-env": "3.775.0", "@aws-sdk/credential-provider-http": "3.775.0", "@aws-sdk/credential-provider-ini": "3.787.0", "@aws-sdk/credential-provider-process": "3.775.0", "@aws-sdk/credential-provider-sso": "3.787.0", "@aws-sdk/credential-provider-web-identity": "3.787.0", "@aws-sdk/types": "3.775.0", "@smithy/credential-provider-imds": "^4.0.2", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-JioVi44B1vDMaK2CdzqimwvJD3uzvzbQhaEWXsGMBcMcNHajXAXf08EF50JG3ZhLrhhUsT1ObXpbTaPINOhh+g=="], + + "@aws-sdk/credential-provider-process": ["@aws-sdk/credential-provider-process@3.775.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-A6k68H9rQp+2+7P7SGO90Csw6nrUEm0Qfjpn9Etc4EboZhhCLs9b66umUsTsSBHus4FDIe5JQxfCUyt1wgNogg=="], + + "@aws-sdk/credential-provider-sso": ["@aws-sdk/credential-provider-sso@3.787.0", "", { "dependencies": { "@aws-sdk/client-sso": "3.787.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/token-providers": "3.787.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-fHc08bsvwm4+dEMEQKnQ7c1irEQmmxbgS+Fq41y09pPvPh31nAhoMcjBSTWAaPHvvsRbTYvmP4Mf12ZGr8/nfg=="], + + "@aws-sdk/credential-provider-web-identity": ["@aws-sdk/credential-provider-web-identity@3.787.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/nested-clients": "3.787.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-SobmCwNbk6TfEsF283mZPQEI5vV2j6eY5tOCj8Er4Lzraxu9fBPADV+Bib2A8F6jlB1lMPJzOuDCbEasSt/RIw=="], + + "@aws-sdk/middleware-bucket-endpoint": ["@aws-sdk/middleware-bucket-endpoint@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@aws-sdk/util-arn-parser": "3.723.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "@smithy/util-config-provider": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-qogMIpVChDYr4xiUNC19/RDSw/sKoHkAhouS6Skxiy6s27HBhow1L3Z1qVYXuBmOZGSWPU0xiyZCvOyWrv9s+Q=="], + + "@aws-sdk/middleware-expect-continue": ["@aws-sdk/middleware-expect-continue@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Apd3owkIeUW5dnk3au9np2IdW2N0zc9NjTjHiH+Mx3zqwSrc+m+ANgJVgk9mnQjMzU/vb7VuxJ0eqdEbp5gYsg=="], + + "@aws-sdk/middleware-flexible-checksums": ["@aws-sdk/middleware-flexible-checksums@3.787.0", "", { "dependencies": { "@aws-crypto/crc32": "5.2.0", "@aws-crypto/crc32c": "5.2.0", "@aws-crypto/util": "5.2.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@smithy/is-array-buffer": "^4.0.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "@smithy/util-middleware": "^4.0.2", "@smithy/util-stream": "^4.2.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-X71qEwWoixFmwowWzlPoZUR3u1CWJ7iAzU0EzIxqmPhQpQJLFmdL1+SRjqATynDPZQzLs1a5HBtPT++EnZ+Quw=="], + + "@aws-sdk/middleware-host-header": ["@aws-sdk/middleware-host-header@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-tkSegM0Z6WMXpLB8oPys/d+umYIocvO298mGvcMCncpRl77L9XkvSLJIFzaHes+o7djAgIduYw8wKIMStFss2w=="], + + "@aws-sdk/middleware-location-constraint": ["@aws-sdk/middleware-location-constraint@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-8TMXEHZXZTFTckQLyBT5aEI8fX11HZcwZseRifvBKKpj0RZDk4F0EEYGxeNSPpUQ7n+PRWyfAEnnZNRdAj/1NQ=="], + + "@aws-sdk/middleware-logger": ["@aws-sdk/middleware-logger@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-FaxO1xom4MAoUJsldmR92nT1G6uZxTdNYOFYtdHfd6N2wcNaTuxgjIvqzg5y7QIH9kn58XX/dzf1iTjgqUStZw=="], + + "@aws-sdk/middleware-recursion-detection": ["@aws-sdk/middleware-recursion-detection@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-GLCzC8D0A0YDG5u3F5U03Vb9j5tcOEFhr8oc6PDk0k0vm5VwtZOE6LvK7hcCSoAB4HXyOUM0sQuXrbaAh9OwXA=="], + + "@aws-sdk/middleware-sdk-s3": ["@aws-sdk/middleware-sdk-s3@3.775.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-arn-parser": "3.723.0", "@smithy/core": "^3.2.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/signature-v4": "^5.0.2", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/util-config-provider": "^4.0.0", "@smithy/util-middleware": "^4.0.2", "@smithy/util-stream": "^4.2.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-zsvcu7cWB28JJ60gVvjxPCI7ZU7jWGcpNACPiZGyVtjYXwcxyhXbYEVDSWKsSA6ERpz9XrpLYod8INQWfW3ECg=="], + + "@aws-sdk/middleware-ssec": ["@aws-sdk/middleware-ssec@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Iw1RHD8vfAWWPzBBIKaojO4GAvQkHOYIpKdAfis/EUSUmSa79QsnXnRqsdcE0mCB0Ylj23yi+ah4/0wh9FsekA=="], + + "@aws-sdk/middleware-user-agent": ["@aws-sdk/middleware-user-agent@3.787.0", "", { "dependencies": { "@aws-sdk/core": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.787.0", "@smithy/core": "^3.2.0", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Lnfj8SmPLYtrDFthNIaNj66zZsBCam+E4XiUDr55DIHTGstH6qZ/q6vg0GfbukxwSmUcGMwSR4Qbn8rb8yd77g=="], + + "@aws-sdk/nested-clients": ["@aws-sdk/nested-clients@3.787.0", "", { "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.775.0", "@aws-sdk/middleware-host-header": "3.775.0", "@aws-sdk/middleware-logger": "3.775.0", "@aws-sdk/middleware-recursion-detection": "3.775.0", "@aws-sdk/middleware-user-agent": "3.787.0", "@aws-sdk/region-config-resolver": "3.775.0", "@aws-sdk/types": "3.775.0", "@aws-sdk/util-endpoints": "3.787.0", "@aws-sdk/util-user-agent-browser": "3.775.0", "@aws-sdk/util-user-agent-node": "3.787.0", "@smithy/config-resolver": "^4.1.0", "@smithy/core": "^3.2.0", "@smithy/fetch-http-handler": "^5.0.2", "@smithy/hash-node": "^4.0.2", "@smithy/invalid-dependency": "^4.0.2", "@smithy/middleware-content-length": "^4.0.2", "@smithy/middleware-endpoint": "^4.1.0", "@smithy/middleware-retry": "^4.1.0", "@smithy/middleware-serde": "^4.0.3", "@smithy/middleware-stack": "^4.0.2", "@smithy/node-config-provider": "^4.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/protocol-http": "^5.1.0", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", "@smithy/util-defaults-mode-browser": "^4.0.8", "@smithy/util-defaults-mode-node": "^4.0.8", "@smithy/util-endpoints": "^3.0.2", "@smithy/util-middleware": "^4.0.2", "@smithy/util-retry": "^4.0.2", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-xk03q1xpKNHgbuo+trEf1dFrI239kuMmjKKsqLEsHlAZbuFq4yRGMlHBrVMnKYOPBhVFDS/VineM991XI52fKg=="], + + "@aws-sdk/region-config-resolver": ["@aws-sdk/region-config-resolver@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/types": "^4.2.0", "@smithy/util-config-provider": "^4.0.0", "@smithy/util-middleware": "^4.0.2", "tslib": "^2.6.2" } }, "sha512-40iH3LJjrQS3LKUJAl7Wj0bln7RFPEvUYKFxtP8a+oKFDO0F65F52xZxIJbPn6sHkxWDAnZlGgdjZXM3p2g5wQ=="], + + "@aws-sdk/signature-v4-multi-region": ["@aws-sdk/signature-v4-multi-region@3.775.0", "", { "dependencies": { "@aws-sdk/middleware-sdk-s3": "3.775.0", "@aws-sdk/types": "3.775.0", "@smithy/protocol-http": "^5.1.0", "@smithy/signature-v4": "^5.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-cnGk8GDfTMJ8p7+qSk92QlIk2bmTmFJqhYxcXZ9PysjZtx0xmfCMxnG3Hjy1oU2mt5boPCVSOptqtWixayM17g=="], + + "@aws-sdk/token-providers": ["@aws-sdk/token-providers@3.787.0", "", { "dependencies": { "@aws-sdk/nested-clients": "3.787.0", "@aws-sdk/types": "3.775.0", "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-d7/NIqxq308Zg0RPMNrmn0QvzniL4Hx8Qdwzr6YZWLYAbUSvZYS2ppLR3BFWSkV6SsTJUx8BuDaj3P8vttkrog=="], + + "@aws-sdk/types": ["@aws-sdk/types@3.775.0", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-ZoGKwa4C9fC9Av6bdfqcW6Ix5ot05F/S4VxWR2nHuMv7hzfmAjTOcUiWT7UR4hM/U0whf84VhDtXN/DWAk52KA=="], + + "@aws-sdk/util-arn-parser": ["@aws-sdk/util-arn-parser@3.723.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-ZhEfvUwNliOQROcAk34WJWVYTlTa4694kSVhDSjW6lE1bMataPnIN8A0ycukEzBXmd8ZSoBcQLn6lKGl7XIJ5w=="], + + "@aws-sdk/util-endpoints": ["@aws-sdk/util-endpoints@3.787.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/types": "^4.2.0", "@smithy/util-endpoints": "^3.0.2", "tslib": "^2.6.2" } }, "sha512-fd3zkiOkwnbdbN0Xp9TsP5SWrmv0SpT70YEdbb8wAj2DWQwiCmFszaSs+YCvhoCdmlR3Wl9Spu0pGpSAGKeYvQ=="], + + "@aws-sdk/util-locate-window": ["@aws-sdk/util-locate-window@3.723.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-Yf2CS10BqK688DRsrKI/EO6B8ff5J86NXe4C+VCysK7UOgN0l1zOTeTukZ3H8Q9tYYX3oaF1961o8vRkFm7Nmw=="], + + "@aws-sdk/util-user-agent-browser": ["@aws-sdk/util-user-agent-browser@3.775.0", "", { "dependencies": { "@aws-sdk/types": "3.775.0", "@smithy/types": "^4.2.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "sha512-txw2wkiJmZKVdDbscK7VBK+u+TJnRtlUjRTLei+elZg2ADhpQxfVAQl436FUeIv6AhB/oRHW6/K/EAGXUSWi0A=="], + + "@aws-sdk/util-user-agent-node": ["@aws-sdk/util-user-agent-node@3.787.0", "", { "dependencies": { "@aws-sdk/middleware-user-agent": "3.787.0", "@aws-sdk/types": "3.775.0", "@smithy/node-config-provider": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" }, "peerDependencies": { "aws-crt": ">=1.0.0" }, "optionalPeers": ["aws-crt"] }, "sha512-mG7Lz8ydfG4SF9e8WSXiPQ/Lsn3n8A5B5jtPROidafi06I3ckV2WxyMLdwG14m919NoS6IOfWHyRGSqWIwbVKA=="], + + "@aws-sdk/xml-builder": ["@aws-sdk/xml-builder@3.775.0", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-b9NGO6FKJeLGYnV7Z1yvcP1TNU4dkD5jNsLWOF1/sygZoASaQhNOlaiJ/1OH331YQ1R1oWk38nBb0frsYkDsOQ=="], + + "@drizzle-team/brocli": ["@drizzle-team/brocli@0.10.2", "", {}, "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w=="], + + "@elysiajs/cors": ["@elysiajs/cors@1.1.1", "", { "peerDependencies": { "elysia": ">= 1.1.0" } }, "sha512-Bl6JSURwbneaJqkq02bd0C/F8StkmU5zoPLpnSncy4DZSU8TDwWPXxmoHqozI3hf1piDaSQ+I21cmpjPlQ8uYQ=="], + + "@emnapi/runtime": ["@emnapi/runtime@1.4.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ=="], + + "@esbuild-kit/core-utils": ["@esbuild-kit/core-utils@3.3.2", "", { "dependencies": { "esbuild": "~0.18.20", "source-map-support": "^0.5.21" } }, "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ=="], + + "@esbuild-kit/esm-loader": ["@esbuild-kit/esm-loader@2.6.5", "", { "dependencies": { "@esbuild-kit/core-utils": "^3.3.2", "get-tsconfig": "^4.7.0" } }, "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.19.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.19.12", "", { "os": "android", "cpu": "arm" }, "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.19.12", "", { "os": "android", "cpu": "arm64" }, "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.19.12", "", { "os": "android", "cpu": "x64" }, "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.19.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.19.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.19.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.19.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.19.12", "", { "os": "linux", "cpu": "arm" }, "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.19.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.19.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.19.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.19.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.19.12", "", { "os": "linux", "cpu": "x64" }, "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.19.12", "", { "os": "none", "cpu": "x64" }, "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.19.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.19.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.19.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.19.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.19.12", "", { "os": "win32", "cpu": "x64" }, "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA=="], + + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.0.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ=="], + + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.0.4" }, "os": "darwin", "cpu": "x64" }, "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q=="], + + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg=="], + + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.0.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ=="], + + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.0.5", "", { "os": "linux", "cpu": "arm" }, "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g=="], + + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA=="], + + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.0.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA=="], + + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw=="], + + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA=="], + + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw=="], + + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.0.5" }, "os": "linux", "cpu": "arm" }, "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ=="], + + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA=="], + + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.0.4" }, "os": "linux", "cpu": "s390x" }, "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q=="], + + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA=="], + + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g=="], + + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw=="], + + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.33.5", "", { "dependencies": { "@emnapi/runtime": "^1.2.0" }, "cpu": "none" }, "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg=="], + + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.33.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ=="], + + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.33.5", "", { "os": "win32", "cpu": "x64" }, "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="], + + "@petamoriken/float16": ["@petamoriken/float16@3.9.2", "", {}, "sha512-VgffxawQde93xKxT3qap3OH+meZf7VaSB5Sqd4Rqc+FP5alWbpOyan/7tRbOAvynjpG3GpdtAuGU/NdhQpmrog=="], + + "@sinclair/typebox": ["@sinclair/typebox@0.34.33", "", {}, "sha512-5HAV9exOMcXRUxo+9iYB5n09XxzCXnfy4VTNW4xnDv+FgjzAGY989C28BIdljKqmF+ZltUwujE3aossvcVtq6g=="], + + "@smithy/abort-controller": ["@smithy/abort-controller@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Sl/78VDtgqKxN2+1qduaVE140XF+Xg+TafkncspwM4jFP/LHr76ZHmIY/y3V1M0mMLNk+Je6IGbzxy23RSToMw=="], + + "@smithy/chunked-blob-reader": ["@smithy/chunked-blob-reader@5.0.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw=="], + + "@smithy/chunked-blob-reader-native": ["@smithy/chunked-blob-reader-native@4.0.0", "", { "dependencies": { "@smithy/util-base64": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig=="], + + "@smithy/config-resolver": ["@smithy/config-resolver@4.1.0", "", { "dependencies": { "@smithy/node-config-provider": "^4.0.2", "@smithy/types": "^4.2.0", "@smithy/util-config-provider": "^4.0.0", "@smithy/util-middleware": "^4.0.2", "tslib": "^2.6.2" } }, "sha512-8smPlwhga22pwl23fM5ew4T9vfLUCeFXlcqNOCD5M5h8VmNPNUE9j6bQSuRXpDSV11L/E/SwEBQuW8hr6+nS1A=="], + + "@smithy/core": ["@smithy/core@3.2.0", "", { "dependencies": { "@smithy/middleware-serde": "^4.0.3", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-middleware": "^4.0.2", "@smithy/util-stream": "^4.2.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-k17bgQhVZ7YmUvA8at4af1TDpl0NDMBuBKJl8Yg0nrefwmValU+CnA5l/AriVdQNthU/33H3nK71HrLgqOPr1Q=="], + + "@smithy/credential-provider-imds": ["@smithy/credential-provider-imds@4.0.2", "", { "dependencies": { "@smithy/node-config-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "tslib": "^2.6.2" } }, "sha512-32lVig6jCaWBHnY+OEQ6e6Vnt5vDHaLiydGrwYMW9tPqO688hPGTYRamYJ1EptxEC2rAwJrHWmPoKRBl4iTa8w=="], + + "@smithy/eventstream-codec": ["@smithy/eventstream-codec@4.0.2", "", { "dependencies": { "@aws-crypto/crc32": "5.2.0", "@smithy/types": "^4.2.0", "@smithy/util-hex-encoding": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-p+f2kLSK7ZrXVfskU/f5dzksKTewZk8pJLPvER3aFHPt76C2MxD9vNatSfLzzQSQB4FNO96RK4PSXfhD1TTeMQ=="], + + "@smithy/eventstream-serde-browser": ["@smithy/eventstream-serde-browser@4.0.2", "", { "dependencies": { "@smithy/eventstream-serde-universal": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-CepZCDs2xgVUtH7ZZ7oDdZFH8e6Y2zOv8iiX6RhndH69nlojCALSKK+OXwZUgOtUZEUaZ5e1hULVCHYbCn7pug=="], + + "@smithy/eventstream-serde-config-resolver": ["@smithy/eventstream-serde-config-resolver@4.1.0", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-1PI+WPZ5TWXrfj3CIoKyUycYynYJgZjuQo8U+sphneOtjsgrttYybdqESFReQrdWJ+LKt6NEdbYzmmfDBmjX2A=="], + + "@smithy/eventstream-serde-node": ["@smithy/eventstream-serde-node@4.0.2", "", { "dependencies": { "@smithy/eventstream-serde-universal": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-C5bJ/C6x9ENPMx2cFOirspnF9ZsBVnBMtP6BdPl/qYSuUawdGQ34Lq0dMcf42QTjUZgWGbUIZnz6+zLxJlb9aw=="], + + "@smithy/eventstream-serde-universal": ["@smithy/eventstream-serde-universal@4.0.2", "", { "dependencies": { "@smithy/eventstream-codec": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-St8h9JqzvnbB52FtckiHPN4U/cnXcarMniXRXTKn0r4b4XesZOGiAyUdj1aXbqqn1icSqBlzzUsCl6nPB018ng=="], + + "@smithy/fetch-http-handler": ["@smithy/fetch-http-handler@5.0.2", "", { "dependencies": { "@smithy/protocol-http": "^5.1.0", "@smithy/querystring-builder": "^4.0.2", "@smithy/types": "^4.2.0", "@smithy/util-base64": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-+9Dz8sakS9pe7f2cBocpJXdeVjMopUDLgZs1yWeu7h++WqSbjUYv/JAJwKwXw1HV6gq1jyWjxuyn24E2GhoEcQ=="], + + "@smithy/hash-blob-browser": ["@smithy/hash-blob-browser@4.0.2", "", { "dependencies": { "@smithy/chunked-blob-reader": "^5.0.0", "@smithy/chunked-blob-reader-native": "^4.0.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-3g188Z3DyhtzfBRxpZjU8R9PpOQuYsbNnyStc/ZVS+9nVX1f6XeNOa9IrAh35HwwIZg+XWk8bFVtNINVscBP+g=="], + + "@smithy/hash-node": ["@smithy/hash-node@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "@smithy/util-buffer-from": "^4.0.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-VnTpYPnRUE7yVhWozFdlxcYknv9UN7CeOqSrMH+V877v4oqtVYuoqhIhtSjmGPvYrYnAkaM61sLMKHvxL138yg=="], + + "@smithy/hash-stream-node": ["@smithy/hash-stream-node@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-POWDuTznzbIwlEXEvvXoPMS10y0WKXK790soe57tFRfvf4zBHyzE529HpZMqmDdwG9MfFflnyzndUQ8j78ZdSg=="], + + "@smithy/invalid-dependency": ["@smithy/invalid-dependency@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-GatB4+2DTpgWPday+mnUkoumP54u/MDM/5u44KF9hIu8jF0uafZtQLcdfIKkIcUNuF/fBojpLEHZS/56JqPeXQ=="], + + "@smithy/is-array-buffer": ["@smithy/is-array-buffer@4.0.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw=="], + + "@smithy/md5-js": ["@smithy/md5-js@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-Hc0R8EiuVunUewCse2syVgA2AfSRco3LyAv07B/zCOMa+jpXI9ll+Q21Nc6FAlYPcpNcAXqBzMhNs1CD/pP2bA=="], + + "@smithy/middleware-content-length": ["@smithy/middleware-content-length@4.0.2", "", { "dependencies": { "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-hAfEXm1zU+ELvucxqQ7I8SszwQ4znWMbNv6PLMndN83JJN41EPuS93AIyh2N+gJ6x8QFhzSO6b7q2e6oClDI8A=="], + + "@smithy/middleware-endpoint": ["@smithy/middleware-endpoint@4.1.0", "", { "dependencies": { "@smithy/core": "^3.2.0", "@smithy/middleware-serde": "^4.0.3", "@smithy/node-config-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "@smithy/url-parser": "^4.0.2", "@smithy/util-middleware": "^4.0.2", "tslib": "^2.6.2" } }, "sha512-xhLimgNCbCzsUppRTGXWkZywksuTThxaIB0HwbpsVLY5sceac4e1TZ/WKYqufQLaUy+gUSJGNdwD2jo3cXL0iA=="], + + "@smithy/middleware-retry": ["@smithy/middleware-retry@4.1.0", "", { "dependencies": { "@smithy/node-config-provider": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/service-error-classification": "^4.0.2", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "@smithy/util-middleware": "^4.0.2", "@smithy/util-retry": "^4.0.2", "tslib": "^2.6.2", "uuid": "^9.0.1" } }, "sha512-2zAagd1s6hAaI/ap6SXi5T3dDwBOczOMCSkkYzktqN1+tzbk1GAsHNAdo/1uzxz3Ky02jvZQwbi/vmDA6z4Oyg=="], + + "@smithy/middleware-serde": ["@smithy/middleware-serde@4.0.3", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-rfgDVrgLEVMmMn0BI8O+8OVr6vXzjV7HZj57l0QxslhzbvVfikZbVfBVthjLHqib4BW44QhcIgJpvebHlRaC9A=="], + + "@smithy/middleware-stack": ["@smithy/middleware-stack@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-eSPVcuJJGVYrFYu2hEq8g8WWdJav3sdrI4o2c6z/rjnYDd3xH9j9E7deZQCzFn4QvGPouLngH3dQ+QVTxv5bOQ=="], + + "@smithy/node-config-provider": ["@smithy/node-config-provider@4.0.2", "", { "dependencies": { "@smithy/property-provider": "^4.0.2", "@smithy/shared-ini-file-loader": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-WgCkILRZfJwJ4Da92a6t3ozN/zcvYyJGUTmfGbgS/FkCcoCjl7G4FJaCDN1ySdvLvemnQeo25FdkyMSTSwulsw=="], + + "@smithy/node-http-handler": ["@smithy/node-http-handler@4.0.4", "", { "dependencies": { "@smithy/abort-controller": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/querystring-builder": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-/mdqabuAT3o/ihBGjL94PUbTSPSRJ0eeVTdgADzow0wRJ0rN4A27EOrtlK56MYiO1fDvlO3jVTCxQtQmK9dZ1g=="], + + "@smithy/property-provider": ["@smithy/property-provider@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-wNRoQC1uISOuNc2s4hkOYwYllmiyrvVXWMtq+TysNRVQaHm4yoafYQyjN/goYZS+QbYlPIbb/QRjaUZMuzwQ7A=="], + + "@smithy/protocol-http": ["@smithy/protocol-http@5.1.0", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-KxAOL1nUNw2JTYrtviRRjEnykIDhxc84qMBzxvu1MUfQfHTuBlCG7PA6EdVwqpJjH7glw7FqQoFxUJSyBQgu7g=="], + + "@smithy/querystring-builder": ["@smithy/querystring-builder@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "@smithy/util-uri-escape": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-NTOs0FwHw1vimmQM4ebh+wFQvOwkEf/kQL6bSM1Lock+Bv4I89B3hGYoUEPkmvYPkDKyp5UdXJYu+PoTQ3T31Q=="], + + "@smithy/querystring-parser": ["@smithy/querystring-parser@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-v6w8wnmZcVXjfVLjxw8qF7OwESD9wnpjp0Dqry/Pod0/5vcEA3qxCr+BhbOHlxS8O+29eLpT3aagxXGwIoEk7Q=="], + + "@smithy/service-error-classification": ["@smithy/service-error-classification@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0" } }, "sha512-LA86xeFpTKn270Hbkixqs5n73S+LVM0/VZco8dqd+JT75Dyx3Lcw/MraL7ybjmz786+160K8rPOmhsq0SocoJQ=="], + + "@smithy/shared-ini-file-loader": ["@smithy/shared-ini-file-loader@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-J9/gTWBGVuFZ01oVA6vdb4DAjf1XbDhK6sLsu3OS9qmLrS6KB5ygpeHiM3miIbj1qgSJ96GYszXFWv6ErJ8QEw=="], + + "@smithy/signature-v4": ["@smithy/signature-v4@5.0.2", "", { "dependencies": { "@smithy/is-array-buffer": "^4.0.0", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "@smithy/util-hex-encoding": "^4.0.0", "@smithy/util-middleware": "^4.0.2", "@smithy/util-uri-escape": "^4.0.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-Mz+mc7okA73Lyz8zQKJNyr7lIcHLiPYp0+oiqiMNc/t7/Kf2BENs5d63pEj7oPqdjaum6g0Fc8wC78dY1TgtXw=="], + + "@smithy/smithy-client": ["@smithy/smithy-client@4.2.0", "", { "dependencies": { "@smithy/core": "^3.2.0", "@smithy/middleware-endpoint": "^4.1.0", "@smithy/middleware-stack": "^4.0.2", "@smithy/protocol-http": "^5.1.0", "@smithy/types": "^4.2.0", "@smithy/util-stream": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Qs65/w30pWV7LSFAez9DKy0Koaoh3iHhpcpCCJ4waj/iqwsuSzJna2+vYwq46yBaqO5ZbP9TjUsATUNxrKeBdw=="], + + "@smithy/types": ["@smithy/types@4.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-7eMk09zQKCO+E/ivsjQv+fDlOupcFUCSC/L2YUPgwhvowVGWbPQHjEFcmjt7QQ4ra5lyowS92SV53Zc6XD4+fg=="], + + "@smithy/url-parser": ["@smithy/url-parser@4.0.2", "", { "dependencies": { "@smithy/querystring-parser": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Bm8n3j2ScqnT+kJaClSVCMeiSenK6jVAzZCNewsYWuZtnBehEz4r2qP0riZySZVfzB+03XZHJeqfmJDkeeSLiQ=="], + + "@smithy/util-base64": ["@smithy/util-base64@4.0.0", "", { "dependencies": { "@smithy/util-buffer-from": "^4.0.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg=="], + + "@smithy/util-body-length-browser": ["@smithy/util-body-length-browser@4.0.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA=="], + + "@smithy/util-body-length-node": ["@smithy/util-body-length-node@4.0.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg=="], + + "@smithy/util-buffer-from": ["@smithy/util-buffer-from@4.0.0", "", { "dependencies": { "@smithy/is-array-buffer": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug=="], + + "@smithy/util-config-provider": ["@smithy/util-config-provider@4.0.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w=="], + + "@smithy/util-defaults-mode-browser": ["@smithy/util-defaults-mode-browser@4.0.8", "", { "dependencies": { "@smithy/property-provider": "^4.0.2", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "sha512-ZTypzBra+lI/LfTYZeop9UjoJhhGRTg3pxrNpfSTQLd3AJ37r2z4AXTKpq1rFXiiUIJsYyFgNJdjWRGP/cbBaQ=="], + + "@smithy/util-defaults-mode-node": ["@smithy/util-defaults-mode-node@4.0.8", "", { "dependencies": { "@smithy/config-resolver": "^4.1.0", "@smithy/credential-provider-imds": "^4.0.2", "@smithy/node-config-provider": "^4.0.2", "@smithy/property-provider": "^4.0.2", "@smithy/smithy-client": "^4.2.0", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Rgk0Jc/UDfRTzVthye/k2dDsz5Xxs9LZaKCNPgJTRyoyBoeiNCnHsYGOyu1PKN+sDyPnJzMOz22JbwxzBp9NNA=="], + + "@smithy/util-endpoints": ["@smithy/util-endpoints@3.0.2", "", { "dependencies": { "@smithy/node-config-provider": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-6QSutU5ZyrpNbnd51zRTL7goojlcnuOB55+F9VBD+j8JpRY50IGamsjlycrmpn8PQkmJucFW8A0LSfXj7jjtLQ=="], + + "@smithy/util-hex-encoding": ["@smithy/util-hex-encoding@4.0.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw=="], + + "@smithy/util-middleware": ["@smithy/util-middleware@4.0.2", "", { "dependencies": { "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-6GDamTGLuBQVAEuQ4yDQ+ti/YINf/MEmIegrEeg7DdB/sld8BX1lqt9RRuIcABOhAGTA50bRbPzErez7SlDtDQ=="], + + "@smithy/util-retry": ["@smithy/util-retry@4.0.2", "", { "dependencies": { "@smithy/service-error-classification": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-Qryc+QG+7BCpvjloFLQrmlSd0RsVRHejRXd78jNO3+oREueCjwG1CCEH1vduw/ZkM1U9TztwIKVIi3+8MJScGg=="], + + "@smithy/util-stream": ["@smithy/util-stream@4.2.0", "", { "dependencies": { "@smithy/fetch-http-handler": "^5.0.2", "@smithy/node-http-handler": "^4.0.4", "@smithy/types": "^4.2.0", "@smithy/util-base64": "^4.0.0", "@smithy/util-buffer-from": "^4.0.0", "@smithy/util-hex-encoding": "^4.0.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-Vj1TtwWnuWqdgQI6YTUF5hQ/0jmFiOYsc51CSMgj7QfyO+RF4EnT2HNjoviNlOOmgzgvf3f5yno+EiC4vrnaWQ=="], + + "@smithy/util-uri-escape": ["@smithy/util-uri-escape@4.0.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg=="], + + "@smithy/util-utf8": ["@smithy/util-utf8@4.0.0", "", { "dependencies": { "@smithy/util-buffer-from": "^4.0.0", "tslib": "^2.6.2" } }, "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow=="], + + "@smithy/util-waiter": ["@smithy/util-waiter@4.0.3", "", { "dependencies": { "@smithy/abort-controller": "^4.0.2", "@smithy/types": "^4.2.0", "tslib": "^2.6.2" } }, "sha512-JtaY3FxmD+te+KSI2FJuEcfNC9T/DGGVf551babM7fAaXhjJUt7oSYurH1Devxd2+BOSUACCgt3buinx4UnmEA=="], + + "@types/bun": ["@types/bun@1.2.10", "", { "dependencies": { "bun-types": "1.2.10" } }, "sha512-eilv6WFM3M0c9ztJt7/g80BDusK98z/FrFwseZgT4bXCq2vPhXD4z8R3oddmAn+R/Nmz9vBn4kweJKmGTZj+lg=="], + + "@types/luxon": ["@types/luxon@3.4.2", "", {}, "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA=="], + + "@types/node": ["@types/node@22.14.1", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw=="], + + "@types/nodemailer": ["@types/nodemailer@6.4.17", "", { "dependencies": { "@types/node": "*" } }, "sha512-I9CCaIp6DTldEg7vyUTZi8+9Vo0hi1/T8gv3C89yk1rSAAzoKQ8H8ki/jBYJSFoH/BisgLP8tkZMlQ91CIquww=="], + + "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "bowser": ["bowser@2.11.0", "", {}, "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="], + + "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], + + "bun-types": ["bun-types@1.2.10", "", { "dependencies": { "@types/node": "*" } }, "sha512-b5ITZMnVdf3m1gMvJHG+gIfeJHiQPJak0f7925Hxu6ZN5VKA8AGy4GZ4lM+Xkn6jtWxg5S3ldWvfmXdvnkp3GQ=="], + + "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], + + "color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="], + + "cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], + + "cron": ["cron@3.5.0", "", { "dependencies": { "@types/luxon": "~3.4.0", "luxon": "~3.5.0" } }, "sha512-0eYZqCnapmxYcV06uktql93wNWdlTmmBFP2iYz+JPVcQqlyFYcn1lFuIk4R54pkOmE7mcldTAPZv6X5XA4Q46A=="], + + "debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="], + + "detect-libc": ["detect-libc@2.0.3", "", {}, "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw=="], + + "drizzle-kit": ["drizzle-kit@0.30.6", "", { "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.19.7", "esbuild-register": "^3.5.0", "gel": "^2.0.0" }, "bin": { "drizzle-kit": "bin.cjs" } }, "sha512-U4wWit0fyZuGuP7iNmRleQyK2V8wCuv57vf5l3MnG4z4fzNTjY/U13M8owyQ5RavqvqxBifWORaR3wIUzlN64g=="], + + "drizzle-orm": ["drizzle-orm@0.38.4", "", { "peerDependencies": { "@aws-sdk/client-rds-data": ">=3", "@cloudflare/workers-types": ">=4", "@electric-sql/pglite": ">=0.2.0", "@libsql/client": ">=0.10.0", "@libsql/client-wasm": ">=0.10.0", "@neondatabase/serverless": ">=0.10.0", "@op-engineering/op-sqlite": ">=2", "@opentelemetry/api": "^1.4.1", "@planetscale/database": ">=1", "@prisma/client": "*", "@tidbcloud/serverless": "*", "@types/better-sqlite3": "*", "@types/pg": "*", "@types/react": ">=18", "@types/sql.js": "*", "@vercel/postgres": ">=0.8.0", "@xata.io/client": "*", "better-sqlite3": ">=7", "bun-types": "*", "expo-sqlite": ">=14.0.0", "knex": "*", "kysely": "*", "mysql2": ">=2", "pg": ">=8", "postgres": ">=3", "react": ">=18", "sql.js": ">=1", "sqlite3": ">=5" }, "optionalPeers": ["@aws-sdk/client-rds-data", "@cloudflare/workers-types", "@electric-sql/pglite", "@libsql/client", "@libsql/client-wasm", "@neondatabase/serverless", "@op-engineering/op-sqlite", "@opentelemetry/api", "@planetscale/database", "@prisma/client", "@tidbcloud/serverless", "@types/better-sqlite3", "@types/pg", "@types/react", "@types/sql.js", "@vercel/postgres", "@xata.io/client", "better-sqlite3", "bun-types", "expo-sqlite", "knex", "kysely", "mysql2", "pg", "postgres", "react", "sql.js", "sqlite3"] }, "sha512-s7/5BpLKO+WJRHspvpqTydxFob8i1vo2rEx4pY6TGY7QSMuUfWUuzaY0DIpXCkgHOo37BaFC+SJQb99dDUXT3Q=="], + + "drizzle-typebox": ["drizzle-typebox@0.2.1", "", { "peerDependencies": { "@sinclair/typebox": ">=0.34.8", "drizzle-orm": ">=0.36.0" } }, "sha512-DQgApZC+qliE6PFQj496BNv+k3B3Y25Z27ZDYA/drHvF9ta4M3bqrhv2WuGePbq662KTVIsb/UL5GT57hJhYdA=="], + + "elysia": ["elysia@1.2.25", "", { "dependencies": { "@sinclair/typebox": "^0.34.27", "cookie": "^1.0.2", "memoirist": "^0.3.0", "openapi-types": "^12.1.3" }, "peerDependencies": { "typescript": ">= 5.0.0" }, "optionalPeers": ["typescript"] }, "sha512-WsdQpORJvb4uszzeqYT0lg97knw1iBW1NTzJ1Jm57tiHg+DfAotlWXYbjmvQ039ssV0fYELDHinLLoUazZkEHg=="], + + "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "env-paths": ["env-paths@3.0.0", "", {}, "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A=="], + + "esbuild": ["esbuild@0.19.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.19.12", "@esbuild/android-arm": "0.19.12", "@esbuild/android-arm64": "0.19.12", "@esbuild/android-x64": "0.19.12", "@esbuild/darwin-arm64": "0.19.12", "@esbuild/darwin-x64": "0.19.12", "@esbuild/freebsd-arm64": "0.19.12", "@esbuild/freebsd-x64": "0.19.12", "@esbuild/linux-arm": "0.19.12", "@esbuild/linux-arm64": "0.19.12", "@esbuild/linux-ia32": "0.19.12", "@esbuild/linux-loong64": "0.19.12", "@esbuild/linux-mips64el": "0.19.12", "@esbuild/linux-ppc64": "0.19.12", "@esbuild/linux-riscv64": "0.19.12", "@esbuild/linux-s390x": "0.19.12", "@esbuild/linux-x64": "0.19.12", "@esbuild/netbsd-x64": "0.19.12", "@esbuild/openbsd-x64": "0.19.12", "@esbuild/sunos-x64": "0.19.12", "@esbuild/win32-arm64": "0.19.12", "@esbuild/win32-ia32": "0.19.12", "@esbuild/win32-x64": "0.19.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg=="], + + "esbuild-register": ["esbuild-register@3.6.0", "", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "esbuild": ">=0.12 <1" } }, "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "fast-xml-parser": ["fast-xml-parser@4.4.1", "", { "dependencies": { "strnum": "^1.0.5" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw=="], + + "gel": ["gel@2.0.2", "", { "dependencies": { "@petamoriken/float16": "^3.8.7", "debug": "^4.3.4", "env-paths": "^3.0.0", "semver": "^7.6.2", "shell-quote": "^1.8.1", "which": "^4.0.0" }, "bin": { "gel": "dist/cli.mjs" } }, "sha512-XTKpfNR9HZOw+k0Bl04nETZjuP5pypVAXsZADSdwr3EtyygTTe1RqvftU2FjGu7Tp9e576a9b/iIOxWrRBxMiQ=="], + + "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], + + "get-tsconfig": ["get-tsconfig@4.10.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A=="], + + "is-arrayish": ["is-arrayish@0.3.2", "", {}, "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="], + + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + + "isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], + + "jose": ["jose@5.10.0", "", {}, "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg=="], + + "luxon": ["luxon@3.5.0", "", {}, "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ=="], + + "memoirist": ["memoirist@0.3.0", "", {}, "sha512-wR+4chMgVPq+T6OOsk40u9Wlpw1Pjx66NMNiYxCQQ4EUJ7jDs3D9kTCeKdBOkvAiqXlHLVJlvYL01PvIJ1MPNg=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "nodemailer": ["nodemailer@6.10.1", "", {}, "sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA=="], + + "openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="], + + "postgres": ["postgres@3.4.5", "", {}, "sha512-cDWgoah1Gez9rN3H4165peY9qfpEo+SA61oQv65O3cRUE1pOEoJWwddwcqKE8XZYjbblOJlYDlLV4h67HrEVDg=="], + + "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], + + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], + + "semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="], + + "sharp": ["sharp@0.33.5", "", { "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.3", "semver": "^7.6.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.33.5", "@img/sharp-darwin-x64": "0.33.5", "@img/sharp-libvips-darwin-arm64": "1.0.4", "@img/sharp-libvips-darwin-x64": "1.0.4", "@img/sharp-libvips-linux-arm": "1.0.5", "@img/sharp-libvips-linux-arm64": "1.0.4", "@img/sharp-libvips-linux-s390x": "1.0.4", "@img/sharp-libvips-linux-x64": "1.0.4", "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", "@img/sharp-libvips-linuxmusl-x64": "1.0.4", "@img/sharp-linux-arm": "0.33.5", "@img/sharp-linux-arm64": "0.33.5", "@img/sharp-linux-s390x": "0.33.5", "@img/sharp-linux-x64": "0.33.5", "@img/sharp-linuxmusl-arm64": "0.33.5", "@img/sharp-linuxmusl-x64": "0.33.5", "@img/sharp-wasm32": "0.33.5", "@img/sharp-win32-ia32": "0.33.5", "@img/sharp-win32-x64": "0.33.5" } }, "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw=="], + + "shell-quote": ["shell-quote@1.8.2", "", {}, "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA=="], + + "simple-swizzle": ["simple-swizzle@0.2.2", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg=="], + + "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], + + "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strnum": ["strnum@1.1.2", "", {}, "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA=="], + + "transliteration": ["transliteration@2.3.5", "", { "dependencies": { "yargs": "^17.5.1" }, "bin": { "transliterate": "dist/bin/transliterate", "slugify": "dist/bin/slugify" } }, "sha512-HAGI4Lq4Q9dZ3Utu2phaWgtm3vB6PkLUFqWAScg/UW+1eZ/Tg6Exo4oC0/3VUol/w4BlefLhUUSVBr/9/ZGQOw=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], + + "which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], + + "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], + + "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], + + "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + + "@aws-crypto/sha1-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], + + "@aws-crypto/sha256-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], + + "@aws-crypto/util/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], + + "@esbuild-kit/core-utils/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="], + + "@aws-crypto/sha1-browser/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="], + + "@aws-crypto/sha256-browser/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="], + + "@aws-crypto/util/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.18.20", "", { "os": "android", "cpu": "x64" }, "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.18.20", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.18.20", "", { "os": "darwin", "cpu": "x64" }, "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.18.20", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.18.20", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.18.20", "", { "os": "linux", "cpu": "arm" }, "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.18.20", "", { "os": "linux", "cpu": "arm64" }, "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.18.20", "", { "os": "linux", "cpu": "ia32" }, "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.18.20", "", { "os": "linux", "cpu": "ppc64" }, "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.18.20", "", { "os": "linux", "cpu": "s390x" }, "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.18.20", "", { "os": "linux", "cpu": "x64" }, "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.18.20", "", { "os": "none", "cpu": "x64" }, "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.18.20", "", { "os": "openbsd", "cpu": "x64" }, "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.18.20", "", { "os": "sunos", "cpu": "x64" }, "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.18.20", "", { "os": "win32", "cpu": "arm64" }, "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.18.20", "", { "os": "win32", "cpu": "ia32" }, "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="], + + "@aws-crypto/sha1-browser/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="], + + "@aws-crypto/sha256-browser/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="], + + "@aws-crypto/util/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="], + } +} diff --git a/bun.lockb b/bun.lockb deleted file mode 100644 index 654d87bf59bd55197b10b5a0c5b43b7e9146e7b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102211 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
  • m+|kZD`IMHS$NUPzBRYIu14+rUyNL&?(_6s20k+S zxmf|+(hv#(lNJ7fKAe`hXAe!1qos0Ih!ZG1rw$Uf-gikm9>Nn|buB!G(${9|$BR0B zFJi@{t7<#;qIR5|htw65;AZP!qB$)mVt7;_i`YK%+nY0M-DE>`G~3!IJXZws@uILJ z%CQC6rUGX>1CN^$nngvqFIc4=aDH$z{}moDS{Eo|C`Bx&8JPzU-5a;eo~&tP4V`@@04i&k^#+Pr0z(_yo>Q2{)%X9 z4X%6k!!0kX`8tJ2%-{K4u|3#4njyTOv*4Ng$T?@GJK46WOT}0b2P5Y6$+k>Q-wLwO zUw7Uef3fiKfo2I(w`zaPnf2(>@xCM~7rWAU`aAs9VvkXu--^!531k>}MURqPx$SVo zxTTt9>SJ13n4jC=n4?dWRQSe`sB8kBlY+bc#fO7LDN=XQWITSVb6?A^9_>qP##3n( zQW5z*VXp&;mJQ;c%;LQdtNY$6c2j_FSlHZZ{;9w3T-Fo^{lf#_*zcWIU(Sr)eQ$er z@F_#;UgNAkFC=+W=%&b>0anzpFel9~VVy<F^;2XcU<2Y9X)(0xhUYm=JEeL75tb4gx{A~QXZUHc~ahudQJ#7d@RlZsR( z8I$y_7^tUiRqVdUkH6E;Dv`R9p@sT{bd5}q> zeATakuDC+UqhyUYv(&DA^zzbZ{>jd>0fczQS`L1@`&_%fo2f$TX7!jn)!f%{vUbS# zHf>2N$t=m`*1}`dOQZ&!T;6R2PfkZIc$_Xjihcjc`?LLQ?P08@>c0vu53wA$c#BzP zBd!zO9|C}8HBvW5%vk<$Ch_VK`;A7aaE>6Al!p6}1P}QOIvymnc*)cKEK##p2)%wL zIK?Wq^oY!gB9$B8ietIv+84(~ov(~OXk96wS%cJ#7JVY8=V5lI_oCis^|$gW;Rz3- z+-bAk_FY2_ICpVgsA%r?XtaBG(jtOM4Cj8~baJeq{}gov$CrpzSFz3iuf6X8Y~tA3 zl}$B--b07bkvqn8(;@T{k^lkAmTb$&mXTy!Xr|ZDd&l$+p@b4TrW!Ccrib1fk`Oup z-gjnqwQE@`TMF;L_x(@YoU7gWX1+Od=1key*|FzBo|oF&E-7!9@ri35uNgTz-{vm0 zr=EHJWB!A${5^jRKi{u*&x7tWy7y?+bF*Sc`@2asS1mo!tZ%UmLtSs2?zE}n?0i9A zhTa`GnVUaw-{b6-@_w3iY)aCqbzLgd-22Vj(SP4Ot@=Lxt7m~posalOMVMS({(NAs zU!$r)51MKN*FN6Xpn_hL@YRHKQT6t%p786?S8JsEVfILQr(Zbz_F&VwiI=zce)Y0O z(Zm(?8nmn8e)~k9Td$ftZQs57$CafEm+HTK)wP%nt~FyCm3!ZDWSMj8Z;q(18LYeJ z^;auq2X5W-7b)+SdpkNd+TFfb$GpL9jNxYn>UOA~-5grD$hIB5OI2P~#@Mm>=H=r8 z`W|lPdF4d?qs=NdalKvr{P{nN>>K%Y=rFhNvl8CDQr@$JkI&u}XIgzRL6f)R5?w%1 zPeaq&_i`TJQ}Tz+6PxF+8jxIMo%-3@S7Xb3=e}!dhksIYJzrS&H^0X-qs~{}Iboi3 zy>FkCx4iy*+S_0HrA)Z|Nc-aH-9wvI_ul`NGPGv*v<`cc7R6j{u=ZoT=lk$Cs)>IU z)~;J!C2;PCo+tY~PiruHQRK-Qr=|1t{Zihr?BT;V)mqXy_`;$*d-J><+AGJNfOq%w zE62@fwsXO_l!%znF9z-{zV7~<(5qJp*7YtC_2uavr#?MD)o1jak0o>e7AcuW9gy-4 zYI|UJ<8Mm&ts1nj!Qc-S{PT}(eCla;!zF#<^O*1aK0J(nHmXi+?^EaZ_wd+Z+;ZUK zKQ|L^T-rECRj2Ea@@a01-*f)U`iFy3-qcfza_;IBP`h4q*S0Hibq~t5wz6l+hi?dAHSqaGZ{l`U6+fL*_(Tp4$Ce&cpeM&EqU zc5Pnf4ljgkF_?&G%JuR*SivXqa(Tf8r(eUh?KWU z%VNGkmEvQs?2mbSW<$0n#)#BmO>WL@dFH{i*X!<#{_{oIn`1t1EdE2&HF*nuDsr?| z+nCcQidI_vgy4U z{o0yl#oWmC_W-X1x7bjA{>$c3$E3V1ci(DXzH85uFQ#hezdCuV#GMbf22RX(ZEyC8 zH?r-nef36>J_V;v+UD(ccf->h{WtAzR=shVcZ=tYtp569lvtD|}HmX#9#>>s4PDptd4iC8YqQLmTl=@}+)d*ea`|#&duNyX6c`?oO zdR+8|I<3x~Htl`)#wF#ut84dv>V5gf-`e3v2Hlw+zIw-J zJuz{@u5PzX&(lhM^G)8P+g5dMS^T{=z;kHemWtXzi$Be}etPMmx_vrNEkEhDd%M`h z13Io%?tOOWa=q6N)_X|jQKzK5g~pc%9W&@?N?7-shl=EwlR6@H^rUx3{YtEzj^5#kWv*B>gzHALDTmH;BH!0^gdoN7wdFM>c?-nHbJ}PqQ!rJ^*0s?xwl;7#na^A~l zu1{xlo|@ceS@Ciw2Qpr+^EoZ$U0dMP zk9Vd2cr);ewj*}doP2Dis^8URJ$~J|G_hBBT8^n*`^N8>nY8U8EAb%tRdI|oM)xHH+uy)-}Q2tYhbZG!=H9r_Wu6upX>cJFClT{xxh|m zin<1c9+~~%&QaHKl`i}+zr}@?J%XkutIp1C78swjZDEhHZrt~=+&n5p%GyyUSFEV`S&dW=eZfW*y@vfDROupN8%-o>^ zm&6CAhJ4$m_e9nHZ1M3wwVF9Z`Jh~#XB8tyJs3FqL9xXhJ6z}OkO0o}Qr=G8y&F|H zbUf*5gLq@krh^}K^73voRkc04T5;pr#h)66%wJce*x0L;Cfw~^>*rZtxm54A{QKi= zcg^fR_Q!e)1|$p?^bG*#1u1Wt)h7;qdHMPM4Q_5J4Vr}a@9?0@oNit6-g&sZ;TJDX z)h<7xU!F=$Q`3SrEql`_?ZxC`#Z#WX>Dz2lj+52hYi~WT>srkSXtG<{Jou|U-OWq}vJ3Ah3wzQg8gFh2-$adRlOGYEQ{}R=Uv6R zUw_xO*`DMQP4=#Mao9K6_wUn>mVaAwRFM@819J@ic+N1nT@W{JCb09VE=zeM!(D@` zEG)S9&wQ@MB9gbZt~TD?&9CRB2_1AV)d{6a{FPI8VRM`Oiw+xaZCluB_3=sm{kAoz z*giQj#-sg{O4D!pGJUyu)UQ(B$LcHpOl%hX;$3#vN9qA1Z=ce>F10UoZpn`eQo|~q zE0#8M^w_^&D{q8@b>W|)A#OPA{r->cLdKImb`&OgH=K>|XsZ!oY-y3&rJEe{| zab?r#?iH%Uwh2D7G3=##e~g=j(PTMa(!#r9nCt=eZ9Q2VR`up%BXn{ zVxFH&sXh5tzVCCC$>aAX@qO5=R^O z=1KIuCgrW#d18ZyOHIx4tnJc&dSdw=2}OH^`TU;LAi2rymjg`e>aN~W@j>UA9Z!Gd zv3KO0@8fdx_82?pr)d>m-`?M@Sjdxj>3a2bDR1K8Cc^@|HC&zR+oXFPA3u!Gey-A~ zq$d-r4qec=YD)PA`5Roh8ZjWE?2LYIj?{`ToxM<$a(4Hpf3)cILYJpt)ZQu5eWW*} zyp>aihmDWVSMP_y`Tsc4;>v`xdwcv?aYEk<&-1>{d)6?$=Xu2!k7^Xi^}NmgiN)R8 z^vv~7$@K|a|Jl*1{mcTZNZjw>z!Nb*i6p&cYSfrnl+NwF}OFZ%KJu zR81~Fd&Q>I$_ZX0Mz^@ITj6(UVB2gSA0{Z_`y{XRi{svUp;etP4h`>|7c!C|Ab%e&iVgN3pg!67QoC+Vbnwn&|nkfsr>BR z73EUWFndNE_)M94`H`Lx}bHe<@#$F(_KAQ!Ab|;qw3dxi}gB zU$lVJH~wF&HK)!}3&Xc|}W_N-vk#%uH; zwJZ2mQ0cUxk@}E4T(%!SasTL!&Zm*?ffep)Z?|yv^ASEyHv9_bHq$vVl#aer_=zIp zAD!_+VL2eH`7k=4g~D<|)*+07>1-7W%LVCx0OF-{Q7DYg%-M=C;-xc9ibLEW^f#D^ z_csW|qoRc3f_QK9VfZ$Jg%R%^KI{uVj5zM{VV!x~{YH`SFHgg0AMeI6lZ?SAKd8j? zB)v!v%9rvXeTkd&q5LVod=PxbswemhVr;6@0Y!?zhi=iAX)baZYUo$*HJvF(7+IcIbx8J!QX5he@)e{iqza@UuVun;3(rDKSJ(8?m_ND9zf_U z89L|g2_y}219BU3975;G(cglha~~ohk5Gn=_@#3*=`25g2%Q~CXEqeWFP#z64AKJ9 z5>gma1VU}41f(dW5TqDn8}vF2c?g+_w38uSaNP|;=fzY;oYs)CkTQ@`kS`(If$xB{ z!F6d!dC2d$r#4J&mf9$_Nos>6`*D99asYA+vIlYkauD(}`!$WkZ&QaAiW?eNMA@dNGC`~NP9>NNK;5-2>Cz&gwoPAiE!PF zzi%$VNI%Mx;!r*mrzM2=g!B|9+y~&A^lJkVcQ~ABd0-g-i7h#J!Y*@*#T(H(LJ}S+xz_X7UXLRxBH zl%DJ-gi*&tZIr^Py;0ps%T3`Fm)ZmI(mll?4zex99RiWsa1ib(?qCSD1%Z#sMK&g1 z7VIYQ2O^Bp41-XZz$@q}=r|mhkiQT|$Xlp;OMf9g(wDe|I6_$jej!ikz1+1>9^#-n z8xNtn5_F_8Q+`4`Dzj84X}wy@m&zzjPdZax^C9yfb0KpeGa-{8#6j(q>O*L66kpJX z!iBO-#`QGFRLB$v#i9P0`sC4&Q4sQz5fI{yhYW>KA1w60)TdE@8v;>7K36|0_=KR} zf1_?>KWY7u9cM_wrsLWGA^Qt58`o5pSrD=*)rYj6tc6kCNbT_7R6kO`l9q$Q=R?Rx zv*Mp*OMy!mC&@O{ZiF^X?MBX*_~5-GB^C3q3uy@Y71UU3Dsx#%K~xT&R3*bHw-_p+QLF z>F(p{?#adl%4czvgxa-6X$Yy~UYGLe01XNQc{S{XFYe%zCiK= z>0D;Q`W`(NYFu5s-0?qz1{?H|_)&By9Dkf#b_V)F+A>u8L@DxFHL z`A2v71ODz$Um&m=A$0cp7tr8?&Si5{r50C#_`(l-xTju18il5)2aO5;3WzsX4{D?# ztv6}cT}m#puQ(x`2J{!)3IVxyqsuYv?`8Wigyl2SmGifW9_}N&s1}_u8g=7Q6_E4~I<6#%~z($Ob4+)9mcI zGU1yGXi<=vfV>6#!A5q2)@5>VA}@Jl*jd+V-A1?$77@3cT$*+8G$M`{qAx%ps^A#S0*1k)~7j(q$v^9#V-&p8x52aoJHnD~=l;rlB@qyv!hU~9hP{f%?KEH;XW4oC$c6|)yua;y86J0da>NF^YF z-Mf}d>%OOBRuFkMc@5;XmM^Kib>uB7Ukmv$C{VwnU6z=CXW_yv;ny@~p=FtjI&BbY zqt)UYYZFWCdBZ#&E!9?=YYZyt-*)F%x;*=dRa+PvMjvaf5&5tlX*|-<$ds#S-=YH_ zH`|0Xp4_N;9SF6#SCO-Z7tOP>GDFzN6s*_x(`v9%ePQ`MuWrBRVEM3C|EVC?9~8JX z|E|}hz!*Zj(d>N`U!ajvJ1xJ^^*7(b+a9`7J4LJaRg^_=DIf)#k6oX9IFWiJ(#?x| z0+WukMO_*r{&mK5D56t|61n5BfjqbQK2v={@rhWXWutt3Ku3ee-_d&QWHxT zW%Kn`+^;dWRZ*9kEFAM;jVc(E0mYPusW(eaIWmLNc(FwN;*1zO)c_1J zhddAOIIY5%y9dNHC3xhom$lc9&c5_5rK!uxQw0cIE@5x-_Ex#)w(2FO@dX0MN*K_+ zc8)4%Mor@K!H}wG0R&1U^xB;JJB@avt|<8qW_Eb81A_k&suszfx@cYKW>GgSf@xf6 z*|N>VK}EBNaR@cK!9b{wPw3lwa;{}5RR{qU{!QbNf*tzK{;TVv2BL1OcqH*nq-XZy zUq*isLwywh_88aB1YLqE-#y0ZGBJFYHuxPewN9|+B! z40BI3UNUWKRT0?^g!+TOjgMz-(mb9aA}4t^-vQ@qPde5Fb8`McPjLqb8gW8{d*zN~ z8+q%jh`aZ%ZQW}qP)#~XEc#akkPasqa z9gny@{q|wmZ$+dHka9qN{A+t^;-+3DL?i?VY3+5T(KdzQQYjG`1%&2_p{Eue$$9gq zXCkr+2#rj0b6;40;r@bKBC;I_{!7?!M?bG{)n|z!l8oRAKqmctx7oI4+1H6k8W5Th zr==FyIc3_a47t)A;%cQ<0-Kj24G8{A2(5f=_|$5*3yEp6gNpJwlF;bZ@qq2{Yfft~ML8f; z3st(kDcFC_r)UwW4TMViqDa!+-$ve=Eg(LM4nRr+nY5w&yS^QF!LPvv`(WJ`2x(9> zPx(5%Yfq`qr}6PrB=AVLnA8TFYW}Vi*t`^Tc;xE*PJbp9IJj0sHUpt2qg>G;aD~2cO0Z z9s-2QT?!jlSkz1R6b2# zI2-Bq;>ChqfSZQTg)7 zr+J8c$V0|X>AZ33p^3TworlQhBd^=%wSl}>$!p+&4)H74;6_~Gr%CHep8vmPYe%dj zKgu}7h9Q&MPocRTN>yz8k>uwg^5todZUR%0gk#FxxAzS@y5#>>Pa&^?BefuJYe#%Xeg-LT zQF(uJWIUC(j=b;4w{3Zg%KMHZ8p!9<4G-J&B(ZqNn$sh{8WhBP6=pT^7M0gP9+9_! zBmG;DJ_djH0y_qVCG4Hpd`li^jTt@`O02(m$Ye$=Uvu(4DnD*JQXY9*%RiUM+gkWr zFr}ZhZ<|u3+$mTG?@?%7S-w2-9wMKQd>ThumOR^kUW3m&C$EARG&H|{H>t`KjkXlM z>EhpF2LPd`U2nsNogLm!y2!Ui)SM&Mab!L!Z|k^P+-hDS)l7AAw?fMW-FzIv6-FY26tcTg7ptqr29sjc>yN`c>-;&Az3pSwEx%GPubce3vivOi z^NuC*y2)Edew|O=-{kX=FR6UZ$XVegxjY+wmUYi1l#2Xr^5QRl~&L1{gN-K ze9g)Cz4GOeUoEoI^YOYl;s^3tJ2LB(f14!liSibe_Z@kyNJ$-;Upw-Y^FQ_6DDMaIc9XAdM@lO1A@aJ(Yv2f*ydQkt zeEyr+KCcbrXT%%Po70=FPAgYeR9*GnFV2-S&TfTW29ER;@*{@4Uprz0`4Qvuw&0A` z`8RWa`IhB~4IF86@;&+ItsnUwNnUGw+`v}Q2S0V4^1UZ#PHUsr($)k>1jB2T?(`V}QOQ`Mf)o;5!KXA5sPlfz`K4+`+RU;NV^@y-Os{o zeF=8d(Z0dSTfd$%^VWjW;u^jq8texfy~|l~`f;n|*>mc#_ZV!|-AbRB>3Y2U%uXIj ztIzEbB>$@96ye!ySJC3FA)05bmXV)i{6(k772v^ias0&eW`vgZTFW4 zDttJ{(%@@!oGuu^v1xZTTszRP ztcd)?Be@GTuC>!;MzV+`0ipUio~!fhR*xbMiO3ZmDf#Z5SJ#t%8WH)OM-C~TwXXWu zH9$mMnsRK{MufETnsxP{h!o?InuV+TxJf2071`-!@8`b5zgqy$R;2j(8~?^2&a3|saxzo zFuQaU*f#U$ka;$AVI|JfkUOu)y=AOPV~AAgx|s~x$WV*h#udE8)5`qC)5^GW-RR5E zgs-O->F9N~{06X6fAdZE7MtGY{FG?aMTcrb;uP!sHy3N%=Vo6zL#-h2{GEIH`nL(Y zYBB~hJr2Aty23DHO3@%~qz8o+xVfz1v$Fknn~d1tJwRjl;X;LBT|?Tv8P|xj?MVMR z$u6<^KL+yUST{*151p;%W$kD+mQScb6%yi(!_ja;nleZg+)op!4lu<kURBk=_s?TvFm7eXN*+$)JkFDLF8{%B0mtN^do4t&3p?`+Y1yw5$DQHJUrK_^;3~=( zt=bgEVNogrsw-4uQsP`Qm`_Ou`WrO;qqPQ&QjPx$Ht7v8+9-=q4C4N(n#EY9jRES|w^y6RR~U zL!xy$W?f}4JW?5@*G8Ib7*8ezvXw!U>|r>Q5=c}6ljKgxj)Ti2H5HgE8ee+uM#&DD zqqJ0NuD~`*CPo5_c%!6alrnP!;fy^}o=e zagf}6tz_rjnTu>R#pyIg8ziilTr8o`+#URe>J8enL+Icek?0_8IYzp8R3tjQPDsbv z0V^689I1-X*icK1WG12%N@|h5nV6K0NJJ|7VO8g!NqlxdBNDJ*C3hqqB~fck=t-0~ zTP!$08xhLmF)Cw(kGCX1r;Ut`RjLdT8Ny=yd?jHq+DIR7W%@9+%79>tKrW(IWj&X4 zoLt^UpL(9LlAL%}sFX2sM6^+7ksl*r;Tcl|4bVmzVFGJKlw#?N1(UIKR*NTqW>O0! zrL>kM6Vl3-P?FecNiA_!VjF%av8s@_g}Ka*BZI?bJu`J#o7up&HZlR~Xckf{X2?Mb zI+_7j#jFxD@Jq0NN6)HIhMr-L(u>}kfn9_gCFhDSTeZ|g{~a}ooR2pbEqr_Fsgpx1^`7HewWu{RC^)3!U zS+k-zV3^etgY0G#ecQ|?2HDNVDI%?1bBNts*4hkNjoOO6HZwN`b0N(kc5`u40y7bJ zD`5%HL`15hv>t}&NR!s)w8tVQDETyKuyo{-?YSgddq*1fiwT#1rYR&-9Hf)nvFVx* z=t%)QThm4?!z(f)AP@G1biNb7_ha}u=&-|dm-Et2xHd=r*nwf-u^zp)Z z-OOA@ZA26vsEsk~!P*8}`iNAHbSY7t^xYv0f~Opn!JvxM8pCYRNn(LZaz}o_5!pyB zoMeim!X=(2aGZE11{ELpky5`0xC^)_mW)^; zeUyeAo?FuhFlr-%bthQ5j82wT3-xMjNzvLWqdcM`C5ehCyW0AbVMijdGba znhffJkyn(eijLjQ#1837i`41vmE4)WnNV=21S2hX!4zlCX2T>FYduJ85yD(Hvq~4z zVDU)8fIBKY-+}P!RZ&hi))=AU?}9WY ztU&P$J^`^RlgeGI7owuq2-fJ#4j({vG--622o08-Jm631sg=~vVkHdEXa;RCk$Oah zGS#AVsz?o%_f$HKhZ=bVsf^H9s}2g*>7&)?plGQNkHtn_aSOF9mfH+!qmozxA~pI* zflf-oSVMFwgT^C9Z|J8n7_MA z&HjW0WzSYkgAH*}COtj5dntnq>=+M=aPK;PHjr>*hQ(K-Ua8lrgENGiBvJJSjffjG zYWT5MrBg;3^aHeNGyv+E%@HEBYPC)i1NTt|MPsGd1gBB6ML26w&;)5w0;@45Jd|5y z3DIF$F9?HPaF`~zpD{W@)J&3B82(^|GE9R%3t_O95B^RnTPdcTFs7=oCTKlcXsC4p ztinbcj93mvS5NCGxUxoob!}SE7OGXEAeQ7sD@($o(SDVxP}tO*iq@o&5mXJ)hGLn| zsMn!|n_(mVtgFft4FeDGRYpYXOl&Dost{XjH^+}QX?5mG5RJ!z#oW`m4K2@G;^}HR zHbRH$#T$O;WsJ~bDH~3oUR`rAyobNm3_vkqevK+ZiDF}QR`6ok2r{f0nV5P!O^C)6 z9HyksK^dlsggcs*3{x4yltDUukY&yckaDm9URPd<|f!mLCvw~&l!4K!L3HGeS7&Ex3`;TGL_HOoWIg zJtm{fenMViqN;-Q2Cknp=;gRWMh#6xmbjV znPh=Y;z)wNd`Cl*95&lXXOb{YEc$OeU|`ynReEU}Arons{R(p}S>WRC>|$ZP5$P{< z%HYZn21W}L^pDmU;$R@rlk9vEEd?(rha3ritcYj_z4LeOOlWSp7Ka;4T`9ivc8c4Nhk^kkw9)+jXw z1HC!ZsfhqHvsc7Augo z4}K0LjNo9j77Qh^WRb4-K#C~5<)dhd0cY_+WQX8pdn+=pYJx!dmU@GegsWz-K zN_5Hsc?NaCn<0#&%=E!Z>a6MK3}ic@QZgc}s`1DEB;7%*p3}UKtJy{lvElDl7W_nH`6tuM2HftS@I13~bo2P^l z)dbT>yJBwMm<6RXCPFqD10~sIfmC7%Hmgo=1{P!=As+w9!{`T%9e>{;tHzU=9g`_# zAf{NR3md!-$vHCVD&yner-k>dRldcu8Z$w2#RBUW8&#i5!BUFLJ z|Ak@QGDuQB^Y%JADAfi#!DKW1DA@t3SuCd{YgDAWGr@`5#0X1MMTVTxJU}oC=~9V6B@L5kC0I8&EIP6u zCKoIkmU^U1L>VC^ma?=1vNFfE!pkRyV)7tY5m|ITD>O3X?9ACLvRYrP0~(>Pr( znK5E?B&=pIs&rZKcN?j#Dq-f%L=$@D6>MkzER993EKKT2w0z31bq5=QeY|buVHua| zi_+kopRj}?i9)?-W^A3lWAN(t>Z&NO!^gJk(b z&_WV~fhY5woI-Q9Sm*$qMTlK&8C@~sq#@HdoLgqK!_G)2j_9%&mqljpr_4+2lI3t1 zNOA`r^D7)%)laS?x9Bd^pk%F{@6GL^mJFUE6S%F0JEXVp#9$OOHV4>CC!Ik{EGYP- z^bH7mT}~F~9wLl}V0wW@f7DZ^O#rEtB>ry!L6^XeE_NF_l(|u_v zh(Y>VhaGC0N#17fW4(-6r^2eZPzxCmd#fXzYSK4OmTF5edoz*vA@>#yAmuAMCTsnQSIY*OB zTG+gae2cpfXHa%}sKrbD^txMsQpN4e#$tOx`fMyfd$X~&9>PCx%R$mC%>9hD$ePFj zHgPh8%?MbwwTWZRG?=yn36lzIN*IlLn|O>SNQuoI*p^|k_32rbIha>v+&Uu7Mry#U zxPq`x#zgZC@y1aaekY8Cix07fP~4$IJ8|$uBU>5guCv~r(zA%uRV=bgHu#8qtQLes z(NR%&Rcus}X}K_SC9#PD+X|z>2Z)hseN0yDoG}$jl`#-z%JPUQuPYfWV+q8fW<_Bc zf2W$YvdoE=Agy7uu>_BjG!&B_U%r}Orr4TYnprH8KnIHuY2H~X9KSovsHgInZ|tVA zVhO(Akg*ewevXXLfyrb-Z=@s>{wx{9N=Yc4Ob!Hnjx5lN%j5vWo(zPxAlcLhVl;L0 z9zW6hxevYR&8N+`b!_#5eQXUT@diAZ?*S2Z(BhkIB$nLK4qAT027l57eSwOPr?I(BN*4<|0u9*n%D!Dq;V6@PG`V z5%?_D&sSq}X;df%$1bEm{ihFrU$aAwGJ9}NPsgieX5;T2BjZbMCgbnzB}->qkfpn~ zmn>cVfh^sOM!d0? zhO2B|8}Y_o8gbNtHsX!FG@LoOx-wteOJW`+p^Ew1UJ}j}oF?XL$4EGj;YhOXFVa~X z3L?G5dOQDt7XQVAGOAxF&ADvN<1C|s(=v#y$!GfZ%*qTFT-;Qa3`E~c+I|(l4`}8| zF_K#bVMa+uxPYf|BXD|GXy|3{42w?QN;kt&X=9bFSF^!no<(rgWpnHnGRQiejj`K) zG8<#JJ!C@P3eRN6O{BZ0`m~2k(k(Kwbocg>Ne64Vi1gN8Dy}aPiYU3Wmq;>NLnX zo?~_FwnravxQ067jlJ4%b!2tywnrOrxE5O(Om43>=J6UV=4*RN%;Pmk%-8mkaCWgW zcH3hWa|3`T=4*R3F%LN)F<)nqgdJasbnKVCV$W=7j-W;K2qW#5#CnYFG1z?aAd;A` z*~$h!{-$*aZeLG~@ToMt(y=wranbn~KWx(lcUq+v+Zhrasn!Pb#{$@3kw$}F(py^D zne2|f+!%pJ;zwBij;P{7`XOg}>4iVs8b=45ARI#>n#aTDx3 J$^XLt`#+8AQe^-D diff --git a/package.json b/package.json index b78d3ab..b29ead2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "graff.estate-backend", "version": "1.0.50", + "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "bun --hot ./src", @@ -25,7 +26,7 @@ "@types/nodemailer": "^6.4.17", "bun-types": "latest", "drizzle-kit": "^0.30.0", - "typescript": "^5.7.2" + "typescript": "^5.8.3" }, "module": "src/index.js" } diff --git a/src/controllers/articles.ts b/src/controllers/articles.ts index 96f1fc6..9ae1411 100644 --- a/src/controllers/articles.ts +++ b/src/controllers/articles.ts @@ -1,16 +1,16 @@ -import Elysia, { t } from 'elysia'; -import { authMiddleware } from '../middlewares/auth.ts'; +import Elysia, { t } from "elysia"; +import { authMiddleware } from "../middlewares/auth"; import { getAll, getOne, create, remove, update, -} from '../services/articles/index.ts'; -import { getCount } from '../services/articles/getCount.ts'; -import { createInsertSchema, createSelectSchema } from 'drizzle-typebox'; -import { articlesTable } from '../db/schema/index.ts'; -import { getDrafted } from '../services/articles/getDrafted.ts'; +} from "../services/articles/index.ts"; +import { getCount } from "../services/articles/getCount.ts"; +import { createInsertSchema, createSelectSchema } from "drizzle-typebox"; +import { articlesTable } from "../db/schema/index.ts"; +import { getDrafted } from "../services/articles/getDrafted.ts"; const getArticle = createSelectSchema(articlesTable); @@ -19,9 +19,9 @@ const insertArticle = createInsertSchema(articlesTable, { blocks: t.String(), }); -export const articlesController = new Elysia({ prefix: '/articles' }) +export const articlesController = new Elysia({ prefix: "/articles" }) .get( - '/', + "/", async ({ query: { tags = [], offset = 0, limit = 10 } }) => await getAll(tags, offset, limit), { @@ -32,13 +32,13 @@ export const articlesController = new Elysia({ prefix: '/articles' }) limit: t.Number({ default: 10 }), }) ), - response: { - 200: t.Array(getArticle), - 500: t.ObjectString({}), - }, + // response: { + // 200: t.Array(getArticle), + // 500: t.ObjectString({}), + // }, } ) - .get('/:slug', async ({ params: { slug } }) => await getOne(slug), { + .get("/:slug", async ({ params: { slug } }) => await getOne(slug), { params: t.Object({ slug: t.String() }), response: { 200: getArticle, @@ -46,7 +46,7 @@ export const articlesController = new Elysia({ prefix: '/articles' }) 500: t.ObjectString({}), }, }) - .get('/count', async ({ query: { tags = [] } }) => await getCount(tags), { + .get("/count", async ({ query: { tags = [] } }) => await getCount(tags), { query: t.Partial( t.Object({ tags: t.Array(t.String()), @@ -59,7 +59,7 @@ export const articlesController = new Elysia({ prefix: '/articles' }) }) .use(authMiddleware) .get( - '/drafted', + "/drafted", async ({ query: { limit = 100, offset = 0, tags = [] } }) => await getDrafted(tags, offset, limit), { @@ -77,7 +77,7 @@ export const articlesController = new Elysia({ prefix: '/articles' }) } ) .post( - '/', + "/", async ({ body }) => await create({ ...body, @@ -92,8 +92,8 @@ export const articlesController = new Elysia({ prefix: '/articles' }) }, } ) - .delete('/:id', async ({ params: { id } }) => await remove(id), { - params: t.Object({ id: t.String({ format: 'uuid' }) }), + .delete("/:id", async ({ params: { id } }) => await remove(id), { + params: t.Object({ id: t.String({ format: "uuid" }) }), response: { 200: getArticle, 400: t.ObjectString({}), @@ -102,14 +102,14 @@ export const articlesController = new Elysia({ prefix: '/articles' }) }, }) .put( - '/:id', + "/:id", async ({ params: { id }, body }) => await update(id, { ...body, blocks: JSON.parse(body.blocks), }), { - params: t.Object({ id: t.String({ format: 'uuid' }) }), + params: t.Object({ id: t.String({ format: "uuid" }) }), body: insertArticle, response: { 200: getArticle, diff --git a/src/controllers/mail.ts b/src/controllers/mail.ts index e0266b9..e070aba 100644 --- a/src/controllers/mail.ts +++ b/src/controllers/mail.ts @@ -1,69 +1,83 @@ -import Elysia, { error, t } from 'elysia'; -import nodemailer from 'nodemailer'; -import { db } from '../db'; -import { mailTable } from '../db/schema/mail'; -import { createInsertSchema } from 'drizzle-typebox'; +import Elysia, { error, t } from "elysia"; +import nodemailer from "nodemailer"; +import { db } from "../db"; +import { mailTable } from "../db/schema/mail"; +import { createInsertSchema } from "drizzle-typebox"; const createMailSchema = createInsertSchema(mailTable); -export const mailController = new Elysia({ prefix: '/mail' }).post( - '/', +export const mailController = new Elysia({ prefix: "/mail" }).post( + "/", async ({ - headers: { referer }, - body: { email, fullname, phone, products = [], request = '' }, + headers: { referer: refererHeader }, + body: { + email, + fullname, + phone, + products = [], + request = "", + referer: refererBody, + }, }) => { - const url = new URL(referer); + const url = new URL(refererHeader); try { - await db - .insert(mailTable) - .values({ email, fullname, phone, products, request, from: url.host }); + await db.insert(mailTable).values({ + email, + fullname, + phone, + products, + request, + from: url.host, + referer: refererBody, + }); let transporter = nodemailer.createTransport({ - host: 'mail.netangels.ru', + host: "mail.netangels.ru", port: 587, secure: false, // true for 465, false for other ports auth: { - user: 'test@graff.tech', // generated ethereal user - pass: 'ZmL0pKiDFWUyCDMq', // generated ethereal password + user: "test@graff.tech", // generated ethereal user + pass: "ZmL0pKiDFWUyCDMq", // generated ethereal password }, }); let info = await transporter.sendMail({ from: email, // sender address - to: 'info@graff.tech', // list of receivers + to: "info@graff.tech", // list of receivers subject: `Заявка с сайта ${url.host}`, // Subject line text: ` Имя Фамилия: ${fullname} Email: ${email} - ${phone ? `Телефон: ${phone}` : ''} + ${phone ? `Телефон: ${phone}` : ""} ${ products && products.length > 0 - ? 'Продукты: ' + products.join(', ') - : '' + ? "Продукты: " + products.join(", ") + : "" } `, // plain text body html: `

    Имя: ${fullname}

    Email: ${email}

    - ${phone ? `

    Телефон: ${phone}

    ` : ''} + ${phone ? `

    Телефон: ${phone}

    ` : ""} ${ products && products.length > 0 - ? '

    Продукты: ' + products.join(', ') + '

    ' - : '' + ? "

    Продукты: " + products.join(", ") + "

    " + : "" } - ${request ? '

    Текст заявки: ' + request + '

    ' : ''} + ${request ? "

    Текст заявки: " + request + "

    " : ""} + ${refererBody ? `

    Реферер: ${refererBody}

    ` : ""}
    `, // html body }); return info; } catch (err) { console.log((err as Error).message); - return error(500, { error: 'Internal Server Error' }); + return error(500, { error: "Internal Server Error" }); } }, { headers: t.Object({ referer: t.String() }), - body: createMailSchema, + body: t.Omit(createMailSchema, ["from"]), } ); diff --git a/src/db/schema/index.ts b/src/db/schema/index.ts index 7b9e526..7b041fe 100644 --- a/src/db/schema/index.ts +++ b/src/db/schema/index.ts @@ -1,8 +1,8 @@ -export * from './admins.ts'; -export * from './articles.ts'; -export * from './projects.ts'; -export * from './tokens.ts'; -export * from './companies.ts'; -export * from './stories.ts'; -export * from './map.ts'; -export * from './mail.ts'; +export * from "./admins.ts"; +export * from "./articles.ts"; +export * from "./projects.ts"; +export * from "./tokens.ts"; +export * from "./companies.ts"; +export * from "./stories.ts"; +export * from "./map.ts"; +export * from "./mail.ts"; diff --git a/src/db/schema/mail.ts b/src/db/schema/mail.ts index 50cf3e7..c53142c 100644 --- a/src/db/schema/mail.ts +++ b/src/db/schema/mail.ts @@ -1,20 +1,22 @@ -import { text } from 'drizzle-orm/pg-core'; -import { pgTable, uuid } from 'drizzle-orm/pg-core'; +import { text, timestamp } from "drizzle-orm/pg-core"; +import { pgTable, uuid } from "drizzle-orm/pg-core"; -export const mailTable = pgTable('mail', { - id: uuid('id').defaultRandom().primaryKey(), - fullname: text('fullname').notNull(), - email: text('email').notNull(), - phone: text('phone'), - request: text('request'), - products: text('products', { +export const mailTable = pgTable("mail", { + id: uuid("id").defaultRandom().primaryKey(), + fullname: text("fullname").notNull(), + email: text("email").notNull(), + phone: text("phone"), + request: text("request"), + products: text("products", { enum: [ - 'Интерактивная презентация', - 'Удаленная демонстрация', - 'Архитектурная визуализация', - 'Создание сайтов', - 'Web-тур по 360 сферам', + "Интерактивная презентация", + "Удаленная демонстрация", + "Архитектурная визуализация", + "Создание сайтов", + "Web-тур по 360 сферам", ], }).array(), - from: text('from').notNull(), + from: text("from").notNull(), + referer: text("referer"), + createdAt: timestamp("created_at").defaultNow(), }); diff --git a/src/db/schema/projects.ts b/src/db/schema/projects.ts index a1ef5e9..12bb993 100644 --- a/src/db/schema/projects.ts +++ b/src/db/schema/projects.ts @@ -12,8 +12,10 @@ import { relations } from 'drizzle-orm'; export const projectsTable = pgTable('projects', { id: uuid('id').defaultRandom().primaryKey(), title: varchar('title', { length: 50 }).notNull().unique(), + englishTitle: varchar('english_title', { length: 50 }), description: varchar('description', { length: 100 }).notNull().default(''), city: varchar('city', { length: 50 }).notNull(), + englishCity: varchar('english_city', { length: 50 }), image: text('image').notNull(), stage: integer('stage').notNull().default(1), releaseDate: date('release_date', { mode: 'date' }).notNull(), diff --git a/src/services/articles/getAll.ts b/src/services/articles/getAll.ts index a20fe09..fbb9a3a 100644 --- a/src/services/articles/getAll.ts +++ b/src/services/articles/getAll.ts @@ -1,7 +1,7 @@ -import { and, arrayContains, arrayOverlaps, desc, not } from 'drizzle-orm'; -import { db } from '../../db'; -import { articlesTable } from '../../db/schema'; -import { error } from 'elysia'; +import { and, arrayOverlaps, desc, not } from "drizzle-orm"; +import { db } from "../../db"; +import { articlesTable } from "../../db/schema"; +import { error } from "elysia"; export async function getAll(tags: string[] = [], offset = 0, limit = 10) { try { @@ -16,6 +16,6 @@ export async function getAll(tags: string[] = [], offset = 0, limit = 10) { }); } catch (err) { console.log((err as Error).message); - return error(500, { error: 'Something went wrong (Postgres select)' }); + return error(500, { error: "Something went wrong (Postgres select)" }); } } diff --git a/tsconfig.json b/tsconfig.json index c0ac791..a2e6dd5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,9 +25,9 @@ // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ /* Modules */ - "module": "NodeNext" /* Specify what module code is generated. */, + "module": "ESNext" /* Specify what module code is generated. */, // "rootDir": "./", /* Specify the root folder within your source files. */ - "moduleResolution": "nodenext" /* Specify how TypeScript looks up a file from a given module specifier. */, + "moduleResolution": "bundler" /* Specify how TypeScript looks up a file from a given module specifier. */, // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ @@ -109,5 +109,5 @@ "./src/**/*.ts", "./bun.build.ts" ], - "exclude": ["node_modules"] + "exclude": ["node_modules", "dist"] }