From 020244231fc777e8897e109fbdeb16a2c034a1a1 Mon Sep 17 00:00:00 2001 From: Abdullah Atta Date: Fri, 13 Sep 2024 08:39:18 +0500 Subject: [PATCH] desktop: update electron to v30 (#6498) --- apps/desktop/package-lock.json | 600 +- apps/desktop/package.json | 21 +- apps/desktop/scripts/build.mjs | 2 +- apps/desktop/src/api/sqlite-kysely.ts | 2 +- apps/desktop/src/utils/asset-manager.ts | 4 +- apps/mobile/app/common/database/index.js | 6 +- apps/mobile/app/common/database/logger.js | 6 +- .../app/common/database/sqlite.kysely.ts | 8 +- apps/mobile/app/package.json | 10 +- apps/mobile/patches/kysely+0.26.3.patch | 8944 ----------------- apps/theme-builder/package-lock.json | 25 +- apps/theme-builder/package.json | 2 +- apps/web/package-lock.json | 1672 +-- apps/web/package.json | 10 +- apps/web/patches/kysely+0.26.3.patch | 8944 ----------------- apps/web/src/common/sqlite/index.desktop.ts | 2 +- apps/web/src/common/sqlite/index.ts | 2 +- apps/web/src/common/sqlite/sqlite.worker.ts | 2 +- apps/web/src/common/sqlite/type.ts | 2 +- .../common/sqlite/wa-sqlite-kysely-driver.ts | 8 +- packages/common/package-lock.json | 8 +- packages/core/__e2e__/sync.test.js | 2 +- packages/core/__tests__/logger.test.ts | 2 +- packages/core/__tests__/utils/index.ts | 2 +- packages/core/package-lock.json | 18 +- packages/core/package.json | 2 +- packages/core/patches/kysely+0.26.3.patch | 8944 ----------------- packages/core/src/api/index.ts | 2 +- packages/core/src/api/lookup.ts | 2 +- packages/core/src/collections/attachments.ts | 2 +- packages/core/src/collections/notebooks.ts | 2 +- packages/core/src/collections/relations.ts | 2 +- packages/core/src/collections/reminders.ts | 2 +- packages/core/src/collections/tags.ts | 2 +- packages/core/src/collections/trash.ts | 2 +- packages/core/src/database/fts.ts | 2 +- packages/core/src/database/index.ts | 2 +- packages/core/src/database/migrations.ts | 5 +- .../src/database/sql-cached-collection.ts | 2 +- packages/core/src/database/sql-collection.ts | 2 +- packages/core/src/database/triggers.ts | 2 +- packages/core/src/logger.ts | 2 +- packages/editor-mobile/package-lock.json | 104 +- packages/editor/package-lock.json | 41 +- 44 files changed, 757 insertions(+), 28671 deletions(-) delete mode 100644 apps/mobile/patches/kysely+0.26.3.patch delete mode 100644 apps/web/patches/kysely+0.26.3.patch delete mode 100644 packages/core/patches/kysely+0.26.3.patch diff --git a/apps/desktop/package-lock.json b/apps/desktop/package-lock.json index ca88959f3..c69619dcf 100644 --- a/apps/desktop/package-lock.json +++ b/apps/desktop/package-lock.json @@ -10,24 +10,25 @@ "hasInstallScript": true, "license": "GPL-3.0-or-later", "dependencies": { - "@trpc/client": "10.38.3", - "@trpc/server": "10.38.3", - "better-sqlite3-multiple-ciphers": "^9.5.0", - "electron-trpc": "0.5.2", + "@trpc/client": "10.45.2", + "@trpc/server": "10.45.2", + "better-sqlite3-multiple-ciphers": "^11.2.1", + "electron-trpc": "0.6.1", "electron-updater": "^6.2.1", - "icojs": "^0.17.1", + "icojs": "^0.19.4", "typed-emitter": "^2.1.0", - "yargs": "^17.6.2", + "yargs": "^17.7.2", "zod": "^3.21.4" }, "devDependencies": { - "@types/node": "18.16.1", - "@types/yargs": "^17.0.24", + "@streetwriters/kysely": "^0.27.4", + "@types/node": "20.14.8", + "@types/yargs": "^17.0.33", "chokidar": "^3.5.3", - "electron": "^29.3.1", + "electron": "^30.4.0", "electron-builder": "^24.13.3", "esbuild": "^0.23.0", - "kysely": "^0.27.3", + "node-abi": "^3.67.0", "node-gyp-build": "^4.8.0", "prebuildify": "^6.0.1", "tree-kill": "^1.2.2", @@ -112,6 +113,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz", "integrity": "sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==", + "dev": true, "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", @@ -132,6 +134,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -145,6 +148,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -153,6 +157,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, "bin": { "semver": "bin/semver.js" } @@ -161,6 +166,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, "engines": { "node": ">= 4.0.0" } @@ -762,6 +768,26 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@jimp/bmp": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.12.tgz", + "integrity": "sha512-aeI64HD0npropd+AR76MCcvvRaa+Qck6loCOS03CkkxGHN5/r336qTM5HPUdHKMDOGzqknuVPA8+kK1t03z12g==", + "dependencies": { + "@jimp/utils": "^0.22.12", + "bmp-js": "^0.1.0" + }, + "peerDependencies": { + "@jimp/custom": ">=0.3.5" + } + }, + "node_modules/@jimp/utils": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.12.tgz", + "integrity": "sha512-yJ5cWUknGnilBq97ZXOyOS0HhsHOyAyjHwYfHxGbSyMTohgQI6sVyE8KPgDwH8HHW/nMKXk8TrSwAE71zt716Q==", + "dependencies": { + "regenerator-runtime": "^0.13.3" + } + }, "node_modules/@malept/cross-spawn-promise": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", @@ -824,10 +850,16 @@ "node": ">=14" } }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==" + }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, "engines": { "node": ">=10" }, @@ -835,10 +867,20 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@streetwriters/kysely": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@streetwriters/kysely/-/kysely-0.27.4.tgz", + "integrity": "sha512-c2p+wtX8WESSVjJAc16j4lT44w/g1DvJFEIeKj/CFy36vmi0uq9FOAzxc50VtRc7rp0UlECCfl3Sxd+BTZOHFg==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, "dependencies": { "defer-to-connect": "^2.0.0" }, @@ -861,20 +903,20 @@ } }, "node_modules/@trpc/client": { - "version": "10.38.3", - "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.38.3.tgz", - "integrity": "sha512-hHPsElTL4sB+UGzuAZ4iwRVHjELrk/Nsl2owsYw9ITJz3EY7VWRsQ6vK48kJvlHPYPhP+efID5UOgyZMs4bFXA==", + "version": "10.45.2", + "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.45.2.tgz", + "integrity": "sha512-ykALM5kYWTLn1zYuUOZ2cPWlVfrXhc18HzBDyRhoPYN0jey4iQHEFSEowfnhg1RvYnrAVjNBgHNeSAXjrDbGwg==", "funding": [ "https://trpc.io/sponsor" ], "peerDependencies": { - "@trpc/server": "10.38.3" + "@trpc/server": "10.45.2" } }, "node_modules/@trpc/server": { - "version": "10.38.3", - "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.38.3.tgz", - "integrity": "sha512-9s8/kwo2IDB5hwB2SKZZrfevRhdb1f9fdXtIYd3lbQuf2jQaC/LyQuHaIQjDQoUx9updBfsHXcFFPiCP1DL6pg==", + "version": "10.45.2", + "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.45.2.tgz", + "integrity": "sha512-wOrSThNNE4HUnuhJG6PfDRp4L2009KDVxsd+2VYH8ro6o/7/jwYZ8Uu5j+VaW+mOmc8EHerHzGcdbGNQSAUPgg==", "funding": [ "https://trpc.io/sponsor" ] @@ -883,6 +925,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", @@ -911,12 +954,14 @@ "node_modules/@types/http-cache-semantics": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true }, "node_modules/@types/keyv": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, "dependencies": { "@types/node": "*" } @@ -928,9 +973,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.16.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.1.tgz", - "integrity": "sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==" + "version": "20.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", + "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", + "devOptional": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/plist": { "version": "3.0.2", @@ -946,6 +995,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "dev": true, "dependencies": { "@types/node": "*" } @@ -957,9 +1007,9 @@ "optional": true }, "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -975,6 +1025,7 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, "optional": true, "dependencies": { "@types/node": "*" @@ -1115,80 +1166,6 @@ "electron-builder-squirrel-windows": "24.13.3" } }, - "node_modules/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", - "dev": true, - "peer": true, - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "peer": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "peer": true - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "peer": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1268,9 +1245,9 @@ ] }, "node_modules/better-sqlite3-multiple-ciphers": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/better-sqlite3-multiple-ciphers/-/better-sqlite3-multiple-ciphers-9.5.0.tgz", - "integrity": "sha512-6A9xBRvssONJW07Lur6pmkaUwlCGz1bnjFmXrrAR3qXETUBk92OI4C/+LhMOatn5wQ8AQzLScFZC/CKUpxkTaw==", + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/better-sqlite3-multiple-ciphers/-/better-sqlite3-multiple-ciphers-11.2.1.tgz", + "integrity": "sha512-qYZ9GnZMnSOek/d00KnaXsECRFoMrNXSu9ubgeHaQi/5310+OQisaNo7FqBCCQlucPk15+etHgLwNHCeS6QzWQ==", "hasInstallScript": true, "dependencies": { "bindings": "^1.5.0", @@ -1328,6 +1305,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "dev": true, "optional": true }, "node_modules/brace-expansion": { @@ -1378,6 +1356,7 @@ "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, "engines": { "node": "*" } @@ -1440,6 +1419,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, "engines": { "node": ">=10.6.0" } @@ -1448,6 +1428,7 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -1567,6 +1548,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, "dependencies": { "mimic-response": "^1.0.0" }, @@ -1620,22 +1602,6 @@ "node": ">=0.10.0" } }, - "node_modules/compress-commons": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", - "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", - "dev": true, - "peer": true, - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1703,7 +1669,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "devOptional": true + "optional": true }, "node_modules/crc": { "version": "3.8.0", @@ -1714,33 +1680,6 @@ "buffer": "^5.1.0" } }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true, - "peer": true, - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", - "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", - "dev": true, - "peer": true, - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1833,6 +1772,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, "engines": { "node": ">=10" } @@ -1841,6 +1781,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, "optional": true, "dependencies": { "has-property-descriptors": "^1.0.0", @@ -1874,6 +1815,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, "optional": true }, "node_modules/dir-compare": { @@ -1987,9 +1929,10 @@ } }, "node_modules/electron": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-29.3.1.tgz", - "integrity": "sha512-auge1/6RVqgUd6TgIq88wKdUCJi2cjESi3jy7d+6X4JzvBGprKBqMJ8JSSFpu/Px1YJrFUKAxfy6SC+TQf1uLw==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-30.4.0.tgz", + "integrity": "sha512-ric3KLPQ9anXYjtTDkj5NbEcXZqRUwqxrxTviIjLdMdHqd5O+hkSHEzXgbSJUOt+7uw+zZuybn9+IM9y7iEpqg==", + "dev": true, "hasInstallScript": true, "dependencies": { "@electron/get": "^2.0.0", @@ -2029,19 +1972,6 @@ "node": ">=14.0.0" } }, - "node_modules/electron-builder-squirrel-windows": { - "version": "24.13.3", - "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-24.13.3.tgz", - "integrity": "sha512-oHkV0iogWfyK+ah9ZIvMDpei1m9ZRpdXcvde1wTpra2U8AFDNNpqJdnin5z+PM1GbQ5BoaKCWas2HSjtR0HwMg==", - "dev": true, - "peer": true, - "dependencies": { - "app-builder-lib": "24.13.3", - "archiver": "^5.3.1", - "builder-util": "24.13.1", - "fs-extra": "^10.1.0" - } - }, "node_modules/electron-publish": { "version": "24.13.1", "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-24.13.1.tgz", @@ -2058,9 +1988,9 @@ } }, "node_modules/electron-trpc": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/electron-trpc/-/electron-trpc-0.5.2.tgz", - "integrity": "sha512-lJTeTwrd/E1C3VGFvdSBQggdmdDeHGrrpnuiB1e3bQR/1f91HmprySMygs9e4i12+CLqR+RIyKTQWLKCNjy5/Q==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/electron-trpc/-/electron-trpc-0.6.1.tgz", + "integrity": "sha512-Yj13UrjjjOW4+TD06YunAML2tgmtSYJMiFw6E6r1D4in/0EZ2MRwMoQc7AtMPAA6In23e+Kmq71e8h0ir+c3Jg==", "dependencies": { "debug": "^4.3.4" }, @@ -2085,14 +2015,6 @@ "tiny-typed-emitter": "^2.1.0" } }, - "node_modules/electron/node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -2110,6 +2032,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, "engines": { "node": ">=6" } @@ -2124,6 +2047,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, "optional": true }, "node_modules/esbuild": { @@ -2177,6 +2101,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "optional": true, "engines": { "node": ">=10" @@ -2197,6 +2122,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -2237,26 +2163,43 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, "dependencies": { "pend": "~1.2.0" } }, "node_modules/file-type": { - "version": "16.5.4", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", - "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", + "version": "19.4.1", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-19.4.1.tgz", + "integrity": "sha512-RuWzwF2L9tCHS76KR/Mdh+DwJZcFCzrhrPXpOw6MlEfl/o31fjpTikzcKlYuyeV7e7ftdCGVJTNOCzkYD/aLbw==", "dependencies": { - "readable-web-to-node-stream": "^3.0.0", - "strtok3": "^6.2.4", - "token-types": "^4.1.1" + "get-stream": "^9.0.1", + "strtok3": "^8.1.0", + "token-types": "^6.0.0", + "uint8array-extras": "^1.3.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, + "node_modules/file-type/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -2391,6 +2334,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true, "optional": true }, "node_modules/get-caller-file": { @@ -2405,6 +2349,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, "optional": true, "dependencies": { "function-bind": "^1.1.1", @@ -2420,6 +2365,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, "dependencies": { "pump": "^3.0.0" }, @@ -2494,6 +2440,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, "optional": true, "dependencies": { "boolean": "^3.0.1", @@ -2511,6 +2458,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, "optional": true, "dependencies": { "define-properties": "^1.1.3" @@ -2526,6 +2474,7 @@ "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -2555,6 +2504,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "optional": true, "dependencies": { "function-bind": "^1.1.1" @@ -2576,6 +2526,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, "optional": true, "dependencies": { "get-intrinsic": "^1.1.1" @@ -2588,6 +2539,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, "optional": true, "engines": { "node": ">= 0.4" @@ -2600,6 +2552,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, "optional": true, "engines": { "node": ">= 0.4" @@ -2623,7 +2576,8 @@ "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true }, "node_modules/http-proxy-agent": { "version": "5.0.0", @@ -2643,6 +2597,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" @@ -2665,19 +2620,27 @@ } }, "node_modules/icojs": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/icojs/-/icojs-0.17.1.tgz", - "integrity": "sha512-yGqa/9Uq82EAAq5V0Earig1SUubOi5ogRj/XEDiwAv/jewP9p3p/qIu/2zHWG5f8VKxRuNZB5xNgIzDxAxtPQg==", + "version": "0.19.4", + "resolved": "https://registry.npmjs.org/icojs/-/icojs-0.19.4.tgz", + "integrity": "sha512-86oNepPk2jAmbb96BPeucZI7HoSBobFlXDhhjIbwRb3wkQpvdBO5HO9KtMUNzMFT3qqQZsjLsfW+L0/9Rl9VqA==", "dependencies": { - "bmp-js": "0.1.0", + "@jimp/bmp": "^0.22.12", "decode-ico": "^0.4.1", - "file-type": "^16.5.4", + "file-type": "^19.0.0", "jpeg-js": "^0.4.4", - "pngjs": "^6.0.0", - "to-data-view": "^1.1.0" + "pngjs": "^7.0.0", + "to-data-view": "^2.0.0" }, "engines": { - "node": ">=14.19.1" + "node": ">=18.17.1" + } + }, + "node_modules/icojs/node_modules/to-data-view": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-data-view/-/to-data-view-2.0.0.tgz", + "integrity": "sha512-RGEM5KqlPHr+WVTPmGNAXNeFEmsBnlkxXaIfEpUYV0AST2Z5W1EGq9L/MENFrMMmL2WQr1wjkmZy/M92eKhjYA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/iconv-corefoundation": { @@ -2810,12 +2773,16 @@ "node": ">=0.12.0" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "peer": true + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/isbinaryfile": { "version": "5.0.2", @@ -2912,7 +2879,8 @@ "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -2924,6 +2892,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, "optional": true }, "node_modules/json5": { @@ -2953,125 +2922,37 @@ "version": "4.5.2", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "dev": true, "dependencies": { "json-buffer": "3.0.1" } }, - "node_modules/kysely": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.27.3.tgz", - "integrity": "sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/lazy-val": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==" }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "peer": true, - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "peer": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "peer": true - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "peer": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "dev": true, - "peer": true - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", - "dev": true, - "peer": true - }, "node_modules/lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==" }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "dev": true, - "peer": true - }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, - "peer": true - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", - "dev": true, - "peer": true - }, "node_modules/lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, "engines": { "node": ">=8" } @@ -3091,6 +2972,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, "optional": true, "dependencies": { "escape-string-regexp": "^4.0.0" @@ -3136,6 +3018,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, "engines": { "node": ">=4" } @@ -3222,9 +3105,9 @@ "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" }, "node_modules/node-abi": { - "version": "3.54.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.54.0.tgz", - "integrity": "sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.67.0.tgz", + "integrity": "sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==", "dependencies": { "semver": "^7.3.5" }, @@ -3262,6 +3145,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, "engines": { "node": ">=10" }, @@ -3285,6 +3169,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, "optional": true, "engines": { "node": ">= 0.4" @@ -3302,6 +3187,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, "engines": { "node": ">=8" } @@ -3365,11 +3251,11 @@ } }, "node_modules/peek-readable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", - "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.2.0.tgz", + "integrity": "sha512-U94a+eXHzct7vAd19GH3UQ2dH4Satbng0MyYTMaQatL0pvYYL5CTPR25HBhKtecl+4bfu1/i3vC6k0hydO5Vcw==", "engines": { - "node": ">=8" + "node": ">=14.16" }, "funding": { "type": "github", @@ -3379,7 +3265,8 @@ "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true }, "node_modules/picomatch": { "version": "2.3.1", @@ -3408,11 +3295,11 @@ } }, "node_modules/pngjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", - "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", + "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", "engines": { - "node": ">=12.13.0" + "node": ">=14.19.0" } }, "node_modules/prebuild-install": { @@ -3457,17 +3344,11 @@ "prebuildify": "bin.js" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "peer": true - }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -3507,6 +3388,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, "engines": { "node": ">=10" }, @@ -3558,31 +3440,6 @@ "node": ">= 6" } }, - "node_modules/readable-web-to-node-stream": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", - "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", - "dependencies": { - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "dev": true, - "peer": true, - "dependencies": { - "minimatch": "^5.1.0" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -3595,6 +3452,11 @@ "node": ">=8.10.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3606,12 +3468,14 @@ "node_modules/resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true }, "node_modules/responselike": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, "dependencies": { "lowercase-keys": "^2.0.0" }, @@ -3632,6 +3496,7 @@ "version": "2.15.4", "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, "optional": true, "dependencies": { "boolean": "^3.0.1", @@ -3711,12 +3576,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, "optional": true }, "node_modules/serialize-error": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, "optional": true, "dependencies": { "type-fest": "^0.13.1" @@ -3732,6 +3599,7 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, "optional": true, "engines": { "node": ">=10" @@ -3863,6 +3731,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, "optional": true }, "node_modules/stat-mode": { @@ -3943,15 +3812,15 @@ } }, "node_modules/strtok3": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz", - "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-8.1.0.tgz", + "integrity": "sha512-ExzDvHYPj6F6QkSNe/JxSlBxTh3OrI6wrAIz53ulxo1c4hBJ1bT9C/JrAthEKHWG9riVH3Xzg7B03Oxty6S2Lw==", "dependencies": { "@tokenizer/token": "^0.3.0", - "peek-readable": "^4.1.0" + "peek-readable": "^5.1.4" }, "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { "type": "github", @@ -3962,6 +3831,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, "dependencies": { "debug": "^4.1.0" }, @@ -4080,15 +3950,15 @@ } }, "node_modules/token-types": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", - "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.0.0.tgz", + "integrity": "sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA==", "dependencies": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "type": "github", @@ -4151,6 +4021,17 @@ "node": ">=14.17" } }, + "node_modules/uint8array-extras": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.0.tgz", + "integrity": "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/undici": { "version": "6.14.1", "resolved": "https://registry.npmjs.org/undici/-/undici-6.14.1.tgz", @@ -4163,7 +4044,8 @@ "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "devOptional": true }, "node_modules/universalify": { "version": "2.0.0", @@ -4312,48 +4194,12 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, - "node_modules/zip-stream": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", - "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", - "dev": true, - "peer": true, - "dependencies": { - "archiver-utils": "^3.0.4", - "compress-commons": "^4.1.2", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/zip-stream/node_modules/archiver-utils": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", - "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.2.3", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/zod": { "version": "3.21.4", "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 7e7cb2294..a483317ef 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -11,24 +11,25 @@ "repository": "https://github.com/streetwriters/notesnook", "license": "GPL-3.0-or-later", "dependencies": { - "@trpc/client": "10.38.3", - "@trpc/server": "10.38.3", - "better-sqlite3-multiple-ciphers": "^9.5.0", - "electron-trpc": "0.5.2", + "@trpc/client": "10.45.2", + "@trpc/server": "10.45.2", + "better-sqlite3-multiple-ciphers": "^11.2.1", + "electron-trpc": "0.6.1", "electron-updater": "^6.2.1", - "icojs": "^0.17.1", + "icojs": "^0.19.4", "typed-emitter": "^2.1.0", - "yargs": "^17.6.2", + "yargs": "^17.7.2", "zod": "^3.21.4" }, "devDependencies": { - "@types/node": "18.16.1", - "@types/yargs": "^17.0.24", + "@streetwriters/kysely": "^0.27.4", + "@types/node": "20.14.8", + "@types/yargs": "^17.0.33", "chokidar": "^3.5.3", - "electron": "^29.3.1", + "electron": "^30.4.0", "electron-builder": "^24.13.3", "esbuild": "^0.23.0", - "kysely": "^0.27.3", + "node-abi": "^3.67.0", "node-gyp-build": "^4.8.0", "prebuildify": "^6.0.1", "tree-kill": "^1.2.2", diff --git a/apps/desktop/scripts/build.mjs b/apps/desktop/scripts/build.mjs index 60fb16098..70cbdc101 100644 --- a/apps/desktop/scripts/build.mjs +++ b/apps/desktop/scripts/build.mjs @@ -94,7 +94,7 @@ async function patchBetterSQLite3() { ); const json = JSON.parse(await readFile(jsonPath, "utf-8")); - json.version = "9.5.1"; + json.version = "11.2.2"; json.homepage = "https://github.com/thecodrr/better-sqlite3-multiple-ciphers"; json.repository.url = "git://github.com/thecodrr/better-sqlite3-multiple-ciphers.git"; diff --git a/apps/desktop/src/api/sqlite-kysely.ts b/apps/desktop/src/api/sqlite-kysely.ts index 94e3dc626..aec98a26c 100644 --- a/apps/desktop/src/api/sqlite-kysely.ts +++ b/apps/desktop/src/api/sqlite-kysely.ts @@ -18,7 +18,7 @@ along with this program. If not, see . */ import type { Database, Statement } from "better-sqlite3-multiple-ciphers"; -import type { QueryResult } from "kysely"; +import type { QueryResult } from "@streetwriters/kysely"; type SQLiteCompatibleType = | number diff --git a/apps/desktop/src/utils/asset-manager.ts b/apps/desktop/src/utils/asset-manager.ts index c3c265aee..c8f7b959a 100644 --- a/apps/desktop/src/utils/asset-manager.ts +++ b/apps/desktop/src/utils/asset-manager.ts @@ -20,7 +20,7 @@ along with this program. If not, see . import { NativeImage, nativeImage } from "electron"; import path from "path"; import { isDevelopment } from "./index"; -import { parse, ParsedImage } from "icojs"; +import { ParsedImage, parseICO } from "icojs"; import { getSystemTheme } from "./theme"; import { readFile } from "fs/promises"; @@ -71,7 +71,7 @@ export class AssetManager { `${icon}${prefix}.ico` ); const icoBuffer = await readFile(icoPath); - const images = await parse(icoBuffer, "image/png"); + const images = await parseICO(icoBuffer, "image/png"); ALL_ICONS.push({ id: icon, images, prefix }); } } diff --git a/apps/mobile/app/common/database/index.js b/apps/mobile/app/common/database/index.js index 99dc219fc..9fc72ca01 100644 --- a/apps/mobile/app/common/database/index.js +++ b/apps/mobile/app/common/database/index.js @@ -23,7 +23,11 @@ import { Platform } from "react-native"; import * as Gzip from "react-native-gzip"; import EventSource from "../../utils/sse/even-source-ios"; import AndroidEventSource from "../../utils/sse/event-source"; -import { SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler } from "kysely"; +import { + SqliteAdapter, + SqliteIntrospector, + SqliteQueryCompiler +} from "@streetwriters/kysely"; import filesystem from "../filesystem"; import Storage from "./storage"; import { RNSqliteDriver } from "./sqlite.kysely"; diff --git a/apps/mobile/app/common/database/logger.js b/apps/mobile/app/common/database/logger.js index cc9059573..9432fd965 100644 --- a/apps/mobile/app/common/database/logger.js +++ b/apps/mobile/app/common/database/logger.js @@ -18,7 +18,11 @@ along with this program. If not, see . */ import { initialize } from "@notesnook/core/dist/logger"; -import { SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler } from "kysely"; +import { + SqliteAdapter, + SqliteIntrospector, + SqliteQueryCompiler +} from "@streetwriters/kysely"; import { Platform } from "react-native"; import { setLogger } from "."; import { RNSqliteDriver } from "./sqlite.kysely"; diff --git a/apps/mobile/app/common/database/sqlite.kysely.ts b/apps/mobile/app/common/database/sqlite.kysely.ts index 1cd588308..3d47f812e 100644 --- a/apps/mobile/app/common/database/sqlite.kysely.ts +++ b/apps/mobile/app/common/database/sqlite.kysely.ts @@ -17,8 +17,12 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -import type { DatabaseConnection, Driver, QueryResult } from "kysely"; -import { CompiledQuery } from "kysely"; +import type { + DatabaseConnection, + Driver, + QueryResult +} from "@streetwriters/kysely"; +import { CompiledQuery } from "@streetwriters/kysely"; import { QuickSQLiteConnection, open } from "react-native-quick-sqlite"; type Config = { dbName: string; async: boolean; location: string }; diff --git a/apps/mobile/app/package.json b/apps/mobile/app/package.json index 4aa0d2efd..05c9f6cec 100644 --- a/apps/mobile/app/package.json +++ b/apps/mobile/app/package.json @@ -36,11 +36,11 @@ "react-native-wheel-color-picker": "^1.3.1", "tinycolor2": "1.6.0", "@azure/core-asynciterator-polyfill": "^1.0.2", - "@tanstack/react-query": "^4.29.19", - "@trpc/client": "10.38.3", - "@trpc/react-query": "10.38.3", - "@trpc/server": "10.38.3", - "kysely": "^0.26.3", + "@tanstack/react-query": "^4.36.1", + "@trpc/client": "10.45.2", + "@trpc/react-query": "10.45.2", + "@trpc/server": "10.45.2", + "@streetwriters/kysely": "^0.27.4", "pathe": "1.1.2" }, "sideEffects": false diff --git a/apps/mobile/patches/kysely+0.26.3.patch b/apps/mobile/patches/kysely+0.26.3.patch deleted file mode 100644 index 517c26ad1..000000000 --- a/apps/mobile/patches/kysely+0.26.3.patch +++ /dev/null @@ -1,8944 +0,0 @@ -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts -index dc87916..e3fb628 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts -@@ -7,6 +7,14 @@ import { DialectAdapter, MigrationLockOptions } from './dialect-adapter.js'; - * they are added and there will be less breaking changes. - */ - export declare abstract class DialectAdapterBase implements DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ get supportsCreateIfNotExists(): boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js -index a8a950f..53c47b0 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js -+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js -@@ -8,6 +8,9 @@ exports.DialectAdapterBase = void 0; - * they are added and there will be less breaking changes. - */ - class DialectAdapterBase { -+ get supportsCreateIfNotExists() { -+ return true; -+ } - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts -index 73a925a..73baab0 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts -@@ -1,4 +1,4 @@ --import { Kysely } from '../kysely.js'; -+import { Kysely } from 'kysely/dist/cjs/kysely.js'; - /** - * A `DialectAdapter` encapsulates all differences between dialects outside - * of `Driver` and `QueryCompiler`. -@@ -8,6 +8,14 @@ import { Kysely } from '../kysely.js'; - * it. For that there's a `supportsTransactionalDdl` boolean in this interface. - */ - export interface DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ readonly supportsCreateIfNotExists: boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect.d.ts -index 58c74f9..a84ed23 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/dialect.d.ts -@@ -1,8 +1,8 @@ --import { Driver } from '../driver/driver.js'; --import { Kysely } from '../kysely.js'; --import { QueryCompiler } from '../query-compiler/query-compiler.js'; --import { DatabaseIntrospector } from './database-introspector.js'; --import { DialectAdapter } from './dialect-adapter.js'; -+import { Driver } from 'kysely/dist/cjs/driver/driver.js'; -+import { Kysely } from 'kysely/dist/cjs/kysely.js'; -+import { QueryCompiler } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; -+import { DatabaseIntrospector } from 'kysely/dist/cjs/dialect/database-introspector.js'; -+import { DialectAdapter } from 'kysely/dist/cjs/dialect/dialect-adapter.js'; - /** - * A Dialect is the glue between Kysely and the underlying database engine. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js b/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js -index 4f205f4..a67ea6f 100644 ---- a/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js -+++ b/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js -@@ -28,7 +28,7 @@ class PostgresDriver { - // The driver must take care of calling `onCreateConnection` when a new - // connection is created. The `pg` module doesn't provide an async hook - // for the connection creation. We need to call the method explicitly. -- if (this.#config?.onCreateConnection) { -+ if (this.#config.onCreateConnection) { - await this.#config.onCreateConnection(connection); - } - } -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts -index 69a0a7d..550df53 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts -@@ -1,7 +1,7 @@ - import { Kysely } from '../../kysely.js'; - import { DialectAdapterBase } from '../dialect-adapter-base.js'; - import { MigrationLockOptions } from '../dialect-adapter.js'; --export declare class SqliteAdapter implements DialectAdapterBase { -+export declare class SqliteAdapter extends DialectAdapterBase { - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js -index 78850a0..ef9f504 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js -@@ -1,7 +1,8 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SqliteAdapter = void 0; --class SqliteAdapter { -+const dialect_adapter_base_js_1 = require("../dialect-adapter-base.js"); -+class SqliteAdapter extends dialect_adapter_base_js_1.DialectAdapterBase { - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts -index 810af98..a873682 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts -@@ -37,4 +37,5 @@ export interface SqliteStatement { - changes: number | bigint; - lastInsertRowid: number | bigint; - }; -+ iterate(parameters: ReadonlyArray): IterableIterator; - } -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js -index 13594af..99676cf 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js -@@ -1,6 +1,7 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SqliteDriver = void 0; -+const select_query_node_js_1 = require("../../operation-node/select-query-node.js"); - const compiled_query_js_1 = require("../../query-compiler/compiled-query.js"); - const object_utils_js_1 = require("../../util/object-utils.js"); - class SqliteDriver { -@@ -70,8 +71,20 @@ class SqliteConnection { - }); - } - } -- async *streamQuery() { -- throw new Error("Sqlite driver doesn't support streaming"); -+ async *streamQuery(compiledQuery, _chunkSize) { -+ const { sql, parameters, query } = compiledQuery; -+ const stmt = this.#db.prepare(sql); -+ if (select_query_node_js_1.SelectQueryNode.is(query)) { -+ const iter = stmt.iterate(parameters); -+ for (const row of iter) { -+ yield { -+ rows: [row], -+ }; -+ } -+ } -+ else { -+ throw new Error('Sqlite driver only supports streaming of select queries'); -+ } - } - } - class ConnectionMutex { -diff --git a/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts b/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts -index a75244c..8a5003c 100644 ---- a/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts -+++ b/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts -@@ -1,4 +1,4 @@ --import { DatabaseConnection } from './database-connection.js'; -+import { DatabaseConnection } from 'kysely/dist/cjs/driver/database-connection.js'; - export interface ConnectionProvider { - /** - * Provides a connection for the callback and takes care of disposing -diff --git a/node_modules/kysely/dist/cjs/driver/database-connection.d.ts b/node_modules/kysely/dist/cjs/driver/database-connection.d.ts -index 8a4766e..2902362 100644 ---- a/node_modules/kysely/dist/cjs/driver/database-connection.d.ts -+++ b/node_modules/kysely/dist/cjs/driver/database-connection.d.ts -@@ -1,4 +1,4 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; - /** - * A single connection to the database engine. - * -diff --git a/node_modules/kysely/dist/cjs/driver/driver.d.ts b/node_modules/kysely/dist/cjs/driver/driver.d.ts -index 00babcb..5f317f4 100644 ---- a/node_modules/kysely/dist/cjs/driver/driver.d.ts -+++ b/node_modules/kysely/dist/cjs/driver/driver.d.ts -@@ -1,5 +1,5 @@ --import { ArrayItemType } from '../util/type-utils.js'; --import { DatabaseConnection } from './database-connection.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; -+import { DatabaseConnection } from 'kysely/dist/cjs/driver/database-connection.js'; - /** - * A Driver creates and releases {@link DatabaseConnection | database connections} - * and is also responsible for connection pooling (if the dialect supports pooling). -@@ -40,5 +40,5 @@ export interface Driver { - export interface TransactionSettings { - readonly isolationLevel?: IsolationLevel; - } --export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable"]; -+export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable", "snapshot"]; - export type IsolationLevel = ArrayItemType; -diff --git a/node_modules/kysely/dist/cjs/driver/driver.js b/node_modules/kysely/dist/cjs/driver/driver.js -index 8acf3ea..80b9c33 100644 ---- a/node_modules/kysely/dist/cjs/driver/driver.js -+++ b/node_modules/kysely/dist/cjs/driver/driver.js -@@ -6,4 +6,5 @@ exports.TRANSACTION_ISOLATION_LEVELS = [ - 'read committed', - 'repeatable read', - 'serializable', -+ 'snapshot', - ]; -diff --git a/node_modules/kysely/dist/cjs/driver/single-connection-provider.js b/node_modules/kysely/dist/cjs/driver/single-connection-provider.js -index cf064c4..db6bca0 100644 ---- a/node_modules/kysely/dist/cjs/driver/single-connection-provider.js -+++ b/node_modules/kysely/dist/cjs/driver/single-connection-provider.js -@@ -1,6 +1,7 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SingleConnectionProvider = void 0; -+const ignoreError = () => { }; - class SingleConnectionProvider { - #connection; - #runningPromise; -@@ -9,17 +10,15 @@ class SingleConnectionProvider { - } - async provideConnection(consumer) { - while (this.#runningPromise) { -- await this.#runningPromise; -+ await this.#runningPromise.catch(ignoreError); - } -- const promise = this.#run(consumer); -- this.#runningPromise = promise -- .then(() => { -- this.#runningPromise = undefined; -- }) -- .catch(() => { -+ // `#runningPromise` must be set to undefined before it's -+ // resolved or rejected. Otherwise the while loop above -+ // will misbehave. -+ this.#runningPromise = this.#run(consumer).finally(() => { - this.#runningPromise = undefined; - }); -- return promise; -+ return this.#runningPromise; - } - // Run the runner in an async function to make sure it doesn't - // throw synchronous errors. -diff --git a/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts b/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts -index 650ce82..5c6fec7 100644 ---- a/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts -@@ -1,5 +1,5 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { SimpleReferenceExpressionNode } from '../operation-node/simple-reference-expression-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; - export declare class DynamicReferenceBuilder implements OperationNodeSource { - #private; - get dynamicReference(): string; -diff --git a/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts b/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts -index f32b5ba..da5a1b7 100644 ---- a/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts -+++ b/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts -@@ -1,4 +1,4 @@ --import { DynamicReferenceBuilder } from './dynamic-reference-builder.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; - export declare class DynamicModule { - /** - * Creates a dynamic reference to a column that is not know at compile time. -diff --git a/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts b/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts -index 7b4a340..ba5c3a0 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts -@@ -1,19 +1,20 @@ --import { SelectQueryBuilder } from '../query-builder/select-query-builder.js'; --import { TableExpression, From, FromTables, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from '../parser/table-parser.js'; --import { FunctionModule } from '../query-builder/function-module.js'; --import { ExtractTypeFromReferenceExpression, ReferenceExpression, SimpleReferenceExpression, StringReference } from '../parser/reference-parser.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { BinaryOperatorExpression, ComparisonOperatorExpression, FilterObject, OperandValueExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { Expression } from './expression.js'; --import { ExpressionWrapper } from './expression-wrapper.js'; --import { ComparisonOperator, JSONOperatorWith$, UnaryOperator } from '../operation-node/operator-node.js'; --import { SqlBool } from '../util/type-utils.js'; --import { ExtractTypeFromValueExpression } from '../parser/value-parser.js'; --import { CaseBuilder } from '../query-builder/case-builder.js'; --import { JSONPathBuilder } from '../query-builder/json-path-builder.js'; --import { OperandExpression } from '../parser/expression-parser.js'; --import { CallbackSelection, SelectCallback, SelectExpression, Selection } from '../parser/select-parser.js'; --import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from '../parser/tuple-parser.js'; -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { TableExpression, From, FromTables, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { FunctionModule } from 'kysely/dist/cjs/query-builder/function-module.js'; -+import { ExtractTypeFromReferenceExpression, ReferenceExpression, SimpleReferenceExpression, StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { BinaryOperatorExpression, ComparisonOperatorExpression, FilterObject, OperandValueExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { ComparisonOperator, JSONOperatorWith$, UnaryOperator } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExtractTypeFromValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { CaseBuilder } from 'kysely/dist/cjs/query-builder/case-builder.js'; -+import { JSONPathBuilder } from 'kysely/dist/cjs/query-builder/json-path-builder.js'; -+import { OperandExpression } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from 'kysely/dist/cjs/parser/tuple-parser.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; - export interface ExpressionBuilder { - /** - * Creates a binary expression. -@@ -344,6 +345,30 @@ export interface ExpressionBuilder { - */ - ref>(reference: RE): ExpressionWrapper>; - ref>(reference: RE, op: JSONOperatorWith$): JSONPathBuilder>; -+ /** -+ * Creates a table reference. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select(eb => [ -+ * 'person.id', -+ * sql`jsonb_agg(${eb.table('pet')})`.as('pets') -+ * ]) -+ * .groupBy('person.id') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "person"."id", jsonb_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."id" -+ * ``` -+ */ -+ table(table: T): ExpressionWrapper>; - /** - * Returns a value expression. - * -diff --git a/node_modules/kysely/dist/cjs/expression/expression-builder.js b/node_modules/kysely/dist/cjs/expression/expression-builder.js -index 172dfab..cdcef14 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression-builder.js -+++ b/node_modules/kysely/dist/cjs/expression/expression-builder.js -@@ -60,8 +60,11 @@ function createExpressionBuilder(executor = noop_query_executor_js_1.NOOP_QUERY_ - } - return new json_path_builder_js_1.JSONPathBuilder((0, reference_parser_js_1.parseJSONReference)(reference, op)); - }, -+ table(table) { -+ return new expression_wrapper_js_1.ExpressionWrapper((0, table_parser_js_1.parseTable)(table)); -+ }, - val(value) { -- return new expression_wrapper_js_1.ExpressionWrapper((0, value_parser_js_1.parseValueExpressionOrList)(value)); -+ return new expression_wrapper_js_1.ExpressionWrapper((0, value_parser_js_1.parseValueExpression)(value)); - }, - refTuple(...values) { - return new expression_wrapper_js_1.ExpressionWrapper(tuple_node_js_1.TupleNode.create(values.map(reference_parser_js_1.parseReferenceExpression))); -diff --git a/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts b/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts -index 19799fd..d3c7b9f 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts -+++ b/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts -@@ -1,14 +1,14 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { AndNode } from '../operation-node/and-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { OrNode } from '../operation-node/or-node.js'; --import { ParensNode } from '../operation-node/parens-node.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { OperandExpression } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { SqlBool } from '../util/type-utils.js'; --import { AliasableExpression, AliasedExpression, Expression } from './expression.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { AndNode } from 'kysely/dist/cjs/operation-node/and-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrNode } from 'kysely/dist/cjs/operation-node/or-node.js'; -+import { ParensNode } from 'kysely/dist/cjs/operation-node/parens-node.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { OperandExpression } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; - export declare class ExpressionWrapper implements AliasableExpression { - #private; - constructor(node: OperationNode); -diff --git a/node_modules/kysely/dist/cjs/expression/expression.d.ts b/node_modules/kysely/dist/cjs/expression/expression.d.ts -index 336ff2a..426f092 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression.d.ts -+++ b/node_modules/kysely/dist/cjs/expression/expression.d.ts -@@ -1,6 +1,6 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - /** - * `Expression` represents an arbitrary SQL expression with a type. - * -diff --git a/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts b/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts -index 6d18663..35715c2 100644 ---- a/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts -+++ b/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts -@@ -1,7 +1,7 @@ --import { Expression } from '../expression/expression.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; --import { RawBuilder } from '../raw-builder/raw-builder.js'; --import { Simplify } from '../util/type-utils.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; -+import { RawBuilder } from 'kysely/dist/cjs/raw-builder/raw-builder.js'; -+import { Simplify } from 'kysely/dist/cjs/util/type-utils.js'; - /** - * A SQLite helper for aggregating a subquery into a JSON array. - * -diff --git a/node_modules/kysely/dist/cjs/index.d.ts b/node_modules/kysely/dist/cjs/index.d.ts -index cf166f8..37cf701 100644 ---- a/node_modules/kysely/dist/cjs/index.d.ts -+++ b/node_modules/kysely/dist/cjs/index.d.ts -@@ -72,6 +72,12 @@ export * from './dialect/postgres/postgres-dialect.js'; - export * from './dialect/sqlite/sqlite-query-compiler.js'; - export * from './dialect/sqlite/sqlite-introspector.js'; - export * from './dialect/sqlite/sqlite-adapter.js'; -+export * from './dialect/mssql/mssql-adapter.js'; -+export * from './dialect/mssql/mssql-dialect-config.js'; -+export * from './dialect/mssql/mssql-dialect.js'; -+export * from './dialect/mssql/mssql-driver.js'; -+export * from './dialect/mssql/mssql-introspector.js'; -+export * from './dialect/mssql/mssql-query-compiler.js'; - export * from './query-compiler/default-query-compiler.js'; - export * from './query-compiler/query-compiler.js'; - export * from './migration/migrator.js'; -@@ -176,7 +182,7 @@ export * from './util/compilable.js'; - export * from './util/explainable.js'; - export * from './util/streamable.js'; - export * from './util/log.js'; --export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, } from './util/type-utils.js'; -+export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, Nullable, } from './util/type-utils.js'; - export * from './util/infer-result.js'; - export { logOnce } from './util/log-once.js'; - export { SelectExpression, SelectCallback, SelectArg, Selection, CallbackSelection, } from './parser/select-parser.js'; -diff --git a/node_modules/kysely/dist/cjs/kysely.d.ts b/node_modules/kysely/dist/cjs/kysely.d.ts -index 52e909a..b10152e 100644 ---- a/node_modules/kysely/dist/cjs/kysely.d.ts -+++ b/node_modules/kysely/dist/cjs/kysely.d.ts -@@ -1,21 +1,21 @@ --import { Dialect } from './dialect/dialect.js'; --import { SchemaModule } from './schema/schema.js'; --import { DynamicModule } from './dynamic/dynamic.js'; --import { QueryExecutor } from './query-executor/query-executor.js'; --import { QueryCreator } from './query-creator.js'; --import { KyselyPlugin } from './plugin/kysely-plugin.js'; --import { DatabaseIntrospector } from './dialect/database-introspector.js'; --import { Driver, IsolationLevel } from './driver/driver.js'; --import { FunctionModule } from './query-builder/function-module.js'; --import { LogConfig } from './util/log.js'; --import { QueryExecutorProvider } from './query-executor/query-executor-provider.js'; --import { QueryResult } from './driver/database-connection.js'; --import { CompiledQuery } from './query-compiler/compiled-query.js'; --import { QueryId } from './util/query-id.js'; --import { Compilable } from './util/compilable.js'; --import { CaseBuilder } from './query-builder/case-builder.js'; --import { Expression } from './expression/expression.js'; --import { DrainOuterGeneric } from './util/type-utils.js'; -+import { Dialect } from 'kysely/dist/cjs/dialect/dialect.js'; -+import { SchemaModule } from 'kysely/dist/cjs/schema/schema.js'; -+import { DynamicModule } from 'kysely/dist/cjs/dynamic/dynamic.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryCreator } from 'kysely/dist/cjs/query-creator.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { DatabaseIntrospector } from 'kysely/dist/cjs/dialect/database-introspector.js'; -+import { Driver, IsolationLevel } from 'kysely/dist/cjs/driver/driver.js'; -+import { FunctionModule } from 'kysely/dist/cjs/query-builder/function-module.js'; -+import { LogConfig } from 'kysely/dist/cjs/util/log.js'; -+import { QueryExecutorProvider } from 'kysely/dist/cjs/query-executor/query-executor-provider.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { CaseBuilder } from 'kysely/dist/cjs/query-builder/case-builder.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; - /** - * The main Kysely class. - * -@@ -66,7 +66,7 @@ export declare class Kysely extends QueryCreator implements QueryExecuto - /** - * Returns the {@link SchemaModule} module for building database schema. - */ -- get schema(): SchemaModule; -+ get schema(): SchemaModule; - /** - * Returns a the {@link DynamicModule} module. - * -diff --git a/node_modules/kysely/dist/cjs/migration/migrator.js b/node_modules/kysely/dist/cjs/migration/migrator.js -index 76f2d83..6f1c144 100644 ---- a/node_modules/kysely/dist/cjs/migration/migrator.js -+++ b/node_modules/kysely/dist/cjs/migration/migrator.js -@@ -220,10 +220,7 @@ class Migrator { - } - if (!(await this.#doesSchemaExists())) { - try { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema` -@@ -239,20 +236,15 @@ class Migrator { - if (!(await this.#doesTableExists(this.#migrationTable))) { - try { - if (this.#migrationTableSchema) { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationTable) -- .ifNotExists() - .addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey()) - // The migration run time as ISO string. This is not a real date type as we - // can't know which data type is supported by all future dialects. -- .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()) -- .execute(); -+ .addColumn('timestamp', 'varchar(255)', (col) => col.notNull())); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -267,13 +259,11 @@ class Migrator { - async #ensureMigrationLockTableExists() { - if (!(await this.#doesTableExists(this.#migrationLockTable))) { - try { -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationLockTable) -- .ifNotExists() - .addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey()) -- .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)) -- .execute(); -+ .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0))); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -481,6 +471,12 @@ class Migrator { - } - return { results }; - } -+ async #createIfNotExists(qb) { -+ if (this.#props.db.getExecutor().adapter.supportsCreateIfNotExists) { -+ qb = qb.ifNotExists(); -+ } -+ await qb.execute(); -+ } - } - exports.Migrator = Migrator; - class MigrationResultSetError extends Error { -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts -index 03b5cff..fd8cd43 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts -@@ -1,5 +1,5 @@ --import { ColumnDefinitionNode } from './column-definition-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface AddColumnNode extends OperationNode { - readonly kind: 'AddColumnNode'; - readonly column: ColumnDefinitionNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts -index a342b5b..aa7c2bd 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ConstraintNode } from './constraint-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ConstraintNode } from 'kysely/dist/cjs/operation-node/constraint-node.js'; - export interface AddConstraintNode extends OperationNode { - readonly kind: 'AddConstraintNode'; - readonly constraint: ConstraintNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts -new file mode 100644 -index 0000000..5328a2a ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts -@@ -0,0 +1,21 @@ -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+export type AddIndexNodeProps = Omit; -+export interface AddIndexNode extends OperationNode { -+ readonly kind: 'AddIndexNode'; -+ readonly name: IdentifierNode; -+ readonly columns?: OperationNode[]; -+ readonly unique?: boolean; -+ readonly using?: RawNode; -+ readonly ifNotExists?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const AddIndexNode: Readonly<{ -+ is(node: OperationNode): node is AddIndexNode; -+ create(name: string): AddIndexNode; -+ cloneWith(node: AddIndexNode, props: AddIndexNodeProps): AddIndexNode; -+ cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): AddIndexNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-index-node.js b/node_modules/kysely/dist/cjs/operation-node/add-index-node.js -new file mode 100644 -index 0000000..0341e28 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/add-index-node.js -@@ -0,0 +1,31 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.AddIndexNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+const identifier_node_js_1 = require("./identifier-node.js"); -+/** -+ * @internal -+ */ -+exports.AddIndexNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'AddIndexNode'; -+ }, -+ create(name) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'AddIndexNode', -+ name: identifier_node_js_1.IdentifierNode.create(name) -+ }); -+ }, -+ cloneWith(node, props) { -+ return (0, object_utils_js_1.freeze)({ -+ ...node, -+ ...props, -+ }); -+ }, -+ cloneWithColumns(node, columns) { -+ return (0, object_utils_js_1.freeze)({ -+ ...node, -+ columns: [...(node.columns || []), ...columns], -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts -index a2a6857..b85dba9 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { OverNode } from './over-node.js'; --import { WhereNode } from './where-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OverNode } from 'kysely/dist/cjs/operation-node/over-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; - export interface AggregateFunctionNode extends OperationNode { - readonly kind: 'AggregateFunctionNode'; - readonly func: string; -diff --git a/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts -index 552c69b..acd28e0 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface AliasNode extends OperationNode { - readonly kind: 'AliasNode'; - readonly node: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts -index e888419..07d95d4 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; --import { RawNode } from './raw-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; - export type AlterColumnNodeProps = Omit; - export interface AlterColumnNode extends OperationNode { - readonly kind: 'AlterColumnNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts -index 5b03535..0f2da61 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts -@@ -1,14 +1,16 @@ --import { OperationNode } from './operation-node.js'; --import { AddColumnNode } from './add-column-node.js'; --import { DropColumnNode } from './drop-column-node.js'; --import { TableNode } from './table-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { RenameColumnNode } from './rename-column-node.js'; --import { AlterColumnNode } from './alter-column-node.js'; --import { AddConstraintNode } from './add-constraint-node.js'; --import { DropConstraintNode } from './drop-constraint-node.js'; --import { ModifyColumnNode } from './modify-column-node.js'; --export type AlterTableNodeTableProps = Pick; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { AddColumnNode } from 'kysely/dist/cjs/operation-node/add-column-node.js'; -+import { DropColumnNode } from 'kysely/dist/cjs/operation-node/drop-column-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { RenameColumnNode } from 'kysely/dist/cjs/operation-node/rename-column-node.js'; -+import { AlterColumnNode } from 'kysely/dist/cjs/operation-node/alter-column-node.js'; -+import { AddConstraintNode } from 'kysely/dist/cjs/operation-node/add-constraint-node.js'; -+import { DropConstraintNode } from 'kysely/dist/cjs/operation-node/drop-constraint-node.js'; -+import { ModifyColumnNode } from 'kysely/dist/cjs/operation-node/modify-column-node.js'; -+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js'; -+import { AddIndexNode } from 'kysely/dist/cjs/operation-node/add-index-node.js'; -+export type AlterTableNodeTableProps = Pick; - export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode; - export interface AlterTableNode extends OperationNode { - readonly kind: 'AlterTableNode'; -@@ -18,6 +20,8 @@ export interface AlterTableNode extends OperationNode { - readonly columnAlterations?: ReadonlyArray; - readonly addConstraint?: AddConstraintNode; - readonly dropConstraint?: DropConstraintNode; -+ readonly addIndex?: AddIndexNode; -+ readonly dropIndex?: DropIndexNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts -index ba1ffa4..5e24df8 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface AndNode extends OperationNode { - readonly kind: 'AndNode'; - readonly left: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts -index c4adeab..b9087e9 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface BinaryOperationNode extends OperationNode { - readonly kind: 'BinaryOperationNode'; - readonly leftOperand: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts -index 9a6dec1..5b55a5d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { WhenNode } from './when-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { WhenNode } from 'kysely/dist/cjs/operation-node/when-node.js'; - export interface CaseNode extends OperationNode { - readonly kind: 'CaseNode'; - readonly value?: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts -index 6e74d7c..24ec7bb 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; - export interface CheckConstraintNode extends OperationNode { - readonly kind: 'CheckConstraintNode'; - readonly expression: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts -index 6442d83..5e84167 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts -@@ -1,9 +1,9 @@ --import { CheckConstraintNode } from './check-constraint-node.js'; --import { ColumnNode } from './column-node.js'; --import { DefaultValueNode } from './default-value-node.js'; --import { GeneratedNode } from './generated-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReferencesNode } from './references-node.js'; -+import { CheckConstraintNode } from 'kysely/dist/cjs/operation-node/check-constraint-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { DefaultValueNode } from 'kysely/dist/cjs/operation-node/default-value-node.js'; -+import { GeneratedNode } from 'kysely/dist/cjs/operation-node/generated-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReferencesNode } from 'kysely/dist/cjs/operation-node/references-node.js'; - export type ColumnDefinitionNodeProps = Omit, 'kind' | 'dataType'>; - export interface ColumnDefinitionNode extends OperationNode { - readonly kind: 'ColumnDefinitionNode'; -@@ -20,6 +20,7 @@ export interface ColumnDefinitionNode extends OperationNode { - readonly unsigned?: boolean; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts -index d07a8b4..9c71e55 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ColumnNode extends OperationNode { - readonly kind: 'ColumnNode'; - readonly column: IdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts -index 2e8ab34..865997c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts -@@ -1,8 +1,7 @@ --import { ColumnNode } from './column-node.js'; --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ColumnUpdateNode extends OperationNode { - readonly kind: 'ColumnUpdateNode'; -- readonly column: ColumnNode; -+ readonly column: OperationNode; - readonly value: OperationNode; - } - /** -@@ -10,5 +9,5 @@ export interface ColumnUpdateNode extends OperationNode { - */ - export declare const ColumnUpdateNode: Readonly<{ - is(node: OperationNode): node is ColumnUpdateNode; -- create(column: ColumnNode, value: OperationNode): ColumnUpdateNode; -+ create(column: OperationNode, value: OperationNode): ColumnUpdateNode; - }>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts -index fd1fb2f..83d7924 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts -@@ -1,6 +1,6 @@ --import { ColumnNode } from './column-node.js'; --import { OperationNode } from './operation-node.js'; --import { TableNode } from './table-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export interface CommonTableExpressionNameNode extends OperationNode { - readonly kind: 'CommonTableExpressionNameNode'; - readonly table: TableNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts -index c8a2f8a..34c1780 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts -@@ -1,5 +1,5 @@ --import { CommonTableExpressionNameNode } from './common-table-expression-name-node.js'; --import { OperationNode } from './operation-node.js'; -+import { CommonTableExpressionNameNode } from 'kysely/dist/cjs/operation-node/common-table-expression-name-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - type CommonTableExpressionNodeProps = Pick; - export interface CommonTableExpressionNode extends OperationNode { - readonly kind: 'CommonTableExpressionNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts -index ef3548e..6da12df 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { CheckConstraintNode } from './check-constraint-node.js'; --import { ForeignKeyConstraintNode } from './foreign-key-constraint-node.js'; --import { PrimaryKeyConstraintNode } from './primary-constraint-node.js'; --import { UniqueConstraintNode } from './unique-constraint-node.js'; -+import { CheckConstraintNode } from 'kysely/dist/cjs/operation-node/check-constraint-node.js'; -+import { ForeignKeyConstraintNode } from 'kysely/dist/cjs/operation-node/foreign-key-constraint-node.js'; -+import { PrimaryKeyConstraintNode } from 'kysely/dist/cjs/operation-node/primary-constraint-node.js'; -+import { UniqueConstraintNode } from 'kysely/dist/cjs/operation-node/unique-constraint-node.js'; - export type ConstraintNode = PrimaryKeyConstraintNode | UniqueConstraintNode | CheckConstraintNode | ForeignKeyConstraintNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts -index a3a99d1..a18aa4a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts -@@ -1,8 +1,8 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; --import { RawNode } from './raw-node.js'; --import { TableNode } from './table-node.js'; --import { WhereNode } from './where-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; - export type CreateIndexNodeProps = Omit; - export type IndexType = 'btree' | 'hash' | 'gist' | 'gin'; - export interface CreateIndexNode extends OperationNode { -@@ -14,6 +14,7 @@ export interface CreateIndexNode extends OperationNode { - readonly using?: RawNode; - readonly ifNotExists?: boolean; - readonly where?: WhereNode; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts -index bb609f3..6a4fa7a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type CreateSchemaNodeParams = Omit, 'kind' | 'schema'>; - export interface CreateSchemaNode extends OperationNode { - readonly kind: 'CreateSchemaNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts -index cc8ceda..988b651 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts -@@ -1,8 +1,8 @@ --import { OperationNode } from './operation-node.js'; --import { TableNode } from './table-node.js'; --import { ConstraintNode } from './constraint-node.js'; --import { ColumnDefinitionNode } from './column-definition-node.js'; --import { ArrayItemType } from '../util/type-utils.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { ConstraintNode } from 'kysely/dist/cjs/operation-node/constraint-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; - export declare const ON_COMMIT_ACTIONS: string[]; - export type OnCommitAction = ArrayItemType; - export type CreateTableNodeParams = Omit; -@@ -16,6 +16,7 @@ export interface CreateTableNode extends OperationNode { - readonly onCommit?: OnCommitAction; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly selectQuery?: OperationNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts -new file mode 100644 -index 0000000..2eb8ae8 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts -@@ -0,0 +1,34 @@ -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { TriggerEventNode } from 'kysely/dist/cjs/operation-node/trigger-event-node.js'; -+import { TriggerOrderNode } from 'kysely/dist/cjs/operation-node/trigger-order-node.js'; -+import { FunctionNode } from 'kysely/dist/cjs/operation-node/function-node.js'; -+export type TriggerTime = 'after' | 'before' | 'instead of'; -+export type CreateTriggerNodeParams = Omit; -+export interface CreateTriggerNode extends OperationNode { -+ readonly kind: 'CreateTriggerNode'; -+ readonly name: IdentifierNode; -+ readonly queries?: ReadonlyArray; -+ readonly function?: FunctionNode; -+ readonly time?: TriggerTime; -+ readonly events?: ReadonlyArray; -+ readonly table?: TableNode; -+ readonly orReplace?: boolean; -+ readonly ifNotExists?: boolean; -+ readonly when?: OperationNode; -+ readonly temporary?: boolean; -+ readonly forEach?: 'row' | 'statement'; -+ readonly order?: TriggerOrderNode; -+} -+/** -+ * @internal -+ */ -+export declare const CreateTriggerNode: Readonly<{ -+ is(node: OperationNode): node is CreateTriggerNode; -+ create(name: IdentifierNode): CreateTriggerNode; -+ cloneWithQuery(createTrigger: CreateTriggerNode, query: QueryNode): CreateTriggerNode; -+ cloneWithEvent(createTrigger: CreateTriggerNode, event: TriggerEventNode): CreateTriggerNode; -+ cloneWith(createTrigger: CreateTriggerNode, params: CreateTriggerNodeParams): CreateTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js -new file mode 100644 -index 0000000..47ba119 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js -@@ -0,0 +1,36 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.CreateTriggerNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.CreateTriggerNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'CreateTriggerNode'; -+ }, -+ create(name) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'CreateTriggerNode', -+ name, -+ }); -+ }, -+ cloneWithQuery(createTrigger, query) { -+ return (0, object_utils_js_1.freeze)({ -+ ...createTrigger, -+ queries: (0, object_utils_js_1.freeze)([...(createTrigger.queries || []), query]), -+ }); -+ }, -+ cloneWithEvent(createTrigger, event) { -+ return (0, object_utils_js_1.freeze)({ -+ ...createTrigger, -+ events: (0, object_utils_js_1.freeze)([...(createTrigger.events || []), event]), -+ }); -+ }, -+ cloneWith(createTrigger, params) { -+ return (0, object_utils_js_1.freeze)({ -+ ...createTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts -index 3ab9c3b..382285f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; --import { ValueListNode } from './value-list-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js'; - export type CreateTypeNodeParams = Omit, 'kind'>; - export interface CreateTypeNode extends OperationNode { - readonly kind: 'CreateTypeNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts -index 9aa1faa..8db7a40 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from './column-node.js'; --import { OperationNode } from './operation-node.js'; --import { RawNode } from './raw-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; --import { SelectQueryNode } from './select-query-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; - export type CreateViewNodeParams = Omit, 'kind' | 'name'>; - export interface CreateViewNode extends OperationNode { - readonly kind: 'CreateViewNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts -index 1ab9f33..83557e4 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type ColumnDataType = 'varchar' | `varchar(${number})` | 'char' | `char(${number})` | 'text' | 'integer' | 'int2' | 'int4' | 'int8' | 'bigint' | 'boolean' | 'real' | 'double precision' | 'float4' | 'float8' | 'decimal' | `decimal(${number}, ${number})` | 'numeric' | `numeric(${number}, ${number})` | 'binary' | `binary(${number})` | 'bytea' | 'date' | 'datetime' | `datetime(${number})` | 'time' | `time(${number})` | 'timetz' | `timetz(${number})` | 'timestamp' | `timestamp(${number})` | 'timestamptz' | `timestamptz(${number})` | 'serial' | 'bigserial' | 'uuid' | 'json' | 'jsonb' | 'blob'; - export type DataTypeParams = Omit; - export interface DataTypeNode extends OperationNode { -diff --git a/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts -index 2df8841..0884b9c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface DefaultValueNode extends OperationNode { - readonly kind: 'DefaultValueNode'; - readonly defaultValue: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts -index 10d7f15..a993d3f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts -@@ -1,14 +1,14 @@ --import { FromNode } from './from-node.js'; --import { JoinNode } from './join-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReturningNode } from './returning-node.js'; --import { WhereNode } from './where-node.js'; --import { WithNode } from './with-node.js'; --import { LimitNode } from './limit-node.js'; --import { OrderByNode } from './order-by-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; --import { ExplainNode } from './explain-node.js'; --import { UsingNode } from './using-node.js'; -+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { LimitNode } from 'kysely/dist/cjs/operation-node/limit-node.js'; -+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { UsingNode } from 'kysely/dist/cjs/operation-node/using-node.js'; - export interface DeleteQueryNode extends OperationNode { - readonly kind: 'DeleteQueryNode'; - readonly from: FromNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts -index 10e13a2..83fb6d7 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; - export interface DropColumnNode extends OperationNode { - readonly kind: 'DropColumnNode'; - readonly column: ColumnNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts -index f5ccb05..f7f7660 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; - export type DropConstraintNodeProps = Omit; - export interface DropConstraintNode extends OperationNode { - readonly kind: 'DropConstraintNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts -index 2cc565e..8159449 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; --import { TableNode } from './table-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export type DropIndexNodeProps = Omit; - export interface DropIndexNode extends OperationNode { - readonly kind: 'DropIndexNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts -index 98166ad..34147fc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type DropSchemaNodeParams = Omit, 'kind' | 'schema'>; - export interface DropSchemaNode extends OperationNode { - readonly kind: 'DropSchemaNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts -index ab35e3e..ae42660 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { TableNode } from './table-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export type DropTablexNodeParams = Omit, 'kind' | 'table'>; - export interface DropTableNode extends OperationNode { - readonly kind: 'DropTableNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts -new file mode 100644 -index 0000000..e391cf9 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts -@@ -0,0 +1,17 @@ -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+export type DropTriggerNodeParams = Omit, 'kind' | 'name'>; -+export interface DropTriggerNode extends OperationNode { -+ readonly kind: 'DropTriggerNode'; -+ readonly name: SchemableIdentifierNode; -+ readonly ifExists?: boolean; -+ readonly cascade?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const DropTriggerNode: Readonly<{ -+ is(node: OperationNode): node is DropTriggerNode; -+ create(name: SchemableIdentifierNode): DropTriggerNode; -+ cloneWith(dropTrigger: DropTriggerNode, params: DropTriggerNodeParams): DropTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js -new file mode 100644 -index 0000000..2bb067e ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js -@@ -0,0 +1,24 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DropTriggerNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.DropTriggerNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'DropTriggerNode'; -+ }, -+ create(name) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'DropTriggerNode', -+ name, -+ }); -+ }, -+ cloneWith(dropTrigger, params) { -+ return (0, object_utils_js_1.freeze)({ -+ ...dropTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts -index 9693550..b162606 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; - export type DropTypeNodeParams = Omit, 'kind' | 'name'>; - export interface DropTypeNode extends OperationNode { - readonly kind: 'DropTypeNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts -index 2c4bf89..316775d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; - export type DropViewNodeParams = Omit, 'kind' | 'name'>; - export interface DropViewNode extends OperationNode { - readonly kind: 'DropViewNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts -index 8cf89b5..ddd4cd0 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts -@@ -1,5 +1,5 @@ --import { ExplainFormat } from '../util/explainable.js'; --import { OperationNode } from './operation-node.js'; -+import { ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ExplainNode extends OperationNode { - readonly kind: 'ExplainNode'; - readonly format?: ExplainFormat; -diff --git a/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts -index c7fe574..408bd48 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from './column-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; --import { OnModifyForeignAction, ReferencesNode } from './references-node.js'; --import { TableNode } from './table-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OnModifyForeignAction, ReferencesNode } from 'kysely/dist/cjs/operation-node/references-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export type ForeignKeyConstraintNodeProps = Omit; - export interface ForeignKeyConstraintNode extends OperationNode { - readonly kind: 'ForeignKeyConstraintNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts -index 2c46520..3d63e3b 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface FromNode extends OperationNode { - readonly kind: 'FromNode'; - readonly froms: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts -index 49aab00..05a1632 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface FunctionNode extends OperationNode { - readonly kind: 'FunctionNode'; - readonly func: string; -diff --git a/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts -index 5c86a9f..9a4c356 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type GeneratedNodeParams = Omit; - export interface GeneratedNode extends OperationNode { - readonly kind: 'GeneratedNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts -index 475ce87..5aeb92c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface GroupByItemNode extends OperationNode { - readonly kind: 'GroupByItemNode'; - readonly groupBy: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts -index 9b0b108..c8e9315 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { GroupByItemNode } from './group-by-item-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js'; - export interface GroupByNode extends OperationNode { - readonly kind: 'GroupByNode'; - readonly items: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts -index 14830a3..fe2c59e 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface HavingNode extends OperationNode { - readonly kind: 'HavingNode'; - readonly having: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts -index f74014d..2ee967e 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface IdentifierNode extends OperationNode { - readonly kind: 'IdentifierNode'; - readonly name: string; -diff --git a/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts -index f28ce2c..56406a5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts -@@ -1,11 +1,11 @@ --import { ColumnNode } from './column-node.js'; --import { ExplainNode } from './explain-node.js'; --import { OnConflictNode } from './on-conflict-node.js'; --import { OnDuplicateKeyNode } from './on-duplicate-key-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReturningNode } from './returning-node.js'; --import { TableNode } from './table-node.js'; --import { WithNode } from './with-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { OnConflictNode } from 'kysely/dist/cjs/operation-node/on-conflict-node.js'; -+import { OnDuplicateKeyNode } from 'kysely/dist/cjs/operation-node/on-duplicate-key-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; - export type InsertQueryNodeProps = Omit; - export interface InsertQueryNode extends OperationNode { - readonly kind: 'InsertQueryNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts -index ceb98ea..f95944b 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts -@@ -1,5 +1,5 @@ --import { OnNode } from './on-node.js'; --import { OperationNode } from './operation-node.js'; -+import { OnNode } from 'kysely/dist/cjs/operation-node/on-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin' | 'LateralInnerJoin' | 'LateralLeftJoin'; - export interface JoinNode extends OperationNode { - readonly kind: 'JoinNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts -index 87cacdf..2dbbb66 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { OperatorNode } from './operator-node.js'; --import { ValueNode } from './value-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OperatorNode } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; - export interface JSONOperatorChainNode extends OperationNode { - readonly kind: 'JSONOperatorChainNode'; - readonly operator: OperatorNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts -index f0b498b..8b25b88 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type JSONPathLegType = 'Member' | 'ArrayLocation'; - export interface JSONPathLegNode extends OperationNode { - readonly kind: 'JSONPathLegNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts -index 91243ed..93c8ccf 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts -@@ -1,6 +1,6 @@ --import { JSONPathLegNode } from './json-path-leg-node.js'; --import { OperationNode } from './operation-node.js'; --import { OperatorNode } from './operator-node.js'; -+import { JSONPathLegNode } from 'kysely/dist/cjs/operation-node/json-path-leg-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OperatorNode } from 'kysely/dist/cjs/operation-node/operator-node.js'; - export interface JSONPathNode extends OperationNode { - readonly kind: 'JSONPathNode'; - readonly inOperator?: OperatorNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts -index 9ba1b27..e225b19 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts -@@ -1,7 +1,7 @@ --import { JSONOperatorChainNode } from './json-operator-chain-node.js'; --import { JSONPathNode } from './json-path-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReferenceNode } from './reference-node.js'; -+import { JSONOperatorChainNode } from 'kysely/dist/cjs/operation-node/json-operator-chain-node.js'; -+import { JSONPathNode } from 'kysely/dist/cjs/operation-node/json-path-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js'; - export interface JSONReferenceNode extends OperationNode { - readonly kind: 'JSONReferenceNode'; - readonly reference: ReferenceNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts -index 3c3de76..25d3c5a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ValueNode } from './value-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; - export interface LimitNode extends OperationNode { - readonly kind: 'LimitNode'; - readonly limit: ValueNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts -index e25d4cf..c414d3a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts -@@ -1,5 +1,5 @@ --import { ColumnDefinitionNode } from './column-definition-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ModifyColumnNode extends OperationNode { - readonly kind: 'ModifyColumnNode'; - readonly column: ColumnDefinitionNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts -index 03158b0..daa5e72 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ValueNode } from './value-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; - export interface OffsetNode extends OperationNode { - readonly kind: 'OffsetNode'; - readonly offset: ValueNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts -index bbd7b2c..71072c8 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from './column-node.js'; --import { ColumnUpdateNode } from './column-update-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; --import { WhereNode } from './where-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; - export type OnConflictNodeProps = Omit; - export interface OnConflictNode extends OperationNode { - readonly kind: 'OnConflictNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts -index 63aa5b8..e2a6bdc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts -@@ -1,5 +1,5 @@ --import { ColumnUpdateNode } from './column-update-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type OnDuplicateKeyNodeProps = Omit; - export interface OnDuplicateKeyNode extends OperationNode { - readonly kind: 'OnDuplicateKeyNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts -index 97f6383..f2508e3 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OnNode extends OperationNode { - readonly kind: 'OnNode'; - readonly on: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts -index 6dc3661..24698c3 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OperationNodeSource { - toOperationNode(): OperationNode; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts -index 6b3a13c..5d7fd9d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - /** - * Transforms an operation node tree into another one. - * -@@ -139,9 +144,13 @@ export declare class OperationNodeTransformer { - protected transformDeleteQuery(node: DeleteQueryNode): DeleteQueryNode; - protected transformReturning(node: ReturningNode): ReturningNode; - protected transformCreateTable(node: CreateTableNode): CreateTableNode; -+ protected transformCreateTrigger(node: CreateTriggerNode): CreateTriggerNode; -+ protected transformTriggerEvent(node: TriggerEventNode): TriggerEventNode; -+ protected transformTriggerOrder(node: TriggerOrderNode): TriggerOrderNode; - protected transformColumnDefinition(node: ColumnDefinitionNode): ColumnDefinitionNode; - protected transformAddColumn(node: AddColumnNode): AddColumnNode; - protected transformDropTable(node: DropTableNode): DropTableNode; -+ protected transformDropTrigger(node: DropTriggerNode): DropTriggerNode; - protected transformOrderBy(node: OrderByNode): OrderByNode; - protected transformOrderByItem(node: OrderByItemNode): OrderByItemNode; - protected transformGroupBy(node: GroupByNode): GroupByNode; -@@ -199,6 +208,7 @@ export declare class OperationNodeTransformer { - protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode; - protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode; - protected transformTuple(node: TupleNode): TupleNode; -+ protected transformAddIndex(node: AddIndexNode): AddIndexNode; - protected transformDataType(node: DataTypeNode): DataTypeNode; - protected transformSelectAll(node: SelectAllNode): SelectAllNode; - protected transformIdentifier(node: IdentifierNode): IdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js -index bc3d0a4..839914f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js -@@ -121,6 +121,11 @@ class OperationNodeTransformer { - JSONPathLegNode: this.transformJSONPathLeg.bind(this), - JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this), - TupleNode: this.transformTuple.bind(this), -+ AddIndexNode: this.transformAddIndex.bind(this), -+ CreateTriggerNode: this.transformCreateTrigger.bind(this), -+ TriggerEventNode: this.transformTriggerEvent.bind(this), -+ TriggerOrderNode: this.transformTriggerOrder.bind(this), -+ DropTriggerNode: this.transformDropTrigger.bind(this), - }); - transformNode(node) { - if (!node) { -@@ -297,6 +302,38 @@ class OperationNodeTransformer { - onCommit: node.onCommit, - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ selectQuery: this.transformNode(node.selectQuery), -+ }); -+ } -+ transformCreateTrigger(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'CreateTriggerNode', -+ name: this.transformNode(node.name), -+ table: this.transformNode(node.table), -+ ifNotExists: node.ifNotExists, -+ time: node.time, -+ events: this.transformNodeList(node.events), -+ forEach: node.forEach, -+ orReplace: node.orReplace, -+ temporary: node.temporary, -+ queries: this.transformNodeList(node.queries), -+ function: this.transformNode(node.function), -+ when: this.transformNode(node.when), -+ order: this.transformNode(node.order), -+ }); -+ } -+ transformTriggerEvent(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'TriggerEventNode', -+ event: node.event, -+ columns: this.transformNodeList(node.columns), -+ }); -+ } -+ transformTriggerOrder(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'TriggerOrderNode', -+ order: node.order, -+ otherTriggerName: this.transformNode(node.otherTriggerName), - }); - } - transformColumnDefinition(node) { -@@ -315,6 +352,7 @@ class OperationNodeTransformer { - generated: this.transformNode(node.generated), - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformAddColumn(node) { -@@ -331,6 +369,14 @@ class OperationNodeTransformer { - cascade: node.cascade, - }); - } -+ transformDropTrigger(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'DropTriggerNode', -+ name: this.transformNode(node.name), -+ ifExists: node.ifExists, -+ cascade: node.cascade, -+ }); -+ } - transformOrderBy(node) { - return (0, require_all_props_js_1.requireAllProps)({ - kind: 'OrderByNode', -@@ -416,6 +462,7 @@ class OperationNodeTransformer { - using: this.transformNode(node.using), - ifNotExists: node.ifNotExists, - where: this.transformNode(node.where), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformList(node) { -@@ -445,6 +492,7 @@ class OperationNodeTransformer { - kind: 'UniqueConstraintNode', - columns: this.transformNodeList(node.columns), - name: this.transformNode(node.name), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformForeignKeyConstraint(node) { -@@ -533,6 +581,8 @@ class OperationNodeTransformer { - columnAlterations: this.transformNodeList(node.columnAlterations), - addConstraint: this.transformNode(node.addConstraint), - dropConstraint: this.transformNode(node.dropConstraint), -+ addIndex: this.transformNode(node.addIndex), -+ dropIndex: this.transformNode(node.dropIndex), - }); - } - transformDropColumn(node) { -@@ -765,6 +815,16 @@ class OperationNodeTransformer { - values: this.transformNodeList(node.values), - }); - } -+ transformAddIndex(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'AddIndexNode', -+ name: this.transformNode(node.name), -+ columns: this.transformNodeList(node.columns), -+ unique: node.unique, -+ using: this.transformNode(node.using), -+ ifNotExists: node.ifNotExists, -+ }); -+ } - transformDataType(node) { - // An Object.freezed leaf node. No need to clone. - return node; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts -index 7c267cd..6a66bc7 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - export declare abstract class OperationNodeVisitor { - #private; - protected readonly nodeStack: OperationNode[]; -@@ -108,9 +113,13 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitDeleteQuery(node: DeleteQueryNode): void; - protected abstract visitReturning(node: ReturningNode): void; - protected abstract visitCreateTable(node: CreateTableNode): void; -+ protected abstract visitCreateTrigger(node: CreateTriggerNode): void; -+ protected abstract visitTriggerEvent(node: TriggerEventNode): void; -+ protected abstract visitTriggerOrder(node: TriggerOrderNode): void; - protected abstract visitAddColumn(node: AddColumnNode): void; - protected abstract visitColumnDefinition(node: ColumnDefinitionNode): void; - protected abstract visitDropTable(node: DropTableNode): void; -+ protected abstract visitDropTrigger(node: DropTriggerNode): void; - protected abstract visitOrderBy(node: OrderByNode): void; - protected abstract visitOrderByItem(node: OrderByItemNode): void; - protected abstract visitGroupBy(node: GroupByNode): void; -@@ -176,4 +185,5 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitJSONPathLeg(node: JSONPathLegNode): void; - protected abstract visitJSONOperatorChain(node: JSONOperatorChainNode): void; - protected abstract visitTuple(node: TupleNode): void; -+ protected abstract visitAddIndex(node: AddIndexNode): void; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js -index 8a50e0b..acc4d6e 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js -@@ -94,6 +94,11 @@ class OperationNodeVisitor { - JSONPathLegNode: this.visitJSONPathLeg.bind(this), - JSONOperatorChainNode: this.visitJSONOperatorChain.bind(this), - TupleNode: this.visitTuple.bind(this), -+ AddIndexNode: this.visitAddIndex.bind(this), -+ CreateTriggerNode: this.visitCreateTrigger.bind(this), -+ TriggerEventNode: this.visitTriggerEvent.bind(this), -+ TriggerOrderNode: this.visitTriggerOrder.bind(this), -+ DropTriggerNode: this.visitDropTrigger.bind(this), - }); - visitNode = (node) => { - this.nodeStack.push(node); -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts -index 24cad68..a01b9ed 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts -@@ -1,4 +1,4 @@ --export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode'; -+export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'AddIndexNode' | 'CreateTriggerNode' | 'TriggerEventNode' | 'TriggerOrderNode' | 'DropTriggerNode'; - export interface OperationNode { - readonly kind: OperationNodeKind; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts -index 1076866..20a5fcb 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts -@@ -1,11 +1,11 @@ --import { OperationNode } from './operation-node.js'; --export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp"]; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"]; - export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"]; - export declare const JSON_OPERATORS: readonly ["->", "->>"]; --export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; -+export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; - export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"]; - export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"]; --export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; -+export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; - export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number]; - export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number]; - export type JSONOperator = (typeof JSON_OPERATORS)[number]; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operator-node.js b/node_modules/kysely/dist/cjs/operation-node/operator-node.js -index 1b4ff0a..5407a85 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operator-node.js -+++ b/node_modules/kysely/dist/cjs/operation-node/operator-node.js -@@ -37,6 +37,8 @@ exports.COMPARISON_OPERATORS = [ - '!!', - '<->', - 'regexp', -+ 'is distinct from', -+ 'is not distinct from', - ]; - exports.ARITHMETIC_OPERATORS = [ - '+', -diff --git a/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts -index 4d8e9ce..ca76ae2 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OrNode extends OperationNode { - readonly kind: 'OrNode'; - readonly left: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts -index 5a926f7..2964b97 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OrderByItemNode extends OperationNode { - readonly kind: 'OrderByItemNode'; - readonly orderBy: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts -index ec862ab..aad64f5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; - export interface OrderByNode extends OperationNode { - readonly kind: 'OrderByNode'; - readonly items: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts -index 90fa893..9f04bf1 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts -@@ -1,8 +1,8 @@ --import { OperationNode } from './operation-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; --import { OrderByNode } from './order-by-node.js'; --import { PartitionByItemNode } from './partition-by-item-node.js'; --import { PartitionByNode } from './partition-by-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js'; -+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js'; -+import { PartitionByNode } from 'kysely/dist/cjs/operation-node/partition-by-node.js'; - export interface OverNode extends OperationNode { - readonly kind: 'OverNode'; - readonly orderBy?: OrderByNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts -index 8a84c5d..8052a4f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ParensNode extends OperationNode { - readonly kind: 'ParensNode'; - readonly node: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts -index 91b1035..d851bf5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; - export interface PartitionByItemNode extends OperationNode { - readonly kind: 'PartitionByItemNode'; - readonly partitionBy: SimpleReferenceExpressionNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts -index 92f2c3d..3b9595c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts -@@ -1,5 +1,5 @@ --import { PartitionByItemNode } from './partition-by-item-node.js'; --import { OperationNode } from './operation-node.js'; -+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface PartitionByNode extends OperationNode { - readonly kind: 'PartitionByNode'; - readonly items: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts -index 63de5ec..be729e7 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts -@@ -1,6 +1,6 @@ --import { ColumnNode } from './column-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface PrimaryKeyConstraintNode extends OperationNode { - readonly kind: 'PrimaryKeyConstraintNode'; - readonly columns: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts -index d47b86f..142ebae 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - /** - * This node is basically just a performance optimization over the normal ValueListNode. - * The queries often contain large arrays of primitive values (for example in a `where in` list) -diff --git a/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts -index bf6ef92..133557d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts -@@ -1,15 +1,15 @@ --import { InsertQueryNode } from './insert-query-node.js'; --import { SelectQueryNode } from './select-query-node.js'; --import { UpdateQueryNode } from './update-query-node.js'; --import { DeleteQueryNode } from './delete-query-node.js'; --import { WhereNode } from './where-node.js'; --import { JoinNode } from './join-node.js'; --import { SelectionNode } from './selection-node.js'; --import { ReturningNode } from './returning-node.js'; --import { OperationNode } from './operation-node.js'; --import { ExplainNode } from './explain-node.js'; --import { ExplainFormat } from '../util/explainable.js'; --import { Expression } from '../expression/expression.js'; -+import { InsertQueryNode } from 'kysely/dist/cjs/operation-node/insert-query-node.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; -+import { UpdateQueryNode } from 'kysely/dist/cjs/operation-node/update-query-node.js'; -+import { DeleteQueryNode } from 'kysely/dist/cjs/operation-node/delete-query-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; - export type QueryNode = SelectQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode; - type HasJoins = { - joins?: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts -index d0ebaa1..e8493de 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface RawNode extends OperationNode { - readonly kind: 'RawNode'; - readonly sqlFragments: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts -index 25451af..06b6906 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts -@@ -1,7 +1,7 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; --import { TableNode } from './table-node.js'; --import { SelectAllNode } from './select-all-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { SelectAllNode } from 'kysely/dist/cjs/operation-node/select-all-node.js'; - export interface ReferenceNode extends OperationNode { - readonly kind: 'ReferenceNode'; - readonly column: ColumnNode | SelectAllNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts -index bca9b92..261c6ca 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts -@@ -1,7 +1,7 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; --import { TableNode } from './table-node.js'; --import { ArrayItemType } from '../util/type-utils.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; - export declare const ON_MODIFY_FOREIGN_ACTIONS: readonly ["no action", "restrict", "cascade", "set null", "set default"]; - export type OnModifyForeignAction = ArrayItemType; - export interface ReferencesNode extends OperationNode { -diff --git a/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts -index 6aaa14a..14f4d87 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; - export interface RenameColumnNode extends OperationNode { - readonly kind: 'RenameColumnNode'; - readonly column: ColumnNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts -index 6504839..2000c94 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SelectionNode } from './selection-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; - export interface ReturningNode extends OperationNode { - readonly kind: 'ReturningNode'; - readonly selections: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts -index 0373909..18afb74 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface SchemableIdentifierNode extends OperationNode { - readonly kind: 'SchemableIdentifierNode'; - readonly schema?: IdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts -index ebdb84d..facdf67 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface SelectAllNode extends OperationNode { - readonly kind: 'SelectAllNode'; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts -index 6cafd87..2d3273f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type SelectModifier = 'ForUpdate' | 'ForNoKeyUpdate' | 'ForShare' | 'ForKeyShare' | 'NoWait' | 'SkipLocked' | 'Distinct'; - export interface SelectModifierNode extends OperationNode { - readonly kind: 'SelectModifierNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts -index 8566716..f6adbb0 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts -@@ -1,19 +1,19 @@ --import { FromNode } from './from-node.js'; --import { GroupByItemNode } from './group-by-item-node.js'; --import { GroupByNode } from './group-by-node.js'; --import { HavingNode } from './having-node.js'; --import { JoinNode } from './join-node.js'; --import { LimitNode } from './limit-node.js'; --import { OffsetNode } from './offset-node.js'; --import { OperationNode } from './operation-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; --import { OrderByNode } from './order-by-node.js'; --import { SelectionNode } from './selection-node.js'; --import { WhereNode } from './where-node.js'; --import { WithNode } from './with-node.js'; --import { SelectModifierNode } from './select-modifier-node.js'; --import { ExplainNode } from './explain-node.js'; --import { SetOperationNode } from './set-operation-node.js'; -+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js'; -+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js'; -+import { GroupByNode } from 'kysely/dist/cjs/operation-node/group-by-node.js'; -+import { HavingNode } from 'kysely/dist/cjs/operation-node/having-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { LimitNode } from 'kysely/dist/cjs/operation-node/limit-node.js'; -+import { OffsetNode } from 'kysely/dist/cjs/operation-node/offset-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { SelectModifierNode } from 'kysely/dist/cjs/operation-node/select-modifier-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { SetOperationNode } from 'kysely/dist/cjs/operation-node/set-operation-node.js'; - export interface SelectQueryNode extends OperationNode { - readonly kind: 'SelectQueryNode'; - readonly from?: FromNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts -index 65c3567..f82ed6a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts -@@ -1,8 +1,8 @@ --import { AliasNode } from './alias-node.js'; --import { OperationNode } from './operation-node.js'; --import { SelectAllNode } from './select-all-node.js'; --import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js'; --import { TableNode } from './table-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SelectAllNode } from 'kysely/dist/cjs/operation-node/select-all-node.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - type SelectionNodeChild = SimpleReferenceExpressionNode | AliasNode | SelectAllNode; - export interface SelectionNode extends OperationNode { - readonly kind: 'SelectionNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts -index 31f9efc..b924286 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type SetOperator = 'union' | 'intersect' | 'except'; - export interface SetOperationNode extends OperationNode { - kind: 'SetOperationNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts -index f89eb48..7c6ef63 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts -@@ -1,3 +1,3 @@ --import { ColumnNode } from './column-node.js'; --import { ReferenceNode } from './reference-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js'; - export type SimpleReferenceExpressionNode = ColumnNode | ReferenceNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts -index b6fba34..c6c3673 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; - export interface TableNode extends OperationNode { - readonly kind: 'TableNode'; - readonly table: SchemableIdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts -new file mode 100644 -index 0000000..fcdf121 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts -@@ -0,0 +1,15 @@ -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+export type TriggerEvent = 'delete' | 'update' | 'insert' | 'truncate'; -+export type TriggerEventNodeParams = Omit; -+export interface TriggerEventNode extends OperationNode { -+ readonly kind: 'TriggerEventNode'; -+ readonly event: TriggerEvent; -+ readonly columns?: ReadonlyArray; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerEventNode: Readonly<{ -+ is(node: OperationNode): node is TriggerEventNode; -+ create(event: TriggerEvent, columns?: ReadonlyArray): TriggerEventNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js -new file mode 100644 -index 0000000..85f3975 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js -@@ -0,0 +1,19 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.TriggerEventNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.TriggerEventNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'TriggerEventNode'; -+ }, -+ create(event, columns) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'TriggerEventNode', -+ event, -+ columns, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts -new file mode 100644 -index 0000000..5db90ed ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts -@@ -0,0 +1,16 @@ -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+export type TriggerOrder = 'follows' | 'precedes'; -+export type TriggerOrderNodeParams = Omit; -+export interface TriggerOrderNode extends OperationNode { -+ readonly kind: 'TriggerOrderNode'; -+ readonly order: TriggerOrder; -+ readonly otherTriggerName: IdentifierNode; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerOrderNode: Readonly<{ -+ is(node: OperationNode): node is TriggerOrderNode; -+ create(order: TriggerOrder, otherTriggerName: IdentifierNode): TriggerOrderNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js -new file mode 100644 -index 0000000..2b40780 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js -@@ -0,0 +1,19 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.TriggerOrderNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.TriggerOrderNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'TriggerOrderNode'; -+ }, -+ create(order, otherTriggerName) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'TriggerOrderNode', -+ order, -+ otherTriggerName, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts -index c179f1f..5111298 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts -@@ -1,15 +1,18 @@ --import { ColumnNode } from './column-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface UniqueConstraintNode extends OperationNode { - readonly kind: 'UniqueConstraintNode'; - readonly columns: ReadonlyArray; - readonly name?: IdentifierNode; -+ readonly nullsNotDistinct?: boolean; - } -+export type UniqueConstraintNodeProps = Omit, 'kind'>; - /** - * @internal - */ - export declare const UniqueConstraintNode: Readonly<{ - is(node: OperationNode): node is UniqueConstraintNode; -- create(columns: string[], constraintName?: string): UniqueConstraintNode; -+ create(columns: string[], constraintName?: string, nullsNotDistinct?: boolean): UniqueConstraintNode; -+ cloneWith(node: UniqueConstraintNode, props: UniqueConstraintNodeProps): UniqueConstraintNode; - }>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js -index d615f74..ba9b265 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js -+++ b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js -@@ -11,11 +11,18 @@ exports.UniqueConstraintNode = (0, object_utils_js_1.freeze)({ - is(node) { - return node.kind === 'UniqueConstraintNode'; - }, -- create(columns, constraintName) { -+ create(columns, constraintName, nullsNotDistinct) { - return (0, object_utils_js_1.freeze)({ - kind: 'UniqueConstraintNode', - columns: (0, object_utils_js_1.freeze)(columns.map(column_node_js_1.ColumnNode.create)), - name: constraintName ? identifier_node_js_1.IdentifierNode.create(constraintName) : undefined, -+ nullsNotDistinct, -+ }); -+ }, -+ cloneWith(node, props) { -+ return (0, object_utils_js_1.freeze)({ -+ ...node, -+ ...props, - }); - }, - }); -diff --git a/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts -index 6fcc5e7..29fb124 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts -@@ -1,13 +1,13 @@ --import { ColumnUpdateNode } from './column-update-node.js'; --import { JoinNode } from './join-node.js'; --import { OperationNode } from './operation-node.js'; --import { PrimitiveValueListNode } from './primitive-value-list-node.js'; --import { ReturningNode } from './returning-node.js'; --import { ValueListNode } from './value-list-node.js'; --import { WhereNode } from './where-node.js'; --import { WithNode } from './with-node.js'; --import { FromNode } from './from-node.js'; --import { ExplainNode } from './explain-node.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { PrimitiveValueListNode } from 'kysely/dist/cjs/operation-node/primitive-value-list-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; - export type UpdateValuesNode = ValueListNode | PrimitiveValueListNode; - export interface UpdateQueryNode extends OperationNode { - readonly kind: 'UpdateQueryNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts -index 01da795..901c8e5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface UsingNode extends OperationNode { - readonly kind: 'UsingNode'; - readonly tables: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts -index e48e781..bf4a346 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ValueListNode extends OperationNode { - readonly kind: 'ValueListNode'; - readonly values: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts -index c5fdc09..6068adc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ValueNode extends OperationNode { - readonly kind: 'ValueNode'; - readonly value: unknown; -diff --git a/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts -index 86590c6..bb8127c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { PrimitiveValueListNode } from './primitive-value-list-node.js'; --import { ValueListNode } from './value-list-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { PrimitiveValueListNode } from 'kysely/dist/cjs/operation-node/primitive-value-list-node.js'; -+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js'; - export type ValuesItemNode = ValueListNode | PrimitiveValueListNode; - export interface ValuesNode extends OperationNode { - readonly kind: 'ValuesNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts -index c6f1db8..8be8ebb 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface WhenNode extends OperationNode { - readonly kind: 'WhenNode'; - readonly condition: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts -index 44f9fbd..a3e79d1 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface WhereNode extends OperationNode { - readonly kind: 'WhereNode'; - readonly where: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts -index 78fecfd..d4fcebc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { CommonTableExpressionNode } from './common-table-expression-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js'; - export type WithNodeParams = Omit; - export interface WithNode extends OperationNode { - readonly kind: 'WithNode'; -diff --git a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts -index 442aeb2..2585655 100644 ---- a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts -@@ -1,11 +1,11 @@ --import { BinaryOperationNode } from '../operation-node/binary-operation-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ComparisonOperator, BinaryOperator, Operator } from '../operation-node/operator-node.js'; --import { ExtractTypeFromReferenceExpression, ExtractTypeFromStringReference, ReferenceExpression, StringReference } from './reference-parser.js'; --import { ValueExpression, ValueExpressionOrList } from './value-parser.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { Expression } from '../expression/expression.js'; --import { SelectType } from '../util/column-type.js'; -+import { BinaryOperationNode } from 'kysely/dist/cjs/operation-node/binary-operation-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperator, BinaryOperator, Operator } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { ExtractTypeFromReferenceExpression, ExtractTypeFromStringReference, ReferenceExpression, StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ValueExpression, ValueExpressionOrList } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectType } from 'kysely/dist/cjs/util/column-type.js'; - export type OperandValueExpression = ValueExpression>; - export type OperandValueExpressionOrList = ValueExpressionOrList | null>; - export type OperatorExpression = Operator | Expression; -diff --git a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js -index 2ebff87..b5e9a08 100644 ---- a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js -+++ b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js -@@ -41,7 +41,7 @@ exports.parseFilterObject = parseFilterObject; - function parseFilterList(list, combinator) { - const combine = combinator === 'and' ? and_node_js_1.AndNode.create : or_node_js_1.OrNode.create; - if (list.length === 0) { -- return value_node_js_1.ValueNode.createImmediate(combinator === 'and'); -+ return binary_operation_node_js_1.BinaryOperationNode.create(value_node_js_1.ValueNode.createImmediate(1), operator_node_js_1.OperatorNode.create('='), value_node_js_1.ValueNode.createImmediate(combinator === 'and' ? 1 : 0)); - } - let node = toOperationNode(list[0]); - for (let i = 1; i < list.length; ++i) { -diff --git a/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts b/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts -index ad11860..d71013b 100644 ---- a/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts -@@ -1,2 +1,2 @@ --import { ExtractTypeFromReferenceExpression, ReferenceExpression } from './reference-parser.js'; -+import { ExtractTypeFromReferenceExpression, ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type CoalesceReferenceExpressionList = RE extends [] ? O : RE extends [infer L, ...infer R] ? L extends ReferenceExpression ? null extends ExtractTypeFromReferenceExpression ? CoalesceReferenceExpressionList[] ? R : never, O | ExtractTypeFromReferenceExpression> : Exclude | ExtractTypeFromReferenceExpression : never : never; -diff --git a/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts b/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts -index 5469925..2d9e6e9 100644 ---- a/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts -@@ -1,5 +1,5 @@ --import { Expression } from '../expression/expression.js'; --import { ColumnDataType } from '../operation-node/data-type-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ColumnDataType } from 'kysely/dist/cjs/operation-node/data-type-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type DataTypeExpression = ColumnDataType | Expression; - export declare function parseDataTypeExpression(dataType: DataTypeExpression): OperationNode; -diff --git a/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts b/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts -index 332773a..dda387f 100644 ---- a/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts -@@ -1,4 +1,4 @@ --import { Expression } from '../expression/expression.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type DefaultValueExpression = unknown | Expression; - export declare function parseDefaultValueExpression(value: DefaultValueExpression): OperationNode; -diff --git a/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts b/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts -index ad657a1..dc6f087 100644 ---- a/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts -@@ -1,8 +1,8 @@ --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { AliasNode } from '../operation-node/alias-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; - /** - * Like `Expression` but also accepts a select query with an output - * type extending `Record`. This type is useful because SQL -diff --git a/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts -index 2338e36..19ffb2e 100644 ---- a/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts -@@ -1,6 +1,6 @@ --import { GroupByItemNode } from '../operation-node/group-by-item-node.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { ReferenceExpression } from './reference-parser.js'; -+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type GroupByExpression = ReferenceExpression | (keyof O & string); - export type GroupByArg = GroupByExpression | ReadonlyArray> | ((eb: ExpressionBuilder) => ReadonlyArray>); - export declare function parseGroupBy(groupBy: GroupByArg): GroupByItemNode[]; -diff --git a/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts b/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts -index 4560fab..bd1a505 100644 ---- a/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from '../operation-node/column-node.js'; --import { ValueExpression } from './value-parser.js'; --import { ValuesNode } from '../operation-node/values-node.js'; --import { NonNullableInsertKeys, NullableInsertKeys, InsertType } from '../util/column-type.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { ValuesNode } from 'kysely/dist/cjs/operation-node/values-node.js'; -+import { NonNullableInsertKeys, NullableInsertKeys, InsertType } from 'kysely/dist/cjs/util/column-type.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; - export type InsertObject = { - [C in NonNullableInsertKeys]: ValueExpression>; - } & { -diff --git a/node_modules/kysely/dist/cjs/parser/join-parser.d.ts b/node_modules/kysely/dist/cjs/parser/join-parser.d.ts -index fcf33ef..91e1f85 100644 ---- a/node_modules/kysely/dist/cjs/parser/join-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/join-parser.d.ts -@@ -1,7 +1,7 @@ --import { JoinNode, JoinType } from '../operation-node/join-node.js'; --import { AnyColumn, AnyColumnWithTable, DrainOuterGeneric } from '../util/type-utils.js'; --import { From, FromTables } from './table-parser.js'; --import { JoinBuilder } from '../query-builder/join-builder.js'; -+import { JoinNode, JoinType } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { AnyColumn, AnyColumnWithTable, DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; -+import { From, FromTables } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { JoinBuilder } from 'kysely/dist/cjs/query-builder/join-builder.js'; - export type JoinReferenceExpression = DrainOuterGeneric | AnyJoinColumnWithTable>; - export type JoinCallbackExpression = (join: JoinBuilder, FromTables>) => JoinBuilder; - type AnyJoinColumn = AnyColumn, FromTables>; -diff --git a/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts -index 40d5d0e..329449c 100644 ---- a/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts -@@ -1,7 +1,7 @@ --import { Expression } from '../expression/expression.js'; --import { OrderByItemNode } from '../operation-node/order-by-item-node.js'; --import { StringReference } from './reference-parser.js'; --import { ReferenceExpression } from './reference-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type OrderByDirection = 'asc' | 'desc'; - export declare function isOrderByDirection(thing: unknown): thing is OrderByDirection; - export type DirectedOrderByStringReference = `${StringReference | (keyof O & string)} ${OrderByDirection}`; -diff --git a/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts -index 4a08f74..15a1c3e 100644 ---- a/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts -@@ -1,6 +1,6 @@ --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { PartitionByItemNode } from '../operation-node/partition-by-item-node.js'; --import { StringReference } from './reference-parser.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js'; -+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type PartitionByExpression = StringReference | DynamicReferenceBuilder; - export type PartitionByExpressionOrList = ReadonlyArray> | PartitionByExpression; - export declare function parsePartitionBy(partitionBy: PartitionByExpressionOrList): PartitionByItemNode[]; -diff --git a/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts b/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts -index cd4d656..9c530cf 100644 ---- a/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts -@@ -1,22 +1,23 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { ColumnNode } from '../operation-node/column-node.js'; --import { ReferenceNode } from '../operation-node/reference-node.js'; --import { AnyColumn, AnyColumnWithTable, ExtractColumnType } from '../util/type-utils.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; --import { ExpressionOrFactory } from './expression-parser.js'; --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { SelectType } from '../util/column-type.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { Expression } from '../expression/expression.js'; --import { SimpleReferenceExpressionNode } from '../operation-node/simple-reference-expression-node.js'; --import { OrderByDirection } from './order-by-parser.js'; --import { JSONOperatorWith$ } from '../operation-node/operator-node.js'; --import { JSONReferenceNode } from '../operation-node/json-reference-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js'; -+import { AnyColumn, AnyColumnWithTable, ExtractColumnType } from 'kysely/dist/cjs/util/type-utils.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { SelectType } from 'kysely/dist/cjs/util/column-type.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; -+import { OrderByDirection } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { JSONOperatorWith$ } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { JSONReferenceNode } from 'kysely/dist/cjs/operation-node/json-reference-node.js'; - export type StringReference = AnyColumn | AnyColumnWithTable; - export type SimpleReferenceExpression = StringReference | DynamicReferenceBuilder; - export type ReferenceExpression = SimpleReferenceExpression | ExpressionOrFactory; - export type ReferenceExpressionOrList = ReferenceExpression | ReadonlyArray>; --export type ExtractTypeFromReferenceExpression = RE extends string ? SelectType> : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; -+export type ExtractTypeFromReferenceExpression = SelectType>; -+export type ExtractRawTypeFromReferenceExpression = RE extends string ? ExtractTypeFromStringReference : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; - export type ExtractTypeFromStringReference = RE extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : RE extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : RE extends AnyColumn ? ExtractColumnType : DV; - export type OrderedColumnName = C extends `${string} ${infer O}` ? O extends OrderByDirection ? C : never : C; - export type ExtractColumnNameFromOrderedColumnName = C extends `${infer CL} ${infer O}` ? O extends OrderByDirection ? CL : never : C; -diff --git a/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts b/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts -index 4a41b30..35ccad7 100644 ---- a/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts -@@ -1,7 +1,7 @@ --import { DeleteResult } from '../query-builder/delete-result.js'; --import { InsertResult } from '../query-builder/insert-result.js'; --import { UpdateResult } from '../query-builder/update-result.js'; --import { Selection, AllSelection, CallbackSelection } from './select-parser.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { Selection, AllSelection, CallbackSelection } from 'kysely/dist/cjs/parser/select-parser.js'; - export type ReturningRow = O extends InsertResult ? Selection : O extends DeleteResult ? Selection : O extends UpdateResult ? Selection : O & Selection; - export type ReturningCallbackRow = O extends InsertResult ? CallbackSelection : O extends DeleteResult ? CallbackSelection : O extends UpdateResult ? CallbackSelection : O & CallbackSelection; - export type ReturningAllRow = O extends InsertResult ? AllSelection : O extends DeleteResult ? AllSelection : O extends UpdateResult ? AllSelection : O & AllSelection; -diff --git a/node_modules/kysely/dist/cjs/parser/select-parser.d.ts b/node_modules/kysely/dist/cjs/parser/select-parser.d.ts -index d15c377..be1bcdb 100644 ---- a/node_modules/kysely/dist/cjs/parser/select-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/select-parser.d.ts -@@ -1,11 +1,11 @@ --import { AliasedSelectQueryBuilder } from '../query-builder/select-query-builder.js'; --import { SelectionNode } from '../operation-node/selection-node.js'; --import { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, DrainOuterGeneric, ExtractColumnType } from '../util/type-utils.js'; --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { AliasedExpressionOrFactory } from './expression-parser.js'; --import { SelectType } from '../util/column-type.js'; --import { AliasedExpression } from '../expression/expression.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; -+import { AliasedSelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; -+import { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, DrainOuterGeneric, ExtractColumnType } from 'kysely/dist/cjs/util/type-utils.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { AliasedExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { SelectType } from 'kysely/dist/cjs/util/column-type.js'; -+import { AliasedExpression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; - export type SelectExpression = AnyAliasedColumnWithTable | AnyAliasedColumn | AnyColumnWithTable | AnyColumn | DynamicReferenceBuilder | AliasedExpressionOrFactory; - export type SelectCallback = (eb: ExpressionBuilder) => ReadonlyArray>; - /** -diff --git a/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts b/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts -index 34ffc3e..df5c497 100644 ---- a/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts -@@ -1,5 +1,5 @@ --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { Expression } from '../expression/expression.js'; --import { SetOperator, SetOperationNode } from '../operation-node/set-operation-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SetOperator, SetOperationNode } from 'kysely/dist/cjs/operation-node/set-operation-node.js'; - export type SetOperandExpression = Expression | ReadonlyArray> | ((eb: ExpressionBuilder) => Expression | ReadonlyArray>); - export declare function parseSetOperations(operator: SetOperator, expression: SetOperandExpression, all: boolean): SetOperationNode[]; -diff --git a/node_modules/kysely/dist/cjs/parser/table-parser.d.ts b/node_modules/kysely/dist/cjs/parser/table-parser.d.ts -index 05b58c4..98c5817 100644 ---- a/node_modules/kysely/dist/cjs/parser/table-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/table-parser.d.ts -@@ -1,9 +1,9 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { TableNode } from '../operation-node/table-node.js'; --import { AliasedExpressionOrFactory } from './expression-parser.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { AliasedExpression } from '../expression/expression.js'; --import { DrainOuterGeneric, ShallowRecord } from '../util/type-utils.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { AliasedExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { AliasedExpression } from 'kysely/dist/cjs/expression/expression.js'; -+import { DrainOuterGeneric, ShallowRecord } from 'kysely/dist/cjs/util/type-utils.js'; - export type TableExpression = AnyAliasedTable | AnyTable | AliasedExpressionOrFactory; - export type TableExpressionOrList = TableExpression | ReadonlyArray>; - export type TableReference = AnyAliasedTable | AnyTable | AliasedExpression; -diff --git a/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts b/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts -index 032ea46..2101bdf 100644 ---- a/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts -@@ -1,6 +1,6 @@ --import { DrainOuterGeneric } from '../util/type-utils.js'; --import { ExtractTypeFromReferenceExpression } from './reference-parser.js'; --import { ExtractTypeFromValueExpression } from './value-parser.js'; -+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExtractTypeFromReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ExtractTypeFromValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; - export type RefTuple2 = DrainOuterGeneric<[ - ExtractTypeFromReferenceExpression, - ExtractTypeFromReferenceExpression -diff --git a/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts b/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts -index d4b2dd0..184e344 100644 ---- a/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts -@@ -1,10 +1,13 @@ --import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { UpdateKeys, UpdateType } from '../util/column-type.js'; --import { ValueExpression } from './value-parser.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { UpdateKeys, UpdateType } from 'kysely/dist/cjs/util/column-type.js'; -+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { ExtractRawTypeFromReferenceExpression, ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type UpdateObject = { - [C in UpdateKeys]?: ValueExpression> | undefined; - }; - export type UpdateObjectFactory = (eb: ExpressionBuilder) => UpdateObject; --export type UpdateExpression = UpdateObject | UpdateObjectFactory; --export declare function parseUpdateExpression(update: UpdateExpression): ReadonlyArray; -+export type UpdateObjectExpression = UpdateObject | UpdateObjectFactory; -+export type ExtractUpdateTypeFromReferenceExpression = UpdateType>; -+export declare function parseUpdate(...args: [UpdateObjectExpression] | [ReferenceExpression, ValueExpression]): ReadonlyArray; -+export declare function parseUpdateObjectExpression(update: UpdateObjectExpression): ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/parser/update-set-parser.js b/node_modules/kysely/dist/cjs/parser/update-set-parser.js -index bbb1618..e741a9e 100644 ---- a/node_modules/kysely/dist/cjs/parser/update-set-parser.js -+++ b/node_modules/kysely/dist/cjs/parser/update-set-parser.js -@@ -1,12 +1,22 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); --exports.parseUpdateExpression = void 0; -+exports.parseUpdateObjectExpression = exports.parseUpdate = void 0; - const column_node_js_1 = require("../operation-node/column-node.js"); - const column_update_node_js_1 = require("../operation-node/column-update-node.js"); - const expression_builder_js_1 = require("../expression/expression-builder.js"); - const object_utils_js_1 = require("../util/object-utils.js"); - const value_parser_js_1 = require("./value-parser.js"); --function parseUpdateExpression(update) { -+const reference_parser_js_1 = require("./reference-parser.js"); -+function parseUpdate(...args) { -+ if (args.length === 2) { -+ return [ -+ column_update_node_js_1.ColumnUpdateNode.create((0, reference_parser_js_1.parseReferenceExpression)(args[0]), (0, value_parser_js_1.parseValueExpression)(args[1])), -+ ]; -+ } -+ return parseUpdateObjectExpression(args[0]); -+} -+exports.parseUpdate = parseUpdate; -+function parseUpdateObjectExpression(update) { - const updateObj = (0, object_utils_js_1.isFunction)(update) ? update((0, expression_builder_js_1.expressionBuilder)()) : update; - return Object.entries(updateObj) - .filter(([_, value]) => value !== undefined) -@@ -14,4 +24,4 @@ function parseUpdateExpression(update) { - return column_update_node_js_1.ColumnUpdateNode.create(column_node_js_1.ColumnNode.create(key), (0, value_parser_js_1.parseValueExpression)(value)); - }); - } --exports.parseUpdateExpression = parseUpdateExpression; -+exports.parseUpdateObjectExpression = parseUpdateObjectExpression; -diff --git a/node_modules/kysely/dist/cjs/parser/value-parser.d.ts b/node_modules/kysely/dist/cjs/parser/value-parser.d.ts -index 353d16e..ce7dc8b 100644 ---- a/node_modules/kysely/dist/cjs/parser/value-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/value-parser.d.ts -@@ -1,8 +1,8 @@ --import { ValueNode } from '../operation-node/value-node.js'; --import { ExpressionOrFactory } from './expression-parser.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { Expression } from '../expression/expression.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; - export type ValueExpression = V | ExpressionOrFactory; - export type ValueExpressionOrList = ValueExpression | ReadonlyArray>; - export type ExtractTypeFromValueExpressionOrList = VE extends ReadonlyArray ? ExtractTypeFromValueExpression : ExtractTypeFromValueExpression; -diff --git a/node_modules/kysely/dist/cjs/parser/with-parser.d.ts b/node_modules/kysely/dist/cjs/parser/with-parser.d.ts -index 63183fc..d4092ce 100644 ---- a/node_modules/kysely/dist/cjs/parser/with-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/with-parser.d.ts -@@ -1,11 +1,11 @@ --import { UpdateQueryBuilder } from '../query-builder/update-query-builder.js'; --import { DeleteQueryBuilder } from '../query-builder/delete-query-builder.js'; --import { InsertQueryBuilder } from '../query-builder/insert-query-builder.js'; --import { QueryCreator } from '../query-creator.js'; --import { Expression } from '../expression/expression.js'; --import { ShallowRecord } from '../util/type-utils.js'; --import { CTEBuilderCallback } from '../query-builder/cte-builder.js'; --import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js'; -+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js'; -+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js'; -+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js'; -+import { QueryCreator } from 'kysely/dist/cjs/query-creator.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ShallowRecord } from 'kysely/dist/cjs/util/type-utils.js'; -+import { CTEBuilderCallback } from 'kysely/dist/cjs/query-builder/cte-builder.js'; -+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js'; - export type CommonTableExpression = (creator: QueryCreator) => CommonTableExpressionOutput; - export type RecursiveCommonTableExpression = (creator: QueryCreator]: ExtractRowFromCommonTableExpressionName; -diff --git a/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts b/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts -index 098e5c8..35ca9da 100644 ---- a/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts -+++ b/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts -@@ -1,7 +1,7 @@ --import { QueryResult } from '../driver/database-connection.js'; --import { RootOperationNode } from '../query-compiler/query-compiler.js'; --import { QueryId } from '../util/query-id.js'; --import { UnknownRow } from '../util/type-utils.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { UnknownRow } from 'kysely/dist/cjs/util/type-utils.js'; - export interface KyselyPlugin { - /** - * This is called for each query before it is executed. You can modify the query by -diff --git a/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js b/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js -index 4b3caa6..97287a4 100644 ---- a/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js -+++ b/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js -@@ -19,12 +19,14 @@ const ROOT_OPERATION_NODES = (0, object_utils_js_1.freeze)({ - CreateTableNode: true, - CreateTypeNode: true, - CreateViewNode: true, -+ CreateTriggerNode: true, - DeleteQueryNode: true, - DropIndexNode: true, - DropSchemaNode: true, - DropTableNode: true, - DropTypeNode: true, - DropViewNode: true, -+ DropTriggerNode: true, - InsertQueryNode: true, - RawNode: true, - SelectQueryNode: true, -diff --git a/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts -index 6f9b8ee..85401ee 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts -@@ -1,11 +1,11 @@ --import { AggregateFunctionNode } from '../operation-node/aggregate-function-node.js'; --import { AliasNode } from '../operation-node/alias-node.js'; --import { OverBuilder } from './over-builder.js'; --import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { SqlBool } from '../util/type-utils.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { AggregateFunctionNode } from 'kysely/dist/cjs/operation-node/aggregate-function-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OverBuilder } from 'kysely/dist/cjs/query-builder/over-builder.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; - export declare class AggregateFunctionBuilder implements AliasableExpression { - #private; - constructor(props: AggregateFunctionBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts -index bbe83c7..4bc9062 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts -@@ -1,9 +1,9 @@ --import { Expression } from '../expression/expression.js'; --import { ExpressionWrapper } from '../expression/expression-wrapper.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { CaseNode } from '../operation-node/case-node.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CaseNode } from 'kysely/dist/cjs/operation-node/case-node.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; - export declare class CaseBuilder implements Whenable { - #private; - constructor(props: CaseBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts -index 8564d5b..ef22570 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts -@@ -1,5 +1,5 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js'; - export declare class CTEBuilder implements OperationNodeSource { - #private; - constructor(props: CTEBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts -index f510d14..841ec03 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts -@@ -1,28 +1,28 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js'; --import { From, FromTables, TableExpression } from '../parser/table-parser.js'; --import { SelectExpression, SelectCallback } from '../parser/select-parser.js'; --import { ReturningAllRow, ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { WhereInterface } from './where-interface.js'; --import { ReturningInterface } from './returning-interface.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { DeleteResult } from './delete-result.js'; --import { DeleteQueryNode } from '../operation-node/delete-query-node.js'; --import { OrderByDirectionExpression, OrderByExpression } from '../parser/order-by-parser.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Streamable } from '../util/streamable.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js'; -+import { From, FromTables, TableExpression } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { ReturningAllRow, ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; -+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { DeleteQueryNode } from 'kysely/dist/cjs/operation-node/delete-query-node.js'; -+import { OrderByDirectionExpression, OrderByExpression } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; - export declare class DeleteQueryBuilder implements WhereInterface, ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: DeleteQueryBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts b/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts -index 592c5e9..5620351 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts -@@ -1,12 +1,13 @@ --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { ExpressionWrapper } from '../expression/expression-wrapper.js'; --import { Expression } from '../expression/expression.js'; --import { CoalesceReferenceExpressionList } from '../parser/coalesce-parser.js'; --import { ExtractTypeFromReferenceExpression, ReferenceExpression, StringReference, ExtractTypeFromStringReference } from '../parser/reference-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Equals, IsAny } from '../util/type-utils.js'; --import { AggregateFunctionBuilder } from './aggregate-function-builder.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { CoalesceReferenceExpressionList } from 'kysely/dist/cjs/parser/coalesce-parser.js'; -+import { ExtractTypeFromReferenceExpression, ReferenceExpression, StringReference, ExtractTypeFromStringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Equals, IsAny } from 'kysely/dist/cjs/util/type-utils.js'; -+import { AggregateFunctionBuilder } from 'kysely/dist/cjs/query-builder/aggregate-function-builder.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; - /** - * Helpers for type safe SQL function calls. - * -@@ -17,21 +18,47 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * - * - * -- * This example uses the `fn` module to select some aggregates: -+ * This example shows how to create function calls. These examples also work in any -+ * other place (`where` calls, updates, inserts etc.). The only difference is that you -+ * leave out the alias (the `as` call) if you use these in any other place than `select`. - * - * ```ts -+ * import { sql } from 'kysely' -+ * - * const result = await db.selectFrom('person') - * .innerJoin('pet', 'pet.owner_id', 'person.id') -- * .select(({ fn }) => [ -+ * .select(({ fn, val, ref }) => [ - * 'person.id', - * - * // The `fn` module contains the most common - * // functions. - * fn.count('pet.id').as('pet_count'), - * -- * // You can call any function using the -- * // `agg` method -- * fn.agg('array_agg', ['pet.name']).as('pet_names') -+ * // You can call any function by calling `fn` -+ * // directly. The arguments are treated as column -+ * // references by default. If you want to pass in -+ * // values, use the `val` function. -+ * fn('concat', [ -+ * val('Ms. '), -+ * 'first_name', -+ * val(' '), -+ * 'last_name' -+ * ]).as('full_name_with_title'), -+ * -+ * // You can call any aggregate function using the -+ * // `fn.agg` function. -+ * fn.agg('array_agg', ['pet.name']).as('pet_names'), -+ * -+ * // And once again, you can use the `sql` -+ * // template tag. The template tag substitutions -+ * // are treated as values by default. If you want -+ * // to reference columns, you can use the `ref` -+ * // function. -+ * sql`concat( -+ * ${ref('first_name')}, -+ * ' ', -+ * ${ref('last_name')} -+ * )`.as('full_name') - * ]) - * .groupBy('person.id') - * .having((eb) => eb.fn.count('pet.id'), '>', 10) -@@ -44,11 +71,13 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * select - * "person"."id", - * count("pet"."id") as "pet_count", -- * array_agg("pet"."name") as "pet_names" -+ * concat($1, "first_name", $2, "last_name") as "full_name_with_title", -+ * array_agg("pet"."name") as "pet_names", -+ * concat("first_name", ' ', "last_name") as "full_name" - * from "person" - * inner join "pet" on "pet"."owner_id" = "person"."id" - * group by "person"."id" -- * having count("pet"."id") > $1 -+ * having count("pet"."id") > $3 - * ``` - */ - export interface FunctionModule { -@@ -540,6 +569,50 @@ export interface FunctionModule { - any>(expr: RE): Exclude, null> extends ReadonlyArray ? ExpressionWrapper : KyselyTypeError<'any(expr) call failed: expr must be an array'>; - any(subquery: SelectQueryBuilderExpression>): ExpressionWrapper; - any(expr: Expression>): ExpressionWrapper; -+ /** -+ * Creates a json_agg function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.jsonAgg('pet').as('pets')]) -+ * .groupBy('person.first_name') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", json_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."first_name" -+ * ``` -+ */ -+ jsonAgg>(table: T): AggregateFunctionBuilder[] : T extends Expression ? O[] : never>; -+ /** -+ * Creates a to_json function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.toJson('pet').as('pet')]) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", to_json("pet") as "pet" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * ``` -+ */ -+ toJson>(table: T): ExpressionWrapper : T extends Expression ? O : never>; - } - export declare function createFunctionModule(): FunctionModule; - type OutputBoundStringReference, O> = IsAny extends true ? C : Equals | null, O | null> extends true ? C : never; -diff --git a/node_modules/kysely/dist/cjs/query-builder/function-module.js b/node_modules/kysely/dist/cjs/query-builder/function-module.js -index b894b62..01a2a51 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/function-module.js -+++ b/node_modules/kysely/dist/cjs/query-builder/function-module.js -@@ -7,6 +7,8 @@ const function_node_js_1 = require("../operation-node/function-node.js"); - const reference_parser_js_1 = require("../parser/reference-parser.js"); - const select_parser_js_1 = require("../parser/select-parser.js"); - const aggregate_function_builder_js_1 = require("./aggregate-function-builder.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const table_parser_js_1 = require("../parser/table-parser.js"); - function createFunctionModule() { - const fn = (name, args) => { - return new expression_wrapper_js_1.ExpressionWrapper(function_node_js_1.FunctionNode.create(name, (0, reference_parser_js_1.parseReferenceExpressionOrList)(args))); -@@ -44,6 +46,18 @@ function createFunctionModule() { - any(column) { - return fn('any', [column]); - }, -+ jsonAgg(table) { -+ return new aggregate_function_builder_js_1.AggregateFunctionBuilder({ -+ aggregateFunctionNode: aggregate_function_node_js_1.AggregateFunctionNode.create('json_agg', [ -+ (0, object_utils_js_1.isString)(table) ? (0, table_parser_js_1.parseTable)(table) : table.toOperationNode(), -+ ]), -+ }); -+ }, -+ toJson(table) { -+ return new expression_wrapper_js_1.ExpressionWrapper(function_node_js_1.FunctionNode.create('to_json', [ -+ (0, object_utils_js_1.isString)(table) ? (0, table_parser_js_1.parseTable)(table) : table.toOperationNode(), -+ ])); -+ }, - }); - } - exports.createFunctionModule = createFunctionModule; -diff --git a/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts -index b9f72e1..529d504 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts -@@ -1,7 +1,7 @@ --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SqlBool } from '../util/type-utils.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; - export interface HavingInterface { - /** - * Just like {@link WhereInterface.where | where} but adds a `having` statement -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts -index 6be4113..f4c749a 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts -@@ -1,26 +1,26 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { SelectExpression, SelectCallback } from '../parser/select-parser.js'; --import { InsertObjectOrList, InsertObjectOrListFactory } from '../parser/insert-values-parser.js'; --import { InsertQueryNode } from '../operation-node/insert-query-node.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { NarrowPartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { InsertResult } from './insert-result.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReturningInterface } from './returning-interface.js'; --import { OnConflictBuilder, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictTables, OnConflictUpdateBuilder } from './on-conflict-builder.js'; --import { Selectable } from '../util/column-type.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { Expression } from '../expression/expression.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Streamable } from '../util/streamable.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { InsertObjectOrList, InsertObjectOrListFactory } from 'kysely/dist/cjs/parser/insert-values-parser.js'; -+import { InsertQueryNode } from 'kysely/dist/cjs/operation-node/insert-query-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { NarrowPartial, SimplifyResult, SimplifySingleResult } from 'kysely/dist/cjs/util/type-utils.js'; -+import { UpdateObjectExpression } from 'kysely/dist/cjs/parser/update-set-parser.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js'; -+import { OnConflictBuilder, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictTables, OnConflictUpdateBuilder } from 'kysely/dist/cjs/query-builder/on-conflict-builder.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; - export declare class InsertQueryBuilder implements ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: InsertQueryBuilderProps); -@@ -60,13 +60,18 @@ export declare class InsertQueryBuilder implements R - * }) - * .executeTakeFirst() - * -+ * // `insertId` is only available on dialects that -+ * // automatically return the id of the inserted row -+ * // such as MySQL and SQLite. On PostgreSQL, for example, -+ * // you need to add a `returning` clause to the query to -+ * // get anything out. See the "returning data" example. - * console.log(result.insertId) - * ``` - * -- * The generated SQL (PostgreSQL): -+ * The generated SQL (MySQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3) -+ * insert into `person` (`first_name`, `last_name`, `age`) values (?, ?, ?) - * ``` - * - * -@@ -131,11 +136,14 @@ export declare class InsertQueryBuilder implements R - * ```ts - * import { sql } from 'kysely' - * -+ * const ani = "Ani" -+ * const ston = "ston" -+ * - * const result = await db - * .insertInto('person') - * .values(({ ref, selectFrom, fn }) => ({ - * first_name: 'Jennifer', -- * last_name: sql`${'Ani'} || ${'ston'}`, -+ * last_name: sql`concat(${ani}, ${ston})`, - * middle_name: ref('first_name'), - * age: selectFrom('person') - * .select(fn.avg('age') -@@ -147,8 +155,18 @@ export declare class InsertQueryBuilder implements R - * The generated SQL (PostgreSQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") -- * values ($1, $2 || $3, (select avg("age") as "avg_age" from "person")) -+ * insert into "person" ( -+ * "first_name", -+ * "last_name", -+ * "middle_name", -+ * "age" -+ * ) -+ * values ( -+ * $1, -+ * concat($2, $3), -+ * "first_name", -+ * (select avg("age") as "avg_age" from "person") -+ * ) - * ``` - * - * You can also use the callback version of subqueries or raw expressions: -@@ -208,7 +226,7 @@ export declare class InsertQueryBuilder implements R - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -218,7 +236,7 @@ export declare class InsertQueryBuilder implements R - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression: ExpressionOrFactory): InsertQueryBuilder; -@@ -414,7 +432,7 @@ export declare class InsertQueryBuilder implements R - * .onDuplicateKeyUpdate({ species: 'hamster' }) - * ``` - */ -- onDuplicateKeyUpdate(update: UpdateExpression): InsertQueryBuilder; -+ onDuplicateKeyUpdate(update: UpdateObjectExpression): InsertQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js -index ba57ff0..d89d1b8 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js -@@ -77,7 +77,7 @@ class InsertQueryBuilder { - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -87,7 +87,7 @@ class InsertQueryBuilder { - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression) { -@@ -310,7 +310,7 @@ class InsertQueryBuilder { - return new InsertQueryBuilder({ - ...this.#props, - queryNode: insert_query_node_js_1.InsertQueryNode.cloneWith(this.#props.queryNode, { -- onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.parseUpdateExpression)(update)), -+ onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.parseUpdateObjectExpression)(update)), - }), - }); - } -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts b/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts -index c16fb08..d22a9e5 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts -@@ -23,7 +23,14 @@ - */ - export declare class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - readonly insertId: bigint | undefined; - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-result.js b/node_modules/kysely/dist/cjs/query-builder/insert-result.js -index 6a3246d..b564a4a 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-result.js -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-result.js -@@ -26,7 +26,14 @@ exports.InsertResult = void 0; - */ - class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - insertId; - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts -index 475acb1..06a0488 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts -@@ -1,9 +1,9 @@ --import { JoinNode } from '../operation-node/join-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SqlBool } from '../util/type-utils.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; - export declare class JoinBuilder implements OperationNodeSource { - #private; - constructor(props: JoinBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts -index f173489..93dfff0 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts -@@ -1,7 +1,7 @@ --import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js'; --import { AliasNode } from '../operation-node/alias-node.js'; --import { JSONReferenceNode } from '../operation-node/json-reference-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { JSONReferenceNode } from 'kysely/dist/cjs/operation-node/json-reference-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export declare class JSONPathBuilder { - #private; - constructor(node: JSONReferenceNode); -diff --git a/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts b/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts -index b6423c2..2ac85ee 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts -@@ -1,4 +1,4 @@ --import { QueryNode } from '../operation-node/query-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; - export type NoResultErrorConstructor = new (node: QueryNode) => Error; - export declare class NoResultError extends Error { - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts -index 803563e..f1bfe85 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts -@@ -1,12 +1,12 @@ --import { Expression } from '../expression/expression.js'; --import { OnConflictNode } from '../operation-node/on-conflict-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; --import { AnyColumn, SqlBool } from '../util/type-utils.js'; --import { WhereInterface } from './where-interface.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { OnConflictNode } from 'kysely/dist/cjs/operation-node/on-conflict-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { UpdateObjectExpression } from 'kysely/dist/cjs/parser/update-set-parser.js'; -+import { AnyColumn, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; - export declare class OnConflictBuilder implements WhereInterface { - #private; - constructor(props: OnConflictBuilderProps); -@@ -435,7 +435,7 @@ export declare class OnConflictBuilder implements Where - * ) - * ``` - */ -- doUpdateSet(update: UpdateExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; -+ doUpdateSet(update: UpdateObjectExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; - /** - * Simply calls the provided function passing `this` as the only argument. `$call` returns - * what the provided function returns. -diff --git a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js -index cfb3a0b..b3b7e7e 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js -+++ b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js -@@ -175,7 +175,7 @@ class OnConflictBuilder { - return new OnConflictUpdateBuilder({ - ...this.#props, - onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWith(this.#props.onConflictNode, { -- updates: (0, update_set_parser_js_1.parseUpdateExpression)(update), -+ updates: (0, update_set_parser_js_1.parseUpdateObjectExpression)(update), - }), - }); - } -diff --git a/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts -index 8517b91..1564fc1 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts -@@ -1,9 +1,9 @@ --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OverNode } from '../operation-node/over-node.js'; --import { OrderByDirectionExpression } from '../parser/order-by-parser.js'; --import { PartitionByExpression } from '../parser/partition-by-parser.js'; --import { StringReference } from '../parser/reference-parser.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OverNode } from 'kysely/dist/cjs/operation-node/over-node.js'; -+import { OrderByDirectionExpression } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { PartitionByExpression } from 'kysely/dist/cjs/parser/partition-by-parser.js'; -+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; - export declare class OverBuilder implements OperationNodeSource { - #private; - constructor(props: OverBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts -index 6c10c86..fb1bd5c 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts -@@ -1,6 +1,6 @@ --import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { SelectCallback, SelectExpression } from '../parser/select-parser.js'; --import { Selectable } from '../util/column-type.js'; -+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { SelectCallback, SelectExpression } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; - export interface ReturningInterface { - /** - * Allows you to return data from modified rows. -diff --git a/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts b/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts -index 3593f25..42c4c56 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts -@@ -1,5 +1,5 @@ --import { AliasableExpression } from '../expression/expression.js'; --import { SelectQueryNode } from '../operation-node/select-query-node.js'; -+import { AliasableExpression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; - export interface SelectQueryBuilderExpression extends AliasableExpression { - get isSelectQueryBuilder(): true; - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts -index b26ebf1..8221028 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts -@@ -1,30 +1,30 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js'; --import { TableExpression } from '../parser/table-parser.js'; --import { SelectExpression, Selection, AllSelection, SelectCallback, CallbackSelection } from '../parser/select-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SelectQueryNode } from '../operation-node/select-query-node.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, Simplify, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; --import { OrderByDirectionExpression, OrderByExpression, DirectedOrderByStringReference, UndirectedOrderByExpression } from '../parser/order-by-parser.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { GroupByArg } from '../parser/group-by-parser.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { WhereInterface } from './where-interface.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { HavingInterface } from './having-interface.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { SetOperandExpression } from '../parser/set-operation-parser.js'; --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Selectable } from '../util/column-type.js'; --import { Streamable } from '../util/streamable.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ExpressionWrapper } from '../expression/expression-wrapper.js'; --import { SelectQueryBuilderExpression } from './select-query-builder-expression.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js'; -+import { TableExpression } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { SelectExpression, Selection, AllSelection, SelectCallback, CallbackSelection } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, Simplify, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { OrderByDirectionExpression, OrderByExpression, DirectedOrderByStringReference, UndirectedOrderByExpression } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { GroupByArg } from 'kysely/dist/cjs/parser/group-by-parser.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { HavingInterface } from 'kysely/dist/cjs/query-builder/having-interface.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { SetOperandExpression } from 'kysely/dist/cjs/parser/set-operation-parser.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; - export interface SelectQueryBuilder extends WhereInterface, HavingInterface, SelectQueryBuilderExpression, Compilable, Explainable, Streamable { - /** - * Adds a `where` expression to the query. -diff --git a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts -index 3d30eed..f98f0b3 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts -@@ -1,29 +1,30 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js'; --import { TableExpression, From, FromTables } from '../parser/table-parser.js'; --import { SelectExpression, SelectCallback } from '../parser/select-parser.js'; --import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; --import { UpdateQueryNode } from '../operation-node/update-query-node.js'; --import { UpdateObject, UpdateObjectFactory } from '../parser/update-set-parser.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { UpdateResult } from './update-result.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { WhereInterface } from './where-interface.js'; --import { ReturningInterface } from './returning-interface.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { Selectable } from '../util/column-type.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Streamable } from '../util/streamable.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js'; -+import { TableExpression, From, FromTables } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { UpdateQueryNode } from 'kysely/dist/cjs/operation-node/update-query-node.js'; -+import { UpdateObject, UpdateObjectFactory, ExtractUpdateTypeFromReferenceExpression } from 'kysely/dist/cjs/parser/update-set-parser.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; -+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; - export declare class UpdateQueryBuilder implements WhereInterface, ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: UpdateQueryBuilderProps); -@@ -625,6 +626,20 @@ export declare class UpdateQueryBuilder eb.val('61710)) -+ * .where('id', '=', '1') -+ * .executeTakeFirst() -+ * ``` -+ * - * On PostgreSQL you can chain `returning` to the query to get - * the updated rows' columns (or any other expression) as the - * return value: -@@ -682,6 +697,7 @@ export declare class UpdateQueryBuilder): UpdateQueryBuilder; - set(update: UpdateObjectFactory): UpdateQueryBuilder; -+ set>(key: RE, value: ValueExpression>): UpdateQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js -index 1207bfd..6d24d8f 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js -+++ b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js -@@ -65,10 +65,10 @@ class UpdateQueryBuilder { - queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('FullJoin', args)), - }); - } -- set(update) { -+ set(...args) { - return new UpdateQueryBuilder({ - ...this.#props, -- queryNode: update_query_node_js_1.UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, (0, update_set_parser_js_1.parseUpdateExpression)(update)), -+ queryNode: update_query_node_js_1.UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, (0, update_set_parser_js_1.parseUpdate)(...args)), - }); - } - returning(selection) { -diff --git a/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts -index 9de8d7e..2225ee1 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts -@@ -1,7 +1,7 @@ --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SqlBool } from '../util/type-utils.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; - export interface WhereInterface { - /** - * Adds a `where` expression to the query. -diff --git a/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts b/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts -index 9635b1f..5c4caec 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts -+++ b/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts -@@ -1,4 +1,4 @@ --import { RootOperationNode } from './query-compiler.js'; -+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; - export interface CompiledQuery { - readonly query: RootOperationNode; - readonly sql: string; -diff --git a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts -index dbd954a..2f73125 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts -+++ b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts -@@ -48,7 +48,7 @@ import { RootOperationNode, QueryCompiler } from './query-compiler.js'; - import { HavingNode } from '../operation-node/having-node.js'; - import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; - import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { AlterTableColumnAlterationNode, AlterTableNode } from '../operation-node/alter-table-node.js'; - import { DropColumnNode } from '../operation-node/drop-column-node.js'; - import { RenameColumnNode } from '../operation-node/rename-column-node.js'; - import { AlterColumnNode } from '../operation-node/alter-column-node.js'; -@@ -88,6 +88,11 @@ import { JSONPathNode } from '../operation-node/json-path-node.js'; - import { JSONPathLegNode } from '../operation-node/json-path-leg-node.js'; - import { JSONOperatorChainNode } from '../operation-node/json-operator-chain-node.js'; - import { TupleNode } from '../operation-node/tuple-node.js'; -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+import { TriggerEventNode } from '../operation-node/trigger-event-node.js'; -+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js'; - export declare class DefaultQueryCompiler extends OperationNodeVisitor implements QueryCompiler { - #private; - protected get numParameters(): number; -@@ -124,6 +129,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitTable(node: TableNode): void; - protected visitSchemableIdentifier(node: SchemableIdentifierNode): void; - protected visitCreateTable(node: CreateTableNode): void; -+ protected visitCreateTrigger(node: CreateTriggerNode): void; -+ protected visitTriggerEvent(node: TriggerEventNode): void; -+ protected visitTriggerOrder(node: TriggerOrderNode): void; -+ protected visitDropTrigger(node: DropTriggerNode): void; - protected visitColumnDefinition(node: ColumnDefinitionNode): void; - protected getAutoIncrement(): string; - protected visitReferences(node: ReferencesNode): void; -@@ -184,6 +193,7 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitJSONPath(node: JSONPathNode): void; - protected visitJSONPathLeg(node: JSONPathLegNode): void; - protected visitJSONOperatorChain(node: JSONOperatorChainNode): void; -+ protected visitAddIndex(node: AddIndexNode): void; - protected append(str: string): void; - protected appendValue(parameter: unknown): void; - protected getLeftIdentifierWrapper(): string; -@@ -197,4 +207,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected addParameter(parameter: unknown): void; - protected appendImmediateValue(value: unknown): void; - protected sortSelectModifiers(arr: SelectModifierNode[]): ReadonlyArray; -+ protected compileColumnAlterations(columnAlterations: readonly AlterTableColumnAlterationNode[]): void; -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ protected announcesNewColumnDataType(): boolean; - } -diff --git a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js -index faf80c6..e1c4561 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js -+++ b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js -@@ -1,6 +1,7 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DefaultQueryCompiler = void 0; -+const create_table_node_js_1 = require("../operation-node/create-table-node.js"); - const insert_query_node_js_1 = require("../operation-node/insert-query-node.js"); - const operation_node_visitor_js_1 = require("../operation-node/operation-node-visitor.js"); - const operator_node_js_1 = require("../operation-node/operator-node.js"); -@@ -32,6 +33,7 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - const wrapInParens = this.parentNode !== undefined && - !parens_node_js_1.ParensNode.is(this.parentNode) && - !insert_query_node_js_1.InsertQueryNode.is(this.parentNode) && -+ !create_table_node_js_1.CreateTableNode.is(this.parentNode) && - !create_view_node_js_1.CreateViewNode.is(this.parentNode) && - !set_operation_node_js_1.SetOperationNode.is(this.parentNode); - if (this.parentNode === undefined && node.explain) { -@@ -348,17 +350,83 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.append('if not exists '); - } - this.visitNode(node.table); -- this.append(' ('); -- this.compileList([...node.columns, ...(node.constraints ?? [])]); -- this.append(')'); -- if (node.onCommit) { -- this.append(' on commit '); -- this.append(node.onCommit); -+ if (node.selectQuery) { -+ this.append(' as '); -+ this.visitNode(node.selectQuery); - } -- if (node.endModifiers && node.endModifiers.length > 0) { -- this.append(' '); -- this.compileList(node.endModifiers, ' '); -+ else { -+ this.append(' ('); -+ this.compileList([...node.columns, ...(node.constraints ?? [])]); -+ this.append(')'); -+ if (node.onCommit) { -+ this.append(' on commit '); -+ this.append(node.onCommit); -+ } -+ if (node.endModifiers && node.endModifiers.length > 0) { -+ this.append(' '); -+ this.compileList(node.endModifiers, ' '); -+ } -+ } -+ } -+ visitCreateTrigger(node) { -+ if (!node.time) -+ throw new Error('Trigger time is required.'); -+ if (!node.events) -+ throw new Error('Trigger event is required.'); -+ if (!node.table) -+ throw new Error('Trigger table is required.'); -+ this.append('create '); -+ if (node.temporary) { -+ this.append('temporary '); - } -+ if (node.orReplace) { -+ this.append('or replace '); -+ } -+ this.append('trigger '); -+ if (node.ifNotExists) { -+ this.append('if not exists '); -+ } -+ this.visitNode(node.name); -+ this.append(` ${node.time} `); -+ this.compileList(node.events, ' or '); -+ this.append(' on '); -+ this.visitNode(node.table); -+ if (node.forEach) -+ this.append(` for each ${node.forEach} `); -+ if (node.when) { -+ this.append(' when '); -+ this.visitNode(node.when); -+ } -+ if (node.order) -+ this.visitNode(node.order); -+ if (node.queries) { -+ this.append(' begin '); -+ this.compileList(node.queries, '; '); -+ this.append('; '); -+ this.append('end'); -+ } -+ else if (node.function) { -+ this.append(' execute function '); -+ this.visitNode(node.function); -+ } -+ } -+ visitTriggerEvent(node) { -+ this.append(`${node.event} `); -+ if (node.event === 'update' && node.columns) { -+ this.append('of '); -+ this.compileList(node.columns, ', '); -+ } -+ } -+ visitTriggerOrder(node) { -+ this.append(`${node.order} `); -+ this.visitNode(node.otherTriggerName); -+ } -+ visitDropTrigger(node) { -+ this.append('drop trigger '); -+ if (node.ifExists) { -+ this.append('if exists '); -+ } -+ this.visitNode(node.name); - } - visitColumnDefinition(node) { - this.visitNode(node.column); -@@ -385,6 +453,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - if (node.unique) { - this.append(' unique'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.primaryKey) { - this.append(' primary key'); - } -@@ -565,6 +636,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.compileList(node.columns); - this.append(')'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.where) { - this.append(' '); - this.visitNode(node.where); -@@ -617,7 +691,11 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.name); - this.append(' '); - } -- this.append('unique ('); -+ this.append('unique'); -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } -+ this.append(' ('); - this.compileList(node.columns); - this.append(')'); - } -@@ -698,7 +776,13 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.dropConstraint); - } - if (node.columnAlterations) { -- this.compileList(node.columnAlterations); -+ this.compileColumnAlterations(node.columnAlterations); -+ } -+ if (node.addIndex) { -+ this.visitNode(node.addIndex); -+ } -+ if (node.dropIndex) { -+ this.visitNode(node.dropIndex); - } - } - visitAddColumn(node) { -@@ -720,7 +804,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.column); - this.append(' '); - if (node.dataType) { -- this.append('type '); -+ if (this.announcesNewColumnDataType()) { -+ this.append('type '); -+ } - this.visitNode(node.dataType); - if (node.dataTypeExpression) { - this.append('using '); -@@ -1006,6 +1092,23 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.values[i]); - } - } -+ visitAddIndex(node) { -+ this.append('add '); -+ if (node.unique) { -+ this.append('unique '); -+ } -+ this.append('index '); -+ this.visitNode(node.name); -+ if (node.columns) { -+ this.append(' ('); -+ this.compileList(node.columns); -+ this.append(')'); -+ } -+ if (node.using) { -+ this.append(' using '); -+ this.visitNode(node.using); -+ } -+ } - append(str) { - this.#sql += str; - } -@@ -1079,6 +1182,16 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - : 1); - return (0, object_utils_js_1.freeze)(arr); - } -+ compileColumnAlterations(columnAlterations) { -+ this.compileList(columnAlterations); -+ } -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ announcesNewColumnDataType() { -+ return true; -+ } - } - exports.DefaultQueryCompiler = DefaultQueryCompiler; - const SELECT_MODIFIER_SQL = (0, object_utils_js_1.freeze)({ -diff --git a/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts b/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts -index e3a8555..96702eb 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts -+++ b/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts -@@ -1,18 +1,20 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { CreateIndexNode } from '../operation-node/create-index-node.js'; --import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; --import { CreateTableNode } from '../operation-node/create-table-node.js'; --import { CreateTypeNode } from '../operation-node/create-type-node.js'; --import { CreateViewNode } from '../operation-node/create-view-node.js'; --import { DropIndexNode } from '../operation-node/drop-index-node.js'; --import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { DropTableNode } from '../operation-node/drop-table-node.js'; --import { DropTypeNode } from '../operation-node/drop-type-node.js'; --import { DropViewNode } from '../operation-node/drop-view-node.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { RawNode } from '../operation-node/raw-node.js'; --import { CompiledQuery } from './compiled-query.js'; --export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { CreateIndexNode } from 'kysely/dist/cjs/operation-node/create-index-node.js'; -+import { CreateSchemaNode } from 'kysely/dist/cjs/operation-node/create-schema-node.js'; -+import { CreateTableNode } from 'kysely/dist/cjs/operation-node/create-table-node.js'; -+import { CreateTriggerNode } from 'kysely/dist/cjs/operation-node/create-trigger-node.js'; -+import { CreateTypeNode } from 'kysely/dist/cjs/operation-node/create-type-node.js'; -+import { CreateViewNode } from 'kysely/dist/cjs/operation-node/create-view-node.js'; -+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js'; -+import { DropSchemaNode } from 'kysely/dist/cjs/operation-node/drop-schema-node.js'; -+import { DropTableNode } from 'kysely/dist/cjs/operation-node/drop-table-node.js'; -+import { DropTriggerNode } from 'kysely/dist/cjs/operation-node/drop-trigger-node.js'; -+import { DropTypeNode } from 'kysely/dist/cjs/operation-node/drop-type-node.js'; -+import { DropViewNode } from 'kysely/dist/cjs/operation-node/drop-view-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode | CreateTriggerNode | DropTriggerNode; - /** - * a `QueryCompiler` compiles a query expressed as a tree of `OperationNodes` into SQL. - */ -diff --git a/node_modules/kysely/dist/cjs/query-creator.d.ts b/node_modules/kysely/dist/cjs/query-creator.d.ts -index 8399ab7..b8262e4 100644 ---- a/node_modules/kysely/dist/cjs/query-creator.d.ts -+++ b/node_modules/kysely/dist/cjs/query-creator.d.ts -@@ -1,17 +1,17 @@ --import { SelectQueryBuilder } from './query-builder/select-query-builder.js'; --import { InsertQueryBuilder } from './query-builder/insert-query-builder.js'; --import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js'; --import { UpdateQueryBuilder } from './query-builder/update-query-builder.js'; --import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from './parser/table-parser.js'; --import { QueryExecutor } from './query-executor/query-executor.js'; --import { CommonTableExpression, QueryCreatorWithCommonTableExpression, RecursiveCommonTableExpression } from './parser/with-parser.js'; --import { WithNode } from './operation-node/with-node.js'; --import { InsertResult } from './query-builder/insert-result.js'; --import { DeleteResult } from './query-builder/delete-result.js'; --import { UpdateResult } from './query-builder/update-result.js'; --import { KyselyPlugin } from './plugin/kysely-plugin.js'; --import { CTEBuilderCallback } from './query-builder/cte-builder.js'; --import { CallbackSelection, SelectCallback, SelectExpression, Selection } from './parser/select-parser.js'; -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js'; -+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { CommonTableExpression, QueryCreatorWithCommonTableExpression, RecursiveCommonTableExpression } from 'kysely/dist/cjs/parser/with-parser.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { CTEBuilderCallback } from 'kysely/dist/cjs/query-builder/cte-builder.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js'; - export declare class QueryCreator { - #private; - constructor(props: QueryCreatorProps); -diff --git a/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts b/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts -index 9b5ec45..767ca78 100644 ---- a/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts -+++ b/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts -@@ -1,4 +1,4 @@ --import { QueryExecutor } from './query-executor.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; - /** - * @internal - * @private -diff --git a/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts b/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts -index 6c57fca..c17e603 100644 ---- a/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts -+++ b/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts -@@ -1,10 +1,10 @@ --import { ConnectionProvider } from '../driver/connection-provider.js'; --import { QueryResult } from '../driver/database-connection.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { RootOperationNode } from '../query-compiler/query-compiler.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { QueryId } from '../util/query-id.js'; --import { DialectAdapter } from '../dialect/dialect-adapter.js'; -+import { ConnectionProvider } from 'kysely/dist/cjs/driver/connection-provider.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { DialectAdapter } from 'kysely/dist/cjs/dialect/dialect-adapter.js'; - /** - * This interface abstracts away the details of how to compile a query into SQL - * and execute it. Instead of passing around all those details, {@link SelectQueryBuilder} -diff --git a/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts b/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts -index 9016b18..c9e130b 100644 ---- a/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts -@@ -1,10 +1,10 @@ --import { QueryResult } from '../driver/database-connection.js'; --import { RawNode } from '../operation-node/raw-node.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { QueryExecutorProvider } from '../query-executor/query-executor-provider.js'; --import { QueryId } from '../util/query-id.js'; --import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { QueryExecutorProvider } from 'kysely/dist/cjs/query-executor/query-executor-provider.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; - /** - * An instance of this class can be used to create raw SQL snippets or queries. - * -diff --git a/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts -index 01a5163..f53cd32 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts -@@ -1,7 +1,7 @@ --import { AlterColumnNode } from '../operation-node/alter-column-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { DataTypeExpression } from '../parser/data-type-parser.js'; --import { DefaultValueExpression } from '../parser/default-value-parser.js'; -+import { AlterColumnNode } from 'kysely/dist/cjs/operation-node/alter-column-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js'; -+import { DefaultValueExpression } from 'kysely/dist/cjs/parser/default-value-parser.js'; - export declare class AlterColumnBuilder { - #private; - constructor(column: string); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts -index 62afe0f..12e0dcf 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts -@@ -1,11 +1,11 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OnModifyForeignAction } from '../operation-node/references-node.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryId } from '../util/query-id.js'; --import { ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderInterface } from './foreign-key-constraint-builder.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderInterface } from 'kysely/dist/cjs/schema/foreign-key-constraint-builder.js'; - export declare class AlterTableAddForeignKeyConstraintBuilder implements ForeignKeyConstraintBuilderInterface, OperationNodeSource, Compilable { - #private; - constructor(props: AlterTableAddForeignKeyConstraintBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts -new file mode 100644 -index 0000000..7b94e46 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts -@@ -0,0 +1,104 @@ -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { IndexType } from 'kysely/dist/cjs/operation-node/create-index-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OrderedColumnName } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+export declare class AlterTableAddIndexBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: AlterTableAddIndexBuilderProps); -+ /** -+ * Makes the index unique. -+ */ -+ unique(): AlterTableAddIndexBuilder; -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column: OrderedColumnName): AlterTableAddIndexBuilder; -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns: OrderedColumnName[]): AlterTableAddIndexBuilder; -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression: Expression): AlterTableAddIndexBuilder; -+ /** -+ * Specifies the index type. -+ */ -+ using(indexType: IndexType): AlterTableAddIndexBuilder; -+ using(indexType: string): AlterTableAddIndexBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): AlterTableNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface AlterTableAddIndexBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: AlterTableNode; -+} -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js -new file mode 100644 -index 0000000..005284b ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js -@@ -0,0 +1,146 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.AlterTableAddIndexBuilder = void 0; -+const add_index_node_js_1 = require("../operation-node/add-index-node.js"); -+const alter_table_node_js_1 = require("../operation-node/alter-table-node.js"); -+const raw_node_js_1 = require("../operation-node/raw-node.js"); -+const reference_parser_js_1 = require("../parser/reference-parser.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+class AlterTableAddIndexBuilder { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ /** -+ * Makes the index unique. -+ */ -+ unique() { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ unique: true, -+ }), -+ }), -+ }); -+ } -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [(0, reference_parser_js_1.parseOrderedColumnName)(column)]), -+ }), -+ }); -+ } -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, columns.map(reference_parser_js_1.parseOrderedColumnName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [expression.toOperationNode()]), -+ }), -+ }); -+ } -+ using(indexType) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ using: raw_node_js_1.RawNode.createWithSql(indexType), -+ }), -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+exports.AlterTableAddIndexBuilder = AlterTableAddIndexBuilder; -+(0, prevent_await_js_1.preventAwait)(AlterTableAddIndexBuilder, "don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts -index b0726ca..07e7284 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts -@@ -1,16 +1,18 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { ColumnDefinitionBuilderCallback } from './column-definition-builder.js'; --import { QueryId } from '../util/query-id.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { DataTypeExpression } from '../parser/data-type-parser.js'; --import { Expression } from '../expression/expression.js'; --import { AlterColumnBuilderCallback } from './alter-column-builder.js'; --import { AlterTableExecutor } from './alter-table-executor.js'; --import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js'; --import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { ColumnDefinitionBuilderCallback } from 'kysely/dist/cjs/schema/column-definition-builder.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AlterColumnBuilderCallback } from 'kysely/dist/cjs/schema/alter-column-builder.js'; -+import { AlterTableExecutor } from 'kysely/dist/cjs/schema/alter-table-executor.js'; -+import { AlterTableAddForeignKeyConstraintBuilder } from 'kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js'; -+import { AlterTableDropConstraintBuilder } from 'kysely/dist/cjs/schema/alter-table-drop-constraint-builder.js'; -+import { AlterTableAddIndexBuilder } from 'kysely/dist/cjs/schema/alter-table-add-index-builder.js'; -+import { UniqueConstraintNodeBuilderCallback } from 'kysely/dist/cjs/schema/unique-constraint-builder.js'; - /** - * This builder can be used to create a `alter table` query. - */ -@@ -35,7 +37,7 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName: string, columns: string[]): AlterTableExecutor; -+ addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor; - /** - * See {@link CreateTableBuilder.addCheckConstraint} - */ -@@ -53,6 +55,44 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - */ - addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor; - dropConstraint(constraintName: string): AlterTableDropConstraintBuilder; -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName: string): AlterTableAddIndexBuilder; -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName: string): AlterTableExecutor; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-builder.js b/node_modules/kysely/dist/cjs/schema/alter-table-builder.js -index a3fb975..0c586d8 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-builder.js -@@ -25,6 +25,10 @@ const alter_table_executor_js_1 = require("./alter-table-executor.js"); - const alter_table_add_foreign_key_constraint_builder_js_1 = require("./alter-table-add-foreign-key-constraint-builder.js"); - const alter_table_drop_constraint_builder_js_1 = require("./alter-table-drop-constraint-builder.js"); - const primary_constraint_node_js_1 = require("../operation-node/primary-constraint-node.js"); -+const drop_index_node_js_1 = require("../operation-node/drop-index-node.js"); -+const add_index_node_js_1 = require("../operation-node/add-index-node.js"); -+const alter_table_add_index_builder_js_1 = require("./alter-table-add-index-builder.js"); -+const unique_constraint_builder_js_1 = require("./unique-constraint-builder.js"); - /** - * This builder can be used to create a `alter table` query. - */ -@@ -85,11 +89,12 @@ class AlterTableBuilder { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = object_utils_js_1.noop) { -+ const uniqueConstraintBuilder = build(new unique_constraint_builder_js_1.UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName))); - return new alter_table_executor_js_1.AlterTableExecutor({ - ...this.#props, - node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -- addConstraint: add_constraint_node_js_1.AddConstraintNode.create(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)), -+ addConstraint: add_constraint_node_js_1.AddConstraintNode.create(uniqueConstraintBuilder.toOperationNode()), - }), - }); - } -@@ -136,6 +141,58 @@ class AlterTableBuilder { - }), - }); - } -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName) { -+ return new alter_table_add_index_builder_js_1.AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.create(indexName), -+ }), -+ }); -+ } -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName) { -+ return new alter_table_executor_js_1.AlterTableExecutor({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ dropIndex: drop_index_node_js_1.DropIndexNode.create(indexName), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts -index 02cad63..6b40efd 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts -@@ -1,9 +1,9 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryId } from '../util/query-id.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class AlterTableDropConstraintBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: AlterTableDropConstraintBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts -index ca2aef1..6b8d89f 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts -@@ -1,9 +1,9 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryId } from '../util/query-id.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class AlterTableExecutor implements OperationNodeSource, Compilable { - #private; - constructor(props: AlterTableExecutorProps); -diff --git a/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts b/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts -index 2a99c4c..9633440 100644 ---- a/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts -@@ -1,8 +1,8 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OnModifyForeignAction } from '../operation-node/references-node.js'; --import { ColumnDefinitionNode } from '../operation-node/column-definition-node.js'; --import { DefaultValueExpression } from '../parser/default-value-parser.js'; --import { Expression } from '../expression/expression.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { DefaultValueExpression } from 'kysely/dist/cjs/parser/default-value-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; - export declare class ColumnDefinitionBuilder implements OperationNodeSource { - #private; - constructor(node: ColumnDefinitionNode); -@@ -183,6 +183,31 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource { - * ``` - */ - modifyFront(modifier: Expression): ColumnDefinitionBuilder; -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct(): ColumnDefinitionBuilder; - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/cjs/schema/column-definition-builder.js b/node_modules/kysely/dist/cjs/schema/column-definition-builder.js -index aebbf98..eef0fcc 100644 ---- a/node_modules/kysely/dist/cjs/schema/column-definition-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/column-definition-builder.js -@@ -258,6 +258,33 @@ class ColumnDefinitionBuilder { - modifyFront(modifier) { - return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWithFrontModifier(this.#node, modifier.toOperationNode())); - } -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts -index 27502c4..38bb2cb 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts -@@ -1,14 +1,14 @@ --import { CreateIndexNode, IndexType } from '../operation-node/create-index-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ExtractColumnNameFromOrderedColumnName, OrderedColumnName } from '../parser/reference-parser.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression } from '../parser/binary-operation-parser.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { ShallowRecord, SqlBool } from '../util/type-utils.js'; -+import { CreateIndexNode, IndexType } from 'kysely/dist/cjs/operation-node/create-index-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ExtractColumnNameFromOrderedColumnName, OrderedColumnName } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { ShallowRecord, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; - export declare class CreateIndexBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateIndexBuilderProps); -@@ -22,6 +22,29 @@ export declare class CreateIndexBuilder implements OperationNodeSourc - * Makes the index unique. - */ - unique(): CreateIndexBuilder; -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct(): CreateIndexBuilder; - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/cjs/schema/create-index-builder.js b/node_modules/kysely/dist/cjs/schema/create-index-builder.js -index 4de7de6..e0e00a0 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-index-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/create-index-builder.js -@@ -39,6 +39,36 @@ class CreateIndexBuilder { - }), - }); - } -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new CreateIndexBuilder({ -+ ...this.#props, -+ node: create_index_node_js_1.CreateIndexNode.cloneWith(this.#props.node, { -+ nullsNotDistinct: true, -+ }), -+ }); -+ } - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts -index 34974f5..fb0068d 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts -@@ -1,9 +1,9 @@ --import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { CreateSchemaNode } from 'kysely/dist/cjs/operation-node/create-schema-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class CreateSchemaBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateSchemaBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts -index e160575..e5e27e4 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts -@@ -1,13 +1,14 @@ --import { CreateTableNode, OnCommitAction } from '../operation-node/create-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { ColumnDefinitionBuilder } from './column-definition-builder.js'; --import { QueryId } from '../util/query-id.js'; --import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js'; --import { DataTypeExpression } from '../parser/data-type-parser.js'; --import { Expression } from '../expression/expression.js'; -+import { CreateTableNode, OnCommitAction } from 'kysely/dist/cjs/operation-node/create-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { ColumnDefinitionBuilder } from 'kysely/dist/cjs/schema/column-definition-builder.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { ForeignKeyConstraintBuilder } from 'kysely/dist/cjs/schema/foreign-key-constraint-builder.js'; -+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { UniqueConstraintNodeBuilderCallback } from 'kysely/dist/cjs/schema/unique-constraint-builder.js'; - /** - * This builder can be used to create a `create table` query. - */ -@@ -56,7 +57,7 @@ export declare class CreateTableBuilder builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName: string, columns: C[]): CreateTableBuilder; -+ addUniqueConstraint(constraintName: string, columns: C[], build?: UniqueConstraintNodeBuilderCallback): CreateTableBuilder; - /** - * Adds a check constraint. - * -@@ -205,6 +211,26 @@ export declare class CreateTableBuilder): CreateTableBuilder; -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression: Expression): CreateTableBuilder; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/create-table-builder.js b/node_modules/kysely/dist/cjs/schema/create-table-builder.js -index 5053177..73590bf 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-table-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/create-table-builder.js -@@ -15,6 +15,8 @@ const unique_constraint_node_js_1 = require("../operation-node/unique-constraint - const check_constraint_node_js_1 = require("../operation-node/check-constraint-node.js"); - const table_parser_js_1 = require("../parser/table-parser.js"); - const on_commit_action_parse_js_1 = require("../parser/on-commit-action-parse.js"); -+const unique_constraint_builder_js_1 = require("./unique-constraint-builder.js"); -+const expression_parser_js_1 = require("../parser/expression-parser.js"); - /** - * This builder can be used to create a `create table` query. - */ -@@ -86,7 +88,7 @@ class CreateTableBuilder { - * ``` - * - * With this method, it's once again good to remember that Kysely just builds the -- * query and doesn't provide the same API for all databses. For example, some -+ * query and doesn't provide the same API for all databases. For example, some - * databases like older MySQL don't support the `references` statement in the - * column definition. Instead foreign key constraints need to be defined in the - * `create table` query. See the next example: -@@ -145,11 +147,17 @@ class CreateTableBuilder { - * ```ts - * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name']) - * ``` -+ * -+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows: -+ * ```ts -+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = object_utils_js_1.noop) { -+ const uniqueConstraintBuilder = build(new unique_constraint_builder_js_1.UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName))); - return new CreateTableBuilder({ - ...this.#props, -- node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)), -+ node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, uniqueConstraintBuilder.toOperationNode()), - }); - } - /** -@@ -272,6 +280,33 @@ class CreateTableBuilder { - node: create_table_node_js_1.CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()), - }); - } -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression) { -+ return new CreateTableBuilder({ -+ ...this.#props, -+ node: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.node, { -+ selectQuery: (0, expression_parser_js_1.parseExpression)(expression), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts -new file mode 100644 -index 0000000..6106ec7 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts -@@ -0,0 +1,68 @@ -+import { CreateTriggerNode } from 'kysely/dist/cjs/operation-node/create-trigger-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { AnyColumn, AnyColumnWithTable, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { TriggerEvent } from 'kysely/dist/cjs/operation-node/trigger-event-node.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { TriggerQueryCreator } from 'kysely/dist/cjs/trigger-query-creator.js'; -+export type DatabaseWithOldNewTables = DB & { -+ old: DB[TB]; -+ new: DB[TB]; -+}; -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+export declare class CreateTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: CreateTriggerBuilderProps); -+ before(): CreateTriggerBuilder; -+ after(): CreateTriggerBuilder; -+ insteadOf(): CreateTriggerBuilder; -+ addEvent(event: E, columns?: E extends 'update' ? AnyColumn[] : never[]): CreateTriggerBuilder; -+ forEachRow(): CreateTriggerBuilder; -+ forEachStatement(): CreateTriggerBuilder; -+ follows(otherTriggerName: string): CreateTriggerBuilder; -+ precedes(otherTriggerName: string): CreateTriggerBuilder; -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table: TE, schema?: string): CreateTriggerBuilder; -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary(): CreateTriggerBuilder; -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists(): CreateTriggerBuilder; -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace(): CreateTriggerBuilder; -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build: QueryCreatorCallback): CreateTriggerBuilder; -+ function(name: string, args: ReadonlyArray>): CreateTriggerBuilder; -+ when, 'old' | 'new'>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList): CreateTriggerBuilder; -+ when(factory: ExpressionOrFactory, 'old' | 'new', SqlBool>): CreateTriggerBuilder; -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): CreateTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface CreateTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: CreateTriggerNode; -+} -+export type QueryCreatorCallback = (creator: TriggerQueryCreator) => OperationNodeSource; -diff --git a/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js -new file mode 100644 -index 0000000..ebc814c ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js -@@ -0,0 +1,180 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.CreateTriggerBuilder = void 0; -+const create_trigger_node_js_1 = require("../operation-node/create-trigger-node.js"); -+const query_node_js_1 = require("../operation-node/query-node.js"); -+const binary_operation_parser_js_1 = require("../parser/binary-operation-parser.js"); -+const reference_parser_js_1 = require("../parser/reference-parser.js"); -+const immediate_value_transformer_js_1 = require("../plugin/immediate-value/immediate-value-transformer.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+const identifier_node_js_1 = require("../operation-node/identifier-node.js"); -+const trigger_order_node_js_1 = require("../operation-node/trigger-order-node.js"); -+const trigger_event_node_js_1 = require("../operation-node/trigger-event-node.js"); -+const function_node_js_1 = require("../operation-node/function-node.js"); -+const trigger_query_creator_js_1 = require("../trigger-query-creator.js"); -+const table_node_js_1 = require("../operation-node/table-node.js"); -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+class CreateTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ before() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'before', -+ }), -+ }); -+ } -+ after() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'after', -+ }), -+ }); -+ } -+ insteadOf() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'instead of', -+ }), -+ }); -+ } -+ addEvent(event, columns) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWithEvent(this.#props.node, trigger_event_node_js_1.TriggerEventNode.create(event, columns?.map(reference_parser_js_1.parseOrderedColumnName))), -+ }); -+ } -+ forEachRow() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `row`, -+ }), -+ }); -+ } -+ forEachStatement() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `statement`, -+ }), -+ }); -+ } -+ follows(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ order: trigger_order_node_js_1.TriggerOrderNode.create('follows', identifier_node_js_1.IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ precedes(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ order: trigger_order_node_js_1.TriggerOrderNode.create('precedes', identifier_node_js_1.IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table, schema) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ table: schema -+ ? table_node_js_1.TableNode.createWithSchema(schema, table) -+ : table_node_js_1.TableNode.create(table), -+ }), -+ }); -+ } -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ temporary: true, -+ }), -+ }); -+ } -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ ifNotExists: true, -+ }), -+ }); -+ } -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ orReplace: true, -+ }), -+ }); -+ } -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build) { -+ const node = build(new trigger_query_creator_js_1.TriggerQueryCreator({ executor: this.#props.executor })).toOperationNode(); -+ if (!query_node_js_1.QueryNode.is(node)) -+ throw new Error('Must be a query node.'); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWithQuery(this.#props.node, node), -+ }); -+ } -+ function(name, args) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ function: function_node_js_1.FunctionNode.create(name, (0, reference_parser_js_1.parseReferenceExpressionOrList)(args)), -+ }), -+ }); -+ } -+ when(...args) { -+ const transformer = new immediate_value_transformer_js_1.ImmediateValueTransformer(); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ when: transformer.transformNode((0, binary_operation_parser_js_1.parseValueBinaryOperationOrExpression)(args)), -+ }), -+ }); -+ } -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+exports.CreateTriggerBuilder = CreateTriggerBuilder; -+(0, prevent_await_js_1.preventAwait)(CreateTriggerBuilder, "don't await CreateTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts -index 8cc367c..3845c7b 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts -@@ -1,9 +1,9 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { CreateTypeNode } from '../operation-node/create-type-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { CreateTypeNode } from 'kysely/dist/cjs/operation-node/create-type-node.js'; - export declare class CreateTypeBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateTypeBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts -index 6786e99..de6f5cb 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts -@@ -1,11 +1,11 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { CreateViewNode } from '../operation-node/create-view-node.js'; --import { RawBuilder } from '../raw-builder/raw-builder.js'; --import { SelectQueryBuilder } from '../query-builder/select-query-builder.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { CreateViewNode } from 'kysely/dist/cjs/operation-node/create-view-node.js'; -+import { RawBuilder } from 'kysely/dist/cjs/raw-builder/raw-builder.js'; -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; - export declare class CreateViewBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateViewBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts -index 36357d4..20486d3 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropIndexNode } from '../operation-node/drop-index-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropIndexBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropIndexBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts -index 052411c..fc46202 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropSchemaNode } from 'kysely/dist/cjs/operation-node/drop-schema-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropSchemaBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropSchemaBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts -index 824492a..c9ab11d 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropTableNode } from '../operation-node/drop-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropTableNode } from 'kysely/dist/cjs/operation-node/drop-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropTableBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropTableBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts -new file mode 100644 -index 0000000..8f86888 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts -@@ -0,0 +1,25 @@ -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { DropTriggerNode } from 'kysely/dist/cjs/operation-node/drop-trigger-node.js'; -+export declare class DropTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: DropTriggerBuilderProps); -+ ifExists(): DropTriggerBuilder; -+ cascade(): DropTriggerBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): DropTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface DropTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: DropTriggerNode; -+} -diff --git a/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js -new file mode 100644 -index 0000000..1c55383 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js -@@ -0,0 +1,46 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DropTriggerBuilder = void 0; -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const drop_trigger_node_js_1 = require("../operation-node/drop-trigger-node.js"); -+class DropTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ ifExists() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: drop_trigger_node_js_1.DropTriggerNode.cloneWith(this.#props.node, { -+ ifExists: true, -+ }), -+ }); -+ } -+ cascade() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: drop_trigger_node_js_1.DropTriggerNode.cloneWith(this.#props.node, { -+ cascade: true, -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+exports.DropTriggerBuilder = DropTriggerBuilder; -+(0, prevent_await_js_1.preventAwait)(DropTriggerBuilder, "don't await DropTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts -index 1c93cb5..6fef602 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropTypeNode } from '../operation-node/drop-type-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropTypeNode } from 'kysely/dist/cjs/operation-node/drop-type-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropTypeBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropTypeBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts -index c16f06c..77b7070 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts -@@ -1,9 +1,9 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { DropViewNode } from '../operation-node/drop-view-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { DropViewNode } from 'kysely/dist/cjs/operation-node/drop-view-node.js'; - export declare class DropViewBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropViewBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts -index 1d29ef8..02fb0b4 100644 ---- a/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts -@@ -1,6 +1,6 @@ --import { ForeignKeyConstraintNode } from '../operation-node/foreign-key-constraint-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OnModifyForeignAction } from '../operation-node/references-node.js'; -+import { ForeignKeyConstraintNode } from 'kysely/dist/cjs/operation-node/foreign-key-constraint-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js'; - export interface ForeignKeyConstraintBuilderInterface { - onDelete(onDelete: OnModifyForeignAction): R; - onUpdate(onUpdate: OnModifyForeignAction): R; -diff --git a/node_modules/kysely/dist/cjs/schema/schema.d.ts b/node_modules/kysely/dist/cjs/schema/schema.d.ts -index 8634b84..52b57cb 100644 ---- a/node_modules/kysely/dist/cjs/schema/schema.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/schema.d.ts -@@ -1,20 +1,22 @@ --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { AlterTableBuilder } from './alter-table-builder.js'; --import { CreateIndexBuilder } from './create-index-builder.js'; --import { CreateSchemaBuilder } from './create-schema-builder.js'; --import { CreateTableBuilder } from './create-table-builder.js'; --import { DropIndexBuilder } from './drop-index-builder.js'; --import { DropSchemaBuilder } from './drop-schema-builder.js'; --import { DropTableBuilder } from './drop-table-builder.js'; --import { CreateViewBuilder } from './create-view-builder.js'; --import { DropViewBuilder } from './drop-view-builder.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { CreateTypeBuilder } from './create-type-builder.js'; --import { DropTypeBuilder } from './drop-type-builder.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { AlterTableBuilder } from 'kysely/dist/cjs/schema/alter-table-builder.js'; -+import { CreateIndexBuilder } from 'kysely/dist/cjs/schema/create-index-builder.js'; -+import { CreateSchemaBuilder } from 'kysely/dist/cjs/schema/create-schema-builder.js'; -+import { CreateTableBuilder } from 'kysely/dist/cjs/schema/create-table-builder.js'; -+import { DropIndexBuilder } from 'kysely/dist/cjs/schema/drop-index-builder.js'; -+import { DropSchemaBuilder } from 'kysely/dist/cjs/schema/drop-schema-builder.js'; -+import { DropTableBuilder } from 'kysely/dist/cjs/schema/drop-table-builder.js'; -+import { CreateViewBuilder } from 'kysely/dist/cjs/schema/create-view-builder.js'; -+import { DropViewBuilder } from 'kysely/dist/cjs/schema/drop-view-builder.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { CreateTypeBuilder } from 'kysely/dist/cjs/schema/create-type-builder.js'; -+import { DropTypeBuilder } from 'kysely/dist/cjs/schema/drop-type-builder.js'; -+import { CreateTriggerBuilder } from 'kysely/dist/cjs/schema/create-trigger-builder.js'; -+import { DropTriggerBuilder } from 'kysely/dist/cjs/schema/drop-trigger-builder.js'; - /** - * Provides methods for building database schema. - */ --export declare class SchemaModule { -+export declare class SchemaModule { - #private; - constructor(executor: QueryExecutor); - /** -@@ -201,16 +203,18 @@ export declare class SchemaModule { - * ``` - */ - dropType(typeName: string): DropTypeBuilder; -+ createTrigger(name: string): CreateTriggerBuilder; -+ dropTrigger(triggerName: string): DropTriggerBuilder; - /** - * Returns a copy of this schema module with the given plugin installed. - */ -- withPlugin(plugin: KyselyPlugin): SchemaModule; -+ withPlugin(plugin: KyselyPlugin): SchemaModule; - /** - * Returns a copy of this schema module without any plugins. - */ -- withoutPlugins(): SchemaModule; -+ withoutPlugins(): SchemaModule; - /** - * See {@link QueryCreator.withSchema} - */ -- withSchema(schema: string): SchemaModule; -+ withSchema(schema: string): SchemaModule; - } -diff --git a/node_modules/kysely/dist/cjs/schema/schema.js b/node_modules/kysely/dist/cjs/schema/schema.js -index 052622f..7b979ab 100644 ---- a/node_modules/kysely/dist/cjs/schema/schema.js -+++ b/node_modules/kysely/dist/cjs/schema/schema.js -@@ -27,6 +27,11 @@ const drop_type_builder_js_1 = require("./drop-type-builder.js"); - const create_type_node_js_1 = require("../operation-node/create-type-node.js"); - const drop_type_node_js_1 = require("../operation-node/drop-type-node.js"); - const identifier_parser_js_1 = require("../parser/identifier-parser.js"); -+const create_trigger_builder_js_1 = require("./create-trigger-builder.js"); -+const create_trigger_node_js_1 = require("../operation-node/create-trigger-node.js"); -+const identifier_node_js_1 = require("../operation-node/identifier-node.js"); -+const drop_trigger_node_js_1 = require("../operation-node/drop-trigger-node.js"); -+const drop_trigger_builder_js_1 = require("./drop-trigger-builder.js"); - /** - * Provides methods for building database schema. - */ -@@ -285,6 +290,20 @@ class SchemaModule { - node: drop_type_node_js_1.DropTypeNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(typeName)), - }); - } -+ createTrigger(name) { -+ return new create_trigger_builder_js_1.CreateTriggerBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#executor, -+ node: create_trigger_node_js_1.CreateTriggerNode.create(identifier_node_js_1.IdentifierNode.create(name)), -+ }); -+ } -+ dropTrigger(triggerName) { -+ return new drop_trigger_builder_js_1.DropTriggerBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#executor, -+ node: drop_trigger_node_js_1.DropTriggerNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(triggerName)), -+ }); -+ } - /** - * Returns a copy of this schema module with the given plugin installed. - */ -diff --git a/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts -new file mode 100644 -index 0000000..420398a ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts -@@ -0,0 +1,14 @@ -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { UniqueConstraintNode } from 'kysely/dist/cjs/operation-node/unique-constraint-node.js'; -+export declare class UniqueConstraintNodeBuilder implements OperationNodeSource { -+ #private; -+ constructor(node: UniqueConstraintNode); -+ toOperationNode(): UniqueConstraintNode; -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct(): UniqueConstraintNodeBuilder; -+} -+export type UniqueConstraintNodeBuilderCallback = (builder: UniqueConstraintNodeBuilder) => UniqueConstraintNodeBuilder; -diff --git a/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js -new file mode 100644 -index 0000000..9931354 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js -@@ -0,0 +1,24 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.UniqueConstraintNodeBuilder = void 0; -+const unique_constraint_node_js_1 = require("../operation-node/unique-constraint-node.js"); -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+class UniqueConstraintNodeBuilder { -+ #node; -+ constructor(node) { -+ this.#node = node; -+ } -+ toOperationNode() { -+ return this.#node; -+ } -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct() { -+ return new UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } -+} -+exports.UniqueConstraintNodeBuilder = UniqueConstraintNodeBuilder; -+(0, prevent_await_js_1.preventAwait)(UniqueConstraintNodeBuilder, "don't await UniqueConstraintNodeBuilder instances directly."); -diff --git a/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts b/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts -new file mode 100644 -index 0000000..9b7599f ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts -@@ -0,0 +1,35 @@ -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js'; -+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { QueryCreatorProps } from 'kysely/dist/cjs/query-creator.js'; -+import { DatabaseWithOldNewTables } from 'kysely/dist/cjs/schema/create-trigger-builder.js'; -+export declare class TriggerQueryCreator { -+ #private; -+ constructor(props: QueryCreatorProps); -+ selectFrom(from: TE[]): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE[]): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectFrom(from: TE): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder & PickTableWithAlias, TE>, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectNoFrom>(selections: ReadonlyArray): SelectQueryBuilder>; -+ selectNoFrom>(callback: CB): SelectQueryBuilder>; -+ selectNoFrom>(selection: SE): SelectQueryBuilder>; -+ insertInto(table: T): InsertQueryBuilder; -+ replaceInto(table: T): InsertQueryBuilder; -+ deleteFrom(from: TR[]): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(tables: TR[]): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ deleteFrom(from: TR): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(table: TR): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ updateTable(table: TR): UpdateQueryBuilder, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, ExtractTableAlias, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, FromTables, FromTables, UpdateResult>; -+ withPlugin(plugin: KyselyPlugin): TriggerQueryCreator; -+ withoutPlugins(): TriggerQueryCreator; -+} -diff --git a/node_modules/kysely/dist/cjs/trigger-query-creator.js b/node_modules/kysely/dist/cjs/trigger-query-creator.js -new file mode 100644 -index 0000000..5d4d073 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/trigger-query-creator.js -@@ -0,0 +1,76 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.TriggerQueryCreator = void 0; -+const select_query_builder_js_1 = require("./query-builder/select-query-builder.js"); -+const insert_query_builder_js_1 = require("./query-builder/insert-query-builder.js"); -+const delete_query_builder_js_1 = require("./query-builder/delete-query-builder.js"); -+const update_query_builder_js_1 = require("./query-builder/update-query-builder.js"); -+const delete_query_node_js_1 = require("./operation-node/delete-query-node.js"); -+const insert_query_node_js_1 = require("./operation-node/insert-query-node.js"); -+const select_query_node_js_1 = require("./operation-node/select-query-node.js"); -+const update_query_node_js_1 = require("./operation-node/update-query-node.js"); -+const table_parser_js_1 = require("./parser/table-parser.js"); -+const query_id_js_1 = require("./util/query-id.js"); -+const object_utils_js_1 = require("./util/object-utils.js"); -+const select_parser_js_1 = require("./parser/select-parser.js"); -+class TriggerQueryCreator { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ selectFrom(from) { -+ return (0, select_query_builder_js_1.createSelectQueryBuilder)({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: select_query_node_js_1.SelectQueryNode.createFrom((0, table_parser_js_1.parseTableExpressionOrList)(from), this.#props.withNode), -+ }); -+ } -+ selectNoFrom(selection) { -+ return (0, select_query_builder_js_1.createSelectQueryBuilder)({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithSelections(select_query_node_js_1.SelectQueryNode.create(this.#props.withNode), (0, select_parser_js_1.parseSelectArg)(selection)), -+ }); -+ } -+ insertInto(table) { -+ return new insert_query_builder_js_1.InsertQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: insert_query_node_js_1.InsertQueryNode.create((0, table_parser_js_1.parseTable)(table), this.#props.withNode), -+ }); -+ } -+ replaceInto(table) { -+ return new insert_query_builder_js_1.InsertQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: insert_query_node_js_1.InsertQueryNode.create((0, table_parser_js_1.parseTable)(table), this.#props.withNode, true), -+ }); -+ } -+ deleteFrom(tables) { -+ return new delete_query_builder_js_1.DeleteQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: delete_query_node_js_1.DeleteQueryNode.create((0, table_parser_js_1.parseTableExpressionOrList)(tables), this.#props.withNode), -+ }); -+ } -+ updateTable(table) { -+ return new update_query_builder_js_1.UpdateQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: update_query_node_js_1.UpdateQueryNode.create((0, table_parser_js_1.parseTableExpression)(table), this.#props.withNode), -+ }); -+ } -+ withPlugin(plugin) { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withPlugin(plugin), -+ }); -+ } -+ withoutPlugins() { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withoutPlugins(), -+ }); -+ } -+} -+exports.TriggerQueryCreator = TriggerQueryCreator; -diff --git a/node_modules/kysely/dist/cjs/util/column-type.d.ts b/node_modules/kysely/dist/cjs/util/column-type.d.ts -index bb33464..88a26b2 100644 ---- a/node_modules/kysely/dist/cjs/util/column-type.d.ts -+++ b/node_modules/kysely/dist/cjs/util/column-type.d.ts -@@ -1,4 +1,4 @@ --import { DrainOuterGeneric } from './type-utils.js'; -+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; - /** - * This type can be used to specify a different type for - * select, insert and update operations. -diff --git a/node_modules/kysely/dist/cjs/util/compilable.d.ts b/node_modules/kysely/dist/cjs/util/compilable.d.ts -index 638b5d0..5c8f0e9 100644 ---- a/node_modules/kysely/dist/cjs/util/compilable.d.ts -+++ b/node_modules/kysely/dist/cjs/util/compilable.d.ts -@@ -1,4 +1,4 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; - export interface Compilable { - compile(): CompiledQuery; - } -diff --git a/node_modules/kysely/dist/cjs/util/explainable.d.ts b/node_modules/kysely/dist/cjs/util/explainable.d.ts -index 5e05810..86789f2 100644 ---- a/node_modules/kysely/dist/cjs/util/explainable.d.ts -+++ b/node_modules/kysely/dist/cjs/util/explainable.d.ts -@@ -1,4 +1,4 @@ --import { Expression } from '../expression/expression.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; - export type ExplainFormat = 'text' | 'xml' | 'json' | 'yaml' | 'traditional' | 'tree'; - export interface Explainable { - /** -diff --git a/node_modules/kysely/dist/cjs/util/log.d.ts b/node_modules/kysely/dist/cjs/util/log.d.ts -index 840a172..69c7b55 100644 ---- a/node_modules/kysely/dist/cjs/util/log.d.ts -+++ b/node_modules/kysely/dist/cjs/util/log.d.ts -@@ -1,5 +1,5 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { ArrayItemType } from './type-utils.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; - export declare const LOG_LEVELS: readonly ["query", "error"]; - export type LogLevel = ArrayItemType; - export interface QueryLogEvent { -diff --git a/node_modules/kysely/dist/cjs/util/object-utils.d.ts b/node_modules/kysely/dist/cjs/util/object-utils.d.ts -index 1b9f563..c9fa82b 100644 ---- a/node_modules/kysely/dist/cjs/util/object-utils.d.ts -+++ b/node_modules/kysely/dist/cjs/util/object-utils.d.ts -@@ -6,7 +6,7 @@ export declare function isNumber(obj: unknown): obj is number; - export declare function isBoolean(obj: unknown): obj is boolean; - export declare function isNull(obj: unknown): obj is null; - export declare function isDate(obj: unknown): obj is Date; --export declare function isBigInt(obj: unknown): obj is BigInt; -+export declare function isBigInt(obj: unknown): obj is bigint; - export declare function isBuffer(obj: unknown): obj is { - length: number; - }; -diff --git a/node_modules/kysely/dist/cjs/util/type-utils.d.ts b/node_modules/kysely/dist/cjs/util/type-utils.d.ts -index 5fd42ff..4daf187 100644 ---- a/node_modules/kysely/dist/cjs/util/type-utils.d.ts -+++ b/node_modules/kysely/dist/cjs/util/type-utils.d.ts -@@ -1,7 +1,7 @@ --import { InsertResult } from '../query-builder/insert-result.js'; --import { DeleteResult } from '../query-builder/delete-result.js'; --import { UpdateResult } from '../query-builder/update-result.js'; --import { KyselyTypeError } from './type-error.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; - /** - * Given a database type and a union of table names in that db, returns - * a union type with all possible column names. -diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts -index dc87916..e3fb628 100644 ---- a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts -@@ -7,6 +7,14 @@ import { DialectAdapter, MigrationLockOptions } from './dialect-adapter.js'; - * they are added and there will be less breaking changes. - */ - export declare abstract class DialectAdapterBase implements DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ get supportsCreateIfNotExists(): boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js -index b5f7843..7065ce6 100644 ---- a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js -+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js -@@ -6,6 +6,9 @@ - * they are added and there will be less breaking changes. - */ - export class DialectAdapterBase { -+ get supportsCreateIfNotExists() { -+ return true; -+ } - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts b/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts -index 73a925a..fe7f1b3 100644 ---- a/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts -@@ -8,6 +8,14 @@ import { Kysely } from '../kysely.js'; - * it. For that there's a `supportsTransactionalDdl` boolean in this interface. - */ - export interface DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ readonly supportsCreateIfNotExists: boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js b/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js -index c83b381..3bcddb6 100644 ---- a/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js -+++ b/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js -@@ -26,7 +26,7 @@ export class PostgresDriver { - // The driver must take care of calling `onCreateConnection` when a new - // connection is created. The `pg` module doesn't provide an async hook - // for the connection creation. We need to call the method explicitly. -- if (this.#config?.onCreateConnection) { -+ if (this.#config.onCreateConnection) { - await this.#config.onCreateConnection(connection); - } - } -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts -index 69a0a7d..550df53 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts -@@ -1,7 +1,7 @@ - import { Kysely } from '../../kysely.js'; - import { DialectAdapterBase } from '../dialect-adapter-base.js'; - import { MigrationLockOptions } from '../dialect-adapter.js'; --export declare class SqliteAdapter implements DialectAdapterBase { -+export declare class SqliteAdapter extends DialectAdapterBase { - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js -index f095ebb..4f1b71f 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js -@@ -1,5 +1,6 @@ - /// --export class SqliteAdapter { -+import { DialectAdapterBase } from '../dialect-adapter-base.js'; -+export class SqliteAdapter extends DialectAdapterBase { - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts -index 810af98..a873682 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts -@@ -37,4 +37,5 @@ export interface SqliteStatement { - changes: number | bigint; - lastInsertRowid: number | bigint; - }; -+ iterate(parameters: ReadonlyArray): IterableIterator; - } -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js -index 23f21e3..d20935f 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js -@@ -1,4 +1,5 @@ - /// -+import { SelectQueryNode } from '../../operation-node/select-query-node.js'; - import { CompiledQuery } from '../../query-compiler/compiled-query.js'; - import { freeze, isFunction } from '../../util/object-utils.js'; - export class SqliteDriver { -@@ -67,8 +68,20 @@ class SqliteConnection { - }); - } - } -- async *streamQuery() { -- throw new Error("Sqlite driver doesn't support streaming"); -+ async *streamQuery(compiledQuery, _chunkSize) { -+ const { sql, parameters, query } = compiledQuery; -+ const stmt = this.#db.prepare(sql); -+ if (SelectQueryNode.is(query)) { -+ const iter = stmt.iterate(parameters); -+ for (const row of iter) { -+ yield { -+ rows: [row], -+ }; -+ } -+ } -+ else { -+ throw new Error('Sqlite driver only supports streaming of select queries'); -+ } - } - } - class ConnectionMutex { -diff --git a/node_modules/kysely/dist/esm/driver/driver.d.ts b/node_modules/kysely/dist/esm/driver/driver.d.ts -index 00babcb..11d2d55 100644 ---- a/node_modules/kysely/dist/esm/driver/driver.d.ts -+++ b/node_modules/kysely/dist/esm/driver/driver.d.ts -@@ -40,5 +40,5 @@ export interface Driver { - export interface TransactionSettings { - readonly isolationLevel?: IsolationLevel; - } --export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable"]; -+export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable", "snapshot"]; - export type IsolationLevel = ArrayItemType; -diff --git a/node_modules/kysely/dist/esm/driver/driver.js b/node_modules/kysely/dist/esm/driver/driver.js -index 88c2a07..2ae1469 100644 ---- a/node_modules/kysely/dist/esm/driver/driver.js -+++ b/node_modules/kysely/dist/esm/driver/driver.js -@@ -4,4 +4,5 @@ export const TRANSACTION_ISOLATION_LEVELS = [ - 'read committed', - 'repeatable read', - 'serializable', -+ 'snapshot', - ]; -diff --git a/node_modules/kysely/dist/esm/driver/single-connection-provider.js b/node_modules/kysely/dist/esm/driver/single-connection-provider.js -index aafebb7..ef341ee 100644 ---- a/node_modules/kysely/dist/esm/driver/single-connection-provider.js -+++ b/node_modules/kysely/dist/esm/driver/single-connection-provider.js -@@ -1,4 +1,5 @@ - /// -+const ignoreError = () => { }; - export class SingleConnectionProvider { - #connection; - #runningPromise; -@@ -7,17 +8,15 @@ export class SingleConnectionProvider { - } - async provideConnection(consumer) { - while (this.#runningPromise) { -- await this.#runningPromise; -+ await this.#runningPromise.catch(ignoreError); - } -- const promise = this.#run(consumer); -- this.#runningPromise = promise -- .then(() => { -- this.#runningPromise = undefined; -- }) -- .catch(() => { -+ // `#runningPromise` must be set to undefined before it's -+ // resolved or rejected. Otherwise the while loop above -+ // will misbehave. -+ this.#runningPromise = this.#run(consumer).finally(() => { - this.#runningPromise = undefined; - }); -- return promise; -+ return this.#runningPromise; - } - // Run the runner in an async function to make sure it doesn't - // throw synchronous errors. -diff --git a/node_modules/kysely/dist/esm/expression/expression-builder.d.ts b/node_modules/kysely/dist/esm/expression/expression-builder.d.ts -index 7b4a340..07933a1 100644 ---- a/node_modules/kysely/dist/esm/expression/expression-builder.d.ts -+++ b/node_modules/kysely/dist/esm/expression/expression-builder.d.ts -@@ -14,6 +14,7 @@ import { JSONPathBuilder } from '../query-builder/json-path-builder.js'; - import { OperandExpression } from '../parser/expression-parser.js'; - import { CallbackSelection, SelectCallback, SelectExpression, Selection } from '../parser/select-parser.js'; - import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from '../parser/tuple-parser.js'; -+import { Selectable } from '../util/column-type.js'; - export interface ExpressionBuilder { - /** - * Creates a binary expression. -@@ -344,6 +345,30 @@ export interface ExpressionBuilder { - */ - ref>(reference: RE): ExpressionWrapper>; - ref>(reference: RE, op: JSONOperatorWith$): JSONPathBuilder>; -+ /** -+ * Creates a table reference. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select(eb => [ -+ * 'person.id', -+ * sql`jsonb_agg(${eb.table('pet')})`.as('pets') -+ * ]) -+ * .groupBy('person.id') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "person"."id", jsonb_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."id" -+ * ``` -+ */ -+ table(table: T): ExpressionWrapper>; - /** - * Returns a value expression. - * -diff --git a/node_modules/kysely/dist/esm/expression/expression-builder.js b/node_modules/kysely/dist/esm/expression/expression-builder.js -index f550460..86b0098 100644 ---- a/node_modules/kysely/dist/esm/expression/expression-builder.js -+++ b/node_modules/kysely/dist/esm/expression/expression-builder.js -@@ -1,7 +1,7 @@ - /// - import { createSelectQueryBuilder, } from '../query-builder/select-query-builder.js'; - import { SelectQueryNode } from '../operation-node/select-query-node.js'; --import { parseTableExpressionOrList, } from '../parser/table-parser.js'; -+import { parseTableExpressionOrList, parseTable, } from '../parser/table-parser.js'; - import { WithSchemaPlugin } from '../plugin/with-schema/with-schema-plugin.js'; - import { createQueryId } from '../util/query-id.js'; - import { createFunctionModule, } from '../query-builder/function-module.js'; -@@ -11,7 +11,7 @@ import { ParensNode } from '../operation-node/parens-node.js'; - import { ExpressionWrapper } from './expression-wrapper.js'; - import { OperatorNode, } from '../operation-node/operator-node.js'; - import { parseUnaryOperation } from '../parser/unary-operation-parser.js'; --import { parseSafeImmediateValue, parseValueExpression, parseValueExpressionOrList, } from '../parser/value-parser.js'; -+import { parseSafeImmediateValue, parseValueExpression, } from '../parser/value-parser.js'; - import { NOOP_QUERY_EXECUTOR } from '../query-executor/noop-query-executor.js'; - import { CaseBuilder } from '../query-builder/case-builder.js'; - import { CaseNode } from '../operation-node/case-node.js'; -@@ -58,8 +58,11 @@ export function createExpressionBuilder(executor = NOOP_QUERY_EXECUTOR) { - } - return new JSONPathBuilder(parseJSONReference(reference, op)); - }, -+ table(table) { -+ return new ExpressionWrapper(parseTable(table)); -+ }, - val(value) { -- return new ExpressionWrapper(parseValueExpressionOrList(value)); -+ return new ExpressionWrapper(parseValueExpression(value)); - }, - refTuple(...values) { - return new ExpressionWrapper(TupleNode.create(values.map(parseReferenceExpression))); -diff --git a/node_modules/kysely/dist/esm/index.d.ts b/node_modules/kysely/dist/esm/index.d.ts -index cf166f8..37cf701 100644 ---- a/node_modules/kysely/dist/esm/index.d.ts -+++ b/node_modules/kysely/dist/esm/index.d.ts -@@ -72,6 +72,12 @@ export * from './dialect/postgres/postgres-dialect.js'; - export * from './dialect/sqlite/sqlite-query-compiler.js'; - export * from './dialect/sqlite/sqlite-introspector.js'; - export * from './dialect/sqlite/sqlite-adapter.js'; -+export * from './dialect/mssql/mssql-adapter.js'; -+export * from './dialect/mssql/mssql-dialect-config.js'; -+export * from './dialect/mssql/mssql-dialect.js'; -+export * from './dialect/mssql/mssql-driver.js'; -+export * from './dialect/mssql/mssql-introspector.js'; -+export * from './dialect/mssql/mssql-query-compiler.js'; - export * from './query-compiler/default-query-compiler.js'; - export * from './query-compiler/query-compiler.js'; - export * from './migration/migrator.js'; -@@ -176,7 +182,7 @@ export * from './util/compilable.js'; - export * from './util/explainable.js'; - export * from './util/streamable.js'; - export * from './util/log.js'; --export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, } from './util/type-utils.js'; -+export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, Nullable, } from './util/type-utils.js'; - export * from './util/infer-result.js'; - export { logOnce } from './util/log-once.js'; - export { SelectExpression, SelectCallback, SelectArg, Selection, CallbackSelection, } from './parser/select-parser.js'; -diff --git a/node_modules/kysely/dist/esm/kysely.d.ts b/node_modules/kysely/dist/esm/kysely.d.ts -index 52e909a..8e45b8c 100644 ---- a/node_modules/kysely/dist/esm/kysely.d.ts -+++ b/node_modules/kysely/dist/esm/kysely.d.ts -@@ -66,7 +66,7 @@ export declare class Kysely extends QueryCreator implements QueryExecuto - /** - * Returns the {@link SchemaModule} module for building database schema. - */ -- get schema(): SchemaModule; -+ get schema(): SchemaModule; - /** - * Returns a the {@link DynamicModule} module. - * -diff --git a/node_modules/kysely/dist/esm/migration/migrator.js b/node_modules/kysely/dist/esm/migration/migrator.js -index 8c7a0b4..7d3a26a 100644 ---- a/node_modules/kysely/dist/esm/migration/migrator.js -+++ b/node_modules/kysely/dist/esm/migration/migrator.js -@@ -218,10 +218,7 @@ export class Migrator { - } - if (!(await this.#doesSchemaExists())) { - try { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema` -@@ -237,20 +234,15 @@ export class Migrator { - if (!(await this.#doesTableExists(this.#migrationTable))) { - try { - if (this.#migrationTableSchema) { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationTable) -- .ifNotExists() - .addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey()) - // The migration run time as ISO string. This is not a real date type as we - // can't know which data type is supported by all future dialects. -- .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()) -- .execute(); -+ .addColumn('timestamp', 'varchar(255)', (col) => col.notNull())); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -265,13 +257,11 @@ export class Migrator { - async #ensureMigrationLockTableExists() { - if (!(await this.#doesTableExists(this.#migrationLockTable))) { - try { -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationLockTable) -- .ifNotExists() - .addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey()) -- .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)) -- .execute(); -+ .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0))); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -479,6 +469,12 @@ export class Migrator { - } - return { results }; - } -+ async #createIfNotExists(qb) { -+ if (this.#props.db.getExecutor().adapter.supportsCreateIfNotExists) { -+ qb = qb.ifNotExists(); -+ } -+ await qb.execute(); -+ } - } - class MigrationResultSetError extends Error { - #resultSet; -diff --git a/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts b/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts -new file mode 100644 -index 0000000..b81f95f ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts -@@ -0,0 +1,21 @@ -+import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from './operation-node.js'; -+import { RawNode } from './raw-node.js'; -+export type AddIndexNodeProps = Omit; -+export interface AddIndexNode extends OperationNode { -+ readonly kind: 'AddIndexNode'; -+ readonly name: IdentifierNode; -+ readonly columns?: OperationNode[]; -+ readonly unique?: boolean; -+ readonly using?: RawNode; -+ readonly ifNotExists?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const AddIndexNode: Readonly<{ -+ is(node: OperationNode): node is AddIndexNode; -+ create(name: string): AddIndexNode; -+ cloneWith(node: AddIndexNode, props: AddIndexNodeProps): AddIndexNode; -+ cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): AddIndexNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/add-index-node.js b/node_modules/kysely/dist/esm/operation-node/add-index-node.js -new file mode 100644 -index 0000000..134b7d8 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/add-index-node.js -@@ -0,0 +1,29 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+import { IdentifierNode } from './identifier-node.js'; -+/** -+ * @internal -+ */ -+export const AddIndexNode = freeze({ -+ is(node) { -+ return node.kind === 'AddIndexNode'; -+ }, -+ create(name) { -+ return freeze({ -+ kind: 'AddIndexNode', -+ name: IdentifierNode.create(name) -+ }); -+ }, -+ cloneWith(node, props) { -+ return freeze({ -+ ...node, -+ ...props, -+ }); -+ }, -+ cloneWithColumns(node, columns) { -+ return freeze({ -+ ...node, -+ columns: [...(node.columns || []), ...columns], -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts b/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts -index 5b03535..b09aca3 100644 ---- a/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts -@@ -8,7 +8,9 @@ import { AlterColumnNode } from './alter-column-node.js'; - import { AddConstraintNode } from './add-constraint-node.js'; - import { DropConstraintNode } from './drop-constraint-node.js'; - import { ModifyColumnNode } from './modify-column-node.js'; --export type AlterTableNodeTableProps = Pick; -+import { DropIndexNode } from './drop-index-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+export type AlterTableNodeTableProps = Pick; - export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode; - export interface AlterTableNode extends OperationNode { - readonly kind: 'AlterTableNode'; -@@ -18,6 +20,8 @@ export interface AlterTableNode extends OperationNode { - readonly columnAlterations?: ReadonlyArray; - readonly addConstraint?: AddConstraintNode; - readonly dropConstraint?: DropConstraintNode; -+ readonly addIndex?: AddIndexNode; -+ readonly dropIndex?: DropIndexNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts b/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts -index 6442d83..b518d35 100644 ---- a/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts -@@ -20,6 +20,7 @@ export interface ColumnDefinitionNode extends OperationNode { - readonly unsigned?: boolean; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts b/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts -index 2e8ab34..bb59937 100644 ---- a/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts -@@ -1,8 +1,7 @@ --import { ColumnNode } from './column-node.js'; - import { OperationNode } from './operation-node.js'; - export interface ColumnUpdateNode extends OperationNode { - readonly kind: 'ColumnUpdateNode'; -- readonly column: ColumnNode; -+ readonly column: OperationNode; - readonly value: OperationNode; - } - /** -@@ -10,5 +9,5 @@ export interface ColumnUpdateNode extends OperationNode { - */ - export declare const ColumnUpdateNode: Readonly<{ - is(node: OperationNode): node is ColumnUpdateNode; -- create(column: ColumnNode, value: OperationNode): ColumnUpdateNode; -+ create(column: OperationNode, value: OperationNode): ColumnUpdateNode; - }>; -diff --git a/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts -index a3a99d1..d474032 100644 ---- a/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts -@@ -14,6 +14,7 @@ export interface CreateIndexNode extends OperationNode { - readonly using?: RawNode; - readonly ifNotExists?: boolean; - readonly where?: WhereNode; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts -index cc8ceda..f36036c 100644 ---- a/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts -@@ -16,6 +16,7 @@ export interface CreateTableNode extends OperationNode { - readonly onCommit?: OnCommitAction; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly selectQuery?: OperationNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts -new file mode 100644 -index 0000000..8244954 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts -@@ -0,0 +1,34 @@ -+import { OperationNode } from './operation-node.js'; -+import { TableNode } from './table-node.js'; -+import { IdentifierNode } from './identifier-node.js'; -+import { QueryNode } from './query-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; -+import { FunctionNode } from './function-node.js'; -+export type TriggerTime = 'after' | 'before' | 'instead of'; -+export type CreateTriggerNodeParams = Omit; -+export interface CreateTriggerNode extends OperationNode { -+ readonly kind: 'CreateTriggerNode'; -+ readonly name: IdentifierNode; -+ readonly queries?: ReadonlyArray; -+ readonly function?: FunctionNode; -+ readonly time?: TriggerTime; -+ readonly events?: ReadonlyArray; -+ readonly table?: TableNode; -+ readonly orReplace?: boolean; -+ readonly ifNotExists?: boolean; -+ readonly when?: OperationNode; -+ readonly temporary?: boolean; -+ readonly forEach?: 'row' | 'statement'; -+ readonly order?: TriggerOrderNode; -+} -+/** -+ * @internal -+ */ -+export declare const CreateTriggerNode: Readonly<{ -+ is(node: OperationNode): node is CreateTriggerNode; -+ create(name: IdentifierNode): CreateTriggerNode; -+ cloneWithQuery(createTrigger: CreateTriggerNode, query: QueryNode): CreateTriggerNode; -+ cloneWithEvent(createTrigger: CreateTriggerNode, event: TriggerEventNode): CreateTriggerNode; -+ cloneWith(createTrigger: CreateTriggerNode, params: CreateTriggerNodeParams): CreateTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js -new file mode 100644 -index 0000000..90dd0f3 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js -@@ -0,0 +1,34 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const CreateTriggerNode = freeze({ -+ is(node) { -+ return node.kind === 'CreateTriggerNode'; -+ }, -+ create(name) { -+ return freeze({ -+ kind: 'CreateTriggerNode', -+ name, -+ }); -+ }, -+ cloneWithQuery(createTrigger, query) { -+ return freeze({ -+ ...createTrigger, -+ queries: freeze([...(createTrigger.queries || []), query]), -+ }); -+ }, -+ cloneWithEvent(createTrigger, event) { -+ return freeze({ -+ ...createTrigger, -+ events: freeze([...(createTrigger.events || []), event]), -+ }); -+ }, -+ cloneWith(createTrigger, params) { -+ return freeze({ -+ ...createTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts -new file mode 100644 -index 0000000..4e38772 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts -@@ -0,0 +1,17 @@ -+import { OperationNode } from './operation-node.js'; -+import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+export type DropTriggerNodeParams = Omit, 'kind' | 'name'>; -+export interface DropTriggerNode extends OperationNode { -+ readonly kind: 'DropTriggerNode'; -+ readonly name: SchemableIdentifierNode; -+ readonly ifExists?: boolean; -+ readonly cascade?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const DropTriggerNode: Readonly<{ -+ is(node: OperationNode): node is DropTriggerNode; -+ create(name: SchemableIdentifierNode): DropTriggerNode; -+ cloneWith(dropTrigger: DropTriggerNode, params: DropTriggerNodeParams): DropTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js -new file mode 100644 -index 0000000..ebabeb4 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js -@@ -0,0 +1,22 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const DropTriggerNode = freeze({ -+ is(node) { -+ return node.kind === 'DropTriggerNode'; -+ }, -+ create(name) { -+ return freeze({ -+ kind: 'DropTriggerNode', -+ name, -+ }); -+ }, -+ cloneWith(dropTrigger, params) { -+ return freeze({ -+ ...dropTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts -index 6b3a13c..5d7fd9d 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - /** - * Transforms an operation node tree into another one. - * -@@ -139,9 +144,13 @@ export declare class OperationNodeTransformer { - protected transformDeleteQuery(node: DeleteQueryNode): DeleteQueryNode; - protected transformReturning(node: ReturningNode): ReturningNode; - protected transformCreateTable(node: CreateTableNode): CreateTableNode; -+ protected transformCreateTrigger(node: CreateTriggerNode): CreateTriggerNode; -+ protected transformTriggerEvent(node: TriggerEventNode): TriggerEventNode; -+ protected transformTriggerOrder(node: TriggerOrderNode): TriggerOrderNode; - protected transformColumnDefinition(node: ColumnDefinitionNode): ColumnDefinitionNode; - protected transformAddColumn(node: AddColumnNode): AddColumnNode; - protected transformDropTable(node: DropTableNode): DropTableNode; -+ protected transformDropTrigger(node: DropTriggerNode): DropTriggerNode; - protected transformOrderBy(node: OrderByNode): OrderByNode; - protected transformOrderByItem(node: OrderByItemNode): OrderByItemNode; - protected transformGroupBy(node: GroupByNode): GroupByNode; -@@ -199,6 +208,7 @@ export declare class OperationNodeTransformer { - protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode; - protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode; - protected transformTuple(node: TupleNode): TupleNode; -+ protected transformAddIndex(node: AddIndexNode): AddIndexNode; - protected transformDataType(node: DataTypeNode): DataTypeNode; - protected transformSelectAll(node: SelectAllNode): SelectAllNode; - protected transformIdentifier(node: IdentifierNode): IdentifierNode; -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js -index f35075b..9e216f8 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js -@@ -119,6 +119,11 @@ export class OperationNodeTransformer { - JSONPathLegNode: this.transformJSONPathLeg.bind(this), - JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this), - TupleNode: this.transformTuple.bind(this), -+ AddIndexNode: this.transformAddIndex.bind(this), -+ CreateTriggerNode: this.transformCreateTrigger.bind(this), -+ TriggerEventNode: this.transformTriggerEvent.bind(this), -+ TriggerOrderNode: this.transformTriggerOrder.bind(this), -+ DropTriggerNode: this.transformDropTrigger.bind(this), - }); - transformNode(node) { - if (!node) { -@@ -295,6 +300,38 @@ export class OperationNodeTransformer { - onCommit: node.onCommit, - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ selectQuery: this.transformNode(node.selectQuery), -+ }); -+ } -+ transformCreateTrigger(node) { -+ return requireAllProps({ -+ kind: 'CreateTriggerNode', -+ name: this.transformNode(node.name), -+ table: this.transformNode(node.table), -+ ifNotExists: node.ifNotExists, -+ time: node.time, -+ events: this.transformNodeList(node.events), -+ forEach: node.forEach, -+ orReplace: node.orReplace, -+ temporary: node.temporary, -+ queries: this.transformNodeList(node.queries), -+ function: this.transformNode(node.function), -+ when: this.transformNode(node.when), -+ order: this.transformNode(node.order), -+ }); -+ } -+ transformTriggerEvent(node) { -+ return requireAllProps({ -+ kind: 'TriggerEventNode', -+ event: node.event, -+ columns: this.transformNodeList(node.columns), -+ }); -+ } -+ transformTriggerOrder(node) { -+ return requireAllProps({ -+ kind: 'TriggerOrderNode', -+ order: node.order, -+ otherTriggerName: this.transformNode(node.otherTriggerName), - }); - } - transformColumnDefinition(node) { -@@ -313,6 +350,7 @@ export class OperationNodeTransformer { - generated: this.transformNode(node.generated), - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformAddColumn(node) { -@@ -329,6 +367,14 @@ export class OperationNodeTransformer { - cascade: node.cascade, - }); - } -+ transformDropTrigger(node) { -+ return requireAllProps({ -+ kind: 'DropTriggerNode', -+ name: this.transformNode(node.name), -+ ifExists: node.ifExists, -+ cascade: node.cascade, -+ }); -+ } - transformOrderBy(node) { - return requireAllProps({ - kind: 'OrderByNode', -@@ -414,6 +460,7 @@ export class OperationNodeTransformer { - using: this.transformNode(node.using), - ifNotExists: node.ifNotExists, - where: this.transformNode(node.where), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformList(node) { -@@ -443,6 +490,7 @@ export class OperationNodeTransformer { - kind: 'UniqueConstraintNode', - columns: this.transformNodeList(node.columns), - name: this.transformNode(node.name), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformForeignKeyConstraint(node) { -@@ -531,6 +579,8 @@ export class OperationNodeTransformer { - columnAlterations: this.transformNodeList(node.columnAlterations), - addConstraint: this.transformNode(node.addConstraint), - dropConstraint: this.transformNode(node.dropConstraint), -+ addIndex: this.transformNode(node.addIndex), -+ dropIndex: this.transformNode(node.dropIndex), - }); - } - transformDropColumn(node) { -@@ -763,6 +813,16 @@ export class OperationNodeTransformer { - values: this.transformNodeList(node.values), - }); - } -+ transformAddIndex(node) { -+ return requireAllProps({ -+ kind: 'AddIndexNode', -+ name: this.transformNode(node.name), -+ columns: this.transformNodeList(node.columns), -+ unique: node.unique, -+ using: this.transformNode(node.using), -+ ifNotExists: node.ifNotExists, -+ }); -+ } - transformDataType(node) { - // An Object.freezed leaf node. No need to clone. - return node; -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts -index 7c267cd..6a66bc7 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - export declare abstract class OperationNodeVisitor { - #private; - protected readonly nodeStack: OperationNode[]; -@@ -108,9 +113,13 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitDeleteQuery(node: DeleteQueryNode): void; - protected abstract visitReturning(node: ReturningNode): void; - protected abstract visitCreateTable(node: CreateTableNode): void; -+ protected abstract visitCreateTrigger(node: CreateTriggerNode): void; -+ protected abstract visitTriggerEvent(node: TriggerEventNode): void; -+ protected abstract visitTriggerOrder(node: TriggerOrderNode): void; - protected abstract visitAddColumn(node: AddColumnNode): void; - protected abstract visitColumnDefinition(node: ColumnDefinitionNode): void; - protected abstract visitDropTable(node: DropTableNode): void; -+ protected abstract visitDropTrigger(node: DropTriggerNode): void; - protected abstract visitOrderBy(node: OrderByNode): void; - protected abstract visitOrderByItem(node: OrderByItemNode): void; - protected abstract visitGroupBy(node: GroupByNode): void; -@@ -176,4 +185,5 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitJSONPathLeg(node: JSONPathLegNode): void; - protected abstract visitJSONOperatorChain(node: JSONOperatorChainNode): void; - protected abstract visitTuple(node: TupleNode): void; -+ protected abstract visitAddIndex(node: AddIndexNode): void; - } -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js -index 7ded762..cc6431e 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js -@@ -92,6 +92,11 @@ export class OperationNodeVisitor { - JSONPathLegNode: this.visitJSONPathLeg.bind(this), - JSONOperatorChainNode: this.visitJSONOperatorChain.bind(this), - TupleNode: this.visitTuple.bind(this), -+ AddIndexNode: this.visitAddIndex.bind(this), -+ CreateTriggerNode: this.visitCreateTrigger.bind(this), -+ TriggerEventNode: this.visitTriggerEvent.bind(this), -+ TriggerOrderNode: this.visitTriggerOrder.bind(this), -+ DropTriggerNode: this.visitDropTrigger.bind(this), - }); - visitNode = (node) => { - this.nodeStack.push(node); -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts -index 24cad68..a01b9ed 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts -@@ -1,4 +1,4 @@ --export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode'; -+export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'AddIndexNode' | 'CreateTriggerNode' | 'TriggerEventNode' | 'TriggerOrderNode' | 'DropTriggerNode'; - export interface OperationNode { - readonly kind: OperationNodeKind; - } -diff --git a/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts b/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts -index 1076866..18b6e05 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts -@@ -1,11 +1,11 @@ - import { OperationNode } from './operation-node.js'; --export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp"]; -+export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"]; - export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"]; - export declare const JSON_OPERATORS: readonly ["->", "->>"]; --export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; -+export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; - export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"]; - export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"]; --export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; -+export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; - export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number]; - export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number]; - export type JSONOperator = (typeof JSON_OPERATORS)[number]; -diff --git a/node_modules/kysely/dist/esm/operation-node/operator-node.js b/node_modules/kysely/dist/esm/operation-node/operator-node.js -index ba655e6..2df5b92 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operator-node.js -+++ b/node_modules/kysely/dist/esm/operation-node/operator-node.js -@@ -35,6 +35,8 @@ export const COMPARISON_OPERATORS = [ - '!!', - '<->', - 'regexp', -+ 'is distinct from', -+ 'is not distinct from', - ]; - export const ARITHMETIC_OPERATORS = [ - '+', -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts -new file mode 100644 -index 0000000..8a3677d ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts -@@ -0,0 +1,15 @@ -+import { OperationNode } from './operation-node.js'; -+export type TriggerEvent = 'delete' | 'update' | 'insert' | 'truncate'; -+export type TriggerEventNodeParams = Omit; -+export interface TriggerEventNode extends OperationNode { -+ readonly kind: 'TriggerEventNode'; -+ readonly event: TriggerEvent; -+ readonly columns?: ReadonlyArray; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerEventNode: Readonly<{ -+ is(node: OperationNode): node is TriggerEventNode; -+ create(event: TriggerEvent, columns?: ReadonlyArray): TriggerEventNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js -new file mode 100644 -index 0000000..6f97ee3 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js -@@ -0,0 +1,17 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const TriggerEventNode = freeze({ -+ is(node) { -+ return node.kind === 'TriggerEventNode'; -+ }, -+ create(event, columns) { -+ return freeze({ -+ kind: 'TriggerEventNode', -+ event, -+ columns, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts -new file mode 100644 -index 0000000..12bad8d ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts -@@ -0,0 +1,16 @@ -+import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from './operation-node.js'; -+export type TriggerOrder = 'follows' | 'precedes'; -+export type TriggerOrderNodeParams = Omit; -+export interface TriggerOrderNode extends OperationNode { -+ readonly kind: 'TriggerOrderNode'; -+ readonly order: TriggerOrder; -+ readonly otherTriggerName: IdentifierNode; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerOrderNode: Readonly<{ -+ is(node: OperationNode): node is TriggerOrderNode; -+ create(order: TriggerOrder, otherTriggerName: IdentifierNode): TriggerOrderNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js -new file mode 100644 -index 0000000..eea5441 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js -@@ -0,0 +1,17 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const TriggerOrderNode = freeze({ -+ is(node) { -+ return node.kind === 'TriggerOrderNode'; -+ }, -+ create(order, otherTriggerName) { -+ return freeze({ -+ kind: 'TriggerOrderNode', -+ order, -+ otherTriggerName, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts -index c179f1f..4a544de 100644 ---- a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts -@@ -5,11 +5,14 @@ export interface UniqueConstraintNode extends OperationNode { - readonly kind: 'UniqueConstraintNode'; - readonly columns: ReadonlyArray; - readonly name?: IdentifierNode; -+ readonly nullsNotDistinct?: boolean; - } -+export type UniqueConstraintNodeProps = Omit, 'kind'>; - /** - * @internal - */ - export declare const UniqueConstraintNode: Readonly<{ - is(node: OperationNode): node is UniqueConstraintNode; -- create(columns: string[], constraintName?: string): UniqueConstraintNode; -+ create(columns: string[], constraintName?: string, nullsNotDistinct?: boolean): UniqueConstraintNode; -+ cloneWith(node: UniqueConstraintNode, props: UniqueConstraintNodeProps): UniqueConstraintNode; - }>; -diff --git a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js -index 0c903a6..d05e623 100644 ---- a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js -+++ b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js -@@ -9,11 +9,18 @@ export const UniqueConstraintNode = freeze({ - is(node) { - return node.kind === 'UniqueConstraintNode'; - }, -- create(columns, constraintName) { -+ create(columns, constraintName, nullsNotDistinct) { - return freeze({ - kind: 'UniqueConstraintNode', - columns: freeze(columns.map(ColumnNode.create)), - name: constraintName ? IdentifierNode.create(constraintName) : undefined, -+ nullsNotDistinct, -+ }); -+ }, -+ cloneWith(node, props) { -+ return freeze({ -+ ...node, -+ ...props, - }); - }, - }); -diff --git a/node_modules/kysely/dist/esm/parser/binary-operation-parser.js b/node_modules/kysely/dist/esm/parser/binary-operation-parser.js -index 7c6e042..b136830 100644 ---- a/node_modules/kysely/dist/esm/parser/binary-operation-parser.js -+++ b/node_modules/kysely/dist/esm/parser/binary-operation-parser.js -@@ -35,7 +35,7 @@ export function parseFilterObject(obj, combinator) { - export function parseFilterList(list, combinator) { - const combine = combinator === 'and' ? AndNode.create : OrNode.create; - if (list.length === 0) { -- return ValueNode.createImmediate(combinator === 'and'); -+ return BinaryOperationNode.create(ValueNode.createImmediate(1), OperatorNode.create('='), ValueNode.createImmediate(combinator === 'and' ? 1 : 0)); - } - let node = toOperationNode(list[0]); - for (let i = 1; i < list.length; ++i) { -diff --git a/node_modules/kysely/dist/esm/parser/reference-parser.d.ts b/node_modules/kysely/dist/esm/parser/reference-parser.d.ts -index cd4d656..08204c7 100644 ---- a/node_modules/kysely/dist/esm/parser/reference-parser.d.ts -+++ b/node_modules/kysely/dist/esm/parser/reference-parser.d.ts -@@ -16,7 +16,8 @@ export type StringReference = AnyColumn | AnyCo - export type SimpleReferenceExpression = StringReference | DynamicReferenceBuilder; - export type ReferenceExpression = SimpleReferenceExpression | ExpressionOrFactory; - export type ReferenceExpressionOrList = ReferenceExpression | ReadonlyArray>; --export type ExtractTypeFromReferenceExpression = RE extends string ? SelectType> : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; -+export type ExtractTypeFromReferenceExpression = SelectType>; -+export type ExtractRawTypeFromReferenceExpression = RE extends string ? ExtractTypeFromStringReference : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; - export type ExtractTypeFromStringReference = RE extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : RE extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : RE extends AnyColumn ? ExtractColumnType : DV; - export type OrderedColumnName = C extends `${string} ${infer O}` ? O extends OrderByDirection ? C : never : C; - export type ExtractColumnNameFromOrderedColumnName = C extends `${infer CL} ${infer O}` ? O extends OrderByDirection ? CL : never : C; -diff --git a/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts b/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts -index d4b2dd0..2763b7c 100644 ---- a/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts -+++ b/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts -@@ -2,9 +2,12 @@ import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; - import { ExpressionBuilder } from '../expression/expression-builder.js'; - import { UpdateKeys, UpdateType } from '../util/column-type.js'; - import { ValueExpression } from './value-parser.js'; -+import { ExtractRawTypeFromReferenceExpression, ReferenceExpression } from './reference-parser.js'; - export type UpdateObject = { - [C in UpdateKeys]?: ValueExpression> | undefined; - }; - export type UpdateObjectFactory = (eb: ExpressionBuilder) => UpdateObject; --export type UpdateExpression = UpdateObject | UpdateObjectFactory; --export declare function parseUpdateExpression(update: UpdateExpression): ReadonlyArray; -+export type UpdateObjectExpression = UpdateObject | UpdateObjectFactory; -+export type ExtractUpdateTypeFromReferenceExpression = UpdateType>; -+export declare function parseUpdate(...args: [UpdateObjectExpression] | [ReferenceExpression, ValueExpression]): ReadonlyArray; -+export declare function parseUpdateObjectExpression(update: UpdateObjectExpression): ReadonlyArray; -diff --git a/node_modules/kysely/dist/esm/parser/update-set-parser.js b/node_modules/kysely/dist/esm/parser/update-set-parser.js -index 495e092..e644c94 100644 ---- a/node_modules/kysely/dist/esm/parser/update-set-parser.js -+++ b/node_modules/kysely/dist/esm/parser/update-set-parser.js -@@ -4,7 +4,16 @@ import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; - import { expressionBuilder, } from '../expression/expression-builder.js'; - import { isFunction } from '../util/object-utils.js'; - import { parseValueExpression } from './value-parser.js'; --export function parseUpdateExpression(update) { -+import { parseReferenceExpression, } from './reference-parser.js'; -+export function parseUpdate(...args) { -+ if (args.length === 2) { -+ return [ -+ ColumnUpdateNode.create(parseReferenceExpression(args[0]), parseValueExpression(args[1])), -+ ]; -+ } -+ return parseUpdateObjectExpression(args[0]); -+} -+export function parseUpdateObjectExpression(update) { - const updateObj = isFunction(update) ? update(expressionBuilder()) : update; - return Object.entries(updateObj) - .filter(([_, value]) => value !== undefined) -diff --git a/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js b/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js -index 0ccc8a1..6e212e6 100644 ---- a/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js -+++ b/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js -@@ -17,12 +17,14 @@ const ROOT_OPERATION_NODES = freeze({ - CreateTableNode: true, - CreateTypeNode: true, - CreateViewNode: true, -+ CreateTriggerNode: true, - DeleteQueryNode: true, - DropIndexNode: true, - DropSchemaNode: true, - DropTableNode: true, - DropTypeNode: true, - DropViewNode: true, -+ DropTriggerNode: true, - InsertQueryNode: true, - RawNode: true, - SelectQueryNode: true, -diff --git a/node_modules/kysely/dist/esm/query-builder/function-module.d.ts b/node_modules/kysely/dist/esm/query-builder/function-module.d.ts -index 592c5e9..8f326c1 100644 ---- a/node_modules/kysely/dist/esm/query-builder/function-module.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/function-module.d.ts -@@ -7,6 +7,7 @@ import { KyselyTypeError } from '../util/type-error.js'; - import { Equals, IsAny } from '../util/type-utils.js'; - import { AggregateFunctionBuilder } from './aggregate-function-builder.js'; - import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { Selectable } from '../util/column-type.js'; - /** - * Helpers for type safe SQL function calls. - * -@@ -17,21 +18,47 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * - * - * -- * This example uses the `fn` module to select some aggregates: -+ * This example shows how to create function calls. These examples also work in any -+ * other place (`where` calls, updates, inserts etc.). The only difference is that you -+ * leave out the alias (the `as` call) if you use these in any other place than `select`. - * - * ```ts -+ * import { sql } from 'kysely' -+ * - * const result = await db.selectFrom('person') - * .innerJoin('pet', 'pet.owner_id', 'person.id') -- * .select(({ fn }) => [ -+ * .select(({ fn, val, ref }) => [ - * 'person.id', - * - * // The `fn` module contains the most common - * // functions. - * fn.count('pet.id').as('pet_count'), - * -- * // You can call any function using the -- * // `agg` method -- * fn.agg('array_agg', ['pet.name']).as('pet_names') -+ * // You can call any function by calling `fn` -+ * // directly. The arguments are treated as column -+ * // references by default. If you want to pass in -+ * // values, use the `val` function. -+ * fn('concat', [ -+ * val('Ms. '), -+ * 'first_name', -+ * val(' '), -+ * 'last_name' -+ * ]).as('full_name_with_title'), -+ * -+ * // You can call any aggregate function using the -+ * // `fn.agg` function. -+ * fn.agg('array_agg', ['pet.name']).as('pet_names'), -+ * -+ * // And once again, you can use the `sql` -+ * // template tag. The template tag substitutions -+ * // are treated as values by default. If you want -+ * // to reference columns, you can use the `ref` -+ * // function. -+ * sql`concat( -+ * ${ref('first_name')}, -+ * ' ', -+ * ${ref('last_name')} -+ * )`.as('full_name') - * ]) - * .groupBy('person.id') - * .having((eb) => eb.fn.count('pet.id'), '>', 10) -@@ -44,11 +71,13 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * select - * "person"."id", - * count("pet"."id") as "pet_count", -- * array_agg("pet"."name") as "pet_names" -+ * concat($1, "first_name", $2, "last_name") as "full_name_with_title", -+ * array_agg("pet"."name") as "pet_names", -+ * concat("first_name", ' ', "last_name") as "full_name" - * from "person" - * inner join "pet" on "pet"."owner_id" = "person"."id" - * group by "person"."id" -- * having count("pet"."id") > $1 -+ * having count("pet"."id") > $3 - * ``` - */ - export interface FunctionModule { -@@ -540,6 +569,50 @@ export interface FunctionModule { - any>(expr: RE): Exclude, null> extends ReadonlyArray ? ExpressionWrapper : KyselyTypeError<'any(expr) call failed: expr must be an array'>; - any(subquery: SelectQueryBuilderExpression>): ExpressionWrapper; - any(expr: Expression>): ExpressionWrapper; -+ /** -+ * Creates a json_agg function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.jsonAgg('pet').as('pets')]) -+ * .groupBy('person.first_name') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", json_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."first_name" -+ * ``` -+ */ -+ jsonAgg>(table: T): AggregateFunctionBuilder[] : T extends Expression ? O[] : never>; -+ /** -+ * Creates a to_json function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.toJson('pet').as('pet')]) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", to_json("pet") as "pet" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * ``` -+ */ -+ toJson>(table: T): ExpressionWrapper : T extends Expression ? O : never>; - } - export declare function createFunctionModule(): FunctionModule; - type OutputBoundStringReference, O> = IsAny extends true ? C : Equals | null, O | null> extends true ? C : never; -diff --git a/node_modules/kysely/dist/esm/query-builder/function-module.js b/node_modules/kysely/dist/esm/query-builder/function-module.js -index 7e1d28d..3744008 100644 ---- a/node_modules/kysely/dist/esm/query-builder/function-module.js -+++ b/node_modules/kysely/dist/esm/query-builder/function-module.js -@@ -5,6 +5,8 @@ import { FunctionNode } from '../operation-node/function-node.js'; - import { parseReferenceExpressionOrList, } from '../parser/reference-parser.js'; - import { parseSelectAll } from '../parser/select-parser.js'; - import { AggregateFunctionBuilder } from './aggregate-function-builder.js'; -+import { isString } from '../util/object-utils.js'; -+import { parseTable } from '../parser/table-parser.js'; - export function createFunctionModule() { - const fn = (name, args) => { - return new ExpressionWrapper(FunctionNode.create(name, parseReferenceExpressionOrList(args))); -@@ -42,5 +44,17 @@ export function createFunctionModule() { - any(column) { - return fn('any', [column]); - }, -+ jsonAgg(table) { -+ return new AggregateFunctionBuilder({ -+ aggregateFunctionNode: AggregateFunctionNode.create('json_agg', [ -+ isString(table) ? parseTable(table) : table.toOperationNode(), -+ ]), -+ }); -+ }, -+ toJson(table) { -+ return new ExpressionWrapper(FunctionNode.create('to_json', [ -+ isString(table) ? parseTable(table) : table.toOperationNode(), -+ ])); -+ }, - }); - } -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts -index 6be4113..ffc6c3f 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts -@@ -5,7 +5,7 @@ import { InsertObjectOrList, InsertObjectOrListFactory } from '../parser/insert- - import { InsertQueryNode } from '../operation-node/insert-query-node.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { NarrowPartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; -+import { UpdateObjectExpression } from '../parser/update-set-parser.js'; - import { Compilable } from '../util/compilable.js'; - import { QueryExecutor } from '../query-executor/query-executor.js'; - import { QueryId } from '../util/query-id.js'; -@@ -60,13 +60,18 @@ export declare class InsertQueryBuilder implements R - * }) - * .executeTakeFirst() - * -+ * // `insertId` is only available on dialects that -+ * // automatically return the id of the inserted row -+ * // such as MySQL and SQLite. On PostgreSQL, for example, -+ * // you need to add a `returning` clause to the query to -+ * // get anything out. See the "returning data" example. - * console.log(result.insertId) - * ``` - * -- * The generated SQL (PostgreSQL): -+ * The generated SQL (MySQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3) -+ * insert into `person` (`first_name`, `last_name`, `age`) values (?, ?, ?) - * ``` - * - * -@@ -131,11 +136,14 @@ export declare class InsertQueryBuilder implements R - * ```ts - * import { sql } from 'kysely' - * -+ * const ani = "Ani" -+ * const ston = "ston" -+ * - * const result = await db - * .insertInto('person') - * .values(({ ref, selectFrom, fn }) => ({ - * first_name: 'Jennifer', -- * last_name: sql`${'Ani'} || ${'ston'}`, -+ * last_name: sql`concat(${ani}, ${ston})`, - * middle_name: ref('first_name'), - * age: selectFrom('person') - * .select(fn.avg('age') -@@ -147,8 +155,18 @@ export declare class InsertQueryBuilder implements R - * The generated SQL (PostgreSQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") -- * values ($1, $2 || $3, (select avg("age") as "avg_age" from "person")) -+ * insert into "person" ( -+ * "first_name", -+ * "last_name", -+ * "middle_name", -+ * "age" -+ * ) -+ * values ( -+ * $1, -+ * concat($2, $3), -+ * "first_name", -+ * (select avg("age") as "avg_age" from "person") -+ * ) - * ``` - * - * You can also use the callback version of subqueries or raw expressions: -@@ -208,7 +226,7 @@ export declare class InsertQueryBuilder implements R - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -218,7 +236,7 @@ export declare class InsertQueryBuilder implements R - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression: ExpressionOrFactory): InsertQueryBuilder; -@@ -414,7 +432,7 @@ export declare class InsertQueryBuilder implements R - * .onDuplicateKeyUpdate({ species: 'hamster' }) - * ``` - */ -- onDuplicateKeyUpdate(update: UpdateExpression): InsertQueryBuilder; -+ onDuplicateKeyUpdate(update: UpdateObjectExpression): InsertQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js -index 3cd23c3..d9f1cc8 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js -+++ b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js -@@ -3,7 +3,7 @@ import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js'; - import { parseInsertExpression, } from '../parser/insert-values-parser.js'; - import { InsertQueryNode } from '../operation-node/insert-query-node.js'; - import { QueryNode } from '../operation-node/query-node.js'; --import { parseUpdateExpression, } from '../parser/update-set-parser.js'; -+import { parseUpdateObjectExpression, } from '../parser/update-set-parser.js'; - import { preventAwait } from '../util/prevent-await.js'; - import { freeze } from '../util/object-utils.js'; - import { OnDuplicateKeyNode } from '../operation-node/on-duplicate-key-node.js'; -@@ -75,7 +75,7 @@ export class InsertQueryBuilder { - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -85,7 +85,7 @@ export class InsertQueryBuilder { - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression) { -@@ -308,7 +308,7 @@ export class InsertQueryBuilder { - return new InsertQueryBuilder({ - ...this.#props, - queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, { -- onDuplicateKey: OnDuplicateKeyNode.create(parseUpdateExpression(update)), -+ onDuplicateKey: OnDuplicateKeyNode.create(parseUpdateObjectExpression(update)), - }), - }); - } -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts b/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts -index c16fb08..d22a9e5 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts -@@ -23,7 +23,14 @@ - */ - export declare class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - readonly insertId: bigint | undefined; - /** -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-result.js b/node_modules/kysely/dist/esm/query-builder/insert-result.js -index ba00de9..ff11e8c 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-result.js -+++ b/node_modules/kysely/dist/esm/query-builder/insert-result.js -@@ -24,7 +24,14 @@ - */ - export class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - insertId; - /** -diff --git a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts -index 803563e..cfb9d96 100644 ---- a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts -@@ -4,7 +4,7 @@ import { OperationNodeSource } from '../operation-node/operation-node-source.js' - import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; - import { ExpressionOrFactory } from '../parser/expression-parser.js'; - import { ReferenceExpression } from '../parser/reference-parser.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; -+import { UpdateObjectExpression } from '../parser/update-set-parser.js'; - import { AnyColumn, SqlBool } from '../util/type-utils.js'; - import { WhereInterface } from './where-interface.js'; - export declare class OnConflictBuilder implements WhereInterface { -@@ -435,7 +435,7 @@ export declare class OnConflictBuilder implements Where - * ) - * ``` - */ -- doUpdateSet(update: UpdateExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; -+ doUpdateSet(update: UpdateObjectExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; - /** - * Simply calls the provided function passing `this` as the only argument. `$call` returns - * what the provided function returns. -diff --git a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js -index bd95015..02c9135 100644 ---- a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js -+++ b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js -@@ -3,7 +3,7 @@ import { ColumnNode } from '../operation-node/column-node.js'; - import { IdentifierNode } from '../operation-node/identifier-node.js'; - import { OnConflictNode } from '../operation-node/on-conflict-node.js'; - import { parseValueBinaryOperationOrExpression, parseReferentialBinaryOperation, } from '../parser/binary-operation-parser.js'; --import { parseUpdateExpression, } from '../parser/update-set-parser.js'; -+import { parseUpdateObjectExpression, } from '../parser/update-set-parser.js'; - import { freeze } from '../util/object-utils.js'; - import { preventAwait } from '../util/prevent-await.js'; - export class OnConflictBuilder { -@@ -173,7 +173,7 @@ export class OnConflictBuilder { - return new OnConflictUpdateBuilder({ - ...this.#props, - onConflictNode: OnConflictNode.cloneWith(this.#props.onConflictNode, { -- updates: parseUpdateExpression(update), -+ updates: parseUpdateObjectExpression(update), - }), - }); - } -diff --git a/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts -index 3d30eed..a71462a 100644 ---- a/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts -@@ -8,7 +8,7 @@ import { ReferenceExpression } from '../parser/reference-parser.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; - import { UpdateQueryNode } from '../operation-node/update-query-node.js'; --import { UpdateObject, UpdateObjectFactory } from '../parser/update-set-parser.js'; -+import { UpdateObject, UpdateObjectFactory, ExtractUpdateTypeFromReferenceExpression } from '../parser/update-set-parser.js'; - import { Compilable } from '../util/compilable.js'; - import { QueryExecutor } from '../query-executor/query-executor.js'; - import { QueryId } from '../util/query-id.js'; -@@ -24,6 +24,7 @@ import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../p - import { KyselyTypeError } from '../util/type-error.js'; - import { Streamable } from '../util/streamable.js'; - import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { ValueExpression } from '../parser/value-parser.js'; - export declare class UpdateQueryBuilder implements WhereInterface, ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: UpdateQueryBuilderProps); -@@ -625,6 +626,20 @@ export declare class UpdateQueryBuilder eb.val('61710)) -+ * .where('id', '=', '1') -+ * .executeTakeFirst() -+ * ``` -+ * - * On PostgreSQL you can chain `returning` to the query to get - * the updated rows' columns (or any other expression) as the - * return value: -@@ -682,6 +697,7 @@ export declare class UpdateQueryBuilder): UpdateQueryBuilder; - set(update: UpdateObjectFactory): UpdateQueryBuilder; -+ set>(key: RE, value: ValueExpression>): UpdateQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/esm/query-builder/update-query-builder.js b/node_modules/kysely/dist/esm/query-builder/update-query-builder.js -index b20c740..6487ecf 100644 ---- a/node_modules/kysely/dist/esm/query-builder/update-query-builder.js -+++ b/node_modules/kysely/dist/esm/query-builder/update-query-builder.js -@@ -4,7 +4,7 @@ import { parseTableExpressionOrList, } from '../parser/table-parser.js'; - import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { UpdateQueryNode } from '../operation-node/update-query-node.js'; --import { parseUpdateExpression, } from '../parser/update-set-parser.js'; -+import { parseUpdate, } from '../parser/update-set-parser.js'; - import { preventAwait } from '../util/prevent-await.js'; - import { freeze } from '../util/object-utils.js'; - import { UpdateResult } from './update-result.js'; -@@ -63,10 +63,10 @@ export class UpdateQueryBuilder { - queryNode: QueryNode.cloneWithJoin(this.#props.queryNode, parseJoin('FullJoin', args)), - }); - } -- set(update) { -+ set(...args) { - return new UpdateQueryBuilder({ - ...this.#props, -- queryNode: UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, parseUpdateExpression(update)), -+ queryNode: UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, parseUpdate(...args)), - }); - } - returning(selection) { -diff --git a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts -index dbd954a..2f73125 100644 ---- a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts -+++ b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts -@@ -48,7 +48,7 @@ import { RootOperationNode, QueryCompiler } from './query-compiler.js'; - import { HavingNode } from '../operation-node/having-node.js'; - import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; - import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { AlterTableColumnAlterationNode, AlterTableNode } from '../operation-node/alter-table-node.js'; - import { DropColumnNode } from '../operation-node/drop-column-node.js'; - import { RenameColumnNode } from '../operation-node/rename-column-node.js'; - import { AlterColumnNode } from '../operation-node/alter-column-node.js'; -@@ -88,6 +88,11 @@ import { JSONPathNode } from '../operation-node/json-path-node.js'; - import { JSONPathLegNode } from '../operation-node/json-path-leg-node.js'; - import { JSONOperatorChainNode } from '../operation-node/json-operator-chain-node.js'; - import { TupleNode } from '../operation-node/tuple-node.js'; -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+import { TriggerEventNode } from '../operation-node/trigger-event-node.js'; -+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js'; - export declare class DefaultQueryCompiler extends OperationNodeVisitor implements QueryCompiler { - #private; - protected get numParameters(): number; -@@ -124,6 +129,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitTable(node: TableNode): void; - protected visitSchemableIdentifier(node: SchemableIdentifierNode): void; - protected visitCreateTable(node: CreateTableNode): void; -+ protected visitCreateTrigger(node: CreateTriggerNode): void; -+ protected visitTriggerEvent(node: TriggerEventNode): void; -+ protected visitTriggerOrder(node: TriggerOrderNode): void; -+ protected visitDropTrigger(node: DropTriggerNode): void; - protected visitColumnDefinition(node: ColumnDefinitionNode): void; - protected getAutoIncrement(): string; - protected visitReferences(node: ReferencesNode): void; -@@ -184,6 +193,7 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitJSONPath(node: JSONPathNode): void; - protected visitJSONPathLeg(node: JSONPathLegNode): void; - protected visitJSONOperatorChain(node: JSONOperatorChainNode): void; -+ protected visitAddIndex(node: AddIndexNode): void; - protected append(str: string): void; - protected appendValue(parameter: unknown): void; - protected getLeftIdentifierWrapper(): string; -@@ -197,4 +207,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected addParameter(parameter: unknown): void; - protected appendImmediateValue(value: unknown): void; - protected sortSelectModifiers(arr: SelectModifierNode[]): ReadonlyArray; -+ protected compileColumnAlterations(columnAlterations: readonly AlterTableColumnAlterationNode[]): void; -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ protected announcesNewColumnDataType(): boolean; - } -diff --git a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js -index c75a92d..0762ebd 100644 ---- a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js -+++ b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js -@@ -1,4 +1,5 @@ - /// -+import { CreateTableNode } from '../operation-node/create-table-node.js'; - import { InsertQueryNode } from '../operation-node/insert-query-node.js'; - import { OperationNodeVisitor } from '../operation-node/operation-node-visitor.js'; - import { OperatorNode } from '../operation-node/operator-node.js'; -@@ -30,6 +31,7 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - const wrapInParens = this.parentNode !== undefined && - !ParensNode.is(this.parentNode) && - !InsertQueryNode.is(this.parentNode) && -+ !CreateTableNode.is(this.parentNode) && - !CreateViewNode.is(this.parentNode) && - !SetOperationNode.is(this.parentNode); - if (this.parentNode === undefined && node.explain) { -@@ -346,17 +348,83 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.append('if not exists '); - } - this.visitNode(node.table); -- this.append(' ('); -- this.compileList([...node.columns, ...(node.constraints ?? [])]); -- this.append(')'); -- if (node.onCommit) { -- this.append(' on commit '); -- this.append(node.onCommit); -+ if (node.selectQuery) { -+ this.append(' as '); -+ this.visitNode(node.selectQuery); - } -- if (node.endModifiers && node.endModifiers.length > 0) { -- this.append(' '); -- this.compileList(node.endModifiers, ' '); -+ else { -+ this.append(' ('); -+ this.compileList([...node.columns, ...(node.constraints ?? [])]); -+ this.append(')'); -+ if (node.onCommit) { -+ this.append(' on commit '); -+ this.append(node.onCommit); -+ } -+ if (node.endModifiers && node.endModifiers.length > 0) { -+ this.append(' '); -+ this.compileList(node.endModifiers, ' '); -+ } -+ } -+ } -+ visitCreateTrigger(node) { -+ if (!node.time) -+ throw new Error('Trigger time is required.'); -+ if (!node.events) -+ throw new Error('Trigger event is required.'); -+ if (!node.table) -+ throw new Error('Trigger table is required.'); -+ this.append('create '); -+ if (node.temporary) { -+ this.append('temporary '); - } -+ if (node.orReplace) { -+ this.append('or replace '); -+ } -+ this.append('trigger '); -+ if (node.ifNotExists) { -+ this.append('if not exists '); -+ } -+ this.visitNode(node.name); -+ this.append(` ${node.time} `); -+ this.compileList(node.events, ' or '); -+ this.append(' on '); -+ this.visitNode(node.table); -+ if (node.forEach) -+ this.append(` for each ${node.forEach} `); -+ if (node.when) { -+ this.append(' when '); -+ this.visitNode(node.when); -+ } -+ if (node.order) -+ this.visitNode(node.order); -+ if (node.queries) { -+ this.append(' begin '); -+ this.compileList(node.queries, '; '); -+ this.append('; '); -+ this.append('end'); -+ } -+ else if (node.function) { -+ this.append(' execute function '); -+ this.visitNode(node.function); -+ } -+ } -+ visitTriggerEvent(node) { -+ this.append(`${node.event} `); -+ if (node.event === 'update' && node.columns) { -+ this.append('of '); -+ this.compileList(node.columns, ', '); -+ } -+ } -+ visitTriggerOrder(node) { -+ this.append(`${node.order} `); -+ this.visitNode(node.otherTriggerName); -+ } -+ visitDropTrigger(node) { -+ this.append('drop trigger '); -+ if (node.ifExists) { -+ this.append('if exists '); -+ } -+ this.visitNode(node.name); - } - visitColumnDefinition(node) { - this.visitNode(node.column); -@@ -383,6 +451,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - if (node.unique) { - this.append(' unique'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.primaryKey) { - this.append(' primary key'); - } -@@ -563,6 +634,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.compileList(node.columns); - this.append(')'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.where) { - this.append(' '); - this.visitNode(node.where); -@@ -615,7 +689,11 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.name); - this.append(' '); - } -- this.append('unique ('); -+ this.append('unique'); -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } -+ this.append(' ('); - this.compileList(node.columns); - this.append(')'); - } -@@ -696,7 +774,13 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.dropConstraint); - } - if (node.columnAlterations) { -- this.compileList(node.columnAlterations); -+ this.compileColumnAlterations(node.columnAlterations); -+ } -+ if (node.addIndex) { -+ this.visitNode(node.addIndex); -+ } -+ if (node.dropIndex) { -+ this.visitNode(node.dropIndex); - } - } - visitAddColumn(node) { -@@ -718,7 +802,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.column); - this.append(' '); - if (node.dataType) { -- this.append('type '); -+ if (this.announcesNewColumnDataType()) { -+ this.append('type '); -+ } - this.visitNode(node.dataType); - if (node.dataTypeExpression) { - this.append('using '); -@@ -1004,6 +1090,23 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.values[i]); - } - } -+ visitAddIndex(node) { -+ this.append('add '); -+ if (node.unique) { -+ this.append('unique '); -+ } -+ this.append('index '); -+ this.visitNode(node.name); -+ if (node.columns) { -+ this.append(' ('); -+ this.compileList(node.columns); -+ this.append(')'); -+ } -+ if (node.using) { -+ this.append(' using '); -+ this.visitNode(node.using); -+ } -+ } - append(str) { - this.#sql += str; - } -@@ -1077,6 +1180,16 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - : 1); - return freeze(arr); - } -+ compileColumnAlterations(columnAlterations) { -+ this.compileList(columnAlterations); -+ } -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ announcesNewColumnDataType() { -+ return true; -+ } - } - const SELECT_MODIFIER_SQL = freeze({ - ForKeyShare: 'for key share', -diff --git a/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts b/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts -index e3a8555..e96bd90 100644 ---- a/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts -+++ b/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts -@@ -2,17 +2,19 @@ import { AlterTableNode } from '../operation-node/alter-table-node.js'; - import { CreateIndexNode } from '../operation-node/create-index-node.js'; - import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; - import { CreateTableNode } from '../operation-node/create-table-node.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; - import { CreateTypeNode } from '../operation-node/create-type-node.js'; - import { CreateViewNode } from '../operation-node/create-view-node.js'; - import { DropIndexNode } from '../operation-node/drop-index-node.js'; - import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; - import { DropTableNode } from '../operation-node/drop-table-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; - import { DropTypeNode } from '../operation-node/drop-type-node.js'; - import { DropViewNode } from '../operation-node/drop-view-node.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { RawNode } from '../operation-node/raw-node.js'; - import { CompiledQuery } from './compiled-query.js'; --export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode; -+export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode | CreateTriggerNode | DropTriggerNode; - /** - * a `QueryCompiler` compiles a query expressed as a tree of `OperationNodes` into SQL. - */ -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts -new file mode 100644 -index 0000000..b297698 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts -@@ -0,0 +1,104 @@ -+import { Expression } from '../expression/expression.js'; -+import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { IndexType } from '../operation-node/create-index-node.js'; -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { OrderedColumnName } from '../parser/reference-parser.js'; -+import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { QueryExecutor } from '../query-executor/query-executor.js'; -+import { Compilable } from '../util/compilable.js'; -+import { QueryId } from '../util/query-id.js'; -+export declare class AlterTableAddIndexBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: AlterTableAddIndexBuilderProps); -+ /** -+ * Makes the index unique. -+ */ -+ unique(): AlterTableAddIndexBuilder; -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column: OrderedColumnName): AlterTableAddIndexBuilder; -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns: OrderedColumnName[]): AlterTableAddIndexBuilder; -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression: Expression): AlterTableAddIndexBuilder; -+ /** -+ * Specifies the index type. -+ */ -+ using(indexType: IndexType): AlterTableAddIndexBuilder; -+ using(indexType: string): AlterTableAddIndexBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): AlterTableNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface AlterTableAddIndexBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: AlterTableNode; -+} -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js -new file mode 100644 -index 0000000..00a8ef4 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js -@@ -0,0 +1,143 @@ -+/// -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { RawNode } from '../operation-node/raw-node.js'; -+import { parseOrderedColumnName } from '../parser/reference-parser.js'; -+import { freeze } from '../util/object-utils.js'; -+import { preventAwait } from '../util/prevent-await.js'; -+export class AlterTableAddIndexBuilder { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ /** -+ * Makes the index unique. -+ */ -+ unique() { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ unique: true, -+ }), -+ }), -+ }); -+ } -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [parseOrderedColumnName(column)]), -+ }), -+ }); -+ } -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, columns.map(parseOrderedColumnName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [expression.toOperationNode()]), -+ }), -+ }); -+ } -+ using(indexType) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ using: RawNode.createWithSql(indexType), -+ }), -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+preventAwait(AlterTableAddIndexBuilder, "don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts b/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts -index b0726ca..4453c5b 100644 ---- a/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts -@@ -11,6 +11,8 @@ import { AlterColumnBuilderCallback } from './alter-column-builder.js'; - import { AlterTableExecutor } from './alter-table-executor.js'; - import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js'; - import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js'; -+import { AlterTableAddIndexBuilder } from './alter-table-add-index-builder.js'; -+import { UniqueConstraintNodeBuilderCallback } from './unique-constraint-builder.js'; - /** - * This builder can be used to create a `alter table` query. - */ -@@ -35,7 +37,7 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName: string, columns: string[]): AlterTableExecutor; -+ addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor; - /** - * See {@link CreateTableBuilder.addCheckConstraint} - */ -@@ -53,6 +55,44 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - */ - addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor; - dropConstraint(constraintName: string): AlterTableDropConstraintBuilder; -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName: string): AlterTableAddIndexBuilder; -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName: string): AlterTableExecutor; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-builder.js b/node_modules/kysely/dist/esm/schema/alter-table-builder.js -index f003eb8..2d8dac8 100644 ---- a/node_modules/kysely/dist/esm/schema/alter-table-builder.js -+++ b/node_modules/kysely/dist/esm/schema/alter-table-builder.js -@@ -23,6 +23,10 @@ import { AlterTableExecutor } from './alter-table-executor.js'; - import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js'; - import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js'; - import { PrimaryConstraintNode } from '../operation-node/primary-constraint-node.js'; -+import { DropIndexNode } from '../operation-node/drop-index-node.js'; -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { AlterTableAddIndexBuilder } from './alter-table-add-index-builder.js'; -+import { UniqueConstraintNodeBuilder, } from './unique-constraint-builder.js'; - /** - * This builder can be used to create a `alter table` query. - */ -@@ -83,11 +87,12 @@ export class AlterTableBuilder { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = noop) { -+ const uniqueConstraintBuilder = build(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(columns, constraintName))); - return new AlterTableExecutor({ - ...this.#props, - node: AlterTableNode.cloneWithTableProps(this.#props.node, { -- addConstraint: AddConstraintNode.create(UniqueConstraintNode.create(columns, constraintName)), -+ addConstraint: AddConstraintNode.create(uniqueConstraintBuilder.toOperationNode()), - }), - }); - } -@@ -134,6 +139,58 @@ export class AlterTableBuilder { - }), - }); - } -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.create(indexName), -+ }), -+ }); -+ } -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName) { -+ return new AlterTableExecutor({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ dropIndex: DropIndexNode.create(indexName), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts b/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts -index 2a99c4c..a76104c 100644 ---- a/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts -@@ -183,6 +183,31 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource { - * ``` - */ - modifyFront(modifier: Expression): ColumnDefinitionBuilder; -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct(): ColumnDefinitionBuilder; - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/esm/schema/column-definition-builder.js b/node_modules/kysely/dist/esm/schema/column-definition-builder.js -index 8ff9bf2..7111109 100644 ---- a/node_modules/kysely/dist/esm/schema/column-definition-builder.js -+++ b/node_modules/kysely/dist/esm/schema/column-definition-builder.js -@@ -256,6 +256,33 @@ export class ColumnDefinitionBuilder { - modifyFront(modifier) { - return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWithFrontModifier(this.#node, modifier.toOperationNode())); - } -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts -index 27502c4..b44e116 100644 ---- a/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts -@@ -22,6 +22,29 @@ export declare class CreateIndexBuilder implements OperationNodeSourc - * Makes the index unique. - */ - unique(): CreateIndexBuilder; -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct(): CreateIndexBuilder; - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/esm/schema/create-index-builder.js b/node_modules/kysely/dist/esm/schema/create-index-builder.js -index 7886ba1..5d40347 100644 ---- a/node_modules/kysely/dist/esm/schema/create-index-builder.js -+++ b/node_modules/kysely/dist/esm/schema/create-index-builder.js -@@ -37,6 +37,36 @@ export class CreateIndexBuilder { - }), - }); - } -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new CreateIndexBuilder({ -+ ...this.#props, -+ node: CreateIndexNode.cloneWith(this.#props.node, { -+ nullsNotDistinct: true, -+ }), -+ }); -+ } - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts -index e160575..3b7e7ce 100644 ---- a/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts -@@ -8,6 +8,7 @@ import { QueryId } from '../util/query-id.js'; - import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js'; - import { DataTypeExpression } from '../parser/data-type-parser.js'; - import { Expression } from '../expression/expression.js'; -+import { UniqueConstraintNodeBuilderCallback } from './unique-constraint-builder.js'; - /** - * This builder can be used to create a `create table` query. - */ -@@ -56,7 +57,7 @@ export declare class CreateTableBuilder builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName: string, columns: C[]): CreateTableBuilder; -+ addUniqueConstraint(constraintName: string, columns: C[], build?: UniqueConstraintNodeBuilderCallback): CreateTableBuilder; - /** - * Adds a check constraint. - * -@@ -205,6 +211,26 @@ export declare class CreateTableBuilder): CreateTableBuilder; -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression: Expression): CreateTableBuilder; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/create-table-builder.js b/node_modules/kysely/dist/esm/schema/create-table-builder.js -index 20fb8c5..f3423e2 100644 ---- a/node_modules/kysely/dist/esm/schema/create-table-builder.js -+++ b/node_modules/kysely/dist/esm/schema/create-table-builder.js -@@ -13,6 +13,8 @@ import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.j - import { CheckConstraintNode } from '../operation-node/check-constraint-node.js'; - import { parseTable } from '../parser/table-parser.js'; - import { parseOnCommitAction } from '../parser/on-commit-action-parse.js'; -+import { UniqueConstraintNodeBuilder, } from './unique-constraint-builder.js'; -+import { parseExpression } from '../parser/expression-parser.js'; - /** - * This builder can be used to create a `create table` query. - */ -@@ -84,7 +86,7 @@ export class CreateTableBuilder { - * ``` - * - * With this method, it's once again good to remember that Kysely just builds the -- * query and doesn't provide the same API for all databses. For example, some -+ * query and doesn't provide the same API for all databases. For example, some - * databases like older MySQL don't support the `references` statement in the - * column definition. Instead foreign key constraints need to be defined in the - * `create table` query. See the next example: -@@ -143,11 +145,17 @@ export class CreateTableBuilder { - * ```ts - * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name']) - * ``` -+ * -+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows: -+ * ```ts -+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = noop) { -+ const uniqueConstraintBuilder = build(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(columns, constraintName))); - return new CreateTableBuilder({ - ...this.#props, -- node: CreateTableNode.cloneWithConstraint(this.#props.node, UniqueConstraintNode.create(columns, constraintName)), -+ node: CreateTableNode.cloneWithConstraint(this.#props.node, uniqueConstraintBuilder.toOperationNode()), - }); - } - /** -@@ -270,6 +278,33 @@ export class CreateTableBuilder { - node: CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()), - }); - } -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression) { -+ return new CreateTableBuilder({ -+ ...this.#props, -+ node: CreateTableNode.cloneWith(this.#props.node, { -+ selectQuery: parseExpression(expression), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts -new file mode 100644 -index 0000000..c65746a ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts -@@ -0,0 +1,68 @@ -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; -+import { ReferenceExpression } from '../parser/reference-parser.js'; -+import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { QueryExecutor } from '../query-executor/query-executor.js'; -+import { Compilable } from '../util/compilable.js'; -+import { QueryId } from '../util/query-id.js'; -+import { AnyColumn, AnyColumnWithTable, SqlBool } from '../util/type-utils.js'; -+import { TriggerEvent } from '../operation-node/trigger-event-node.js'; -+import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { TriggerQueryCreator } from '../trigger-query-creator.js'; -+export type DatabaseWithOldNewTables = DB & { -+ old: DB[TB]; -+ new: DB[TB]; -+}; -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+export declare class CreateTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: CreateTriggerBuilderProps); -+ before(): CreateTriggerBuilder; -+ after(): CreateTriggerBuilder; -+ insteadOf(): CreateTriggerBuilder; -+ addEvent(event: E, columns?: E extends 'update' ? AnyColumn[] : never[]): CreateTriggerBuilder; -+ forEachRow(): CreateTriggerBuilder; -+ forEachStatement(): CreateTriggerBuilder; -+ follows(otherTriggerName: string): CreateTriggerBuilder; -+ precedes(otherTriggerName: string): CreateTriggerBuilder; -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table: TE, schema?: string): CreateTriggerBuilder; -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary(): CreateTriggerBuilder; -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists(): CreateTriggerBuilder; -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace(): CreateTriggerBuilder; -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build: QueryCreatorCallback): CreateTriggerBuilder; -+ function(name: string, args: ReadonlyArray>): CreateTriggerBuilder; -+ when, 'old' | 'new'>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList): CreateTriggerBuilder; -+ when(factory: ExpressionOrFactory, 'old' | 'new', SqlBool>): CreateTriggerBuilder; -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): CreateTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface CreateTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: CreateTriggerNode; -+} -+export type QueryCreatorCallback = (creator: TriggerQueryCreator) => OperationNodeSource; -diff --git a/node_modules/kysely/dist/esm/schema/create-trigger-builder.js b/node_modules/kysely/dist/esm/schema/create-trigger-builder.js -new file mode 100644 -index 0000000..d3eb721 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/create-trigger-builder.js -@@ -0,0 +1,177 @@ -+/// -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { QueryNode } from '../operation-node/query-node.js'; -+import { parseValueBinaryOperationOrExpression, } from '../parser/binary-operation-parser.js'; -+import { parseOrderedColumnName, parseReferenceExpressionOrList, } from '../parser/reference-parser.js'; -+import { ImmediateValueTransformer } from '../plugin/immediate-value/immediate-value-transformer.js'; -+import { freeze } from '../util/object-utils.js'; -+import { preventAwait } from '../util/prevent-await.js'; -+import { IdentifierNode } from '../operation-node/identifier-node.js'; -+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js'; -+import { TriggerEventNode, } from '../operation-node/trigger-event-node.js'; -+import { FunctionNode } from '../operation-node/function-node.js'; -+import { TriggerQueryCreator } from '../trigger-query-creator.js'; -+import { TableNode } from '../operation-node/table-node.js'; -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+export class CreateTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ before() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'before', -+ }), -+ }); -+ } -+ after() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'after', -+ }), -+ }); -+ } -+ insteadOf() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'instead of', -+ }), -+ }); -+ } -+ addEvent(event, columns) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWithEvent(this.#props.node, TriggerEventNode.create(event, columns?.map(parseOrderedColumnName))), -+ }); -+ } -+ forEachRow() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `row`, -+ }), -+ }); -+ } -+ forEachStatement() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `statement`, -+ }), -+ }); -+ } -+ follows(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ order: TriggerOrderNode.create('follows', IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ precedes(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ order: TriggerOrderNode.create('precedes', IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table, schema) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ table: schema -+ ? TableNode.createWithSchema(schema, table) -+ : TableNode.create(table), -+ }), -+ }); -+ } -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ temporary: true, -+ }), -+ }); -+ } -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ ifNotExists: true, -+ }), -+ }); -+ } -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ orReplace: true, -+ }), -+ }); -+ } -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build) { -+ const node = build(new TriggerQueryCreator({ executor: this.#props.executor })).toOperationNode(); -+ if (!QueryNode.is(node)) -+ throw new Error('Must be a query node.'); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWithQuery(this.#props.node, node), -+ }); -+ } -+ function(name, args) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ function: FunctionNode.create(name, parseReferenceExpressionOrList(args)), -+ }), -+ }); -+ } -+ when(...args) { -+ const transformer = new ImmediateValueTransformer(); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ when: transformer.transformNode(parseValueBinaryOperationOrExpression(args)), -+ }), -+ }); -+ } -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+preventAwait(CreateTriggerBuilder, "don't await CreateTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts -new file mode 100644 -index 0000000..b0e3fce ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts -@@ -0,0 +1,25 @@ -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { Compilable } from '../util/compilable.js'; -+import { QueryExecutor } from '../query-executor/query-executor.js'; -+import { QueryId } from '../util/query-id.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+export declare class DropTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: DropTriggerBuilderProps); -+ ifExists(): DropTriggerBuilder; -+ cascade(): DropTriggerBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): DropTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface DropTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: DropTriggerNode; -+} -diff --git a/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js -new file mode 100644 -index 0000000..0a0f2e1 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js -@@ -0,0 +1,43 @@ -+/// -+import { preventAwait } from '../util/prevent-await.js'; -+import { freeze } from '../util/object-utils.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+export class DropTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ ifExists() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: DropTriggerNode.cloneWith(this.#props.node, { -+ ifExists: true, -+ }), -+ }); -+ } -+ cascade() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: DropTriggerNode.cloneWith(this.#props.node, { -+ cascade: true, -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+preventAwait(DropTriggerBuilder, "don't await DropTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/esm/schema/schema.d.ts b/node_modules/kysely/dist/esm/schema/schema.d.ts -index 8634b84..19cf68c 100644 ---- a/node_modules/kysely/dist/esm/schema/schema.d.ts -+++ b/node_modules/kysely/dist/esm/schema/schema.d.ts -@@ -11,10 +11,12 @@ import { DropViewBuilder } from './drop-view-builder.js'; - import { KyselyPlugin } from '../plugin/kysely-plugin.js'; - import { CreateTypeBuilder } from './create-type-builder.js'; - import { DropTypeBuilder } from './drop-type-builder.js'; -+import { CreateTriggerBuilder } from './create-trigger-builder.js'; -+import { DropTriggerBuilder } from './drop-trigger-builder.js'; - /** - * Provides methods for building database schema. - */ --export declare class SchemaModule { -+export declare class SchemaModule { - #private; - constructor(executor: QueryExecutor); - /** -@@ -201,16 +203,18 @@ export declare class SchemaModule { - * ``` - */ - dropType(typeName: string): DropTypeBuilder; -+ createTrigger(name: string): CreateTriggerBuilder; -+ dropTrigger(triggerName: string): DropTriggerBuilder; - /** - * Returns a copy of this schema module with the given plugin installed. - */ -- withPlugin(plugin: KyselyPlugin): SchemaModule; -+ withPlugin(plugin: KyselyPlugin): SchemaModule; - /** - * Returns a copy of this schema module without any plugins. - */ -- withoutPlugins(): SchemaModule; -+ withoutPlugins(): SchemaModule; - /** - * See {@link QueryCreator.withSchema} - */ -- withSchema(schema: string): SchemaModule; -+ withSchema(schema: string): SchemaModule; - } -diff --git a/node_modules/kysely/dist/esm/schema/schema.js b/node_modules/kysely/dist/esm/schema/schema.js -index 8244039..4ba6917 100644 ---- a/node_modules/kysely/dist/esm/schema/schema.js -+++ b/node_modules/kysely/dist/esm/schema/schema.js -@@ -25,6 +25,11 @@ import { DropTypeBuilder } from './drop-type-builder.js'; - import { CreateTypeNode } from '../operation-node/create-type-node.js'; - import { DropTypeNode } from '../operation-node/drop-type-node.js'; - import { parseSchemableIdentifier } from '../parser/identifier-parser.js'; -+import { CreateTriggerBuilder } from './create-trigger-builder.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { IdentifierNode } from '../operation-node/identifier-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+import { DropTriggerBuilder } from './drop-trigger-builder.js'; - /** - * Provides methods for building database schema. - */ -@@ -283,6 +288,20 @@ export class SchemaModule { - node: DropTypeNode.create(parseSchemableIdentifier(typeName)), - }); - } -+ createTrigger(name) { -+ return new CreateTriggerBuilder({ -+ queryId: createQueryId(), -+ executor: this.#executor, -+ node: CreateTriggerNode.create(IdentifierNode.create(name)), -+ }); -+ } -+ dropTrigger(triggerName) { -+ return new DropTriggerBuilder({ -+ queryId: createQueryId(), -+ executor: this.#executor, -+ node: DropTriggerNode.create(parseSchemableIdentifier(triggerName)), -+ }); -+ } - /** - * Returns a copy of this schema module with the given plugin installed. - */ -diff --git a/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts -new file mode 100644 -index 0000000..4362213 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts -@@ -0,0 +1,14 @@ -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js'; -+export declare class UniqueConstraintNodeBuilder implements OperationNodeSource { -+ #private; -+ constructor(node: UniqueConstraintNode); -+ toOperationNode(): UniqueConstraintNode; -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct(): UniqueConstraintNodeBuilder; -+} -+export type UniqueConstraintNodeBuilderCallback = (builder: UniqueConstraintNodeBuilder) => UniqueConstraintNodeBuilder; -diff --git a/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js -new file mode 100644 -index 0000000..dba8cef ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js -@@ -0,0 +1,21 @@ -+/// -+import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js'; -+import { preventAwait } from '../util/prevent-await.js'; -+export class UniqueConstraintNodeBuilder { -+ #node; -+ constructor(node) { -+ this.#node = node; -+ } -+ toOperationNode() { -+ return this.#node; -+ } -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct() { -+ return new UniqueConstraintNodeBuilder(UniqueConstraintNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } -+} -+preventAwait(UniqueConstraintNodeBuilder, "don't await UniqueConstraintNodeBuilder instances directly."); -diff --git a/node_modules/kysely/dist/esm/trigger-query-creator.d.ts b/node_modules/kysely/dist/esm/trigger-query-creator.d.ts -new file mode 100644 -index 0000000..51d0b2f ---- /dev/null -+++ b/node_modules/kysely/dist/esm/trigger-query-creator.d.ts -@@ -0,0 +1,35 @@ -+import { SelectQueryBuilder } from './query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from './query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from './query-builder/update-query-builder.js'; -+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from './parser/table-parser.js'; -+import { InsertResult } from './query-builder/insert-result.js'; -+import { DeleteResult } from './query-builder/delete-result.js'; -+import { UpdateResult } from './query-builder/update-result.js'; -+import { KyselyPlugin } from './plugin/kysely-plugin.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from './parser/select-parser.js'; -+import { QueryCreatorProps } from './query-creator.js'; -+import { DatabaseWithOldNewTables } from './schema/create-trigger-builder.js'; -+export declare class TriggerQueryCreator { -+ #private; -+ constructor(props: QueryCreatorProps); -+ selectFrom(from: TE[]): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE[]): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectFrom(from: TE): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder & PickTableWithAlias, TE>, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectNoFrom>(selections: ReadonlyArray): SelectQueryBuilder>; -+ selectNoFrom>(callback: CB): SelectQueryBuilder>; -+ selectNoFrom>(selection: SE): SelectQueryBuilder>; -+ insertInto(table: T): InsertQueryBuilder; -+ replaceInto(table: T): InsertQueryBuilder; -+ deleteFrom(from: TR[]): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(tables: TR[]): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ deleteFrom(from: TR): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(table: TR): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ updateTable(table: TR): UpdateQueryBuilder, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, ExtractTableAlias, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, FromTables, FromTables, UpdateResult>; -+ withPlugin(plugin: KyselyPlugin): TriggerQueryCreator; -+ withoutPlugins(): TriggerQueryCreator; -+} -diff --git a/node_modules/kysely/dist/esm/trigger-query-creator.js b/node_modules/kysely/dist/esm/trigger-query-creator.js -new file mode 100644 -index 0000000..c8960dc ---- /dev/null -+++ b/node_modules/kysely/dist/esm/trigger-query-creator.js -@@ -0,0 +1,73 @@ -+/// -+import { createSelectQueryBuilder, } from './query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from './query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from './query-builder/update-query-builder.js'; -+import { DeleteQueryNode } from './operation-node/delete-query-node.js'; -+import { InsertQueryNode } from './operation-node/insert-query-node.js'; -+import { SelectQueryNode } from './operation-node/select-query-node.js'; -+import { UpdateQueryNode } from './operation-node/update-query-node.js'; -+import { parseTable, parseTableExpression, parseTableExpressionOrList, } from './parser/table-parser.js'; -+import { createQueryId } from './util/query-id.js'; -+import { freeze } from './util/object-utils.js'; -+import { parseSelectArg, } from './parser/select-parser.js'; -+export class TriggerQueryCreator { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ selectFrom(from) { -+ return createSelectQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: SelectQueryNode.createFrom(parseTableExpressionOrList(from), this.#props.withNode), -+ }); -+ } -+ selectNoFrom(selection) { -+ return createSelectQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: SelectQueryNode.cloneWithSelections(SelectQueryNode.create(this.#props.withNode), parseSelectArg(selection)), -+ }); -+ } -+ insertInto(table) { -+ return new InsertQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: InsertQueryNode.create(parseTable(table), this.#props.withNode), -+ }); -+ } -+ replaceInto(table) { -+ return new InsertQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: InsertQueryNode.create(parseTable(table), this.#props.withNode, true), -+ }); -+ } -+ deleteFrom(tables) { -+ return new DeleteQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: DeleteQueryNode.create(parseTableExpressionOrList(tables), this.#props.withNode), -+ }); -+ } -+ updateTable(table) { -+ return new UpdateQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: UpdateQueryNode.create(parseTableExpression(table), this.#props.withNode), -+ }); -+ } -+ withPlugin(plugin) { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withPlugin(plugin), -+ }); -+ } -+ withoutPlugins() { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withoutPlugins(), -+ }); -+ } -+} -diff --git a/node_modules/kysely/dist/esm/util/object-utils.d.ts b/node_modules/kysely/dist/esm/util/object-utils.d.ts -index 1b9f563..c9fa82b 100644 ---- a/node_modules/kysely/dist/esm/util/object-utils.d.ts -+++ b/node_modules/kysely/dist/esm/util/object-utils.d.ts -@@ -6,7 +6,7 @@ export declare function isNumber(obj: unknown): obj is number; - export declare function isBoolean(obj: unknown): obj is boolean; - export declare function isNull(obj: unknown): obj is null; - export declare function isDate(obj: unknown): obj is Date; --export declare function isBigInt(obj: unknown): obj is BigInt; -+export declare function isBigInt(obj: unknown): obj is bigint; - export declare function isBuffer(obj: unknown): obj is { - length: number; - }; -diff --git a/node_modules/kysely/helpers/sqlite.js b/node_modules/kysely/helpers/sqlite.js -index cc6b411..a579b48 100644 ---- a/node_modules/kysely/helpers/sqlite.js -+++ b/node_modules/kysely/helpers/sqlite.js -@@ -1 +1 @@ --module.exports = require('../dist/cjs/helpers/sqlite.js') -\ No newline at end of file -+module.exports = require('kysely/dist/cjs/helpers/sqlite.js') -\ No newline at end of file diff --git a/apps/theme-builder/package-lock.json b/apps/theme-builder/package-lock.json index ade433447..940c86421 100644 --- a/apps/theme-builder/package-lock.json +++ b/apps/theme-builder/package-lock.json @@ -17,7 +17,7 @@ "@notesnook/web": "file:../web", "@theme-ui/components": "^0.14.7", "@theme-ui/core": "^0.14.7", - "@trpc/client": "^10.38.3", + "@trpc/client": "10.45.2", "@types/react-dom": "^18.3.0", "clipboard-polyfill": "^4.0.0", "file-saver": "^2.0.5", @@ -979,7 +979,7 @@ }, "../web": { "name": "@notesnook/web", - "version": "3.0.13", + "version": "3.0.17", "hasInstallScript": true, "license": "GPL-3.0-or-later", "dependencies": { @@ -993,7 +993,7 @@ "@henrygd/queue": "^1.0.6", "@mdi/js": "^7.2.96", "@mdi/react": "^1.6.1", - "@notesnook-importer/core": "^2.0.0", + "@notesnook-importer/core": "^2.1.1", "@notesnook/common": "file:../../packages/common", "@notesnook/core": "file:../../packages/core", "@notesnook/crypto": "file:../../packages/crypto", @@ -1007,13 +1007,14 @@ "@notesnook/web-clipper": "file:../../extensions/web-clipper", "@react-pdf-viewer/core": "^3.12.0", "@react-pdf-viewer/toolbar": "^3.12.0", - "@tanstack/react-query": "^4.29.19", + "@streetwriters/kysely": "^0.27.4", + "@tanstack/react-query": "^4.36.1", "@tanstack/react-virtual": "^3.0.1", "@theme-ui/color": "^0.16.1", "@theme-ui/components": "^0.16.1", "@theme-ui/core": "^0.16.1", - "@trpc/client": "10.38.3", - "@trpc/react-query": "10.38.3", + "@trpc/client": "10.45.2", + "@trpc/react-query": "10.45.2", "@zip.js/zip.js": "^2.7.32", "async-mutex": "^0.4.0", "axios": "^1.3.4", @@ -1031,8 +1032,6 @@ "hash-wasm": "^4.9.0", "hotkeys-js": "^3.8.3", "katex": "0.16.2", - "kysely": "^0.26.3", - "libsodium-wrappers": "^0.7.13", "mac-scrollbar": "^0.13.5", "marked": "^4.1.0", "mutative": "^1.0.6", @@ -1068,7 +1067,7 @@ "@playwright/test": "^1.43.1", "@swc/core": "^1.5.24", "@swc/plugin-react-remove-properties": "^2.0.4", - "@trpc/server": "10.38.3", + "@trpc/server": "10.45.2", "@types/babel__core": "^7.20.1", "@types/event-source-polyfill": "^1.0.1", "@types/file-saver": "^2.0.5", @@ -2019,14 +2018,14 @@ } }, "node_modules/@trpc/client": { - "version": "10.38.3", - "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.38.3.tgz", - "integrity": "sha512-hHPsElTL4sB+UGzuAZ4iwRVHjELrk/Nsl2owsYw9ITJz3EY7VWRsQ6vK48kJvlHPYPhP+efID5UOgyZMs4bFXA==", + "version": "10.45.2", + "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.45.2.tgz", + "integrity": "sha512-ykALM5kYWTLn1zYuUOZ2cPWlVfrXhc18HzBDyRhoPYN0jey4iQHEFSEowfnhg1RvYnrAVjNBgHNeSAXjrDbGwg==", "funding": [ "https://trpc.io/sponsor" ], "peerDependencies": { - "@trpc/server": "10.38.3" + "@trpc/server": "10.45.2" } }, "node_modules/@types/babel__core": { diff --git a/apps/theme-builder/package.json b/apps/theme-builder/package.json index 32e61c286..7fbfac87e 100644 --- a/apps/theme-builder/package.json +++ b/apps/theme-builder/package.json @@ -16,7 +16,7 @@ "@notesnook/web": "file:../web", "@theme-ui/components": "^0.14.7", "@theme-ui/core": "^0.14.7", - "@trpc/client": "^10.38.3", + "@trpc/client": "10.45.2", "@types/react-dom": "^18.3.0", "clipboard-polyfill": "^4.0.0", "file-saver": "^2.0.5", diff --git a/apps/web/package-lock.json b/apps/web/package-lock.json index 922d4f4a8..7b0222cd7 100644 --- a/apps/web/package-lock.json +++ b/apps/web/package-lock.json @@ -34,13 +34,14 @@ "@notesnook/web-clipper": "file:../../extensions/web-clipper", "@react-pdf-viewer/core": "^3.12.0", "@react-pdf-viewer/toolbar": "^3.12.0", - "@tanstack/react-query": "^4.29.19", + "@streetwriters/kysely": "^0.27.4", + "@tanstack/react-query": "^4.36.1", "@tanstack/react-virtual": "^3.0.1", "@theme-ui/color": "^0.16.1", "@theme-ui/components": "^0.16.1", "@theme-ui/core": "^0.16.1", - "@trpc/client": "10.38.3", - "@trpc/react-query": "10.38.3", + "@trpc/client": "10.45.2", + "@trpc/react-query": "10.45.2", "@zip.js/zip.js": "^2.7.32", "async-mutex": "^0.4.0", "axios": "^1.3.4", @@ -58,7 +59,6 @@ "hash-wasm": "^4.9.0", "hotkeys-js": "^3.8.3", "katex": "0.16.2", - "kysely": "^0.26.3", "mac-scrollbar": "^0.13.5", "marked": "^4.1.0", "mutative": "^1.0.6", @@ -94,7 +94,7 @@ "@playwright/test": "^1.43.1", "@swc/core": "^1.5.24", "@swc/plugin-react-remove-properties": "^2.0.4", - "@trpc/server": "10.38.3", + "@trpc/server": "10.45.2", "@types/babel__core": "^7.20.1", "@types/event-source-polyfill": "^1.0.1", "@types/file-saver": "^2.0.5", @@ -2506,7 +2506,7 @@ }, "../../extensions/web-clipper/node_modules/@gar/promisify": { "version": "1.1.3", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@humanwhocodes/config-array": { @@ -3776,7 +3776,7 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/fs": { "version": "2.1.2", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "@gar/promisify": "^1.1.3", @@ -3788,7 +3788,7 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/fs/node_modules/lru-cache": { "version": "6.0.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -3799,7 +3799,7 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/fs/node_modules/semver": { "version": "7.5.4", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -3813,12 +3813,12 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/fs/node_modules/yallist": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/@npmcli/move-file": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "mkdirp": "^1.0.4", @@ -3830,7 +3830,7 @@ }, "../../extensions/web-clipper/node_modules/@npmcli/move-file/node_modules/rimraf": { "version": "3.0.2", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -4428,7 +4428,7 @@ }, "../../extensions/web-clipper/node_modules/@tootallnate/once": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 10" @@ -4674,7 +4674,7 @@ }, "../../extensions/web-clipper/node_modules/@types/minimist": { "version": "1.2.5", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@types/node": { @@ -4693,7 +4693,7 @@ }, "../../extensions/web-clipper/node_modules/@types/normalize-package-data": { "version": "2.4.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@types/parse-json": { @@ -4714,7 +4714,7 @@ }, "../../extensions/web-clipper/node_modules/@types/prop-types": { "version": "15.7.11", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@types/q": { @@ -4731,7 +4731,7 @@ }, "../../extensions/web-clipper/node_modules/@types/react": { "version": "18.2.39", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -4776,7 +4776,7 @@ }, "../../extensions/web-clipper/node_modules/@types/scheduler": { "version": "0.16.8", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/@types/semver": { @@ -5326,7 +5326,7 @@ }, "../../extensions/web-clipper/node_modules/abbrev": { "version": "1.1.1", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/abort-controller": { @@ -5895,7 +5895,7 @@ }, "../../extensions/web-clipper/node_modules/agentkeepalive": { "version": "4.5.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "humanize-ms": "^1.2.1" @@ -5906,7 +5906,7 @@ }, "../../extensions/web-clipper/node_modules/aggregate-error": { "version": "3.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", @@ -6045,12 +6045,12 @@ }, "../../extensions/web-clipper/node_modules/aproba": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/are-we-there-yet": { "version": "3.0.1", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "delegates": "^1.0.0", @@ -6231,7 +6231,7 @@ }, "../../extensions/web-clipper/node_modules/arrify": { "version": "1.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -6267,7 +6267,7 @@ }, "../../extensions/web-clipper/node_modules/async-foreach": { "version": "0.1.3", - "devOptional": true, + "dev": true, "engines": { "node": "*" } @@ -7030,7 +7030,7 @@ }, "../../extensions/web-clipper/node_modules/cacache": { "version": "16.1.3", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "@npmcli/fs": "^2.1.0", @@ -7058,7 +7058,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -7066,7 +7066,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/glob": { "version": "8.1.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -7084,7 +7084,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/lru-cache": { "version": "7.18.3", - "devOptional": true, + "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -7092,7 +7092,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/minimatch": { "version": "5.1.6", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -7103,7 +7103,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/p-map": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" @@ -7117,7 +7117,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/rimraf": { "version": "3.0.2", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -7131,7 +7131,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/rimraf/node_modules/brace-expansion": { "version": "1.1.11", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -7140,7 +7140,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/rimraf/node_modules/glob": { "version": "7.2.3", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -7159,7 +7159,7 @@ }, "../../extensions/web-clipper/node_modules/cacache/node_modules/rimraf/node_modules/minimatch": { "version": "3.1.2", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -7247,7 +7247,7 @@ }, "../../extensions/web-clipper/node_modules/camelcase-keys": { "version": "6.2.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "camelcase": "^5.3.1", @@ -7420,7 +7420,7 @@ }, "../../extensions/web-clipper/node_modules/chownr": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "ISC", "engines": { "node": ">=10" @@ -7486,7 +7486,7 @@ }, "../../extensions/web-clipper/node_modules/clean-stack": { "version": "2.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -7626,7 +7626,7 @@ }, "../../extensions/web-clipper/node_modules/color-support": { "version": "1.1.3", - "devOptional": true, + "dev": true, "license": "ISC", "bin": { "color-support": "bin.js" @@ -7819,7 +7819,7 @@ }, "../../extensions/web-clipper/node_modules/console-control-strings": { "version": "1.1.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/content-disposition": { @@ -8493,7 +8493,7 @@ }, "../../extensions/web-clipper/node_modules/decamelize": { "version": "1.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8501,7 +8501,7 @@ }, "../../extensions/web-clipper/node_modules/decamelize-keys": { "version": "1.1.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "decamelize": "^1.1.0", @@ -8516,7 +8516,7 @@ }, "../../extensions/web-clipper/node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8712,7 +8712,7 @@ }, "../../extensions/web-clipper/node_modules/delegates": { "version": "1.0.0", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/depd": { @@ -9060,7 +9060,7 @@ }, "../../extensions/web-clipper/node_modules/env-paths": { "version": "2.2.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -9079,7 +9079,7 @@ }, "../../extensions/web-clipper/node_modules/err-code": { "version": "2.0.3", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/error-ex": { @@ -10785,7 +10785,7 @@ }, "../../extensions/web-clipper/node_modules/fs-minipass": { "version": "2.1.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -10883,7 +10883,7 @@ }, "../../extensions/web-clipper/node_modules/gauge": { "version": "4.0.4", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "aproba": "^1.0.3 || ^2.0.0", @@ -10901,7 +10901,7 @@ }, "../../extensions/web-clipper/node_modules/gaze": { "version": "1.1.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "globule": "^1.0.0" @@ -10950,7 +10950,7 @@ }, "../../extensions/web-clipper/node_modules/get-stdin": { "version": "4.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -11114,7 +11114,7 @@ }, "../../extensions/web-clipper/node_modules/globule": { "version": "1.3.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "glob": "~7.1.1", @@ -11127,7 +11127,7 @@ }, "../../extensions/web-clipper/node_modules/globule/node_modules/glob": { "version": "7.1.7", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -11146,7 +11146,7 @@ }, "../../extensions/web-clipper/node_modules/globule/node_modules/minimatch": { "version": "3.0.8", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -11204,7 +11204,7 @@ }, "../../extensions/web-clipper/node_modules/growly": { "version": "1.3.0", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/gzip-size": { @@ -11246,7 +11246,7 @@ }, "../../extensions/web-clipper/node_modules/hard-rejection": { "version": "2.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -11315,7 +11315,7 @@ }, "../../extensions/web-clipper/node_modules/has-unicode": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/has-yarn": { @@ -11362,7 +11362,7 @@ }, "../../extensions/web-clipper/node_modules/hosted-git-info": { "version": "4.1.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -11373,7 +11373,7 @@ }, "../../extensions/web-clipper/node_modules/hosted-git-info/node_modules/lru-cache": { "version": "6.0.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -11384,7 +11384,7 @@ }, "../../extensions/web-clipper/node_modules/hosted-git-info/node_modules/yallist": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/hpack.js": { @@ -11532,7 +11532,7 @@ }, "../../extensions/web-clipper/node_modules/http-cache-semantics": { "version": "4.1.1", - "devOptional": true, + "dev": true, "license": "BSD-2-Clause" }, "../../extensions/web-clipper/node_modules/http-deceiver": { @@ -11571,7 +11571,7 @@ }, "../../extensions/web-clipper/node_modules/http-proxy-agent": { "version": "5.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@tootallnate/once": "2", @@ -11671,7 +11671,7 @@ }, "../../extensions/web-clipper/node_modules/humanize-ms": { "version": "1.2.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ms": "^2.0.0" @@ -11816,7 +11816,7 @@ }, "../../extensions/web-clipper/node_modules/indent-string": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -11824,7 +11824,7 @@ }, "../../extensions/web-clipper/node_modules/infer-owner": { "version": "1.0.4", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/inflight": { @@ -11876,7 +11876,7 @@ }, "../../extensions/web-clipper/node_modules/ip": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/ipaddr.js": { @@ -12088,7 +12088,7 @@ }, "../../extensions/web-clipper/node_modules/is-lambda": { "version": "1.0.1", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/is-map": { @@ -12195,7 +12195,7 @@ }, "../../extensions/web-clipper/node_modules/is-plain-obj": { "version": "1.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -15473,7 +15473,7 @@ }, "../../extensions/web-clipper/node_modules/js-base64": { "version": "2.6.4", - "devOptional": true, + "dev": true, "license": "BSD-3-Clause" }, "../../extensions/web-clipper/node_modules/js-tokens": { @@ -16037,7 +16037,7 @@ }, "../../extensions/web-clipper/node_modules/make-fetch-happen": { "version": "10.2.1", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "agentkeepalive": "^4.2.1", @@ -16063,7 +16063,7 @@ }, "../../extensions/web-clipper/node_modules/make-fetch-happen/node_modules/lru-cache": { "version": "7.18.3", - "devOptional": true, + "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -16089,7 +16089,7 @@ }, "../../extensions/web-clipper/node_modules/map-obj": { "version": "4.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -16139,7 +16139,7 @@ }, "../../extensions/web-clipper/node_modules/meow": { "version": "9.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/minimist": "^1.2.0", @@ -16242,7 +16242,7 @@ }, "../../extensions/web-clipper/node_modules/min-indent": { "version": "1.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -16333,7 +16333,7 @@ }, "../../extensions/web-clipper/node_modules/minimist-options": { "version": "4.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "arrify": "^1.0.1", @@ -16346,7 +16346,7 @@ }, "../../extensions/web-clipper/node_modules/minipass": { "version": "3.3.6", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -16357,7 +16357,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-collect": { "version": "1.0.2", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -16368,7 +16368,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-fetch": { "version": "2.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "minipass": "^3.1.6", @@ -16384,7 +16384,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-flush": { "version": "1.0.5", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -16395,7 +16395,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-pipeline": { "version": "1.2.4", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -16406,7 +16406,7 @@ }, "../../extensions/web-clipper/node_modules/minipass-sized": { "version": "1.0.3", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -16417,12 +16417,12 @@ }, "../../extensions/web-clipper/node_modules/minipass/node_modules/yallist": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/minizlib": { "version": "2.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "minipass": "^3.0.0", @@ -16434,12 +16434,12 @@ }, "../../extensions/web-clipper/node_modules/minizlib/node_modules/yallist": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/mkdirp": { "version": "1.0.4", - "devOptional": true, + "dev": true, "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" @@ -16570,7 +16570,7 @@ }, "../../extensions/web-clipper/node_modules/nan": { "version": "2.18.0", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/nanoid": { @@ -16669,7 +16669,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp": { "version": "8.4.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "env-paths": "^2.2.0", @@ -16692,7 +16692,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/@npmcli/fs": { "version": "1.1.1", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "@gar/promisify": "^1.0.1", @@ -16701,7 +16701,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/@npmcli/move-file": { "version": "1.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "mkdirp": "^1.0.4", @@ -16713,7 +16713,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/@tootallnate/once": { "version": "1.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 6" @@ -16721,7 +16721,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/cacache": { "version": "15.3.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "@npmcli/fs": "^1.0.0", @@ -16749,7 +16749,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/http-proxy-agent": { "version": "4.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@tootallnate/once": "1", @@ -16762,7 +16762,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/lru-cache": { "version": "6.0.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -16773,7 +16773,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/make-fetch-happen": { "version": "9.1.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "agentkeepalive": "^4.1.3", @@ -16799,7 +16799,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/minipass-fetch": { "version": "1.4.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "minipass": "^3.1.0", @@ -16815,7 +16815,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/p-map": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" @@ -16829,7 +16829,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/rimraf": { "version": "3.0.2", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -16843,7 +16843,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/semver": { "version": "7.5.4", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -16857,7 +16857,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/socks-proxy-agent": { "version": "6.2.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "agent-base": "^6.0.2", @@ -16870,7 +16870,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/ssri": { "version": "8.0.1", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.1.1" @@ -16881,7 +16881,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/unique-filename": { "version": "1.1.1", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "unique-slug": "^2.0.0" @@ -16889,7 +16889,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/unique-slug": { "version": "2.0.2", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" @@ -16897,7 +16897,7 @@ }, "../../extensions/web-clipper/node_modules/node-gyp/node_modules/yallist": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/node-int64": { @@ -16906,7 +16906,7 @@ }, "../../extensions/web-clipper/node_modules/node-notifier": { "version": "10.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "growly": "^1.3.0", @@ -16919,7 +16919,7 @@ }, "../../extensions/web-clipper/node_modules/node-notifier/node_modules/lru-cache": { "version": "6.0.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -16930,7 +16930,7 @@ }, "../../extensions/web-clipper/node_modules/node-notifier/node_modules/semver": { "version": "7.5.4", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -16944,7 +16944,7 @@ }, "../../extensions/web-clipper/node_modules/node-notifier/node_modules/yallist": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/node-releases": { @@ -16953,7 +16953,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass": { "version": "9.0.0", - "devOptional": true, + "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -16981,7 +16981,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -16995,7 +16995,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/chalk": { "version": "4.1.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -17010,7 +17010,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -17021,12 +17021,12 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/has-flag": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -17034,7 +17034,7 @@ }, "../../extensions/web-clipper/node_modules/node-sass/node_modules/supports-color": { "version": "7.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -17045,7 +17045,7 @@ }, "../../extensions/web-clipper/node_modules/nopt": { "version": "5.0.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "abbrev": "1" @@ -17059,7 +17059,7 @@ }, "../../extensions/web-clipper/node_modules/normalize-package-data": { "version": "3.0.3", - "devOptional": true, + "dev": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^4.0.1", @@ -17073,7 +17073,7 @@ }, "../../extensions/web-clipper/node_modules/normalize-package-data/node_modules/lru-cache": { "version": "6.0.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -17084,7 +17084,7 @@ }, "../../extensions/web-clipper/node_modules/normalize-package-data/node_modules/semver": { "version": "7.5.4", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -17098,7 +17098,7 @@ }, "../../extensions/web-clipper/node_modules/normalize-package-data/node_modules/yallist": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/normalize-path": { @@ -17137,7 +17137,7 @@ }, "../../extensions/web-clipper/node_modules/npmlog": { "version": "6.0.2", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "are-we-there-yet": "^3.0.0", @@ -19202,12 +19202,12 @@ }, "../../extensions/web-clipper/node_modules/promise-inflight": { "version": "1.0.1", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/promise-retry": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "err-code": "^2.0.2", @@ -19358,7 +19358,7 @@ }, "../../extensions/web-clipper/node_modules/quick-lru": { "version": "4.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -19784,7 +19784,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg": { "version": "5.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", @@ -19798,7 +19798,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up": { "version": "7.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "find-up": "^4.1.0", @@ -19814,7 +19814,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/find-up": { "version": "4.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "locate-path": "^5.0.0", @@ -19826,7 +19826,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/locate-path": { "version": "5.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "p-locate": "^4.1.0" @@ -19837,7 +19837,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/p-limit": { "version": "2.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -19851,7 +19851,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/p-locate": { "version": "4.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "p-limit": "^2.2.0" @@ -19862,7 +19862,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", - "devOptional": true, + "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" @@ -19870,12 +19870,12 @@ }, "../../extensions/web-clipper/node_modules/read-pkg/node_modules/hosted-git-info": { "version": "2.8.9", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", - "devOptional": true, + "dev": true, "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", @@ -19886,7 +19886,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg/node_modules/semver": { "version": "5.7.2", - "devOptional": true, + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver" @@ -19894,7 +19894,7 @@ }, "../../extensions/web-clipper/node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", - "devOptional": true, + "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" @@ -19953,7 +19953,7 @@ }, "../../extensions/web-clipper/node_modules/redent": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "indent-string": "^4.0.0", @@ -20388,7 +20388,7 @@ }, "../../extensions/web-clipper/node_modules/retry": { "version": "0.12.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 4" @@ -20570,7 +20570,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph": { "version": "4.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "glob": "^7.0.0", @@ -20587,7 +20587,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/ansi-styles": { "version": "4.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -20601,7 +20601,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/cliui": { "version": "8.0.1", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -20614,7 +20614,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/color-convert": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -20625,12 +20625,12 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/color-name": { "version": "1.1.4", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/wrap-ansi": { "version": "7.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -20646,7 +20646,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/yargs": { "version": "17.7.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "cliui": "^8.0.1", @@ -20663,7 +20663,7 @@ }, "../../extensions/web-clipper/node_modules/sass-graph/node_modules/yargs-parser": { "version": "21.1.1", - "devOptional": true, + "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -20744,7 +20744,7 @@ }, "../../extensions/web-clipper/node_modules/scss-tokenizer": { "version": "0.4.3", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "js-base64": "^2.4.9", @@ -20753,7 +20753,7 @@ }, "../../extensions/web-clipper/node_modules/scss-tokenizer/node_modules/source-map": { "version": "0.7.4", - "devOptional": true, + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">= 8" @@ -20947,7 +20947,7 @@ }, "../../extensions/web-clipper/node_modules/set-blocking": { "version": "2.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/set-function-length": { @@ -21033,7 +21033,7 @@ }, "../../extensions/web-clipper/node_modules/shellwords": { "version": "0.1.1", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/side-channel": { @@ -21092,7 +21092,7 @@ }, "../../extensions/web-clipper/node_modules/smart-buffer": { "version": "4.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 6.0.0", @@ -21110,7 +21110,7 @@ }, "../../extensions/web-clipper/node_modules/socks": { "version": "2.7.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "ip": "^2.0.0", @@ -21123,7 +21123,7 @@ }, "../../extensions/web-clipper/node_modules/socks-proxy-agent": { "version": "7.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "agent-base": "^6.0.2", @@ -21225,7 +21225,7 @@ }, "../../extensions/web-clipper/node_modules/spdx-correct": { "version": "3.2.0", - "devOptional": true, + "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", @@ -21234,12 +21234,12 @@ }, "../../extensions/web-clipper/node_modules/spdx-exceptions": { "version": "2.3.0", - "devOptional": true, + "dev": true, "license": "CC-BY-3.0" }, "../../extensions/web-clipper/node_modules/spdx-expression-parse": { "version": "3.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", @@ -21248,7 +21248,7 @@ }, "../../extensions/web-clipper/node_modules/spdx-license-ids": { "version": "3.0.16", - "devOptional": true, + "dev": true, "license": "CC0-1.0" }, "../../extensions/web-clipper/node_modules/spdy": { @@ -21326,7 +21326,7 @@ }, "../../extensions/web-clipper/node_modules/ssri": { "version": "9.0.1", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.1.1" @@ -21453,7 +21453,7 @@ }, "../../extensions/web-clipper/node_modules/stdout-stream": { "version": "1.4.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "readable-stream": "^2.0.1" @@ -21461,12 +21461,12 @@ }, "../../extensions/web-clipper/node_modules/stdout-stream/node_modules/isarray": { "version": "1.0.0", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/stdout-stream/node_modules/readable-stream": { "version": "2.3.8", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", @@ -21480,12 +21480,12 @@ }, "../../extensions/web-clipper/node_modules/stdout-stream/node_modules/safe-buffer": { "version": "5.1.2", - "devOptional": true, + "dev": true, "license": "MIT" }, "../../extensions/web-clipper/node_modules/stdout-stream/node_modules/string_decoder": { "version": "1.1.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" @@ -21713,7 +21713,7 @@ }, "../../extensions/web-clipper/node_modules/strip-indent": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "min-indent": "^1.0.0" @@ -22090,7 +22090,7 @@ }, "../../extensions/web-clipper/node_modules/tar": { "version": "6.2.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "chownr": "^2.0.0", @@ -22106,7 +22106,7 @@ }, "../../extensions/web-clipper/node_modules/tar/node_modules/minipass": { "version": "5.0.0", - "devOptional": true, + "dev": true, "license": "ISC", "engines": { "node": ">=8" @@ -22114,7 +22114,7 @@ }, "../../extensions/web-clipper/node_modules/tar/node_modules/yallist": { "version": "4.0.0", - "devOptional": true, + "dev": true, "license": "ISC" }, "../../extensions/web-clipper/node_modules/temp-dir": { @@ -22406,7 +22406,7 @@ }, "../../extensions/web-clipper/node_modules/trim-newlines": { "version": "3.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -22414,7 +22414,7 @@ }, "../../extensions/web-clipper/node_modules/true-case-path": { "version": "2.2.1", - "devOptional": true, + "dev": true, "license": "Apache-2.0" }, "../../extensions/web-clipper/node_modules/tryer": { @@ -22629,7 +22629,7 @@ }, "../../extensions/web-clipper/node_modules/type-fest": { "version": "0.18.1", - "devOptional": true, + "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" @@ -22773,7 +22773,7 @@ }, "../../extensions/web-clipper/node_modules/unique-filename": { "version": "2.0.1", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "unique-slug": "^3.0.0" @@ -22784,7 +22784,7 @@ }, "../../extensions/web-clipper/node_modules/unique-slug": { "version": "3.0.0", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" @@ -23016,7 +23016,7 @@ }, "../../extensions/web-clipper/node_modules/validate-npm-package-license": { "version": "3.0.4", - "devOptional": true, + "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", @@ -23903,7 +23903,7 @@ }, "../../extensions/web-clipper/node_modules/wide-align": { "version": "1.1.5", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" @@ -26853,7 +26853,8 @@ "@microsoft/signalr": "^8.0.0", "@notesnook/logger": "file:../logger", "@readme/data-urls": "^3.0.0", - "@streetwriters/showdown": "^3.0.7-alpha", + "@streetwriters/kysely": "^0.27.4", + "@streetwriters/showdown": "^3.0.8-alpha", "async-mutex": "^0.3.2", "dayjs": "1.11.9", "dom-serializer": "^2.0.0", @@ -26864,7 +26865,6 @@ "html-to-text": "^9.0.5", "htmlparser2": "^8.0.1", "katex": "0.16.2", - "kysely": "^0.26.3", "linkedom": "^0.14.17", "liqe": "^1.13.0", "mime-db": "1.52.0", @@ -28476,13 +28476,6 @@ "node": ">= 12" } }, - "../../packages/core/node_modules/kysely": { - "version": "0.26.3", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "../../packages/core/node_modules/leac": { "version": "0.6.0", "license": "MIT", @@ -29902,70 +29895,76 @@ "@notesnook/core": "file:../core", "@notesnook/theme": "file:../theme", "@notesnook/ui": "file:../ui", - "@social-embed/lib": "^0.0.2-next.1", - "@tiptap/core": "2.2.4", - "@tiptap/extension-character-count": "2.2.4", - "@tiptap/extension-color": "2.2.4", - "@tiptap/extension-font-family": "2.2.4", - "@tiptap/extension-history": "2.2.4", - "@tiptap/extension-horizontal-rule": "2.2.4", - "@tiptap/extension-list-keymap": "2.2.4", - "@tiptap/extension-placeholder": "2.2.4", - "@tiptap/extension-subscript": "2.2.4", - "@tiptap/extension-superscript": "2.2.4", - "@tiptap/extension-table": "2.2.4", - "@tiptap/extension-table-cell": "2.2.4", - "@tiptap/extension-table-header": "2.2.4", - "@tiptap/extension-table-row": "2.2.4", - "@tiptap/extension-task-item": "2.2.4", - "@tiptap/extension-task-list": "2.2.4", - "@tiptap/extension-text-align": "2.2.4", - "@tiptap/extension-text-style": "2.2.4", - "@tiptap/extension-underline": "2.2.4", - "@tiptap/pm": "2.2.4", - "@tiptap/starter-kit": "2.2.4", + "@social-embed/lib": "^0.1.0-next.7", + "@tiptap/core": "2.6.6", + "@tiptap/extension-blockquote": "^2.6.6", + "@tiptap/extension-bullet-list": "^2.6.6", + "@tiptap/extension-character-count": "2.6.6", + "@tiptap/extension-code": "^2.6.6", + "@tiptap/extension-color": "2.6.6", + "@tiptap/extension-font-family": "2.6.6", + "@tiptap/extension-heading": "^2.6.6", + "@tiptap/extension-history": "2.6.6", + "@tiptap/extension-horizontal-rule": "2.6.6", + "@tiptap/extension-list-item": "^2.6.6", + "@tiptap/extension-list-keymap": "2.6.6", + "@tiptap/extension-ordered-list": "^2.6.6", + "@tiptap/extension-placeholder": "2.6.6", + "@tiptap/extension-subscript": "2.6.6", + "@tiptap/extension-superscript": "2.6.6", + "@tiptap/extension-table": "2.6.6", + "@tiptap/extension-table-cell": "2.6.6", + "@tiptap/extension-table-header": "2.6.6", + "@tiptap/extension-table-row": "2.6.6", + "@tiptap/extension-task-item": "2.6.6", + "@tiptap/extension-task-list": "2.6.6", + "@tiptap/extension-text-align": "2.6.6", + "@tiptap/extension-text-style": "2.6.6", + "@tiptap/extension-underline": "2.6.6", + "@tiptap/pm": "2.6.6", + "@tiptap/starter-kit": "2.6.6", "alfaaz": "^1.1.0", - "async-mutex": "^0.4.0", - "clipboard-polyfill": "4.0.0", - "detect-indent": "^7.0.0", - "entities": "^4.5.0", - "katex": "0.16.9", + "async-mutex": "^0.5.0", + "clipboard-polyfill": "4.1.0", + "detect-indent": "^7.0.1", + "entities": "^5.0.0", + "katex": "0.16.11", "linkifyjs": "^4.1.3", - "nanoid": "^4.0.1", + "nanoid": "^5.0.7", "prism-themes": "^1.9.0", "prosemirror-codemark": "^0.4.2", - "prosemirror-view": "1.33.1", - "re-resizable": "^6.9.11", + "prosemirror-view": "1.34.2", + "re-resizable": "^6.9.18", "react-colorful": "^5.6.1", "redent": "^4.0.0", "refractor": "^4.8.1", "strip-indent": "^4.0.0", - "unfurl.js": "^6.3.2" + "unfurl.js": "^6.4.0" }, "devDependencies": { - "@emotion/react": "11.11.1", - "@mdi/js": "^7.2.96", + "@emotion/react": "11.13.3", + "@mdi/js": "^7.4.47", "@mdi/react": "^1.6.1", - "@theme-ui/components": "^0.16.1", - "@theme-ui/core": "^0.16.1", - "@types/katex": "^0.14.0", - "@types/prismjs": "^1.26.0", - "@types/react": "^18.2.39", - "@types/react-color": "^3.0.6", - "@types/react-dom": "^18.2.17", + "@theme-ui/components": "^0.16.2", + "@theme-ui/core": "^0.16.2", + "@types/katex": "^0.16.7", + "@types/prismjs": "^1.26.4", + "@types/react": "^18.3.5", + "@types/react-color": "^3.0.12", + "@types/react-dom": "^18.3.0", "@types/react-modal": "^3.16.3 ", - "@types/tinycolor2": "^1.4.3", - "framer-motion": "^10.16.8", - "happy-dom": "^8.9.0", + "@types/tinycolor2": "^1.4.6", + "framer-motion": "^11.5.4", + "happy-dom": "^15.7.4", "isomorphic-fetch": "^3.0.0", - "prosemirror-test-builder": "^1.1.0", - "react": "18.2.0", - "react-dom": "18.2.0", + "prosemirror-test-builder": "^1.1.1", + "react": "18.3.1", + "react-dom": "18.3.1", "react-modal": "3.16.1", "tinycolor2": "^1.6.0", - "vitest": "^0.29.2", - "web-vitals": "^2.1.4", - "zustand": "4.4.7" + "vitest": "^2.0.5", + "web-vitals": "^4.2.3", + "zustand": "4.5.5" }, "peerDependencies": { "@emotion/react": ">=11", @@ -31749,6 +31748,7 @@ }, "../../packages/editor/node_modules/js-tokens": { "version": "4.0.0", + "dev": true, "license": "MIT" }, "../../packages/editor/node_modules/json-parse-even-better-errors": { @@ -31804,6 +31804,7 @@ }, "../../packages/editor/node_modules/loose-envify": { "version": "1.4.0", + "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -32323,6 +32324,7 @@ }, "../../packages/editor/node_modules/react": { "version": "18.2.0", + "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -32341,6 +32343,7 @@ }, "../../packages/editor/node_modules/react-dom": { "version": "18.2.0", + "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -32460,6 +32463,7 @@ }, "../../packages/editor/node_modules/scheduler": { "version": "0.23.0", + "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -37727,24 +37731,25 @@ "hasInstallScript": true, "license": "GPL-3.0-or-later", "dependencies": { - "@trpc/client": "10.38.3", - "@trpc/server": "10.38.3", - "better-sqlite3-multiple-ciphers": "^9.5.0", - "electron-trpc": "0.5.2", + "@trpc/client": "10.45.2", + "@trpc/server": "10.45.2", + "better-sqlite3-multiple-ciphers": "^11.2.1", + "electron-trpc": "0.6.1", "electron-updater": "^6.2.1", - "icojs": "^0.17.1", + "icojs": "^0.19.4", "typed-emitter": "^2.1.0", - "yargs": "^17.6.2", + "yargs": "^17.7.2", "zod": "^3.21.4" }, "devDependencies": { - "@types/node": "18.16.1", - "@types/yargs": "^17.0.24", + "@streetwriters/kysely": "^0.27.4", + "@types/node": "20.14.8", + "@types/yargs": "^17.0.33", "chokidar": "^3.5.3", - "electron": "^29.3.1", + "electron": "^30.4.0", "electron-builder": "^24.13.3", "esbuild": "^0.23.0", - "kysely": "^0.27.3", + "node-abi": "^3.67.0", "node-gyp-build": "^4.8.0", "prebuildify": "^6.0.1", "tree-kill": "^1.2.2", @@ -37812,6 +37817,7 @@ }, "../desktop/node_modules/@electron/get": { "version": "2.0.2", + "dev": true, "license": "MIT", "dependencies": { "debug": "^4.1.1", @@ -37831,6 +37837,7 @@ }, "../desktop/node_modules/@electron/get/node_modules/fs-extra": { "version": "8.1.0", + "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", @@ -37843,6 +37850,7 @@ }, "../desktop/node_modules/@electron/get/node_modules/jsonfile": { "version": "4.0.0", + "dev": true, "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" @@ -37850,6 +37858,7 @@ }, "../desktop/node_modules/@electron/get/node_modules/semver": { "version": "6.3.0", + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -37857,6 +37866,7 @@ }, "../desktop/node_modules/@electron/get/node_modules/universalify": { "version": "0.1.2", + "dev": true, "license": "MIT", "engines": { "node": ">= 4.0.0" @@ -38135,6 +38145,7 @@ }, "../desktop/node_modules/@sindresorhus/is": { "version": "4.6.0", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -38145,6 +38156,7 @@ }, "../desktop/node_modules/@szmarczak/http-timer": { "version": "4.0.6", + "dev": true, "license": "MIT", "dependencies": { "defer-to-connect": "^2.0.0" @@ -38184,6 +38196,7 @@ }, "../desktop/node_modules/@types/cacheable-request": { "version": "6.0.3", + "dev": true, "license": "MIT", "dependencies": { "@types/http-cache-semantics": "*", @@ -38210,10 +38223,12 @@ }, "../desktop/node_modules/@types/http-cache-semantics": { "version": "4.0.1", + "dev": true, "license": "MIT" }, "../desktop/node_modules/@types/keyv": { "version": "3.1.4", + "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -38226,10 +38241,12 @@ }, "../desktop/node_modules/@types/node": { "version": "18.16.1", + "dev": true, "license": "MIT" }, "../desktop/node_modules/@types/responselike": { "version": "1.0.0", + "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -38250,6 +38267,7 @@ }, "../desktop/node_modules/@types/yauzl": { "version": "2.10.0", + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -38486,6 +38504,7 @@ }, "../desktop/node_modules/boolean": { "version": "3.2.0", + "dev": true, "license": "MIT", "optional": true }, @@ -38532,6 +38551,7 @@ }, "../desktop/node_modules/buffer-crc32": { "version": "0.2.13", + "dev": true, "license": "MIT", "engines": { "node": "*" @@ -38589,6 +38609,7 @@ }, "../desktop/node_modules/cacheable-lookup": { "version": "5.0.4", + "dev": true, "license": "MIT", "engines": { "node": ">=10.6.0" @@ -38596,6 +38617,7 @@ }, "../desktop/node_modules/cacheable-request": { "version": "7.0.4", + "dev": true, "license": "MIT", "dependencies": { "clone-response": "^1.0.2", @@ -38692,6 +38714,7 @@ }, "../desktop/node_modules/clone-response": { "version": "1.0.3", + "dev": true, "license": "MIT", "dependencies": { "mimic-response": "^1.0.0" @@ -38882,6 +38905,7 @@ }, "../desktop/node_modules/defer-to-connect": { "version": "2.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -38889,6 +38913,7 @@ }, "../desktop/node_modules/define-properties": { "version": "1.2.0", + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -38919,6 +38944,7 @@ }, "../desktop/node_modules/detect-node": { "version": "2.1.0", + "dev": true, "license": "MIT", "optional": true }, @@ -39001,6 +39027,7 @@ }, "../desktop/node_modules/electron": { "version": "29.3.1", + "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -39082,6 +39109,7 @@ }, "../desktop/node_modules/electron/node_modules/@types/node": { "version": "20.12.7", + "dev": true, "license": "MIT", "dependencies": { "undici-types": "~5.26.4" @@ -39100,6 +39128,7 @@ }, "../desktop/node_modules/env-paths": { "version": "2.2.1", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -39112,6 +39141,7 @@ }, "../desktop/node_modules/es6-error": { "version": "4.1.1", + "dev": true, "license": "MIT", "optional": true }, @@ -39162,6 +39192,7 @@ }, "../desktop/node_modules/escape-string-regexp": { "version": "4.0.0", + "dev": true, "license": "MIT", "optional": true, "engines": { @@ -39180,6 +39211,7 @@ }, "../desktop/node_modules/extract-zip": { "version": "2.0.1", + "dev": true, "license": "BSD-2-Clause", "dependencies": { "debug": "^4.1.1", @@ -39208,6 +39240,7 @@ }, "../desktop/node_modules/fd-slicer": { "version": "1.1.0", + "dev": true, "license": "MIT", "dependencies": { "pend": "~1.2.0" @@ -39335,6 +39368,7 @@ }, "../desktop/node_modules/function-bind": { "version": "1.1.1", + "dev": true, "license": "MIT", "optional": true }, @@ -39347,6 +39381,7 @@ }, "../desktop/node_modules/get-intrinsic": { "version": "1.2.1", + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -39361,6 +39396,7 @@ }, "../desktop/node_modules/get-stream": { "version": "5.2.0", + "dev": true, "license": "MIT", "dependencies": { "pump": "^3.0.0" @@ -39428,6 +39464,7 @@ }, "../desktop/node_modules/global-agent": { "version": "3.0.0", + "dev": true, "license": "BSD-3-Clause", "optional": true, "dependencies": { @@ -39444,6 +39481,7 @@ }, "../desktop/node_modules/globalthis": { "version": "1.0.3", + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -39458,6 +39496,7 @@ }, "../desktop/node_modules/got": { "version": "11.8.6", + "dev": true, "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.0.0", @@ -39485,6 +39524,7 @@ }, "../desktop/node_modules/has": { "version": "1.0.3", + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -39504,6 +39544,7 @@ }, "../desktop/node_modules/has-property-descriptors": { "version": "1.0.0", + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -39515,6 +39556,7 @@ }, "../desktop/node_modules/has-proto": { "version": "1.0.1", + "dev": true, "license": "MIT", "optional": true, "engines": { @@ -39526,6 +39568,7 @@ }, "../desktop/node_modules/has-symbols": { "version": "1.0.3", + "dev": true, "license": "MIT", "optional": true, "engines": { @@ -39548,6 +39591,7 @@ }, "../desktop/node_modules/http-cache-semantics": { "version": "4.1.1", + "dev": true, "license": "BSD-2-Clause" }, "../desktop/node_modules/http-proxy-agent": { @@ -39565,6 +39609,7 @@ }, "../desktop/node_modules/http2-wrapper": { "version": "1.0.3", + "dev": true, "license": "MIT", "dependencies": { "quick-lru": "^5.1.1", @@ -39789,6 +39834,7 @@ }, "../desktop/node_modules/json-buffer": { "version": "3.0.1", + "dev": true, "license": "MIT" }, "../desktop/node_modules/json-schema-traverse": { @@ -39798,6 +39844,7 @@ }, "../desktop/node_modules/json-stringify-safe": { "version": "5.0.1", + "dev": true, "license": "ISC", "optional": true }, @@ -39824,19 +39871,12 @@ }, "../desktop/node_modules/keyv": { "version": "4.5.2", + "dev": true, "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } }, - "../desktop/node_modules/kysely": { - "version": "0.27.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "../desktop/node_modules/lazy-val": { "version": "1.0.5", "license": "MIT" @@ -39856,6 +39896,7 @@ }, "../desktop/node_modules/lowercase-keys": { "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -39873,6 +39914,7 @@ }, "../desktop/node_modules/matcher": { "version": "3.0.0", + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -39914,6 +39956,7 @@ }, "../desktop/node_modules/mimic-response": { "version": "1.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -40021,6 +40064,7 @@ }, "../desktop/node_modules/normalize-url": { "version": "6.1.0", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -40042,6 +40086,7 @@ }, "../desktop/node_modules/object-keys": { "version": "1.1.1", + "dev": true, "license": "MIT", "optional": true, "engines": { @@ -40057,6 +40102,7 @@ }, "../desktop/node_modules/p-cancelable": { "version": "2.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -40127,6 +40173,7 @@ }, "../desktop/node_modules/pend": { "version": "1.2.0", + "dev": true, "license": "MIT" }, "../desktop/node_modules/picomatch": { @@ -40202,6 +40249,7 @@ }, "../desktop/node_modules/progress": { "version": "2.0.3", + "dev": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -40237,6 +40285,7 @@ }, "../desktop/node_modules/quick-lru": { "version": "5.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -40320,10 +40369,12 @@ }, "../desktop/node_modules/resolve-alpn": { "version": "1.2.1", + "dev": true, "license": "MIT" }, "../desktop/node_modules/responselike": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "lowercase-keys": "^2.0.0" @@ -40342,6 +40393,7 @@ }, "../desktop/node_modules/roarr": { "version": "2.15.4", + "dev": true, "license": "BSD-3-Clause", "optional": true, "dependencies": { @@ -40414,11 +40466,13 @@ }, "../desktop/node_modules/semver-compare": { "version": "1.0.0", + "dev": true, "license": "MIT", "optional": true }, "../desktop/node_modules/serialize-error": { "version": "7.0.1", + "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -40433,6 +40487,7 @@ }, "../desktop/node_modules/serialize-error/node_modules/type-fest": { "version": "0.13.1", + "dev": true, "license": "(MIT OR CC0-1.0)", "optional": true, "engines": { @@ -40532,6 +40587,7 @@ }, "../desktop/node_modules/sprintf-js": { "version": "1.1.3", + "dev": true, "license": "BSD-3-Clause", "optional": true }, @@ -40622,6 +40678,7 @@ }, "../desktop/node_modules/sumchecker": { "version": "3.0.1", + "dev": true, "license": "Apache-2.0", "dependencies": { "debug": "^4.1.0" @@ -40804,6 +40861,7 @@ }, "../desktop/node_modules/undici-types": { "version": "5.26.5", + "dev": true, "license": "MIT" }, "../desktop/node_modules/universalify": { @@ -40924,6 +40982,7 @@ }, "../desktop/node_modules/yauzl": { "version": "2.10.0", + "dev": true, "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", @@ -40939,6 +40998,7 @@ }, "node_modules/@ampproject/remapping": { "version": "2.2.1", + "dev": true, "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -41041,6 +41101,7 @@ }, "node_modules/@babel/core": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", @@ -41069,6 +41130,7 @@ }, "node_modules/@babel/generator": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.6", @@ -41170,6 +41232,7 @@ }, "node_modules/@babel/helper-environment-visitor": { "version": "7.24.6", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -41177,6 +41240,7 @@ }, "node_modules/@babel/helper-function-name": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.24.6", @@ -41188,6 +41252,7 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.6" @@ -41219,6 +41284,7 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.24.6", @@ -41286,6 +41352,7 @@ }, "node_modules/@babel/helper-simple-access": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.6" @@ -41307,6 +41374,7 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.24.6" @@ -41351,6 +41419,7 @@ }, "node_modules/@babel/helpers": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.24.6", @@ -41432,6 +41501,7 @@ }, "node_modules/@babel/parser": { "version": "7.24.6", + "dev": true, "license": "MIT", "bin": { "parser": "bin/babel-parser.js" @@ -42593,6 +42663,7 @@ }, "node_modules/@babel/template": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.6", @@ -42605,6 +42676,7 @@ }, "node_modules/@babel/traverse": { "version": "7.24.6", + "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.6", @@ -42698,27 +42770,6 @@ "react": ">=16.8.0" } }, - "node_modules/@electron/get": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", - "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", - "peer": true, - "dependencies": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "got": "^11.8.5", - "progress": "^2.0.3", - "semver": "^6.2.0", - "sumchecker": "^3.0.1" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "global-agent": "^3.0.0" - } - }, "node_modules/@emotion/babel-plugin": { "version": "11.11.0", "license": "MIT", @@ -42877,6 +42928,7 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", @@ -42889,6 +42941,7 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -42896,6 +42949,7 @@ }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", + "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -42912,10 +42966,12 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", + "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -43518,18 +43574,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, "node_modules/@skiff-org/skiff-crypto": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@skiff-org/skiff-crypto/-/skiff-crypto-1.0.3.tgz", @@ -43707,6 +43751,14 @@ "version": "0.0.10", "license": "MIT" }, + "node_modules/@streetwriters/kysely": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@streetwriters/kysely/-/kysely-0.27.4.tgz", + "integrity": "sha512-c2p+wtX8WESSVjJAc16j4lT44w/g1DvJFEIeKj/CFy36vmi0uq9FOAzxc50VtRc7rp0UlECCfl3Sxd+BTZOHFg==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@styled-system/background": { "version": "5.1.2", "license": "MIT", @@ -44173,18 +44225,6 @@ "@swc/counter": "^0.1.3" } }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "peer": true, - "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@tanstack/query-core": { "version": "4.36.1", "license": "MIT", @@ -44249,21 +44289,6 @@ "polished": "^4.0.5" } }, - "node_modules/@theme-ui/color-modes": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@theme-ui/color-modes/-/color-modes-0.16.2.tgz", - "integrity": "sha512-jWEWx53lxNgWCT38i/kwLV2rsvJz8lVZgi5oImnVwYba9VejXD23q1ckbNFJHosQ8KKXY87ht0KPC6BQFIiHtQ==", - "peer": true, - "dependencies": { - "@theme-ui/core": "^0.16.2", - "@theme-ui/css": "^0.16.2", - "deepmerge": "^4.2.2" - }, - "peerDependencies": { - "@emotion/react": "^11.11.1", - "react": ">=18" - } - }, "node_modules/@theme-ui/components": { "version": "0.16.2", "license": "MIT", @@ -44303,51 +44328,40 @@ "@emotion/react": "^11.11.1" } }, - "node_modules/@theme-ui/theme-provider": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@theme-ui/theme-provider/-/theme-provider-0.16.2.tgz", - "integrity": "sha512-LRnVevODcGqO0JyLJ3wht+PV3ZoZcJ7XXLJAJWDoGeII4vZcPQKwVy4Lpz/juHsZppQxKcB3U+sQDGBnP25irQ==", - "peer": true, - "dependencies": { - "@theme-ui/color-modes": "^0.16.2", - "@theme-ui/core": "^0.16.2", - "@theme-ui/css": "^0.16.2" - }, - "peerDependencies": { - "@emotion/react": "^11.11.1", - "react": ">=18" - } - }, "node_modules/@trpc/client": { - "version": "10.38.3", + "version": "10.45.2", + "resolved": "https://registry.npmjs.org/@trpc/client/-/client-10.45.2.tgz", + "integrity": "sha512-ykALM5kYWTLn1zYuUOZ2cPWlVfrXhc18HzBDyRhoPYN0jey4iQHEFSEowfnhg1RvYnrAVjNBgHNeSAXjrDbGwg==", "funding": [ "https://trpc.io/sponsor" ], - "license": "MIT", "peerDependencies": { - "@trpc/server": "10.38.3" + "@trpc/server": "10.45.2" } }, "node_modules/@trpc/react-query": { - "version": "10.38.3", + "version": "10.45.2", + "resolved": "https://registry.npmjs.org/@trpc/react-query/-/react-query-10.45.2.tgz", + "integrity": "sha512-BAqb9bGZIscroradlNx+Cc9522R+idY3BOSf5z0jHUtkxdMbjeGKxSSMxxu7JzoLqSIEC+LVzL3VvF8sdDWaZQ==", "funding": [ "https://trpc.io/sponsor" ], - "license": "MIT", "peerDependencies": { "@tanstack/react-query": "^4.18.0", - "@trpc/client": "10.38.3", - "@trpc/server": "10.38.3", + "@trpc/client": "10.45.2", + "@trpc/server": "10.45.2", "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "node_modules/@trpc/server": { - "version": "10.38.3", + "version": "10.45.2", + "resolved": "https://registry.npmjs.org/@trpc/server/-/server-10.45.2.tgz", + "integrity": "sha512-wOrSThNNE4HUnuhJG6PfDRp4L2009KDVxsd+2VYH8ro6o/7/jwYZ8Uu5j+VaW+mOmc8EHerHzGcdbGNQSAUPgg==", + "dev": true, "funding": [ "https://trpc.io/sponsor" - ], - "license": "MIT" + ] }, "node_modules/@types/babel__core": { "version": "7.20.4", @@ -44386,18 +44400,6 @@ "@babel/types": "^7.20.7" } }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "peer": true, - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, "node_modules/@types/debug": { "version": "4.1.12", "license": "MIT", @@ -44427,12 +44429,6 @@ "@types/unist": "^2" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "peer": true - }, "node_modules/@types/json-schema": { "version": "7.0.15", "dev": true, @@ -44442,15 +44438,6 @@ "version": "0.16.7", "license": "MIT" }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "peer": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/marked": { "version": "4.3.2", "dev": true, @@ -44469,6 +44456,7 @@ }, "node_modules/@types/node": { "version": "20.9.0", + "dev": true, "license": "MIT", "dependencies": { "undici-types": "~5.26.4" @@ -44498,10 +44486,12 @@ }, "node_modules/@types/prop-types": { "version": "15.7.10", + "dev": true, "license": "MIT" }, "node_modules/@types/react": { "version": "18.2.65", + "dev": true, "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -44546,17 +44536,9 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/responselike": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", - "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", - "peer": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/scheduler": { "version": "0.16.8", + "dev": true, "license": "MIT" }, "node_modules/@types/styled-system": { @@ -44585,16 +44567,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@vitejs/plugin-react-swc": { "version": "3.7.0", "dev": true, @@ -44678,181 +44650,6 @@ "@types/estree": "^1.0.0" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "peer": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "peer": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "peer": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "peer": true - }, "node_modules/@zip.js/zip.js": { "version": "2.7.32", "license": "BSD-3-Clause", @@ -44878,16 +44675,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-walk": { "version": "8.3.2", "dev": true, @@ -45256,13 +45043,6 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, - "node_modules/boolean": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", - "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", - "optional": true, - "peer": true - }, "node_modules/brace-expansion": { "version": "1.1.11", "devOptional": true, @@ -45335,15 +45115,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "peer": true, - "engines": { - "node": "*" - } - }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "license": "BSD-3-Clause" @@ -45372,33 +45143,6 @@ "node": ">=8" } }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "peer": true, - "engines": { - "node": ">=10.6.0" - } - }, - "node_modules/cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "peer": true, - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/call-bind": { "version": "1.0.7", "dev": true, @@ -45550,16 +45294,6 @@ "node": ">=10" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.0" - } - }, "node_modules/clipboard-polyfill": { "version": "4.0.0", "license": "MIT" @@ -45577,18 +45311,6 @@ "node": ">=12" } }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "peer": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/color-convert": { "version": "2.0.1", "dev": true, @@ -45668,6 +45390,7 @@ }, "node_modules/convert-source-map": { "version": "2.0.0", + "dev": true, "license": "MIT" }, "node_modules/core-js-compat": { @@ -45852,6 +45575,7 @@ }, "node_modules/decompress-response": { "version": "6.0.0", + "devOptional": true, "license": "MIT", "dependencies": { "mimic-response": "^3.1.0" @@ -45865,6 +45589,7 @@ }, "node_modules/decompress-response/node_modules/mimic-response": { "version": "3.1.0", + "devOptional": true, "license": "MIT", "engines": { "node": ">=10" @@ -45899,18 +45624,9 @@ "node": ">=0.10.0" } }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "peer": true, - "engines": { - "node": ">=10" - } - }, "node_modules/define-data-property": { "version": "1.1.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", @@ -45934,7 +45650,7 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", @@ -45975,13 +45691,6 @@ "node": ">=8" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "optional": true, - "peer": true - }, "node_modules/diff": { "version": "5.1.0", "license": "BSD-3-Clause", @@ -46111,24 +45820,6 @@ "node": ">=0.10.0" } }, - "node_modules/electron": { - "version": "32.0.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-32.0.2.tgz", - "integrity": "sha512-nmZblq8wW3HZ17MAyaUuiMI9Mb0Cgc7UR3To85h/rVopbfyF5s34NxtK4gvyRfYPxpDGP4k+HoQIPniPPrdE3w==", - "hasInstallScript": true, - "peer": true, - "dependencies": { - "@electron/get": "^2.0.0", - "@types/node": "^20.9.0", - "extract-zip": "^2.0.1" - }, - "bin": { - "electron": "cli.js" - }, - "engines": { - "node": ">= 12.20.55" - } - }, "node_modules/electron-to-chromium": { "version": "1.4.713", "license": "ISC" @@ -46160,25 +45851,12 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", + "devOptional": true, "license": "MIT", "dependencies": { "once": "^1.4.0" } }, - "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/entities": { "version": "4.5.0", "license": "BSD-2-Clause", @@ -46189,15 +45867,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/error-ex": { "version": "1.3.2", "license": "MIT", @@ -46266,7 +45935,7 @@ }, "node_modules/es-define-property": { "version": "1.0.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4" @@ -46277,19 +45946,12 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" } }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "dev": true, - "peer": true - }, "node_modules/es-object-atoms": { "version": "1.0.0", "dev": true, @@ -46330,13 +45992,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "optional": true, - "peer": true - }, "node_modules/esbuild": { "version": "0.20.2", "dev": true, @@ -46391,20 +46046,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/esprima": { "version": "4.0.1", "license": "BSD-2-Clause", @@ -46416,39 +46057,6 @@ "node": ">=4" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "peer": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/estree-walker": { "version": "2.0.2", "dev": true, @@ -46466,16 +46074,6 @@ "version": "1.0.31", "license": "MIT" }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/execa": { "version": "8.0.1", "dev": true, @@ -46557,26 +46155,6 @@ "node": ">=0.10.0" } }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "peer": true, - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "dev": true, @@ -46610,15 +46188,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "peer": true, - "dependencies": { - "pend": "~1.2.0" - } - }, "node_modules/fflate": { "version": "0.8.1", "license": "MIT" @@ -46793,20 +46362,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/fs-minipass": { "version": "2.1.0", "license": "ISC", @@ -46900,6 +46455,7 @@ }, "node_modules/gensync": { "version": "1.0.0-beta.2", + "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -46923,7 +46479,7 @@ }, "node_modules/get-intrinsic": { "version": "1.2.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -46944,21 +46500,6 @@ "dev": true, "license": "ISC" }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "peer": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-symbol-description": { "version": "1.0.2", "dev": true, @@ -47010,46 +46551,9 @@ "node": ">= 6" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "peer": true - }, - "node_modules/global-agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", - "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", - "optional": true, - "peer": true, - "dependencies": { - "boolean": "^3.0.1", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/global-agent/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "optional": true, - "peer": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/globals": { "version": "11.12.0", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -47057,7 +46561,7 @@ }, "node_modules/globalthis": { "version": "1.0.4", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "define-properties": "^1.2.1", @@ -47079,7 +46583,7 @@ }, "node_modules/gopd": { "version": "1.0.1", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" @@ -47088,33 +46592,9 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "peer": true, - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", + "dev": true, "license": "ISC" }, "node_modules/gray-matter": { @@ -47162,7 +46642,7 @@ }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" @@ -47173,7 +46653,7 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -47184,7 +46664,7 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -47405,25 +46885,6 @@ "entities": "^4.4.0" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "peer": true - }, - "node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "peer": true, - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, "node_modules/https-proxy-agent": { "version": "5.0.1", "license": "MIT", @@ -47910,37 +47371,6 @@ "node": ">=10" } }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "license": "MIT" @@ -47958,6 +47388,7 @@ }, "node_modules/jsesc": { "version": "2.5.2", + "dev": true, "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -47966,12 +47397,6 @@ "node": ">=4" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "peer": true - }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "license": "MIT" @@ -47986,15 +47411,9 @@ "dev": true, "license": "MIT" }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "optional": true, - "peer": true - }, "node_modules/json5": { "version": "2.2.3", + "dev": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -48003,15 +47422,6 @@ "node": ">=6" } }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "peer": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/jsonpointer": { "version": "5.0.1", "dev": true, @@ -48116,15 +47526,6 @@ "prebuild-install": "^7.0.1" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "peer": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, "node_modules/kind-of": { "version": "6.0.3", "license": "MIT", @@ -48139,13 +47540,6 @@ "node": ">=6" } }, - "node_modules/kysely": { - "version": "0.26.3", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/leven": { "version": "3.1.0", "dev": true, @@ -48158,16 +47552,6 @@ "version": "1.2.4", "license": "MIT" }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.11.5" - } - }, "node_modules/loader-utils": { "version": "2.0.4", "dev": true, @@ -48298,15 +47682,6 @@ "tslib": "^2.0.3" } }, - "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/lru-cache": { "version": "5.1.1", "license": "ISC", @@ -48363,19 +47738,6 @@ "node": ">= 12" } }, - "node_modules/matcher": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", - "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", - "optional": true, - "peer": true, - "dependencies": { - "escape-string-regexp": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/mdast-util-definitions": { "version": "5.1.2", "license": "MIT", @@ -49205,15 +48567,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "peer": true, - "engines": { - "node": ">=4" - } - }, "node_modules/minimatch": { "version": "3.1.2", "devOptional": true, @@ -49341,13 +48694,6 @@ "devOptional": true, "license": "MIT" }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "peer": true - }, "node_modules/no-case": { "version": "3.0.4", "dev": true, @@ -49448,18 +48794,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm-run-path": { "version": "5.3.0", "dev": true, @@ -49524,7 +48858,7 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -49549,6 +48883,7 @@ }, "node_modules/once": { "version": "1.4.0", + "devOptional": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -49594,15 +48929,6 @@ "@otplib/preset-v11": "^12.0.1" } }, - "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/p-limit": { "version": "5.0.0", "dev": true, @@ -49708,12 +49034,6 @@ "canvas": "^2.11.2" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "peer": true - }, "node_modules/phone": { "version": "3.1.41", "license": "MIT", @@ -49917,15 +49237,6 @@ "dev": true, "license": "MIT" }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "peer": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/prop-types": { "version": "15.8.1", "license": "MIT", @@ -49949,6 +49260,7 @@ }, "node_modules/pump": { "version": "3.0.0", + "devOptional": true, "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", @@ -49990,18 +49302,6 @@ ], "license": "MIT" }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/randombytes": { "version": "2.1.0", "license": "MIT", @@ -50445,12 +49745,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "peer": true - }, "node_modules/resolve-from": { "version": "4.0.0", "license": "MIT", @@ -50458,18 +49752,6 @@ "node": ">=4" } }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "peer": true, - "dependencies": { - "lowercase-keys": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/reusify": { "version": "1.0.4", "dev": true, @@ -50493,31 +49775,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/roarr": { - "version": "2.15.4", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", - "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", - "optional": true, - "peer": true, - "dependencies": { - "boolean": "^3.0.1", - "detect-node": "^2.0.4", - "globalthis": "^1.0.1", - "json-stringify-safe": "^5.0.1", - "semver-compare": "^1.0.0", - "sprintf-js": "^1.1.2" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/roarr/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "optional": true, - "peer": true - }, "node_modules/rollup": { "version": "4.18.0", "dev": true, @@ -50715,29 +49972,6 @@ "semver": "bin/semver.js" } }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", - "optional": true, - "peer": true - }, - "node_modules/serialize-error": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", - "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", - "optional": true, - "peer": true, - "dependencies": { - "type-fest": "^0.13.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/serialize-javascript": { "version": "6.0.2", "dev": true, @@ -51157,18 +50391,6 @@ "version": "4.2.0", "license": "MIT" }, - "node_modules/sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "peer": true, - "dependencies": { - "debug": "^4.1.0" - }, - "engines": { - "node": ">= 8.0" - } - }, "node_modules/supports-color": { "version": "7.2.0", "dev": true, @@ -51195,16 +50417,6 @@ "dev": true, "license": "MIT" }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/tar": { "version": "6.2.0", "license": "ISC", @@ -51310,41 +50522,6 @@ "node": ">=10" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "dev": true, @@ -51452,19 +50629,6 @@ "node": ">=4" } }, - "node_modules/type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typed-array-buffer": { "version": "1.0.2", "dev": true, @@ -51555,6 +50719,7 @@ }, "node_modules/undici-types": { "version": "5.26.5", + "dev": true, "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -51714,15 +50879,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "peer": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/upath": { "version": "1.2.0", "dev": true, @@ -52057,20 +51213,6 @@ "loose-envify": "^1.0.0" } }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", - "dev": true, - "peer": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/web-namespaces": { "version": "2.0.1", "license": "MIT", @@ -52094,63 +51236,6 @@ "node": ">=12" } }, - "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/whatwg-encoding": { "version": "2.0.0", "dev": true, @@ -52656,6 +51741,7 @@ }, "node_modules/wrappy": { "version": "1.0.2", + "devOptional": true, "license": "ISC" }, "node_modules/y18n": { @@ -52702,16 +51788,6 @@ "node": ">=12" } }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "peer": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, "node_modules/yocto-queue": { "version": "1.0.0", "dev": true, diff --git a/apps/web/package.json b/apps/web/package.json index 84e3a4037..659fcc89c 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -32,13 +32,13 @@ "@notesnook/web-clipper": "file:../../extensions/web-clipper", "@react-pdf-viewer/core": "^3.12.0", "@react-pdf-viewer/toolbar": "^3.12.0", - "@tanstack/react-query": "^4.29.19", + "@tanstack/react-query": "^4.36.1", "@tanstack/react-virtual": "^3.0.1", "@theme-ui/color": "^0.16.1", "@theme-ui/components": "^0.16.1", "@theme-ui/core": "^0.16.1", - "@trpc/client": "10.38.3", - "@trpc/react-query": "10.38.3", + "@trpc/client": "10.45.2", + "@trpc/react-query": "10.45.2", "@zip.js/zip.js": "^2.7.32", "async-mutex": "^0.4.0", "axios": "^1.3.4", @@ -56,7 +56,7 @@ "hash-wasm": "^4.9.0", "hotkeys-js": "^3.8.3", "katex": "0.16.2", - "kysely": "^0.26.3", + "@streetwriters/kysely": "^0.27.4", "mac-scrollbar": "^0.13.5", "marked": "^4.1.0", "mutative": "^1.0.6", @@ -92,7 +92,7 @@ "@playwright/test": "^1.43.1", "@swc/core": "^1.5.24", "@swc/plugin-react-remove-properties": "^2.0.4", - "@trpc/server": "10.38.3", + "@trpc/server": "10.45.2", "@types/babel__core": "^7.20.1", "@types/event-source-polyfill": "^1.0.1", "@types/file-saver": "^2.0.5", diff --git a/apps/web/patches/kysely+0.26.3.patch b/apps/web/patches/kysely+0.26.3.patch deleted file mode 100644 index 517c26ad1..000000000 --- a/apps/web/patches/kysely+0.26.3.patch +++ /dev/null @@ -1,8944 +0,0 @@ -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts -index dc87916..e3fb628 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts -@@ -7,6 +7,14 @@ import { DialectAdapter, MigrationLockOptions } from './dialect-adapter.js'; - * they are added and there will be less breaking changes. - */ - export declare abstract class DialectAdapterBase implements DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ get supportsCreateIfNotExists(): boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js -index a8a950f..53c47b0 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js -+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js -@@ -8,6 +8,9 @@ exports.DialectAdapterBase = void 0; - * they are added and there will be less breaking changes. - */ - class DialectAdapterBase { -+ get supportsCreateIfNotExists() { -+ return true; -+ } - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts -index 73a925a..73baab0 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts -@@ -1,4 +1,4 @@ --import { Kysely } from '../kysely.js'; -+import { Kysely } from 'kysely/dist/cjs/kysely.js'; - /** - * A `DialectAdapter` encapsulates all differences between dialects outside - * of `Driver` and `QueryCompiler`. -@@ -8,6 +8,14 @@ import { Kysely } from '../kysely.js'; - * it. For that there's a `supportsTransactionalDdl` boolean in this interface. - */ - export interface DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ readonly supportsCreateIfNotExists: boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect.d.ts -index 58c74f9..a84ed23 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/dialect.d.ts -@@ -1,8 +1,8 @@ --import { Driver } from '../driver/driver.js'; --import { Kysely } from '../kysely.js'; --import { QueryCompiler } from '../query-compiler/query-compiler.js'; --import { DatabaseIntrospector } from './database-introspector.js'; --import { DialectAdapter } from './dialect-adapter.js'; -+import { Driver } from 'kysely/dist/cjs/driver/driver.js'; -+import { Kysely } from 'kysely/dist/cjs/kysely.js'; -+import { QueryCompiler } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; -+import { DatabaseIntrospector } from 'kysely/dist/cjs/dialect/database-introspector.js'; -+import { DialectAdapter } from 'kysely/dist/cjs/dialect/dialect-adapter.js'; - /** - * A Dialect is the glue between Kysely and the underlying database engine. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js b/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js -index 4f205f4..a67ea6f 100644 ---- a/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js -+++ b/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js -@@ -28,7 +28,7 @@ class PostgresDriver { - // The driver must take care of calling `onCreateConnection` when a new - // connection is created. The `pg` module doesn't provide an async hook - // for the connection creation. We need to call the method explicitly. -- if (this.#config?.onCreateConnection) { -+ if (this.#config.onCreateConnection) { - await this.#config.onCreateConnection(connection); - } - } -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts -index 69a0a7d..550df53 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts -@@ -1,7 +1,7 @@ - import { Kysely } from '../../kysely.js'; - import { DialectAdapterBase } from '../dialect-adapter-base.js'; - import { MigrationLockOptions } from '../dialect-adapter.js'; --export declare class SqliteAdapter implements DialectAdapterBase { -+export declare class SqliteAdapter extends DialectAdapterBase { - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js -index 78850a0..ef9f504 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js -@@ -1,7 +1,8 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SqliteAdapter = void 0; --class SqliteAdapter { -+const dialect_adapter_base_js_1 = require("../dialect-adapter-base.js"); -+class SqliteAdapter extends dialect_adapter_base_js_1.DialectAdapterBase { - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts -index 810af98..a873682 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts -@@ -37,4 +37,5 @@ export interface SqliteStatement { - changes: number | bigint; - lastInsertRowid: number | bigint; - }; -+ iterate(parameters: ReadonlyArray): IterableIterator; - } -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js -index 13594af..99676cf 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js -@@ -1,6 +1,7 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SqliteDriver = void 0; -+const select_query_node_js_1 = require("../../operation-node/select-query-node.js"); - const compiled_query_js_1 = require("../../query-compiler/compiled-query.js"); - const object_utils_js_1 = require("../../util/object-utils.js"); - class SqliteDriver { -@@ -70,8 +71,20 @@ class SqliteConnection { - }); - } - } -- async *streamQuery() { -- throw new Error("Sqlite driver doesn't support streaming"); -+ async *streamQuery(compiledQuery, _chunkSize) { -+ const { sql, parameters, query } = compiledQuery; -+ const stmt = this.#db.prepare(sql); -+ if (select_query_node_js_1.SelectQueryNode.is(query)) { -+ const iter = stmt.iterate(parameters); -+ for (const row of iter) { -+ yield { -+ rows: [row], -+ }; -+ } -+ } -+ else { -+ throw new Error('Sqlite driver only supports streaming of select queries'); -+ } - } - } - class ConnectionMutex { -diff --git a/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts b/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts -index a75244c..8a5003c 100644 ---- a/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts -+++ b/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts -@@ -1,4 +1,4 @@ --import { DatabaseConnection } from './database-connection.js'; -+import { DatabaseConnection } from 'kysely/dist/cjs/driver/database-connection.js'; - export interface ConnectionProvider { - /** - * Provides a connection for the callback and takes care of disposing -diff --git a/node_modules/kysely/dist/cjs/driver/database-connection.d.ts b/node_modules/kysely/dist/cjs/driver/database-connection.d.ts -index 8a4766e..2902362 100644 ---- a/node_modules/kysely/dist/cjs/driver/database-connection.d.ts -+++ b/node_modules/kysely/dist/cjs/driver/database-connection.d.ts -@@ -1,4 +1,4 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; - /** - * A single connection to the database engine. - * -diff --git a/node_modules/kysely/dist/cjs/driver/driver.d.ts b/node_modules/kysely/dist/cjs/driver/driver.d.ts -index 00babcb..5f317f4 100644 ---- a/node_modules/kysely/dist/cjs/driver/driver.d.ts -+++ b/node_modules/kysely/dist/cjs/driver/driver.d.ts -@@ -1,5 +1,5 @@ --import { ArrayItemType } from '../util/type-utils.js'; --import { DatabaseConnection } from './database-connection.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; -+import { DatabaseConnection } from 'kysely/dist/cjs/driver/database-connection.js'; - /** - * A Driver creates and releases {@link DatabaseConnection | database connections} - * and is also responsible for connection pooling (if the dialect supports pooling). -@@ -40,5 +40,5 @@ export interface Driver { - export interface TransactionSettings { - readonly isolationLevel?: IsolationLevel; - } --export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable"]; -+export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable", "snapshot"]; - export type IsolationLevel = ArrayItemType; -diff --git a/node_modules/kysely/dist/cjs/driver/driver.js b/node_modules/kysely/dist/cjs/driver/driver.js -index 8acf3ea..80b9c33 100644 ---- a/node_modules/kysely/dist/cjs/driver/driver.js -+++ b/node_modules/kysely/dist/cjs/driver/driver.js -@@ -6,4 +6,5 @@ exports.TRANSACTION_ISOLATION_LEVELS = [ - 'read committed', - 'repeatable read', - 'serializable', -+ 'snapshot', - ]; -diff --git a/node_modules/kysely/dist/cjs/driver/single-connection-provider.js b/node_modules/kysely/dist/cjs/driver/single-connection-provider.js -index cf064c4..db6bca0 100644 ---- a/node_modules/kysely/dist/cjs/driver/single-connection-provider.js -+++ b/node_modules/kysely/dist/cjs/driver/single-connection-provider.js -@@ -1,6 +1,7 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SingleConnectionProvider = void 0; -+const ignoreError = () => { }; - class SingleConnectionProvider { - #connection; - #runningPromise; -@@ -9,17 +10,15 @@ class SingleConnectionProvider { - } - async provideConnection(consumer) { - while (this.#runningPromise) { -- await this.#runningPromise; -+ await this.#runningPromise.catch(ignoreError); - } -- const promise = this.#run(consumer); -- this.#runningPromise = promise -- .then(() => { -- this.#runningPromise = undefined; -- }) -- .catch(() => { -+ // `#runningPromise` must be set to undefined before it's -+ // resolved or rejected. Otherwise the while loop above -+ // will misbehave. -+ this.#runningPromise = this.#run(consumer).finally(() => { - this.#runningPromise = undefined; - }); -- return promise; -+ return this.#runningPromise; - } - // Run the runner in an async function to make sure it doesn't - // throw synchronous errors. -diff --git a/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts b/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts -index 650ce82..5c6fec7 100644 ---- a/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts -@@ -1,5 +1,5 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { SimpleReferenceExpressionNode } from '../operation-node/simple-reference-expression-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; - export declare class DynamicReferenceBuilder implements OperationNodeSource { - #private; - get dynamicReference(): string; -diff --git a/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts b/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts -index f32b5ba..da5a1b7 100644 ---- a/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts -+++ b/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts -@@ -1,4 +1,4 @@ --import { DynamicReferenceBuilder } from './dynamic-reference-builder.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; - export declare class DynamicModule { - /** - * Creates a dynamic reference to a column that is not know at compile time. -diff --git a/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts b/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts -index 7b4a340..ba5c3a0 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts -@@ -1,19 +1,20 @@ --import { SelectQueryBuilder } from '../query-builder/select-query-builder.js'; --import { TableExpression, From, FromTables, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from '../parser/table-parser.js'; --import { FunctionModule } from '../query-builder/function-module.js'; --import { ExtractTypeFromReferenceExpression, ReferenceExpression, SimpleReferenceExpression, StringReference } from '../parser/reference-parser.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { BinaryOperatorExpression, ComparisonOperatorExpression, FilterObject, OperandValueExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { Expression } from './expression.js'; --import { ExpressionWrapper } from './expression-wrapper.js'; --import { ComparisonOperator, JSONOperatorWith$, UnaryOperator } from '../operation-node/operator-node.js'; --import { SqlBool } from '../util/type-utils.js'; --import { ExtractTypeFromValueExpression } from '../parser/value-parser.js'; --import { CaseBuilder } from '../query-builder/case-builder.js'; --import { JSONPathBuilder } from '../query-builder/json-path-builder.js'; --import { OperandExpression } from '../parser/expression-parser.js'; --import { CallbackSelection, SelectCallback, SelectExpression, Selection } from '../parser/select-parser.js'; --import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from '../parser/tuple-parser.js'; -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { TableExpression, From, FromTables, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { FunctionModule } from 'kysely/dist/cjs/query-builder/function-module.js'; -+import { ExtractTypeFromReferenceExpression, ReferenceExpression, SimpleReferenceExpression, StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { BinaryOperatorExpression, ComparisonOperatorExpression, FilterObject, OperandValueExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { ComparisonOperator, JSONOperatorWith$, UnaryOperator } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExtractTypeFromValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { CaseBuilder } from 'kysely/dist/cjs/query-builder/case-builder.js'; -+import { JSONPathBuilder } from 'kysely/dist/cjs/query-builder/json-path-builder.js'; -+import { OperandExpression } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from 'kysely/dist/cjs/parser/tuple-parser.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; - export interface ExpressionBuilder { - /** - * Creates a binary expression. -@@ -344,6 +345,30 @@ export interface ExpressionBuilder { - */ - ref>(reference: RE): ExpressionWrapper>; - ref>(reference: RE, op: JSONOperatorWith$): JSONPathBuilder>; -+ /** -+ * Creates a table reference. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select(eb => [ -+ * 'person.id', -+ * sql`jsonb_agg(${eb.table('pet')})`.as('pets') -+ * ]) -+ * .groupBy('person.id') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "person"."id", jsonb_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."id" -+ * ``` -+ */ -+ table(table: T): ExpressionWrapper>; - /** - * Returns a value expression. - * -diff --git a/node_modules/kysely/dist/cjs/expression/expression-builder.js b/node_modules/kysely/dist/cjs/expression/expression-builder.js -index 172dfab..cdcef14 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression-builder.js -+++ b/node_modules/kysely/dist/cjs/expression/expression-builder.js -@@ -60,8 +60,11 @@ function createExpressionBuilder(executor = noop_query_executor_js_1.NOOP_QUERY_ - } - return new json_path_builder_js_1.JSONPathBuilder((0, reference_parser_js_1.parseJSONReference)(reference, op)); - }, -+ table(table) { -+ return new expression_wrapper_js_1.ExpressionWrapper((0, table_parser_js_1.parseTable)(table)); -+ }, - val(value) { -- return new expression_wrapper_js_1.ExpressionWrapper((0, value_parser_js_1.parseValueExpressionOrList)(value)); -+ return new expression_wrapper_js_1.ExpressionWrapper((0, value_parser_js_1.parseValueExpression)(value)); - }, - refTuple(...values) { - return new expression_wrapper_js_1.ExpressionWrapper(tuple_node_js_1.TupleNode.create(values.map(reference_parser_js_1.parseReferenceExpression))); -diff --git a/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts b/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts -index 19799fd..d3c7b9f 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts -+++ b/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts -@@ -1,14 +1,14 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { AndNode } from '../operation-node/and-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { OrNode } from '../operation-node/or-node.js'; --import { ParensNode } from '../operation-node/parens-node.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { OperandExpression } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { SqlBool } from '../util/type-utils.js'; --import { AliasableExpression, AliasedExpression, Expression } from './expression.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { AndNode } from 'kysely/dist/cjs/operation-node/and-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrNode } from 'kysely/dist/cjs/operation-node/or-node.js'; -+import { ParensNode } from 'kysely/dist/cjs/operation-node/parens-node.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { OperandExpression } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; - export declare class ExpressionWrapper implements AliasableExpression { - #private; - constructor(node: OperationNode); -diff --git a/node_modules/kysely/dist/cjs/expression/expression.d.ts b/node_modules/kysely/dist/cjs/expression/expression.d.ts -index 336ff2a..426f092 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression.d.ts -+++ b/node_modules/kysely/dist/cjs/expression/expression.d.ts -@@ -1,6 +1,6 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - /** - * `Expression` represents an arbitrary SQL expression with a type. - * -diff --git a/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts b/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts -index 6d18663..35715c2 100644 ---- a/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts -+++ b/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts -@@ -1,7 +1,7 @@ --import { Expression } from '../expression/expression.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; --import { RawBuilder } from '../raw-builder/raw-builder.js'; --import { Simplify } from '../util/type-utils.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; -+import { RawBuilder } from 'kysely/dist/cjs/raw-builder/raw-builder.js'; -+import { Simplify } from 'kysely/dist/cjs/util/type-utils.js'; - /** - * A SQLite helper for aggregating a subquery into a JSON array. - * -diff --git a/node_modules/kysely/dist/cjs/index.d.ts b/node_modules/kysely/dist/cjs/index.d.ts -index cf166f8..37cf701 100644 ---- a/node_modules/kysely/dist/cjs/index.d.ts -+++ b/node_modules/kysely/dist/cjs/index.d.ts -@@ -72,6 +72,12 @@ export * from './dialect/postgres/postgres-dialect.js'; - export * from './dialect/sqlite/sqlite-query-compiler.js'; - export * from './dialect/sqlite/sqlite-introspector.js'; - export * from './dialect/sqlite/sqlite-adapter.js'; -+export * from './dialect/mssql/mssql-adapter.js'; -+export * from './dialect/mssql/mssql-dialect-config.js'; -+export * from './dialect/mssql/mssql-dialect.js'; -+export * from './dialect/mssql/mssql-driver.js'; -+export * from './dialect/mssql/mssql-introspector.js'; -+export * from './dialect/mssql/mssql-query-compiler.js'; - export * from './query-compiler/default-query-compiler.js'; - export * from './query-compiler/query-compiler.js'; - export * from './migration/migrator.js'; -@@ -176,7 +182,7 @@ export * from './util/compilable.js'; - export * from './util/explainable.js'; - export * from './util/streamable.js'; - export * from './util/log.js'; --export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, } from './util/type-utils.js'; -+export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, Nullable, } from './util/type-utils.js'; - export * from './util/infer-result.js'; - export { logOnce } from './util/log-once.js'; - export { SelectExpression, SelectCallback, SelectArg, Selection, CallbackSelection, } from './parser/select-parser.js'; -diff --git a/node_modules/kysely/dist/cjs/kysely.d.ts b/node_modules/kysely/dist/cjs/kysely.d.ts -index 52e909a..b10152e 100644 ---- a/node_modules/kysely/dist/cjs/kysely.d.ts -+++ b/node_modules/kysely/dist/cjs/kysely.d.ts -@@ -1,21 +1,21 @@ --import { Dialect } from './dialect/dialect.js'; --import { SchemaModule } from './schema/schema.js'; --import { DynamicModule } from './dynamic/dynamic.js'; --import { QueryExecutor } from './query-executor/query-executor.js'; --import { QueryCreator } from './query-creator.js'; --import { KyselyPlugin } from './plugin/kysely-plugin.js'; --import { DatabaseIntrospector } from './dialect/database-introspector.js'; --import { Driver, IsolationLevel } from './driver/driver.js'; --import { FunctionModule } from './query-builder/function-module.js'; --import { LogConfig } from './util/log.js'; --import { QueryExecutorProvider } from './query-executor/query-executor-provider.js'; --import { QueryResult } from './driver/database-connection.js'; --import { CompiledQuery } from './query-compiler/compiled-query.js'; --import { QueryId } from './util/query-id.js'; --import { Compilable } from './util/compilable.js'; --import { CaseBuilder } from './query-builder/case-builder.js'; --import { Expression } from './expression/expression.js'; --import { DrainOuterGeneric } from './util/type-utils.js'; -+import { Dialect } from 'kysely/dist/cjs/dialect/dialect.js'; -+import { SchemaModule } from 'kysely/dist/cjs/schema/schema.js'; -+import { DynamicModule } from 'kysely/dist/cjs/dynamic/dynamic.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryCreator } from 'kysely/dist/cjs/query-creator.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { DatabaseIntrospector } from 'kysely/dist/cjs/dialect/database-introspector.js'; -+import { Driver, IsolationLevel } from 'kysely/dist/cjs/driver/driver.js'; -+import { FunctionModule } from 'kysely/dist/cjs/query-builder/function-module.js'; -+import { LogConfig } from 'kysely/dist/cjs/util/log.js'; -+import { QueryExecutorProvider } from 'kysely/dist/cjs/query-executor/query-executor-provider.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { CaseBuilder } from 'kysely/dist/cjs/query-builder/case-builder.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; - /** - * The main Kysely class. - * -@@ -66,7 +66,7 @@ export declare class Kysely extends QueryCreator implements QueryExecuto - /** - * Returns the {@link SchemaModule} module for building database schema. - */ -- get schema(): SchemaModule; -+ get schema(): SchemaModule; - /** - * Returns a the {@link DynamicModule} module. - * -diff --git a/node_modules/kysely/dist/cjs/migration/migrator.js b/node_modules/kysely/dist/cjs/migration/migrator.js -index 76f2d83..6f1c144 100644 ---- a/node_modules/kysely/dist/cjs/migration/migrator.js -+++ b/node_modules/kysely/dist/cjs/migration/migrator.js -@@ -220,10 +220,7 @@ class Migrator { - } - if (!(await this.#doesSchemaExists())) { - try { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema` -@@ -239,20 +236,15 @@ class Migrator { - if (!(await this.#doesTableExists(this.#migrationTable))) { - try { - if (this.#migrationTableSchema) { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationTable) -- .ifNotExists() - .addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey()) - // The migration run time as ISO string. This is not a real date type as we - // can't know which data type is supported by all future dialects. -- .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()) -- .execute(); -+ .addColumn('timestamp', 'varchar(255)', (col) => col.notNull())); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -267,13 +259,11 @@ class Migrator { - async #ensureMigrationLockTableExists() { - if (!(await this.#doesTableExists(this.#migrationLockTable))) { - try { -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationLockTable) -- .ifNotExists() - .addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey()) -- .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)) -- .execute(); -+ .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0))); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -481,6 +471,12 @@ class Migrator { - } - return { results }; - } -+ async #createIfNotExists(qb) { -+ if (this.#props.db.getExecutor().adapter.supportsCreateIfNotExists) { -+ qb = qb.ifNotExists(); -+ } -+ await qb.execute(); -+ } - } - exports.Migrator = Migrator; - class MigrationResultSetError extends Error { -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts -index 03b5cff..fd8cd43 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts -@@ -1,5 +1,5 @@ --import { ColumnDefinitionNode } from './column-definition-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface AddColumnNode extends OperationNode { - readonly kind: 'AddColumnNode'; - readonly column: ColumnDefinitionNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts -index a342b5b..aa7c2bd 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ConstraintNode } from './constraint-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ConstraintNode } from 'kysely/dist/cjs/operation-node/constraint-node.js'; - export interface AddConstraintNode extends OperationNode { - readonly kind: 'AddConstraintNode'; - readonly constraint: ConstraintNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts -new file mode 100644 -index 0000000..5328a2a ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts -@@ -0,0 +1,21 @@ -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+export type AddIndexNodeProps = Omit; -+export interface AddIndexNode extends OperationNode { -+ readonly kind: 'AddIndexNode'; -+ readonly name: IdentifierNode; -+ readonly columns?: OperationNode[]; -+ readonly unique?: boolean; -+ readonly using?: RawNode; -+ readonly ifNotExists?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const AddIndexNode: Readonly<{ -+ is(node: OperationNode): node is AddIndexNode; -+ create(name: string): AddIndexNode; -+ cloneWith(node: AddIndexNode, props: AddIndexNodeProps): AddIndexNode; -+ cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): AddIndexNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-index-node.js b/node_modules/kysely/dist/cjs/operation-node/add-index-node.js -new file mode 100644 -index 0000000..0341e28 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/add-index-node.js -@@ -0,0 +1,31 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.AddIndexNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+const identifier_node_js_1 = require("./identifier-node.js"); -+/** -+ * @internal -+ */ -+exports.AddIndexNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'AddIndexNode'; -+ }, -+ create(name) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'AddIndexNode', -+ name: identifier_node_js_1.IdentifierNode.create(name) -+ }); -+ }, -+ cloneWith(node, props) { -+ return (0, object_utils_js_1.freeze)({ -+ ...node, -+ ...props, -+ }); -+ }, -+ cloneWithColumns(node, columns) { -+ return (0, object_utils_js_1.freeze)({ -+ ...node, -+ columns: [...(node.columns || []), ...columns], -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts -index a2a6857..b85dba9 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { OverNode } from './over-node.js'; --import { WhereNode } from './where-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OverNode } from 'kysely/dist/cjs/operation-node/over-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; - export interface AggregateFunctionNode extends OperationNode { - readonly kind: 'AggregateFunctionNode'; - readonly func: string; -diff --git a/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts -index 552c69b..acd28e0 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface AliasNode extends OperationNode { - readonly kind: 'AliasNode'; - readonly node: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts -index e888419..07d95d4 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; --import { RawNode } from './raw-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; - export type AlterColumnNodeProps = Omit; - export interface AlterColumnNode extends OperationNode { - readonly kind: 'AlterColumnNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts -index 5b03535..0f2da61 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts -@@ -1,14 +1,16 @@ --import { OperationNode } from './operation-node.js'; --import { AddColumnNode } from './add-column-node.js'; --import { DropColumnNode } from './drop-column-node.js'; --import { TableNode } from './table-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { RenameColumnNode } from './rename-column-node.js'; --import { AlterColumnNode } from './alter-column-node.js'; --import { AddConstraintNode } from './add-constraint-node.js'; --import { DropConstraintNode } from './drop-constraint-node.js'; --import { ModifyColumnNode } from './modify-column-node.js'; --export type AlterTableNodeTableProps = Pick; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { AddColumnNode } from 'kysely/dist/cjs/operation-node/add-column-node.js'; -+import { DropColumnNode } from 'kysely/dist/cjs/operation-node/drop-column-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { RenameColumnNode } from 'kysely/dist/cjs/operation-node/rename-column-node.js'; -+import { AlterColumnNode } from 'kysely/dist/cjs/operation-node/alter-column-node.js'; -+import { AddConstraintNode } from 'kysely/dist/cjs/operation-node/add-constraint-node.js'; -+import { DropConstraintNode } from 'kysely/dist/cjs/operation-node/drop-constraint-node.js'; -+import { ModifyColumnNode } from 'kysely/dist/cjs/operation-node/modify-column-node.js'; -+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js'; -+import { AddIndexNode } from 'kysely/dist/cjs/operation-node/add-index-node.js'; -+export type AlterTableNodeTableProps = Pick; - export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode; - export interface AlterTableNode extends OperationNode { - readonly kind: 'AlterTableNode'; -@@ -18,6 +20,8 @@ export interface AlterTableNode extends OperationNode { - readonly columnAlterations?: ReadonlyArray; - readonly addConstraint?: AddConstraintNode; - readonly dropConstraint?: DropConstraintNode; -+ readonly addIndex?: AddIndexNode; -+ readonly dropIndex?: DropIndexNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts -index ba1ffa4..5e24df8 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface AndNode extends OperationNode { - readonly kind: 'AndNode'; - readonly left: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts -index c4adeab..b9087e9 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface BinaryOperationNode extends OperationNode { - readonly kind: 'BinaryOperationNode'; - readonly leftOperand: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts -index 9a6dec1..5b55a5d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { WhenNode } from './when-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { WhenNode } from 'kysely/dist/cjs/operation-node/when-node.js'; - export interface CaseNode extends OperationNode { - readonly kind: 'CaseNode'; - readonly value?: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts -index 6e74d7c..24ec7bb 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; - export interface CheckConstraintNode extends OperationNode { - readonly kind: 'CheckConstraintNode'; - readonly expression: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts -index 6442d83..5e84167 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts -@@ -1,9 +1,9 @@ --import { CheckConstraintNode } from './check-constraint-node.js'; --import { ColumnNode } from './column-node.js'; --import { DefaultValueNode } from './default-value-node.js'; --import { GeneratedNode } from './generated-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReferencesNode } from './references-node.js'; -+import { CheckConstraintNode } from 'kysely/dist/cjs/operation-node/check-constraint-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { DefaultValueNode } from 'kysely/dist/cjs/operation-node/default-value-node.js'; -+import { GeneratedNode } from 'kysely/dist/cjs/operation-node/generated-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReferencesNode } from 'kysely/dist/cjs/operation-node/references-node.js'; - export type ColumnDefinitionNodeProps = Omit, 'kind' | 'dataType'>; - export interface ColumnDefinitionNode extends OperationNode { - readonly kind: 'ColumnDefinitionNode'; -@@ -20,6 +20,7 @@ export interface ColumnDefinitionNode extends OperationNode { - readonly unsigned?: boolean; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts -index d07a8b4..9c71e55 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ColumnNode extends OperationNode { - readonly kind: 'ColumnNode'; - readonly column: IdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts -index 2e8ab34..865997c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts -@@ -1,8 +1,7 @@ --import { ColumnNode } from './column-node.js'; --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ColumnUpdateNode extends OperationNode { - readonly kind: 'ColumnUpdateNode'; -- readonly column: ColumnNode; -+ readonly column: OperationNode; - readonly value: OperationNode; - } - /** -@@ -10,5 +9,5 @@ export interface ColumnUpdateNode extends OperationNode { - */ - export declare const ColumnUpdateNode: Readonly<{ - is(node: OperationNode): node is ColumnUpdateNode; -- create(column: ColumnNode, value: OperationNode): ColumnUpdateNode; -+ create(column: OperationNode, value: OperationNode): ColumnUpdateNode; - }>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts -index fd1fb2f..83d7924 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts -@@ -1,6 +1,6 @@ --import { ColumnNode } from './column-node.js'; --import { OperationNode } from './operation-node.js'; --import { TableNode } from './table-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export interface CommonTableExpressionNameNode extends OperationNode { - readonly kind: 'CommonTableExpressionNameNode'; - readonly table: TableNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts -index c8a2f8a..34c1780 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts -@@ -1,5 +1,5 @@ --import { CommonTableExpressionNameNode } from './common-table-expression-name-node.js'; --import { OperationNode } from './operation-node.js'; -+import { CommonTableExpressionNameNode } from 'kysely/dist/cjs/operation-node/common-table-expression-name-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - type CommonTableExpressionNodeProps = Pick; - export interface CommonTableExpressionNode extends OperationNode { - readonly kind: 'CommonTableExpressionNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts -index ef3548e..6da12df 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { CheckConstraintNode } from './check-constraint-node.js'; --import { ForeignKeyConstraintNode } from './foreign-key-constraint-node.js'; --import { PrimaryKeyConstraintNode } from './primary-constraint-node.js'; --import { UniqueConstraintNode } from './unique-constraint-node.js'; -+import { CheckConstraintNode } from 'kysely/dist/cjs/operation-node/check-constraint-node.js'; -+import { ForeignKeyConstraintNode } from 'kysely/dist/cjs/operation-node/foreign-key-constraint-node.js'; -+import { PrimaryKeyConstraintNode } from 'kysely/dist/cjs/operation-node/primary-constraint-node.js'; -+import { UniqueConstraintNode } from 'kysely/dist/cjs/operation-node/unique-constraint-node.js'; - export type ConstraintNode = PrimaryKeyConstraintNode | UniqueConstraintNode | CheckConstraintNode | ForeignKeyConstraintNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts -index a3a99d1..a18aa4a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts -@@ -1,8 +1,8 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; --import { RawNode } from './raw-node.js'; --import { TableNode } from './table-node.js'; --import { WhereNode } from './where-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; - export type CreateIndexNodeProps = Omit; - export type IndexType = 'btree' | 'hash' | 'gist' | 'gin'; - export interface CreateIndexNode extends OperationNode { -@@ -14,6 +14,7 @@ export interface CreateIndexNode extends OperationNode { - readonly using?: RawNode; - readonly ifNotExists?: boolean; - readonly where?: WhereNode; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts -index bb609f3..6a4fa7a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type CreateSchemaNodeParams = Omit, 'kind' | 'schema'>; - export interface CreateSchemaNode extends OperationNode { - readonly kind: 'CreateSchemaNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts -index cc8ceda..988b651 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts -@@ -1,8 +1,8 @@ --import { OperationNode } from './operation-node.js'; --import { TableNode } from './table-node.js'; --import { ConstraintNode } from './constraint-node.js'; --import { ColumnDefinitionNode } from './column-definition-node.js'; --import { ArrayItemType } from '../util/type-utils.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { ConstraintNode } from 'kysely/dist/cjs/operation-node/constraint-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; - export declare const ON_COMMIT_ACTIONS: string[]; - export type OnCommitAction = ArrayItemType; - export type CreateTableNodeParams = Omit; -@@ -16,6 +16,7 @@ export interface CreateTableNode extends OperationNode { - readonly onCommit?: OnCommitAction; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly selectQuery?: OperationNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts -new file mode 100644 -index 0000000..2eb8ae8 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts -@@ -0,0 +1,34 @@ -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { TriggerEventNode } from 'kysely/dist/cjs/operation-node/trigger-event-node.js'; -+import { TriggerOrderNode } from 'kysely/dist/cjs/operation-node/trigger-order-node.js'; -+import { FunctionNode } from 'kysely/dist/cjs/operation-node/function-node.js'; -+export type TriggerTime = 'after' | 'before' | 'instead of'; -+export type CreateTriggerNodeParams = Omit; -+export interface CreateTriggerNode extends OperationNode { -+ readonly kind: 'CreateTriggerNode'; -+ readonly name: IdentifierNode; -+ readonly queries?: ReadonlyArray; -+ readonly function?: FunctionNode; -+ readonly time?: TriggerTime; -+ readonly events?: ReadonlyArray; -+ readonly table?: TableNode; -+ readonly orReplace?: boolean; -+ readonly ifNotExists?: boolean; -+ readonly when?: OperationNode; -+ readonly temporary?: boolean; -+ readonly forEach?: 'row' | 'statement'; -+ readonly order?: TriggerOrderNode; -+} -+/** -+ * @internal -+ */ -+export declare const CreateTriggerNode: Readonly<{ -+ is(node: OperationNode): node is CreateTriggerNode; -+ create(name: IdentifierNode): CreateTriggerNode; -+ cloneWithQuery(createTrigger: CreateTriggerNode, query: QueryNode): CreateTriggerNode; -+ cloneWithEvent(createTrigger: CreateTriggerNode, event: TriggerEventNode): CreateTriggerNode; -+ cloneWith(createTrigger: CreateTriggerNode, params: CreateTriggerNodeParams): CreateTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js -new file mode 100644 -index 0000000..47ba119 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js -@@ -0,0 +1,36 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.CreateTriggerNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.CreateTriggerNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'CreateTriggerNode'; -+ }, -+ create(name) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'CreateTriggerNode', -+ name, -+ }); -+ }, -+ cloneWithQuery(createTrigger, query) { -+ return (0, object_utils_js_1.freeze)({ -+ ...createTrigger, -+ queries: (0, object_utils_js_1.freeze)([...(createTrigger.queries || []), query]), -+ }); -+ }, -+ cloneWithEvent(createTrigger, event) { -+ return (0, object_utils_js_1.freeze)({ -+ ...createTrigger, -+ events: (0, object_utils_js_1.freeze)([...(createTrigger.events || []), event]), -+ }); -+ }, -+ cloneWith(createTrigger, params) { -+ return (0, object_utils_js_1.freeze)({ -+ ...createTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts -index 3ab9c3b..382285f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; --import { ValueListNode } from './value-list-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js'; - export type CreateTypeNodeParams = Omit, 'kind'>; - export interface CreateTypeNode extends OperationNode { - readonly kind: 'CreateTypeNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts -index 9aa1faa..8db7a40 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from './column-node.js'; --import { OperationNode } from './operation-node.js'; --import { RawNode } from './raw-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; --import { SelectQueryNode } from './select-query-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; - export type CreateViewNodeParams = Omit, 'kind' | 'name'>; - export interface CreateViewNode extends OperationNode { - readonly kind: 'CreateViewNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts -index 1ab9f33..83557e4 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type ColumnDataType = 'varchar' | `varchar(${number})` | 'char' | `char(${number})` | 'text' | 'integer' | 'int2' | 'int4' | 'int8' | 'bigint' | 'boolean' | 'real' | 'double precision' | 'float4' | 'float8' | 'decimal' | `decimal(${number}, ${number})` | 'numeric' | `numeric(${number}, ${number})` | 'binary' | `binary(${number})` | 'bytea' | 'date' | 'datetime' | `datetime(${number})` | 'time' | `time(${number})` | 'timetz' | `timetz(${number})` | 'timestamp' | `timestamp(${number})` | 'timestamptz' | `timestamptz(${number})` | 'serial' | 'bigserial' | 'uuid' | 'json' | 'jsonb' | 'blob'; - export type DataTypeParams = Omit; - export interface DataTypeNode extends OperationNode { -diff --git a/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts -index 2df8841..0884b9c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface DefaultValueNode extends OperationNode { - readonly kind: 'DefaultValueNode'; - readonly defaultValue: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts -index 10d7f15..a993d3f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts -@@ -1,14 +1,14 @@ --import { FromNode } from './from-node.js'; --import { JoinNode } from './join-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReturningNode } from './returning-node.js'; --import { WhereNode } from './where-node.js'; --import { WithNode } from './with-node.js'; --import { LimitNode } from './limit-node.js'; --import { OrderByNode } from './order-by-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; --import { ExplainNode } from './explain-node.js'; --import { UsingNode } from './using-node.js'; -+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { LimitNode } from 'kysely/dist/cjs/operation-node/limit-node.js'; -+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { UsingNode } from 'kysely/dist/cjs/operation-node/using-node.js'; - export interface DeleteQueryNode extends OperationNode { - readonly kind: 'DeleteQueryNode'; - readonly from: FromNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts -index 10e13a2..83fb6d7 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; - export interface DropColumnNode extends OperationNode { - readonly kind: 'DropColumnNode'; - readonly column: ColumnNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts -index f5ccb05..f7f7660 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; - export type DropConstraintNodeProps = Omit; - export interface DropConstraintNode extends OperationNode { - readonly kind: 'DropConstraintNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts -index 2cc565e..8159449 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; --import { TableNode } from './table-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export type DropIndexNodeProps = Omit; - export interface DropIndexNode extends OperationNode { - readonly kind: 'DropIndexNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts -index 98166ad..34147fc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type DropSchemaNodeParams = Omit, 'kind' | 'schema'>; - export interface DropSchemaNode extends OperationNode { - readonly kind: 'DropSchemaNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts -index ab35e3e..ae42660 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { TableNode } from './table-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export type DropTablexNodeParams = Omit, 'kind' | 'table'>; - export interface DropTableNode extends OperationNode { - readonly kind: 'DropTableNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts -new file mode 100644 -index 0000000..e391cf9 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts -@@ -0,0 +1,17 @@ -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+export type DropTriggerNodeParams = Omit, 'kind' | 'name'>; -+export interface DropTriggerNode extends OperationNode { -+ readonly kind: 'DropTriggerNode'; -+ readonly name: SchemableIdentifierNode; -+ readonly ifExists?: boolean; -+ readonly cascade?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const DropTriggerNode: Readonly<{ -+ is(node: OperationNode): node is DropTriggerNode; -+ create(name: SchemableIdentifierNode): DropTriggerNode; -+ cloneWith(dropTrigger: DropTriggerNode, params: DropTriggerNodeParams): DropTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js -new file mode 100644 -index 0000000..2bb067e ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js -@@ -0,0 +1,24 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DropTriggerNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.DropTriggerNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'DropTriggerNode'; -+ }, -+ create(name) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'DropTriggerNode', -+ name, -+ }); -+ }, -+ cloneWith(dropTrigger, params) { -+ return (0, object_utils_js_1.freeze)({ -+ ...dropTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts -index 9693550..b162606 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; - export type DropTypeNodeParams = Omit, 'kind' | 'name'>; - export interface DropTypeNode extends OperationNode { - readonly kind: 'DropTypeNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts -index 2c4bf89..316775d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; - export type DropViewNodeParams = Omit, 'kind' | 'name'>; - export interface DropViewNode extends OperationNode { - readonly kind: 'DropViewNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts -index 8cf89b5..ddd4cd0 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts -@@ -1,5 +1,5 @@ --import { ExplainFormat } from '../util/explainable.js'; --import { OperationNode } from './operation-node.js'; -+import { ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ExplainNode extends OperationNode { - readonly kind: 'ExplainNode'; - readonly format?: ExplainFormat; -diff --git a/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts -index c7fe574..408bd48 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from './column-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; --import { OnModifyForeignAction, ReferencesNode } from './references-node.js'; --import { TableNode } from './table-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OnModifyForeignAction, ReferencesNode } from 'kysely/dist/cjs/operation-node/references-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export type ForeignKeyConstraintNodeProps = Omit; - export interface ForeignKeyConstraintNode extends OperationNode { - readonly kind: 'ForeignKeyConstraintNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts -index 2c46520..3d63e3b 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface FromNode extends OperationNode { - readonly kind: 'FromNode'; - readonly froms: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts -index 49aab00..05a1632 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface FunctionNode extends OperationNode { - readonly kind: 'FunctionNode'; - readonly func: string; -diff --git a/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts -index 5c86a9f..9a4c356 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type GeneratedNodeParams = Omit; - export interface GeneratedNode extends OperationNode { - readonly kind: 'GeneratedNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts -index 475ce87..5aeb92c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface GroupByItemNode extends OperationNode { - readonly kind: 'GroupByItemNode'; - readonly groupBy: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts -index 9b0b108..c8e9315 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { GroupByItemNode } from './group-by-item-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js'; - export interface GroupByNode extends OperationNode { - readonly kind: 'GroupByNode'; - readonly items: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts -index 14830a3..fe2c59e 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface HavingNode extends OperationNode { - readonly kind: 'HavingNode'; - readonly having: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts -index f74014d..2ee967e 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface IdentifierNode extends OperationNode { - readonly kind: 'IdentifierNode'; - readonly name: string; -diff --git a/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts -index f28ce2c..56406a5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts -@@ -1,11 +1,11 @@ --import { ColumnNode } from './column-node.js'; --import { ExplainNode } from './explain-node.js'; --import { OnConflictNode } from './on-conflict-node.js'; --import { OnDuplicateKeyNode } from './on-duplicate-key-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReturningNode } from './returning-node.js'; --import { TableNode } from './table-node.js'; --import { WithNode } from './with-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { OnConflictNode } from 'kysely/dist/cjs/operation-node/on-conflict-node.js'; -+import { OnDuplicateKeyNode } from 'kysely/dist/cjs/operation-node/on-duplicate-key-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; - export type InsertQueryNodeProps = Omit; - export interface InsertQueryNode extends OperationNode { - readonly kind: 'InsertQueryNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts -index ceb98ea..f95944b 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts -@@ -1,5 +1,5 @@ --import { OnNode } from './on-node.js'; --import { OperationNode } from './operation-node.js'; -+import { OnNode } from 'kysely/dist/cjs/operation-node/on-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin' | 'LateralInnerJoin' | 'LateralLeftJoin'; - export interface JoinNode extends OperationNode { - readonly kind: 'JoinNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts -index 87cacdf..2dbbb66 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { OperatorNode } from './operator-node.js'; --import { ValueNode } from './value-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OperatorNode } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; - export interface JSONOperatorChainNode extends OperationNode { - readonly kind: 'JSONOperatorChainNode'; - readonly operator: OperatorNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts -index f0b498b..8b25b88 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type JSONPathLegType = 'Member' | 'ArrayLocation'; - export interface JSONPathLegNode extends OperationNode { - readonly kind: 'JSONPathLegNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts -index 91243ed..93c8ccf 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts -@@ -1,6 +1,6 @@ --import { JSONPathLegNode } from './json-path-leg-node.js'; --import { OperationNode } from './operation-node.js'; --import { OperatorNode } from './operator-node.js'; -+import { JSONPathLegNode } from 'kysely/dist/cjs/operation-node/json-path-leg-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OperatorNode } from 'kysely/dist/cjs/operation-node/operator-node.js'; - export interface JSONPathNode extends OperationNode { - readonly kind: 'JSONPathNode'; - readonly inOperator?: OperatorNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts -index 9ba1b27..e225b19 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts -@@ -1,7 +1,7 @@ --import { JSONOperatorChainNode } from './json-operator-chain-node.js'; --import { JSONPathNode } from './json-path-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReferenceNode } from './reference-node.js'; -+import { JSONOperatorChainNode } from 'kysely/dist/cjs/operation-node/json-operator-chain-node.js'; -+import { JSONPathNode } from 'kysely/dist/cjs/operation-node/json-path-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js'; - export interface JSONReferenceNode extends OperationNode { - readonly kind: 'JSONReferenceNode'; - readonly reference: ReferenceNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts -index 3c3de76..25d3c5a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ValueNode } from './value-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; - export interface LimitNode extends OperationNode { - readonly kind: 'LimitNode'; - readonly limit: ValueNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts -index e25d4cf..c414d3a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts -@@ -1,5 +1,5 @@ --import { ColumnDefinitionNode } from './column-definition-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ModifyColumnNode extends OperationNode { - readonly kind: 'ModifyColumnNode'; - readonly column: ColumnDefinitionNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts -index 03158b0..daa5e72 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ValueNode } from './value-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; - export interface OffsetNode extends OperationNode { - readonly kind: 'OffsetNode'; - readonly offset: ValueNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts -index bbd7b2c..71072c8 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from './column-node.js'; --import { ColumnUpdateNode } from './column-update-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; --import { WhereNode } from './where-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; - export type OnConflictNodeProps = Omit; - export interface OnConflictNode extends OperationNode { - readonly kind: 'OnConflictNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts -index 63aa5b8..e2a6bdc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts -@@ -1,5 +1,5 @@ --import { ColumnUpdateNode } from './column-update-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type OnDuplicateKeyNodeProps = Omit; - export interface OnDuplicateKeyNode extends OperationNode { - readonly kind: 'OnDuplicateKeyNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts -index 97f6383..f2508e3 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OnNode extends OperationNode { - readonly kind: 'OnNode'; - readonly on: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts -index 6dc3661..24698c3 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OperationNodeSource { - toOperationNode(): OperationNode; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts -index 6b3a13c..5d7fd9d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - /** - * Transforms an operation node tree into another one. - * -@@ -139,9 +144,13 @@ export declare class OperationNodeTransformer { - protected transformDeleteQuery(node: DeleteQueryNode): DeleteQueryNode; - protected transformReturning(node: ReturningNode): ReturningNode; - protected transformCreateTable(node: CreateTableNode): CreateTableNode; -+ protected transformCreateTrigger(node: CreateTriggerNode): CreateTriggerNode; -+ protected transformTriggerEvent(node: TriggerEventNode): TriggerEventNode; -+ protected transformTriggerOrder(node: TriggerOrderNode): TriggerOrderNode; - protected transformColumnDefinition(node: ColumnDefinitionNode): ColumnDefinitionNode; - protected transformAddColumn(node: AddColumnNode): AddColumnNode; - protected transformDropTable(node: DropTableNode): DropTableNode; -+ protected transformDropTrigger(node: DropTriggerNode): DropTriggerNode; - protected transformOrderBy(node: OrderByNode): OrderByNode; - protected transformOrderByItem(node: OrderByItemNode): OrderByItemNode; - protected transformGroupBy(node: GroupByNode): GroupByNode; -@@ -199,6 +208,7 @@ export declare class OperationNodeTransformer { - protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode; - protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode; - protected transformTuple(node: TupleNode): TupleNode; -+ protected transformAddIndex(node: AddIndexNode): AddIndexNode; - protected transformDataType(node: DataTypeNode): DataTypeNode; - protected transformSelectAll(node: SelectAllNode): SelectAllNode; - protected transformIdentifier(node: IdentifierNode): IdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js -index bc3d0a4..839914f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js -@@ -121,6 +121,11 @@ class OperationNodeTransformer { - JSONPathLegNode: this.transformJSONPathLeg.bind(this), - JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this), - TupleNode: this.transformTuple.bind(this), -+ AddIndexNode: this.transformAddIndex.bind(this), -+ CreateTriggerNode: this.transformCreateTrigger.bind(this), -+ TriggerEventNode: this.transformTriggerEvent.bind(this), -+ TriggerOrderNode: this.transformTriggerOrder.bind(this), -+ DropTriggerNode: this.transformDropTrigger.bind(this), - }); - transformNode(node) { - if (!node) { -@@ -297,6 +302,38 @@ class OperationNodeTransformer { - onCommit: node.onCommit, - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ selectQuery: this.transformNode(node.selectQuery), -+ }); -+ } -+ transformCreateTrigger(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'CreateTriggerNode', -+ name: this.transformNode(node.name), -+ table: this.transformNode(node.table), -+ ifNotExists: node.ifNotExists, -+ time: node.time, -+ events: this.transformNodeList(node.events), -+ forEach: node.forEach, -+ orReplace: node.orReplace, -+ temporary: node.temporary, -+ queries: this.transformNodeList(node.queries), -+ function: this.transformNode(node.function), -+ when: this.transformNode(node.when), -+ order: this.transformNode(node.order), -+ }); -+ } -+ transformTriggerEvent(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'TriggerEventNode', -+ event: node.event, -+ columns: this.transformNodeList(node.columns), -+ }); -+ } -+ transformTriggerOrder(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'TriggerOrderNode', -+ order: node.order, -+ otherTriggerName: this.transformNode(node.otherTriggerName), - }); - } - transformColumnDefinition(node) { -@@ -315,6 +352,7 @@ class OperationNodeTransformer { - generated: this.transformNode(node.generated), - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformAddColumn(node) { -@@ -331,6 +369,14 @@ class OperationNodeTransformer { - cascade: node.cascade, - }); - } -+ transformDropTrigger(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'DropTriggerNode', -+ name: this.transformNode(node.name), -+ ifExists: node.ifExists, -+ cascade: node.cascade, -+ }); -+ } - transformOrderBy(node) { - return (0, require_all_props_js_1.requireAllProps)({ - kind: 'OrderByNode', -@@ -416,6 +462,7 @@ class OperationNodeTransformer { - using: this.transformNode(node.using), - ifNotExists: node.ifNotExists, - where: this.transformNode(node.where), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformList(node) { -@@ -445,6 +492,7 @@ class OperationNodeTransformer { - kind: 'UniqueConstraintNode', - columns: this.transformNodeList(node.columns), - name: this.transformNode(node.name), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformForeignKeyConstraint(node) { -@@ -533,6 +581,8 @@ class OperationNodeTransformer { - columnAlterations: this.transformNodeList(node.columnAlterations), - addConstraint: this.transformNode(node.addConstraint), - dropConstraint: this.transformNode(node.dropConstraint), -+ addIndex: this.transformNode(node.addIndex), -+ dropIndex: this.transformNode(node.dropIndex), - }); - } - transformDropColumn(node) { -@@ -765,6 +815,16 @@ class OperationNodeTransformer { - values: this.transformNodeList(node.values), - }); - } -+ transformAddIndex(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'AddIndexNode', -+ name: this.transformNode(node.name), -+ columns: this.transformNodeList(node.columns), -+ unique: node.unique, -+ using: this.transformNode(node.using), -+ ifNotExists: node.ifNotExists, -+ }); -+ } - transformDataType(node) { - // An Object.freezed leaf node. No need to clone. - return node; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts -index 7c267cd..6a66bc7 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - export declare abstract class OperationNodeVisitor { - #private; - protected readonly nodeStack: OperationNode[]; -@@ -108,9 +113,13 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitDeleteQuery(node: DeleteQueryNode): void; - protected abstract visitReturning(node: ReturningNode): void; - protected abstract visitCreateTable(node: CreateTableNode): void; -+ protected abstract visitCreateTrigger(node: CreateTriggerNode): void; -+ protected abstract visitTriggerEvent(node: TriggerEventNode): void; -+ protected abstract visitTriggerOrder(node: TriggerOrderNode): void; - protected abstract visitAddColumn(node: AddColumnNode): void; - protected abstract visitColumnDefinition(node: ColumnDefinitionNode): void; - protected abstract visitDropTable(node: DropTableNode): void; -+ protected abstract visitDropTrigger(node: DropTriggerNode): void; - protected abstract visitOrderBy(node: OrderByNode): void; - protected abstract visitOrderByItem(node: OrderByItemNode): void; - protected abstract visitGroupBy(node: GroupByNode): void; -@@ -176,4 +185,5 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitJSONPathLeg(node: JSONPathLegNode): void; - protected abstract visitJSONOperatorChain(node: JSONOperatorChainNode): void; - protected abstract visitTuple(node: TupleNode): void; -+ protected abstract visitAddIndex(node: AddIndexNode): void; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js -index 8a50e0b..acc4d6e 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js -@@ -94,6 +94,11 @@ class OperationNodeVisitor { - JSONPathLegNode: this.visitJSONPathLeg.bind(this), - JSONOperatorChainNode: this.visitJSONOperatorChain.bind(this), - TupleNode: this.visitTuple.bind(this), -+ AddIndexNode: this.visitAddIndex.bind(this), -+ CreateTriggerNode: this.visitCreateTrigger.bind(this), -+ TriggerEventNode: this.visitTriggerEvent.bind(this), -+ TriggerOrderNode: this.visitTriggerOrder.bind(this), -+ DropTriggerNode: this.visitDropTrigger.bind(this), - }); - visitNode = (node) => { - this.nodeStack.push(node); -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts -index 24cad68..a01b9ed 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts -@@ -1,4 +1,4 @@ --export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode'; -+export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'AddIndexNode' | 'CreateTriggerNode' | 'TriggerEventNode' | 'TriggerOrderNode' | 'DropTriggerNode'; - export interface OperationNode { - readonly kind: OperationNodeKind; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts -index 1076866..20a5fcb 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts -@@ -1,11 +1,11 @@ --import { OperationNode } from './operation-node.js'; --export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp"]; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"]; - export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"]; - export declare const JSON_OPERATORS: readonly ["->", "->>"]; --export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; -+export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; - export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"]; - export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"]; --export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; -+export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; - export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number]; - export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number]; - export type JSONOperator = (typeof JSON_OPERATORS)[number]; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operator-node.js b/node_modules/kysely/dist/cjs/operation-node/operator-node.js -index 1b4ff0a..5407a85 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operator-node.js -+++ b/node_modules/kysely/dist/cjs/operation-node/operator-node.js -@@ -37,6 +37,8 @@ exports.COMPARISON_OPERATORS = [ - '!!', - '<->', - 'regexp', -+ 'is distinct from', -+ 'is not distinct from', - ]; - exports.ARITHMETIC_OPERATORS = [ - '+', -diff --git a/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts -index 4d8e9ce..ca76ae2 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OrNode extends OperationNode { - readonly kind: 'OrNode'; - readonly left: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts -index 5a926f7..2964b97 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OrderByItemNode extends OperationNode { - readonly kind: 'OrderByItemNode'; - readonly orderBy: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts -index ec862ab..aad64f5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; - export interface OrderByNode extends OperationNode { - readonly kind: 'OrderByNode'; - readonly items: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts -index 90fa893..9f04bf1 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts -@@ -1,8 +1,8 @@ --import { OperationNode } from './operation-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; --import { OrderByNode } from './order-by-node.js'; --import { PartitionByItemNode } from './partition-by-item-node.js'; --import { PartitionByNode } from './partition-by-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js'; -+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js'; -+import { PartitionByNode } from 'kysely/dist/cjs/operation-node/partition-by-node.js'; - export interface OverNode extends OperationNode { - readonly kind: 'OverNode'; - readonly orderBy?: OrderByNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts -index 8a84c5d..8052a4f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ParensNode extends OperationNode { - readonly kind: 'ParensNode'; - readonly node: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts -index 91b1035..d851bf5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; - export interface PartitionByItemNode extends OperationNode { - readonly kind: 'PartitionByItemNode'; - readonly partitionBy: SimpleReferenceExpressionNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts -index 92f2c3d..3b9595c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts -@@ -1,5 +1,5 @@ --import { PartitionByItemNode } from './partition-by-item-node.js'; --import { OperationNode } from './operation-node.js'; -+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface PartitionByNode extends OperationNode { - readonly kind: 'PartitionByNode'; - readonly items: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts -index 63de5ec..be729e7 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts -@@ -1,6 +1,6 @@ --import { ColumnNode } from './column-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface PrimaryKeyConstraintNode extends OperationNode { - readonly kind: 'PrimaryKeyConstraintNode'; - readonly columns: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts -index d47b86f..142ebae 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - /** - * This node is basically just a performance optimization over the normal ValueListNode. - * The queries often contain large arrays of primitive values (for example in a `where in` list) -diff --git a/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts -index bf6ef92..133557d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts -@@ -1,15 +1,15 @@ --import { InsertQueryNode } from './insert-query-node.js'; --import { SelectQueryNode } from './select-query-node.js'; --import { UpdateQueryNode } from './update-query-node.js'; --import { DeleteQueryNode } from './delete-query-node.js'; --import { WhereNode } from './where-node.js'; --import { JoinNode } from './join-node.js'; --import { SelectionNode } from './selection-node.js'; --import { ReturningNode } from './returning-node.js'; --import { OperationNode } from './operation-node.js'; --import { ExplainNode } from './explain-node.js'; --import { ExplainFormat } from '../util/explainable.js'; --import { Expression } from '../expression/expression.js'; -+import { InsertQueryNode } from 'kysely/dist/cjs/operation-node/insert-query-node.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; -+import { UpdateQueryNode } from 'kysely/dist/cjs/operation-node/update-query-node.js'; -+import { DeleteQueryNode } from 'kysely/dist/cjs/operation-node/delete-query-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; - export type QueryNode = SelectQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode; - type HasJoins = { - joins?: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts -index d0ebaa1..e8493de 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface RawNode extends OperationNode { - readonly kind: 'RawNode'; - readonly sqlFragments: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts -index 25451af..06b6906 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts -@@ -1,7 +1,7 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; --import { TableNode } from './table-node.js'; --import { SelectAllNode } from './select-all-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { SelectAllNode } from 'kysely/dist/cjs/operation-node/select-all-node.js'; - export interface ReferenceNode extends OperationNode { - readonly kind: 'ReferenceNode'; - readonly column: ColumnNode | SelectAllNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts -index bca9b92..261c6ca 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts -@@ -1,7 +1,7 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; --import { TableNode } from './table-node.js'; --import { ArrayItemType } from '../util/type-utils.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; - export declare const ON_MODIFY_FOREIGN_ACTIONS: readonly ["no action", "restrict", "cascade", "set null", "set default"]; - export type OnModifyForeignAction = ArrayItemType; - export interface ReferencesNode extends OperationNode { -diff --git a/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts -index 6aaa14a..14f4d87 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; - export interface RenameColumnNode extends OperationNode { - readonly kind: 'RenameColumnNode'; - readonly column: ColumnNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts -index 6504839..2000c94 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SelectionNode } from './selection-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; - export interface ReturningNode extends OperationNode { - readonly kind: 'ReturningNode'; - readonly selections: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts -index 0373909..18afb74 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface SchemableIdentifierNode extends OperationNode { - readonly kind: 'SchemableIdentifierNode'; - readonly schema?: IdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts -index ebdb84d..facdf67 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface SelectAllNode extends OperationNode { - readonly kind: 'SelectAllNode'; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts -index 6cafd87..2d3273f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type SelectModifier = 'ForUpdate' | 'ForNoKeyUpdate' | 'ForShare' | 'ForKeyShare' | 'NoWait' | 'SkipLocked' | 'Distinct'; - export interface SelectModifierNode extends OperationNode { - readonly kind: 'SelectModifierNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts -index 8566716..f6adbb0 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts -@@ -1,19 +1,19 @@ --import { FromNode } from './from-node.js'; --import { GroupByItemNode } from './group-by-item-node.js'; --import { GroupByNode } from './group-by-node.js'; --import { HavingNode } from './having-node.js'; --import { JoinNode } from './join-node.js'; --import { LimitNode } from './limit-node.js'; --import { OffsetNode } from './offset-node.js'; --import { OperationNode } from './operation-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; --import { OrderByNode } from './order-by-node.js'; --import { SelectionNode } from './selection-node.js'; --import { WhereNode } from './where-node.js'; --import { WithNode } from './with-node.js'; --import { SelectModifierNode } from './select-modifier-node.js'; --import { ExplainNode } from './explain-node.js'; --import { SetOperationNode } from './set-operation-node.js'; -+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js'; -+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js'; -+import { GroupByNode } from 'kysely/dist/cjs/operation-node/group-by-node.js'; -+import { HavingNode } from 'kysely/dist/cjs/operation-node/having-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { LimitNode } from 'kysely/dist/cjs/operation-node/limit-node.js'; -+import { OffsetNode } from 'kysely/dist/cjs/operation-node/offset-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { SelectModifierNode } from 'kysely/dist/cjs/operation-node/select-modifier-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { SetOperationNode } from 'kysely/dist/cjs/operation-node/set-operation-node.js'; - export interface SelectQueryNode extends OperationNode { - readonly kind: 'SelectQueryNode'; - readonly from?: FromNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts -index 65c3567..f82ed6a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts -@@ -1,8 +1,8 @@ --import { AliasNode } from './alias-node.js'; --import { OperationNode } from './operation-node.js'; --import { SelectAllNode } from './select-all-node.js'; --import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js'; --import { TableNode } from './table-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SelectAllNode } from 'kysely/dist/cjs/operation-node/select-all-node.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - type SelectionNodeChild = SimpleReferenceExpressionNode | AliasNode | SelectAllNode; - export interface SelectionNode extends OperationNode { - readonly kind: 'SelectionNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts -index 31f9efc..b924286 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type SetOperator = 'union' | 'intersect' | 'except'; - export interface SetOperationNode extends OperationNode { - kind: 'SetOperationNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts -index f89eb48..7c6ef63 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts -@@ -1,3 +1,3 @@ --import { ColumnNode } from './column-node.js'; --import { ReferenceNode } from './reference-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js'; - export type SimpleReferenceExpressionNode = ColumnNode | ReferenceNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts -index b6fba34..c6c3673 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; - export interface TableNode extends OperationNode { - readonly kind: 'TableNode'; - readonly table: SchemableIdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts -new file mode 100644 -index 0000000..fcdf121 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts -@@ -0,0 +1,15 @@ -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+export type TriggerEvent = 'delete' | 'update' | 'insert' | 'truncate'; -+export type TriggerEventNodeParams = Omit; -+export interface TriggerEventNode extends OperationNode { -+ readonly kind: 'TriggerEventNode'; -+ readonly event: TriggerEvent; -+ readonly columns?: ReadonlyArray; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerEventNode: Readonly<{ -+ is(node: OperationNode): node is TriggerEventNode; -+ create(event: TriggerEvent, columns?: ReadonlyArray): TriggerEventNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js -new file mode 100644 -index 0000000..85f3975 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js -@@ -0,0 +1,19 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.TriggerEventNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.TriggerEventNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'TriggerEventNode'; -+ }, -+ create(event, columns) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'TriggerEventNode', -+ event, -+ columns, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts -new file mode 100644 -index 0000000..5db90ed ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts -@@ -0,0 +1,16 @@ -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+export type TriggerOrder = 'follows' | 'precedes'; -+export type TriggerOrderNodeParams = Omit; -+export interface TriggerOrderNode extends OperationNode { -+ readonly kind: 'TriggerOrderNode'; -+ readonly order: TriggerOrder; -+ readonly otherTriggerName: IdentifierNode; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerOrderNode: Readonly<{ -+ is(node: OperationNode): node is TriggerOrderNode; -+ create(order: TriggerOrder, otherTriggerName: IdentifierNode): TriggerOrderNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js -new file mode 100644 -index 0000000..2b40780 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js -@@ -0,0 +1,19 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.TriggerOrderNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.TriggerOrderNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'TriggerOrderNode'; -+ }, -+ create(order, otherTriggerName) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'TriggerOrderNode', -+ order, -+ otherTriggerName, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts -index c179f1f..5111298 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts -@@ -1,15 +1,18 @@ --import { ColumnNode } from './column-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface UniqueConstraintNode extends OperationNode { - readonly kind: 'UniqueConstraintNode'; - readonly columns: ReadonlyArray; - readonly name?: IdentifierNode; -+ readonly nullsNotDistinct?: boolean; - } -+export type UniqueConstraintNodeProps = Omit, 'kind'>; - /** - * @internal - */ - export declare const UniqueConstraintNode: Readonly<{ - is(node: OperationNode): node is UniqueConstraintNode; -- create(columns: string[], constraintName?: string): UniqueConstraintNode; -+ create(columns: string[], constraintName?: string, nullsNotDistinct?: boolean): UniqueConstraintNode; -+ cloneWith(node: UniqueConstraintNode, props: UniqueConstraintNodeProps): UniqueConstraintNode; - }>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js -index d615f74..ba9b265 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js -+++ b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js -@@ -11,11 +11,18 @@ exports.UniqueConstraintNode = (0, object_utils_js_1.freeze)({ - is(node) { - return node.kind === 'UniqueConstraintNode'; - }, -- create(columns, constraintName) { -+ create(columns, constraintName, nullsNotDistinct) { - return (0, object_utils_js_1.freeze)({ - kind: 'UniqueConstraintNode', - columns: (0, object_utils_js_1.freeze)(columns.map(column_node_js_1.ColumnNode.create)), - name: constraintName ? identifier_node_js_1.IdentifierNode.create(constraintName) : undefined, -+ nullsNotDistinct, -+ }); -+ }, -+ cloneWith(node, props) { -+ return (0, object_utils_js_1.freeze)({ -+ ...node, -+ ...props, - }); - }, - }); -diff --git a/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts -index 6fcc5e7..29fb124 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts -@@ -1,13 +1,13 @@ --import { ColumnUpdateNode } from './column-update-node.js'; --import { JoinNode } from './join-node.js'; --import { OperationNode } from './operation-node.js'; --import { PrimitiveValueListNode } from './primitive-value-list-node.js'; --import { ReturningNode } from './returning-node.js'; --import { ValueListNode } from './value-list-node.js'; --import { WhereNode } from './where-node.js'; --import { WithNode } from './with-node.js'; --import { FromNode } from './from-node.js'; --import { ExplainNode } from './explain-node.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { PrimitiveValueListNode } from 'kysely/dist/cjs/operation-node/primitive-value-list-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; - export type UpdateValuesNode = ValueListNode | PrimitiveValueListNode; - export interface UpdateQueryNode extends OperationNode { - readonly kind: 'UpdateQueryNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts -index 01da795..901c8e5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface UsingNode extends OperationNode { - readonly kind: 'UsingNode'; - readonly tables: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts -index e48e781..bf4a346 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ValueListNode extends OperationNode { - readonly kind: 'ValueListNode'; - readonly values: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts -index c5fdc09..6068adc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ValueNode extends OperationNode { - readonly kind: 'ValueNode'; - readonly value: unknown; -diff --git a/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts -index 86590c6..bb8127c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { PrimitiveValueListNode } from './primitive-value-list-node.js'; --import { ValueListNode } from './value-list-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { PrimitiveValueListNode } from 'kysely/dist/cjs/operation-node/primitive-value-list-node.js'; -+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js'; - export type ValuesItemNode = ValueListNode | PrimitiveValueListNode; - export interface ValuesNode extends OperationNode { - readonly kind: 'ValuesNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts -index c6f1db8..8be8ebb 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface WhenNode extends OperationNode { - readonly kind: 'WhenNode'; - readonly condition: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts -index 44f9fbd..a3e79d1 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface WhereNode extends OperationNode { - readonly kind: 'WhereNode'; - readonly where: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts -index 78fecfd..d4fcebc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { CommonTableExpressionNode } from './common-table-expression-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js'; - export type WithNodeParams = Omit; - export interface WithNode extends OperationNode { - readonly kind: 'WithNode'; -diff --git a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts -index 442aeb2..2585655 100644 ---- a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts -@@ -1,11 +1,11 @@ --import { BinaryOperationNode } from '../operation-node/binary-operation-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ComparisonOperator, BinaryOperator, Operator } from '../operation-node/operator-node.js'; --import { ExtractTypeFromReferenceExpression, ExtractTypeFromStringReference, ReferenceExpression, StringReference } from './reference-parser.js'; --import { ValueExpression, ValueExpressionOrList } from './value-parser.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { Expression } from '../expression/expression.js'; --import { SelectType } from '../util/column-type.js'; -+import { BinaryOperationNode } from 'kysely/dist/cjs/operation-node/binary-operation-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperator, BinaryOperator, Operator } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { ExtractTypeFromReferenceExpression, ExtractTypeFromStringReference, ReferenceExpression, StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ValueExpression, ValueExpressionOrList } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectType } from 'kysely/dist/cjs/util/column-type.js'; - export type OperandValueExpression = ValueExpression>; - export type OperandValueExpressionOrList = ValueExpressionOrList | null>; - export type OperatorExpression = Operator | Expression; -diff --git a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js -index 2ebff87..b5e9a08 100644 ---- a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js -+++ b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js -@@ -41,7 +41,7 @@ exports.parseFilterObject = parseFilterObject; - function parseFilterList(list, combinator) { - const combine = combinator === 'and' ? and_node_js_1.AndNode.create : or_node_js_1.OrNode.create; - if (list.length === 0) { -- return value_node_js_1.ValueNode.createImmediate(combinator === 'and'); -+ return binary_operation_node_js_1.BinaryOperationNode.create(value_node_js_1.ValueNode.createImmediate(1), operator_node_js_1.OperatorNode.create('='), value_node_js_1.ValueNode.createImmediate(combinator === 'and' ? 1 : 0)); - } - let node = toOperationNode(list[0]); - for (let i = 1; i < list.length; ++i) { -diff --git a/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts b/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts -index ad11860..d71013b 100644 ---- a/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts -@@ -1,2 +1,2 @@ --import { ExtractTypeFromReferenceExpression, ReferenceExpression } from './reference-parser.js'; -+import { ExtractTypeFromReferenceExpression, ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type CoalesceReferenceExpressionList = RE extends [] ? O : RE extends [infer L, ...infer R] ? L extends ReferenceExpression ? null extends ExtractTypeFromReferenceExpression ? CoalesceReferenceExpressionList[] ? R : never, O | ExtractTypeFromReferenceExpression> : Exclude | ExtractTypeFromReferenceExpression : never : never; -diff --git a/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts b/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts -index 5469925..2d9e6e9 100644 ---- a/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts -@@ -1,5 +1,5 @@ --import { Expression } from '../expression/expression.js'; --import { ColumnDataType } from '../operation-node/data-type-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ColumnDataType } from 'kysely/dist/cjs/operation-node/data-type-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type DataTypeExpression = ColumnDataType | Expression; - export declare function parseDataTypeExpression(dataType: DataTypeExpression): OperationNode; -diff --git a/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts b/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts -index 332773a..dda387f 100644 ---- a/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts -@@ -1,4 +1,4 @@ --import { Expression } from '../expression/expression.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type DefaultValueExpression = unknown | Expression; - export declare function parseDefaultValueExpression(value: DefaultValueExpression): OperationNode; -diff --git a/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts b/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts -index ad657a1..dc6f087 100644 ---- a/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts -@@ -1,8 +1,8 @@ --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { AliasNode } from '../operation-node/alias-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; - /** - * Like `Expression` but also accepts a select query with an output - * type extending `Record`. This type is useful because SQL -diff --git a/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts -index 2338e36..19ffb2e 100644 ---- a/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts -@@ -1,6 +1,6 @@ --import { GroupByItemNode } from '../operation-node/group-by-item-node.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { ReferenceExpression } from './reference-parser.js'; -+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type GroupByExpression = ReferenceExpression | (keyof O & string); - export type GroupByArg = GroupByExpression | ReadonlyArray> | ((eb: ExpressionBuilder) => ReadonlyArray>); - export declare function parseGroupBy(groupBy: GroupByArg): GroupByItemNode[]; -diff --git a/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts b/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts -index 4560fab..bd1a505 100644 ---- a/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from '../operation-node/column-node.js'; --import { ValueExpression } from './value-parser.js'; --import { ValuesNode } from '../operation-node/values-node.js'; --import { NonNullableInsertKeys, NullableInsertKeys, InsertType } from '../util/column-type.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { ValuesNode } from 'kysely/dist/cjs/operation-node/values-node.js'; -+import { NonNullableInsertKeys, NullableInsertKeys, InsertType } from 'kysely/dist/cjs/util/column-type.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; - export type InsertObject = { - [C in NonNullableInsertKeys]: ValueExpression>; - } & { -diff --git a/node_modules/kysely/dist/cjs/parser/join-parser.d.ts b/node_modules/kysely/dist/cjs/parser/join-parser.d.ts -index fcf33ef..91e1f85 100644 ---- a/node_modules/kysely/dist/cjs/parser/join-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/join-parser.d.ts -@@ -1,7 +1,7 @@ --import { JoinNode, JoinType } from '../operation-node/join-node.js'; --import { AnyColumn, AnyColumnWithTable, DrainOuterGeneric } from '../util/type-utils.js'; --import { From, FromTables } from './table-parser.js'; --import { JoinBuilder } from '../query-builder/join-builder.js'; -+import { JoinNode, JoinType } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { AnyColumn, AnyColumnWithTable, DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; -+import { From, FromTables } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { JoinBuilder } from 'kysely/dist/cjs/query-builder/join-builder.js'; - export type JoinReferenceExpression = DrainOuterGeneric | AnyJoinColumnWithTable>; - export type JoinCallbackExpression = (join: JoinBuilder, FromTables>) => JoinBuilder; - type AnyJoinColumn = AnyColumn, FromTables>; -diff --git a/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts -index 40d5d0e..329449c 100644 ---- a/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts -@@ -1,7 +1,7 @@ --import { Expression } from '../expression/expression.js'; --import { OrderByItemNode } from '../operation-node/order-by-item-node.js'; --import { StringReference } from './reference-parser.js'; --import { ReferenceExpression } from './reference-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type OrderByDirection = 'asc' | 'desc'; - export declare function isOrderByDirection(thing: unknown): thing is OrderByDirection; - export type DirectedOrderByStringReference = `${StringReference | (keyof O & string)} ${OrderByDirection}`; -diff --git a/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts -index 4a08f74..15a1c3e 100644 ---- a/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts -@@ -1,6 +1,6 @@ --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { PartitionByItemNode } from '../operation-node/partition-by-item-node.js'; --import { StringReference } from './reference-parser.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js'; -+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type PartitionByExpression = StringReference | DynamicReferenceBuilder; - export type PartitionByExpressionOrList = ReadonlyArray> | PartitionByExpression; - export declare function parsePartitionBy(partitionBy: PartitionByExpressionOrList): PartitionByItemNode[]; -diff --git a/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts b/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts -index cd4d656..9c530cf 100644 ---- a/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts -@@ -1,22 +1,23 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { ColumnNode } from '../operation-node/column-node.js'; --import { ReferenceNode } from '../operation-node/reference-node.js'; --import { AnyColumn, AnyColumnWithTable, ExtractColumnType } from '../util/type-utils.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; --import { ExpressionOrFactory } from './expression-parser.js'; --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { SelectType } from '../util/column-type.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { Expression } from '../expression/expression.js'; --import { SimpleReferenceExpressionNode } from '../operation-node/simple-reference-expression-node.js'; --import { OrderByDirection } from './order-by-parser.js'; --import { JSONOperatorWith$ } from '../operation-node/operator-node.js'; --import { JSONReferenceNode } from '../operation-node/json-reference-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js'; -+import { AnyColumn, AnyColumnWithTable, ExtractColumnType } from 'kysely/dist/cjs/util/type-utils.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { SelectType } from 'kysely/dist/cjs/util/column-type.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; -+import { OrderByDirection } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { JSONOperatorWith$ } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { JSONReferenceNode } from 'kysely/dist/cjs/operation-node/json-reference-node.js'; - export type StringReference = AnyColumn | AnyColumnWithTable; - export type SimpleReferenceExpression = StringReference | DynamicReferenceBuilder; - export type ReferenceExpression = SimpleReferenceExpression | ExpressionOrFactory; - export type ReferenceExpressionOrList = ReferenceExpression | ReadonlyArray>; --export type ExtractTypeFromReferenceExpression = RE extends string ? SelectType> : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; -+export type ExtractTypeFromReferenceExpression = SelectType>; -+export type ExtractRawTypeFromReferenceExpression = RE extends string ? ExtractTypeFromStringReference : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; - export type ExtractTypeFromStringReference = RE extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : RE extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : RE extends AnyColumn ? ExtractColumnType : DV; - export type OrderedColumnName = C extends `${string} ${infer O}` ? O extends OrderByDirection ? C : never : C; - export type ExtractColumnNameFromOrderedColumnName = C extends `${infer CL} ${infer O}` ? O extends OrderByDirection ? CL : never : C; -diff --git a/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts b/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts -index 4a41b30..35ccad7 100644 ---- a/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts -@@ -1,7 +1,7 @@ --import { DeleteResult } from '../query-builder/delete-result.js'; --import { InsertResult } from '../query-builder/insert-result.js'; --import { UpdateResult } from '../query-builder/update-result.js'; --import { Selection, AllSelection, CallbackSelection } from './select-parser.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { Selection, AllSelection, CallbackSelection } from 'kysely/dist/cjs/parser/select-parser.js'; - export type ReturningRow = O extends InsertResult ? Selection : O extends DeleteResult ? Selection : O extends UpdateResult ? Selection : O & Selection; - export type ReturningCallbackRow = O extends InsertResult ? CallbackSelection : O extends DeleteResult ? CallbackSelection : O extends UpdateResult ? CallbackSelection : O & CallbackSelection; - export type ReturningAllRow = O extends InsertResult ? AllSelection : O extends DeleteResult ? AllSelection : O extends UpdateResult ? AllSelection : O & AllSelection; -diff --git a/node_modules/kysely/dist/cjs/parser/select-parser.d.ts b/node_modules/kysely/dist/cjs/parser/select-parser.d.ts -index d15c377..be1bcdb 100644 ---- a/node_modules/kysely/dist/cjs/parser/select-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/select-parser.d.ts -@@ -1,11 +1,11 @@ --import { AliasedSelectQueryBuilder } from '../query-builder/select-query-builder.js'; --import { SelectionNode } from '../operation-node/selection-node.js'; --import { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, DrainOuterGeneric, ExtractColumnType } from '../util/type-utils.js'; --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { AliasedExpressionOrFactory } from './expression-parser.js'; --import { SelectType } from '../util/column-type.js'; --import { AliasedExpression } from '../expression/expression.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; -+import { AliasedSelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; -+import { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, DrainOuterGeneric, ExtractColumnType } from 'kysely/dist/cjs/util/type-utils.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { AliasedExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { SelectType } from 'kysely/dist/cjs/util/column-type.js'; -+import { AliasedExpression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; - export type SelectExpression = AnyAliasedColumnWithTable | AnyAliasedColumn | AnyColumnWithTable | AnyColumn | DynamicReferenceBuilder | AliasedExpressionOrFactory; - export type SelectCallback = (eb: ExpressionBuilder) => ReadonlyArray>; - /** -diff --git a/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts b/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts -index 34ffc3e..df5c497 100644 ---- a/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts -@@ -1,5 +1,5 @@ --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { Expression } from '../expression/expression.js'; --import { SetOperator, SetOperationNode } from '../operation-node/set-operation-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SetOperator, SetOperationNode } from 'kysely/dist/cjs/operation-node/set-operation-node.js'; - export type SetOperandExpression = Expression | ReadonlyArray> | ((eb: ExpressionBuilder) => Expression | ReadonlyArray>); - export declare function parseSetOperations(operator: SetOperator, expression: SetOperandExpression, all: boolean): SetOperationNode[]; -diff --git a/node_modules/kysely/dist/cjs/parser/table-parser.d.ts b/node_modules/kysely/dist/cjs/parser/table-parser.d.ts -index 05b58c4..98c5817 100644 ---- a/node_modules/kysely/dist/cjs/parser/table-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/table-parser.d.ts -@@ -1,9 +1,9 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { TableNode } from '../operation-node/table-node.js'; --import { AliasedExpressionOrFactory } from './expression-parser.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { AliasedExpression } from '../expression/expression.js'; --import { DrainOuterGeneric, ShallowRecord } from '../util/type-utils.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { AliasedExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { AliasedExpression } from 'kysely/dist/cjs/expression/expression.js'; -+import { DrainOuterGeneric, ShallowRecord } from 'kysely/dist/cjs/util/type-utils.js'; - export type TableExpression = AnyAliasedTable | AnyTable | AliasedExpressionOrFactory; - export type TableExpressionOrList = TableExpression | ReadonlyArray>; - export type TableReference = AnyAliasedTable | AnyTable | AliasedExpression; -diff --git a/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts b/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts -index 032ea46..2101bdf 100644 ---- a/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts -@@ -1,6 +1,6 @@ --import { DrainOuterGeneric } from '../util/type-utils.js'; --import { ExtractTypeFromReferenceExpression } from './reference-parser.js'; --import { ExtractTypeFromValueExpression } from './value-parser.js'; -+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExtractTypeFromReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ExtractTypeFromValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; - export type RefTuple2 = DrainOuterGeneric<[ - ExtractTypeFromReferenceExpression, - ExtractTypeFromReferenceExpression -diff --git a/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts b/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts -index d4b2dd0..184e344 100644 ---- a/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts -@@ -1,10 +1,13 @@ --import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { UpdateKeys, UpdateType } from '../util/column-type.js'; --import { ValueExpression } from './value-parser.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { UpdateKeys, UpdateType } from 'kysely/dist/cjs/util/column-type.js'; -+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { ExtractRawTypeFromReferenceExpression, ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type UpdateObject = { - [C in UpdateKeys]?: ValueExpression> | undefined; - }; - export type UpdateObjectFactory = (eb: ExpressionBuilder) => UpdateObject; --export type UpdateExpression = UpdateObject | UpdateObjectFactory; --export declare function parseUpdateExpression(update: UpdateExpression): ReadonlyArray; -+export type UpdateObjectExpression = UpdateObject | UpdateObjectFactory; -+export type ExtractUpdateTypeFromReferenceExpression = UpdateType>; -+export declare function parseUpdate(...args: [UpdateObjectExpression] | [ReferenceExpression, ValueExpression]): ReadonlyArray; -+export declare function parseUpdateObjectExpression(update: UpdateObjectExpression): ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/parser/update-set-parser.js b/node_modules/kysely/dist/cjs/parser/update-set-parser.js -index bbb1618..e741a9e 100644 ---- a/node_modules/kysely/dist/cjs/parser/update-set-parser.js -+++ b/node_modules/kysely/dist/cjs/parser/update-set-parser.js -@@ -1,12 +1,22 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); --exports.parseUpdateExpression = void 0; -+exports.parseUpdateObjectExpression = exports.parseUpdate = void 0; - const column_node_js_1 = require("../operation-node/column-node.js"); - const column_update_node_js_1 = require("../operation-node/column-update-node.js"); - const expression_builder_js_1 = require("../expression/expression-builder.js"); - const object_utils_js_1 = require("../util/object-utils.js"); - const value_parser_js_1 = require("./value-parser.js"); --function parseUpdateExpression(update) { -+const reference_parser_js_1 = require("./reference-parser.js"); -+function parseUpdate(...args) { -+ if (args.length === 2) { -+ return [ -+ column_update_node_js_1.ColumnUpdateNode.create((0, reference_parser_js_1.parseReferenceExpression)(args[0]), (0, value_parser_js_1.parseValueExpression)(args[1])), -+ ]; -+ } -+ return parseUpdateObjectExpression(args[0]); -+} -+exports.parseUpdate = parseUpdate; -+function parseUpdateObjectExpression(update) { - const updateObj = (0, object_utils_js_1.isFunction)(update) ? update((0, expression_builder_js_1.expressionBuilder)()) : update; - return Object.entries(updateObj) - .filter(([_, value]) => value !== undefined) -@@ -14,4 +24,4 @@ function parseUpdateExpression(update) { - return column_update_node_js_1.ColumnUpdateNode.create(column_node_js_1.ColumnNode.create(key), (0, value_parser_js_1.parseValueExpression)(value)); - }); - } --exports.parseUpdateExpression = parseUpdateExpression; -+exports.parseUpdateObjectExpression = parseUpdateObjectExpression; -diff --git a/node_modules/kysely/dist/cjs/parser/value-parser.d.ts b/node_modules/kysely/dist/cjs/parser/value-parser.d.ts -index 353d16e..ce7dc8b 100644 ---- a/node_modules/kysely/dist/cjs/parser/value-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/value-parser.d.ts -@@ -1,8 +1,8 @@ --import { ValueNode } from '../operation-node/value-node.js'; --import { ExpressionOrFactory } from './expression-parser.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { Expression } from '../expression/expression.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; - export type ValueExpression = V | ExpressionOrFactory; - export type ValueExpressionOrList = ValueExpression | ReadonlyArray>; - export type ExtractTypeFromValueExpressionOrList = VE extends ReadonlyArray ? ExtractTypeFromValueExpression : ExtractTypeFromValueExpression; -diff --git a/node_modules/kysely/dist/cjs/parser/with-parser.d.ts b/node_modules/kysely/dist/cjs/parser/with-parser.d.ts -index 63183fc..d4092ce 100644 ---- a/node_modules/kysely/dist/cjs/parser/with-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/with-parser.d.ts -@@ -1,11 +1,11 @@ --import { UpdateQueryBuilder } from '../query-builder/update-query-builder.js'; --import { DeleteQueryBuilder } from '../query-builder/delete-query-builder.js'; --import { InsertQueryBuilder } from '../query-builder/insert-query-builder.js'; --import { QueryCreator } from '../query-creator.js'; --import { Expression } from '../expression/expression.js'; --import { ShallowRecord } from '../util/type-utils.js'; --import { CTEBuilderCallback } from '../query-builder/cte-builder.js'; --import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js'; -+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js'; -+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js'; -+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js'; -+import { QueryCreator } from 'kysely/dist/cjs/query-creator.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ShallowRecord } from 'kysely/dist/cjs/util/type-utils.js'; -+import { CTEBuilderCallback } from 'kysely/dist/cjs/query-builder/cte-builder.js'; -+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js'; - export type CommonTableExpression = (creator: QueryCreator) => CommonTableExpressionOutput; - export type RecursiveCommonTableExpression = (creator: QueryCreator]: ExtractRowFromCommonTableExpressionName; -diff --git a/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts b/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts -index 098e5c8..35ca9da 100644 ---- a/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts -+++ b/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts -@@ -1,7 +1,7 @@ --import { QueryResult } from '../driver/database-connection.js'; --import { RootOperationNode } from '../query-compiler/query-compiler.js'; --import { QueryId } from '../util/query-id.js'; --import { UnknownRow } from '../util/type-utils.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { UnknownRow } from 'kysely/dist/cjs/util/type-utils.js'; - export interface KyselyPlugin { - /** - * This is called for each query before it is executed. You can modify the query by -diff --git a/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js b/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js -index 4b3caa6..97287a4 100644 ---- a/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js -+++ b/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js -@@ -19,12 +19,14 @@ const ROOT_OPERATION_NODES = (0, object_utils_js_1.freeze)({ - CreateTableNode: true, - CreateTypeNode: true, - CreateViewNode: true, -+ CreateTriggerNode: true, - DeleteQueryNode: true, - DropIndexNode: true, - DropSchemaNode: true, - DropTableNode: true, - DropTypeNode: true, - DropViewNode: true, -+ DropTriggerNode: true, - InsertQueryNode: true, - RawNode: true, - SelectQueryNode: true, -diff --git a/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts -index 6f9b8ee..85401ee 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts -@@ -1,11 +1,11 @@ --import { AggregateFunctionNode } from '../operation-node/aggregate-function-node.js'; --import { AliasNode } from '../operation-node/alias-node.js'; --import { OverBuilder } from './over-builder.js'; --import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { SqlBool } from '../util/type-utils.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { AggregateFunctionNode } from 'kysely/dist/cjs/operation-node/aggregate-function-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OverBuilder } from 'kysely/dist/cjs/query-builder/over-builder.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; - export declare class AggregateFunctionBuilder implements AliasableExpression { - #private; - constructor(props: AggregateFunctionBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts -index bbe83c7..4bc9062 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts -@@ -1,9 +1,9 @@ --import { Expression } from '../expression/expression.js'; --import { ExpressionWrapper } from '../expression/expression-wrapper.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { CaseNode } from '../operation-node/case-node.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CaseNode } from 'kysely/dist/cjs/operation-node/case-node.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; - export declare class CaseBuilder implements Whenable { - #private; - constructor(props: CaseBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts -index 8564d5b..ef22570 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts -@@ -1,5 +1,5 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js'; - export declare class CTEBuilder implements OperationNodeSource { - #private; - constructor(props: CTEBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts -index f510d14..841ec03 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts -@@ -1,28 +1,28 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js'; --import { From, FromTables, TableExpression } from '../parser/table-parser.js'; --import { SelectExpression, SelectCallback } from '../parser/select-parser.js'; --import { ReturningAllRow, ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { WhereInterface } from './where-interface.js'; --import { ReturningInterface } from './returning-interface.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { DeleteResult } from './delete-result.js'; --import { DeleteQueryNode } from '../operation-node/delete-query-node.js'; --import { OrderByDirectionExpression, OrderByExpression } from '../parser/order-by-parser.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Streamable } from '../util/streamable.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js'; -+import { From, FromTables, TableExpression } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { ReturningAllRow, ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; -+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { DeleteQueryNode } from 'kysely/dist/cjs/operation-node/delete-query-node.js'; -+import { OrderByDirectionExpression, OrderByExpression } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; - export declare class DeleteQueryBuilder implements WhereInterface, ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: DeleteQueryBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts b/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts -index 592c5e9..5620351 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts -@@ -1,12 +1,13 @@ --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { ExpressionWrapper } from '../expression/expression-wrapper.js'; --import { Expression } from '../expression/expression.js'; --import { CoalesceReferenceExpressionList } from '../parser/coalesce-parser.js'; --import { ExtractTypeFromReferenceExpression, ReferenceExpression, StringReference, ExtractTypeFromStringReference } from '../parser/reference-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Equals, IsAny } from '../util/type-utils.js'; --import { AggregateFunctionBuilder } from './aggregate-function-builder.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { CoalesceReferenceExpressionList } from 'kysely/dist/cjs/parser/coalesce-parser.js'; -+import { ExtractTypeFromReferenceExpression, ReferenceExpression, StringReference, ExtractTypeFromStringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Equals, IsAny } from 'kysely/dist/cjs/util/type-utils.js'; -+import { AggregateFunctionBuilder } from 'kysely/dist/cjs/query-builder/aggregate-function-builder.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; - /** - * Helpers for type safe SQL function calls. - * -@@ -17,21 +18,47 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * - * - * -- * This example uses the `fn` module to select some aggregates: -+ * This example shows how to create function calls. These examples also work in any -+ * other place (`where` calls, updates, inserts etc.). The only difference is that you -+ * leave out the alias (the `as` call) if you use these in any other place than `select`. - * - * ```ts -+ * import { sql } from 'kysely' -+ * - * const result = await db.selectFrom('person') - * .innerJoin('pet', 'pet.owner_id', 'person.id') -- * .select(({ fn }) => [ -+ * .select(({ fn, val, ref }) => [ - * 'person.id', - * - * // The `fn` module contains the most common - * // functions. - * fn.count('pet.id').as('pet_count'), - * -- * // You can call any function using the -- * // `agg` method -- * fn.agg('array_agg', ['pet.name']).as('pet_names') -+ * // You can call any function by calling `fn` -+ * // directly. The arguments are treated as column -+ * // references by default. If you want to pass in -+ * // values, use the `val` function. -+ * fn('concat', [ -+ * val('Ms. '), -+ * 'first_name', -+ * val(' '), -+ * 'last_name' -+ * ]).as('full_name_with_title'), -+ * -+ * // You can call any aggregate function using the -+ * // `fn.agg` function. -+ * fn.agg('array_agg', ['pet.name']).as('pet_names'), -+ * -+ * // And once again, you can use the `sql` -+ * // template tag. The template tag substitutions -+ * // are treated as values by default. If you want -+ * // to reference columns, you can use the `ref` -+ * // function. -+ * sql`concat( -+ * ${ref('first_name')}, -+ * ' ', -+ * ${ref('last_name')} -+ * )`.as('full_name') - * ]) - * .groupBy('person.id') - * .having((eb) => eb.fn.count('pet.id'), '>', 10) -@@ -44,11 +71,13 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * select - * "person"."id", - * count("pet"."id") as "pet_count", -- * array_agg("pet"."name") as "pet_names" -+ * concat($1, "first_name", $2, "last_name") as "full_name_with_title", -+ * array_agg("pet"."name") as "pet_names", -+ * concat("first_name", ' ', "last_name") as "full_name" - * from "person" - * inner join "pet" on "pet"."owner_id" = "person"."id" - * group by "person"."id" -- * having count("pet"."id") > $1 -+ * having count("pet"."id") > $3 - * ``` - */ - export interface FunctionModule { -@@ -540,6 +569,50 @@ export interface FunctionModule { - any>(expr: RE): Exclude, null> extends ReadonlyArray ? ExpressionWrapper : KyselyTypeError<'any(expr) call failed: expr must be an array'>; - any(subquery: SelectQueryBuilderExpression>): ExpressionWrapper; - any(expr: Expression>): ExpressionWrapper; -+ /** -+ * Creates a json_agg function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.jsonAgg('pet').as('pets')]) -+ * .groupBy('person.first_name') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", json_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."first_name" -+ * ``` -+ */ -+ jsonAgg>(table: T): AggregateFunctionBuilder[] : T extends Expression ? O[] : never>; -+ /** -+ * Creates a to_json function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.toJson('pet').as('pet')]) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", to_json("pet") as "pet" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * ``` -+ */ -+ toJson>(table: T): ExpressionWrapper : T extends Expression ? O : never>; - } - export declare function createFunctionModule(): FunctionModule; - type OutputBoundStringReference, O> = IsAny extends true ? C : Equals | null, O | null> extends true ? C : never; -diff --git a/node_modules/kysely/dist/cjs/query-builder/function-module.js b/node_modules/kysely/dist/cjs/query-builder/function-module.js -index b894b62..01a2a51 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/function-module.js -+++ b/node_modules/kysely/dist/cjs/query-builder/function-module.js -@@ -7,6 +7,8 @@ const function_node_js_1 = require("../operation-node/function-node.js"); - const reference_parser_js_1 = require("../parser/reference-parser.js"); - const select_parser_js_1 = require("../parser/select-parser.js"); - const aggregate_function_builder_js_1 = require("./aggregate-function-builder.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const table_parser_js_1 = require("../parser/table-parser.js"); - function createFunctionModule() { - const fn = (name, args) => { - return new expression_wrapper_js_1.ExpressionWrapper(function_node_js_1.FunctionNode.create(name, (0, reference_parser_js_1.parseReferenceExpressionOrList)(args))); -@@ -44,6 +46,18 @@ function createFunctionModule() { - any(column) { - return fn('any', [column]); - }, -+ jsonAgg(table) { -+ return new aggregate_function_builder_js_1.AggregateFunctionBuilder({ -+ aggregateFunctionNode: aggregate_function_node_js_1.AggregateFunctionNode.create('json_agg', [ -+ (0, object_utils_js_1.isString)(table) ? (0, table_parser_js_1.parseTable)(table) : table.toOperationNode(), -+ ]), -+ }); -+ }, -+ toJson(table) { -+ return new expression_wrapper_js_1.ExpressionWrapper(function_node_js_1.FunctionNode.create('to_json', [ -+ (0, object_utils_js_1.isString)(table) ? (0, table_parser_js_1.parseTable)(table) : table.toOperationNode(), -+ ])); -+ }, - }); - } - exports.createFunctionModule = createFunctionModule; -diff --git a/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts -index b9f72e1..529d504 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts -@@ -1,7 +1,7 @@ --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SqlBool } from '../util/type-utils.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; - export interface HavingInterface { - /** - * Just like {@link WhereInterface.where | where} but adds a `having` statement -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts -index 6be4113..f4c749a 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts -@@ -1,26 +1,26 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { SelectExpression, SelectCallback } from '../parser/select-parser.js'; --import { InsertObjectOrList, InsertObjectOrListFactory } from '../parser/insert-values-parser.js'; --import { InsertQueryNode } from '../operation-node/insert-query-node.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { NarrowPartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { InsertResult } from './insert-result.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReturningInterface } from './returning-interface.js'; --import { OnConflictBuilder, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictTables, OnConflictUpdateBuilder } from './on-conflict-builder.js'; --import { Selectable } from '../util/column-type.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { Expression } from '../expression/expression.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Streamable } from '../util/streamable.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { InsertObjectOrList, InsertObjectOrListFactory } from 'kysely/dist/cjs/parser/insert-values-parser.js'; -+import { InsertQueryNode } from 'kysely/dist/cjs/operation-node/insert-query-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { NarrowPartial, SimplifyResult, SimplifySingleResult } from 'kysely/dist/cjs/util/type-utils.js'; -+import { UpdateObjectExpression } from 'kysely/dist/cjs/parser/update-set-parser.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js'; -+import { OnConflictBuilder, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictTables, OnConflictUpdateBuilder } from 'kysely/dist/cjs/query-builder/on-conflict-builder.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; - export declare class InsertQueryBuilder implements ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: InsertQueryBuilderProps); -@@ -60,13 +60,18 @@ export declare class InsertQueryBuilder implements R - * }) - * .executeTakeFirst() - * -+ * // `insertId` is only available on dialects that -+ * // automatically return the id of the inserted row -+ * // such as MySQL and SQLite. On PostgreSQL, for example, -+ * // you need to add a `returning` clause to the query to -+ * // get anything out. See the "returning data" example. - * console.log(result.insertId) - * ``` - * -- * The generated SQL (PostgreSQL): -+ * The generated SQL (MySQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3) -+ * insert into `person` (`first_name`, `last_name`, `age`) values (?, ?, ?) - * ``` - * - * -@@ -131,11 +136,14 @@ export declare class InsertQueryBuilder implements R - * ```ts - * import { sql } from 'kysely' - * -+ * const ani = "Ani" -+ * const ston = "ston" -+ * - * const result = await db - * .insertInto('person') - * .values(({ ref, selectFrom, fn }) => ({ - * first_name: 'Jennifer', -- * last_name: sql`${'Ani'} || ${'ston'}`, -+ * last_name: sql`concat(${ani}, ${ston})`, - * middle_name: ref('first_name'), - * age: selectFrom('person') - * .select(fn.avg('age') -@@ -147,8 +155,18 @@ export declare class InsertQueryBuilder implements R - * The generated SQL (PostgreSQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") -- * values ($1, $2 || $3, (select avg("age") as "avg_age" from "person")) -+ * insert into "person" ( -+ * "first_name", -+ * "last_name", -+ * "middle_name", -+ * "age" -+ * ) -+ * values ( -+ * $1, -+ * concat($2, $3), -+ * "first_name", -+ * (select avg("age") as "avg_age" from "person") -+ * ) - * ``` - * - * You can also use the callback version of subqueries or raw expressions: -@@ -208,7 +226,7 @@ export declare class InsertQueryBuilder implements R - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -218,7 +236,7 @@ export declare class InsertQueryBuilder implements R - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression: ExpressionOrFactory): InsertQueryBuilder; -@@ -414,7 +432,7 @@ export declare class InsertQueryBuilder implements R - * .onDuplicateKeyUpdate({ species: 'hamster' }) - * ``` - */ -- onDuplicateKeyUpdate(update: UpdateExpression): InsertQueryBuilder; -+ onDuplicateKeyUpdate(update: UpdateObjectExpression): InsertQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js -index ba57ff0..d89d1b8 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js -@@ -77,7 +77,7 @@ class InsertQueryBuilder { - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -87,7 +87,7 @@ class InsertQueryBuilder { - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression) { -@@ -310,7 +310,7 @@ class InsertQueryBuilder { - return new InsertQueryBuilder({ - ...this.#props, - queryNode: insert_query_node_js_1.InsertQueryNode.cloneWith(this.#props.queryNode, { -- onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.parseUpdateExpression)(update)), -+ onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.parseUpdateObjectExpression)(update)), - }), - }); - } -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts b/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts -index c16fb08..d22a9e5 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts -@@ -23,7 +23,14 @@ - */ - export declare class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - readonly insertId: bigint | undefined; - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-result.js b/node_modules/kysely/dist/cjs/query-builder/insert-result.js -index 6a3246d..b564a4a 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-result.js -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-result.js -@@ -26,7 +26,14 @@ exports.InsertResult = void 0; - */ - class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - insertId; - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts -index 475acb1..06a0488 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts -@@ -1,9 +1,9 @@ --import { JoinNode } from '../operation-node/join-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SqlBool } from '../util/type-utils.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; - export declare class JoinBuilder implements OperationNodeSource { - #private; - constructor(props: JoinBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts -index f173489..93dfff0 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts -@@ -1,7 +1,7 @@ --import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js'; --import { AliasNode } from '../operation-node/alias-node.js'; --import { JSONReferenceNode } from '../operation-node/json-reference-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { JSONReferenceNode } from 'kysely/dist/cjs/operation-node/json-reference-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export declare class JSONPathBuilder { - #private; - constructor(node: JSONReferenceNode); -diff --git a/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts b/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts -index b6423c2..2ac85ee 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts -@@ -1,4 +1,4 @@ --import { QueryNode } from '../operation-node/query-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; - export type NoResultErrorConstructor = new (node: QueryNode) => Error; - export declare class NoResultError extends Error { - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts -index 803563e..f1bfe85 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts -@@ -1,12 +1,12 @@ --import { Expression } from '../expression/expression.js'; --import { OnConflictNode } from '../operation-node/on-conflict-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; --import { AnyColumn, SqlBool } from '../util/type-utils.js'; --import { WhereInterface } from './where-interface.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { OnConflictNode } from 'kysely/dist/cjs/operation-node/on-conflict-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { UpdateObjectExpression } from 'kysely/dist/cjs/parser/update-set-parser.js'; -+import { AnyColumn, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; - export declare class OnConflictBuilder implements WhereInterface { - #private; - constructor(props: OnConflictBuilderProps); -@@ -435,7 +435,7 @@ export declare class OnConflictBuilder implements Where - * ) - * ``` - */ -- doUpdateSet(update: UpdateExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; -+ doUpdateSet(update: UpdateObjectExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; - /** - * Simply calls the provided function passing `this` as the only argument. `$call` returns - * what the provided function returns. -diff --git a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js -index cfb3a0b..b3b7e7e 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js -+++ b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js -@@ -175,7 +175,7 @@ class OnConflictBuilder { - return new OnConflictUpdateBuilder({ - ...this.#props, - onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWith(this.#props.onConflictNode, { -- updates: (0, update_set_parser_js_1.parseUpdateExpression)(update), -+ updates: (0, update_set_parser_js_1.parseUpdateObjectExpression)(update), - }), - }); - } -diff --git a/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts -index 8517b91..1564fc1 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts -@@ -1,9 +1,9 @@ --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OverNode } from '../operation-node/over-node.js'; --import { OrderByDirectionExpression } from '../parser/order-by-parser.js'; --import { PartitionByExpression } from '../parser/partition-by-parser.js'; --import { StringReference } from '../parser/reference-parser.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OverNode } from 'kysely/dist/cjs/operation-node/over-node.js'; -+import { OrderByDirectionExpression } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { PartitionByExpression } from 'kysely/dist/cjs/parser/partition-by-parser.js'; -+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; - export declare class OverBuilder implements OperationNodeSource { - #private; - constructor(props: OverBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts -index 6c10c86..fb1bd5c 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts -@@ -1,6 +1,6 @@ --import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { SelectCallback, SelectExpression } from '../parser/select-parser.js'; --import { Selectable } from '../util/column-type.js'; -+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { SelectCallback, SelectExpression } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; - export interface ReturningInterface { - /** - * Allows you to return data from modified rows. -diff --git a/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts b/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts -index 3593f25..42c4c56 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts -@@ -1,5 +1,5 @@ --import { AliasableExpression } from '../expression/expression.js'; --import { SelectQueryNode } from '../operation-node/select-query-node.js'; -+import { AliasableExpression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; - export interface SelectQueryBuilderExpression extends AliasableExpression { - get isSelectQueryBuilder(): true; - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts -index b26ebf1..8221028 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts -@@ -1,30 +1,30 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js'; --import { TableExpression } from '../parser/table-parser.js'; --import { SelectExpression, Selection, AllSelection, SelectCallback, CallbackSelection } from '../parser/select-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SelectQueryNode } from '../operation-node/select-query-node.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, Simplify, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; --import { OrderByDirectionExpression, OrderByExpression, DirectedOrderByStringReference, UndirectedOrderByExpression } from '../parser/order-by-parser.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { GroupByArg } from '../parser/group-by-parser.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { WhereInterface } from './where-interface.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { HavingInterface } from './having-interface.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { SetOperandExpression } from '../parser/set-operation-parser.js'; --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Selectable } from '../util/column-type.js'; --import { Streamable } from '../util/streamable.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ExpressionWrapper } from '../expression/expression-wrapper.js'; --import { SelectQueryBuilderExpression } from './select-query-builder-expression.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js'; -+import { TableExpression } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { SelectExpression, Selection, AllSelection, SelectCallback, CallbackSelection } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, Simplify, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { OrderByDirectionExpression, OrderByExpression, DirectedOrderByStringReference, UndirectedOrderByExpression } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { GroupByArg } from 'kysely/dist/cjs/parser/group-by-parser.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { HavingInterface } from 'kysely/dist/cjs/query-builder/having-interface.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { SetOperandExpression } from 'kysely/dist/cjs/parser/set-operation-parser.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; - export interface SelectQueryBuilder extends WhereInterface, HavingInterface, SelectQueryBuilderExpression, Compilable, Explainable, Streamable { - /** - * Adds a `where` expression to the query. -diff --git a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts -index 3d30eed..f98f0b3 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts -@@ -1,29 +1,30 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js'; --import { TableExpression, From, FromTables } from '../parser/table-parser.js'; --import { SelectExpression, SelectCallback } from '../parser/select-parser.js'; --import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; --import { UpdateQueryNode } from '../operation-node/update-query-node.js'; --import { UpdateObject, UpdateObjectFactory } from '../parser/update-set-parser.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { UpdateResult } from './update-result.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { WhereInterface } from './where-interface.js'; --import { ReturningInterface } from './returning-interface.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { Selectable } from '../util/column-type.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Streamable } from '../util/streamable.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js'; -+import { TableExpression, From, FromTables } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { UpdateQueryNode } from 'kysely/dist/cjs/operation-node/update-query-node.js'; -+import { UpdateObject, UpdateObjectFactory, ExtractUpdateTypeFromReferenceExpression } from 'kysely/dist/cjs/parser/update-set-parser.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; -+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; - export declare class UpdateQueryBuilder implements WhereInterface, ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: UpdateQueryBuilderProps); -@@ -625,6 +626,20 @@ export declare class UpdateQueryBuilder eb.val('61710)) -+ * .where('id', '=', '1') -+ * .executeTakeFirst() -+ * ``` -+ * - * On PostgreSQL you can chain `returning` to the query to get - * the updated rows' columns (or any other expression) as the - * return value: -@@ -682,6 +697,7 @@ export declare class UpdateQueryBuilder): UpdateQueryBuilder; - set(update: UpdateObjectFactory): UpdateQueryBuilder; -+ set>(key: RE, value: ValueExpression>): UpdateQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js -index 1207bfd..6d24d8f 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js -+++ b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js -@@ -65,10 +65,10 @@ class UpdateQueryBuilder { - queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('FullJoin', args)), - }); - } -- set(update) { -+ set(...args) { - return new UpdateQueryBuilder({ - ...this.#props, -- queryNode: update_query_node_js_1.UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, (0, update_set_parser_js_1.parseUpdateExpression)(update)), -+ queryNode: update_query_node_js_1.UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, (0, update_set_parser_js_1.parseUpdate)(...args)), - }); - } - returning(selection) { -diff --git a/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts -index 9de8d7e..2225ee1 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts -@@ -1,7 +1,7 @@ --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SqlBool } from '../util/type-utils.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; - export interface WhereInterface { - /** - * Adds a `where` expression to the query. -diff --git a/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts b/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts -index 9635b1f..5c4caec 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts -+++ b/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts -@@ -1,4 +1,4 @@ --import { RootOperationNode } from './query-compiler.js'; -+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; - export interface CompiledQuery { - readonly query: RootOperationNode; - readonly sql: string; -diff --git a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts -index dbd954a..2f73125 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts -+++ b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts -@@ -48,7 +48,7 @@ import { RootOperationNode, QueryCompiler } from './query-compiler.js'; - import { HavingNode } from '../operation-node/having-node.js'; - import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; - import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { AlterTableColumnAlterationNode, AlterTableNode } from '../operation-node/alter-table-node.js'; - import { DropColumnNode } from '../operation-node/drop-column-node.js'; - import { RenameColumnNode } from '../operation-node/rename-column-node.js'; - import { AlterColumnNode } from '../operation-node/alter-column-node.js'; -@@ -88,6 +88,11 @@ import { JSONPathNode } from '../operation-node/json-path-node.js'; - import { JSONPathLegNode } from '../operation-node/json-path-leg-node.js'; - import { JSONOperatorChainNode } from '../operation-node/json-operator-chain-node.js'; - import { TupleNode } from '../operation-node/tuple-node.js'; -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+import { TriggerEventNode } from '../operation-node/trigger-event-node.js'; -+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js'; - export declare class DefaultQueryCompiler extends OperationNodeVisitor implements QueryCompiler { - #private; - protected get numParameters(): number; -@@ -124,6 +129,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitTable(node: TableNode): void; - protected visitSchemableIdentifier(node: SchemableIdentifierNode): void; - protected visitCreateTable(node: CreateTableNode): void; -+ protected visitCreateTrigger(node: CreateTriggerNode): void; -+ protected visitTriggerEvent(node: TriggerEventNode): void; -+ protected visitTriggerOrder(node: TriggerOrderNode): void; -+ protected visitDropTrigger(node: DropTriggerNode): void; - protected visitColumnDefinition(node: ColumnDefinitionNode): void; - protected getAutoIncrement(): string; - protected visitReferences(node: ReferencesNode): void; -@@ -184,6 +193,7 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitJSONPath(node: JSONPathNode): void; - protected visitJSONPathLeg(node: JSONPathLegNode): void; - protected visitJSONOperatorChain(node: JSONOperatorChainNode): void; -+ protected visitAddIndex(node: AddIndexNode): void; - protected append(str: string): void; - protected appendValue(parameter: unknown): void; - protected getLeftIdentifierWrapper(): string; -@@ -197,4 +207,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected addParameter(parameter: unknown): void; - protected appendImmediateValue(value: unknown): void; - protected sortSelectModifiers(arr: SelectModifierNode[]): ReadonlyArray; -+ protected compileColumnAlterations(columnAlterations: readonly AlterTableColumnAlterationNode[]): void; -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ protected announcesNewColumnDataType(): boolean; - } -diff --git a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js -index faf80c6..e1c4561 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js -+++ b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js -@@ -1,6 +1,7 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DefaultQueryCompiler = void 0; -+const create_table_node_js_1 = require("../operation-node/create-table-node.js"); - const insert_query_node_js_1 = require("../operation-node/insert-query-node.js"); - const operation_node_visitor_js_1 = require("../operation-node/operation-node-visitor.js"); - const operator_node_js_1 = require("../operation-node/operator-node.js"); -@@ -32,6 +33,7 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - const wrapInParens = this.parentNode !== undefined && - !parens_node_js_1.ParensNode.is(this.parentNode) && - !insert_query_node_js_1.InsertQueryNode.is(this.parentNode) && -+ !create_table_node_js_1.CreateTableNode.is(this.parentNode) && - !create_view_node_js_1.CreateViewNode.is(this.parentNode) && - !set_operation_node_js_1.SetOperationNode.is(this.parentNode); - if (this.parentNode === undefined && node.explain) { -@@ -348,17 +350,83 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.append('if not exists '); - } - this.visitNode(node.table); -- this.append(' ('); -- this.compileList([...node.columns, ...(node.constraints ?? [])]); -- this.append(')'); -- if (node.onCommit) { -- this.append(' on commit '); -- this.append(node.onCommit); -+ if (node.selectQuery) { -+ this.append(' as '); -+ this.visitNode(node.selectQuery); - } -- if (node.endModifiers && node.endModifiers.length > 0) { -- this.append(' '); -- this.compileList(node.endModifiers, ' '); -+ else { -+ this.append(' ('); -+ this.compileList([...node.columns, ...(node.constraints ?? [])]); -+ this.append(')'); -+ if (node.onCommit) { -+ this.append(' on commit '); -+ this.append(node.onCommit); -+ } -+ if (node.endModifiers && node.endModifiers.length > 0) { -+ this.append(' '); -+ this.compileList(node.endModifiers, ' '); -+ } -+ } -+ } -+ visitCreateTrigger(node) { -+ if (!node.time) -+ throw new Error('Trigger time is required.'); -+ if (!node.events) -+ throw new Error('Trigger event is required.'); -+ if (!node.table) -+ throw new Error('Trigger table is required.'); -+ this.append('create '); -+ if (node.temporary) { -+ this.append('temporary '); - } -+ if (node.orReplace) { -+ this.append('or replace '); -+ } -+ this.append('trigger '); -+ if (node.ifNotExists) { -+ this.append('if not exists '); -+ } -+ this.visitNode(node.name); -+ this.append(` ${node.time} `); -+ this.compileList(node.events, ' or '); -+ this.append(' on '); -+ this.visitNode(node.table); -+ if (node.forEach) -+ this.append(` for each ${node.forEach} `); -+ if (node.when) { -+ this.append(' when '); -+ this.visitNode(node.when); -+ } -+ if (node.order) -+ this.visitNode(node.order); -+ if (node.queries) { -+ this.append(' begin '); -+ this.compileList(node.queries, '; '); -+ this.append('; '); -+ this.append('end'); -+ } -+ else if (node.function) { -+ this.append(' execute function '); -+ this.visitNode(node.function); -+ } -+ } -+ visitTriggerEvent(node) { -+ this.append(`${node.event} `); -+ if (node.event === 'update' && node.columns) { -+ this.append('of '); -+ this.compileList(node.columns, ', '); -+ } -+ } -+ visitTriggerOrder(node) { -+ this.append(`${node.order} `); -+ this.visitNode(node.otherTriggerName); -+ } -+ visitDropTrigger(node) { -+ this.append('drop trigger '); -+ if (node.ifExists) { -+ this.append('if exists '); -+ } -+ this.visitNode(node.name); - } - visitColumnDefinition(node) { - this.visitNode(node.column); -@@ -385,6 +453,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - if (node.unique) { - this.append(' unique'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.primaryKey) { - this.append(' primary key'); - } -@@ -565,6 +636,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.compileList(node.columns); - this.append(')'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.where) { - this.append(' '); - this.visitNode(node.where); -@@ -617,7 +691,11 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.name); - this.append(' '); - } -- this.append('unique ('); -+ this.append('unique'); -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } -+ this.append(' ('); - this.compileList(node.columns); - this.append(')'); - } -@@ -698,7 +776,13 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.dropConstraint); - } - if (node.columnAlterations) { -- this.compileList(node.columnAlterations); -+ this.compileColumnAlterations(node.columnAlterations); -+ } -+ if (node.addIndex) { -+ this.visitNode(node.addIndex); -+ } -+ if (node.dropIndex) { -+ this.visitNode(node.dropIndex); - } - } - visitAddColumn(node) { -@@ -720,7 +804,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.column); - this.append(' '); - if (node.dataType) { -- this.append('type '); -+ if (this.announcesNewColumnDataType()) { -+ this.append('type '); -+ } - this.visitNode(node.dataType); - if (node.dataTypeExpression) { - this.append('using '); -@@ -1006,6 +1092,23 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.values[i]); - } - } -+ visitAddIndex(node) { -+ this.append('add '); -+ if (node.unique) { -+ this.append('unique '); -+ } -+ this.append('index '); -+ this.visitNode(node.name); -+ if (node.columns) { -+ this.append(' ('); -+ this.compileList(node.columns); -+ this.append(')'); -+ } -+ if (node.using) { -+ this.append(' using '); -+ this.visitNode(node.using); -+ } -+ } - append(str) { - this.#sql += str; - } -@@ -1079,6 +1182,16 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - : 1); - return (0, object_utils_js_1.freeze)(arr); - } -+ compileColumnAlterations(columnAlterations) { -+ this.compileList(columnAlterations); -+ } -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ announcesNewColumnDataType() { -+ return true; -+ } - } - exports.DefaultQueryCompiler = DefaultQueryCompiler; - const SELECT_MODIFIER_SQL = (0, object_utils_js_1.freeze)({ -diff --git a/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts b/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts -index e3a8555..96702eb 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts -+++ b/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts -@@ -1,18 +1,20 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { CreateIndexNode } from '../operation-node/create-index-node.js'; --import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; --import { CreateTableNode } from '../operation-node/create-table-node.js'; --import { CreateTypeNode } from '../operation-node/create-type-node.js'; --import { CreateViewNode } from '../operation-node/create-view-node.js'; --import { DropIndexNode } from '../operation-node/drop-index-node.js'; --import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { DropTableNode } from '../operation-node/drop-table-node.js'; --import { DropTypeNode } from '../operation-node/drop-type-node.js'; --import { DropViewNode } from '../operation-node/drop-view-node.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { RawNode } from '../operation-node/raw-node.js'; --import { CompiledQuery } from './compiled-query.js'; --export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { CreateIndexNode } from 'kysely/dist/cjs/operation-node/create-index-node.js'; -+import { CreateSchemaNode } from 'kysely/dist/cjs/operation-node/create-schema-node.js'; -+import { CreateTableNode } from 'kysely/dist/cjs/operation-node/create-table-node.js'; -+import { CreateTriggerNode } from 'kysely/dist/cjs/operation-node/create-trigger-node.js'; -+import { CreateTypeNode } from 'kysely/dist/cjs/operation-node/create-type-node.js'; -+import { CreateViewNode } from 'kysely/dist/cjs/operation-node/create-view-node.js'; -+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js'; -+import { DropSchemaNode } from 'kysely/dist/cjs/operation-node/drop-schema-node.js'; -+import { DropTableNode } from 'kysely/dist/cjs/operation-node/drop-table-node.js'; -+import { DropTriggerNode } from 'kysely/dist/cjs/operation-node/drop-trigger-node.js'; -+import { DropTypeNode } from 'kysely/dist/cjs/operation-node/drop-type-node.js'; -+import { DropViewNode } from 'kysely/dist/cjs/operation-node/drop-view-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode | CreateTriggerNode | DropTriggerNode; - /** - * a `QueryCompiler` compiles a query expressed as a tree of `OperationNodes` into SQL. - */ -diff --git a/node_modules/kysely/dist/cjs/query-creator.d.ts b/node_modules/kysely/dist/cjs/query-creator.d.ts -index 8399ab7..b8262e4 100644 ---- a/node_modules/kysely/dist/cjs/query-creator.d.ts -+++ b/node_modules/kysely/dist/cjs/query-creator.d.ts -@@ -1,17 +1,17 @@ --import { SelectQueryBuilder } from './query-builder/select-query-builder.js'; --import { InsertQueryBuilder } from './query-builder/insert-query-builder.js'; --import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js'; --import { UpdateQueryBuilder } from './query-builder/update-query-builder.js'; --import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from './parser/table-parser.js'; --import { QueryExecutor } from './query-executor/query-executor.js'; --import { CommonTableExpression, QueryCreatorWithCommonTableExpression, RecursiveCommonTableExpression } from './parser/with-parser.js'; --import { WithNode } from './operation-node/with-node.js'; --import { InsertResult } from './query-builder/insert-result.js'; --import { DeleteResult } from './query-builder/delete-result.js'; --import { UpdateResult } from './query-builder/update-result.js'; --import { KyselyPlugin } from './plugin/kysely-plugin.js'; --import { CTEBuilderCallback } from './query-builder/cte-builder.js'; --import { CallbackSelection, SelectCallback, SelectExpression, Selection } from './parser/select-parser.js'; -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js'; -+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { CommonTableExpression, QueryCreatorWithCommonTableExpression, RecursiveCommonTableExpression } from 'kysely/dist/cjs/parser/with-parser.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { CTEBuilderCallback } from 'kysely/dist/cjs/query-builder/cte-builder.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js'; - export declare class QueryCreator { - #private; - constructor(props: QueryCreatorProps); -diff --git a/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts b/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts -index 9b5ec45..767ca78 100644 ---- a/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts -+++ b/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts -@@ -1,4 +1,4 @@ --import { QueryExecutor } from './query-executor.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; - /** - * @internal - * @private -diff --git a/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts b/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts -index 6c57fca..c17e603 100644 ---- a/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts -+++ b/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts -@@ -1,10 +1,10 @@ --import { ConnectionProvider } from '../driver/connection-provider.js'; --import { QueryResult } from '../driver/database-connection.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { RootOperationNode } from '../query-compiler/query-compiler.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { QueryId } from '../util/query-id.js'; --import { DialectAdapter } from '../dialect/dialect-adapter.js'; -+import { ConnectionProvider } from 'kysely/dist/cjs/driver/connection-provider.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { DialectAdapter } from 'kysely/dist/cjs/dialect/dialect-adapter.js'; - /** - * This interface abstracts away the details of how to compile a query into SQL - * and execute it. Instead of passing around all those details, {@link SelectQueryBuilder} -diff --git a/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts b/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts -index 9016b18..c9e130b 100644 ---- a/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts -@@ -1,10 +1,10 @@ --import { QueryResult } from '../driver/database-connection.js'; --import { RawNode } from '../operation-node/raw-node.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { QueryExecutorProvider } from '../query-executor/query-executor-provider.js'; --import { QueryId } from '../util/query-id.js'; --import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { QueryExecutorProvider } from 'kysely/dist/cjs/query-executor/query-executor-provider.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; - /** - * An instance of this class can be used to create raw SQL snippets or queries. - * -diff --git a/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts -index 01a5163..f53cd32 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts -@@ -1,7 +1,7 @@ --import { AlterColumnNode } from '../operation-node/alter-column-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { DataTypeExpression } from '../parser/data-type-parser.js'; --import { DefaultValueExpression } from '../parser/default-value-parser.js'; -+import { AlterColumnNode } from 'kysely/dist/cjs/operation-node/alter-column-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js'; -+import { DefaultValueExpression } from 'kysely/dist/cjs/parser/default-value-parser.js'; - export declare class AlterColumnBuilder { - #private; - constructor(column: string); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts -index 62afe0f..12e0dcf 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts -@@ -1,11 +1,11 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OnModifyForeignAction } from '../operation-node/references-node.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryId } from '../util/query-id.js'; --import { ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderInterface } from './foreign-key-constraint-builder.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderInterface } from 'kysely/dist/cjs/schema/foreign-key-constraint-builder.js'; - export declare class AlterTableAddForeignKeyConstraintBuilder implements ForeignKeyConstraintBuilderInterface, OperationNodeSource, Compilable { - #private; - constructor(props: AlterTableAddForeignKeyConstraintBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts -new file mode 100644 -index 0000000..7b94e46 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts -@@ -0,0 +1,104 @@ -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { IndexType } from 'kysely/dist/cjs/operation-node/create-index-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OrderedColumnName } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+export declare class AlterTableAddIndexBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: AlterTableAddIndexBuilderProps); -+ /** -+ * Makes the index unique. -+ */ -+ unique(): AlterTableAddIndexBuilder; -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column: OrderedColumnName): AlterTableAddIndexBuilder; -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns: OrderedColumnName[]): AlterTableAddIndexBuilder; -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression: Expression): AlterTableAddIndexBuilder; -+ /** -+ * Specifies the index type. -+ */ -+ using(indexType: IndexType): AlterTableAddIndexBuilder; -+ using(indexType: string): AlterTableAddIndexBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): AlterTableNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface AlterTableAddIndexBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: AlterTableNode; -+} -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js -new file mode 100644 -index 0000000..005284b ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js -@@ -0,0 +1,146 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.AlterTableAddIndexBuilder = void 0; -+const add_index_node_js_1 = require("../operation-node/add-index-node.js"); -+const alter_table_node_js_1 = require("../operation-node/alter-table-node.js"); -+const raw_node_js_1 = require("../operation-node/raw-node.js"); -+const reference_parser_js_1 = require("../parser/reference-parser.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+class AlterTableAddIndexBuilder { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ /** -+ * Makes the index unique. -+ */ -+ unique() { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ unique: true, -+ }), -+ }), -+ }); -+ } -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [(0, reference_parser_js_1.parseOrderedColumnName)(column)]), -+ }), -+ }); -+ } -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, columns.map(reference_parser_js_1.parseOrderedColumnName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [expression.toOperationNode()]), -+ }), -+ }); -+ } -+ using(indexType) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ using: raw_node_js_1.RawNode.createWithSql(indexType), -+ }), -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+exports.AlterTableAddIndexBuilder = AlterTableAddIndexBuilder; -+(0, prevent_await_js_1.preventAwait)(AlterTableAddIndexBuilder, "don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts -index b0726ca..07e7284 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts -@@ -1,16 +1,18 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { ColumnDefinitionBuilderCallback } from './column-definition-builder.js'; --import { QueryId } from '../util/query-id.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { DataTypeExpression } from '../parser/data-type-parser.js'; --import { Expression } from '../expression/expression.js'; --import { AlterColumnBuilderCallback } from './alter-column-builder.js'; --import { AlterTableExecutor } from './alter-table-executor.js'; --import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js'; --import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { ColumnDefinitionBuilderCallback } from 'kysely/dist/cjs/schema/column-definition-builder.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AlterColumnBuilderCallback } from 'kysely/dist/cjs/schema/alter-column-builder.js'; -+import { AlterTableExecutor } from 'kysely/dist/cjs/schema/alter-table-executor.js'; -+import { AlterTableAddForeignKeyConstraintBuilder } from 'kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js'; -+import { AlterTableDropConstraintBuilder } from 'kysely/dist/cjs/schema/alter-table-drop-constraint-builder.js'; -+import { AlterTableAddIndexBuilder } from 'kysely/dist/cjs/schema/alter-table-add-index-builder.js'; -+import { UniqueConstraintNodeBuilderCallback } from 'kysely/dist/cjs/schema/unique-constraint-builder.js'; - /** - * This builder can be used to create a `alter table` query. - */ -@@ -35,7 +37,7 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName: string, columns: string[]): AlterTableExecutor; -+ addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor; - /** - * See {@link CreateTableBuilder.addCheckConstraint} - */ -@@ -53,6 +55,44 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - */ - addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor; - dropConstraint(constraintName: string): AlterTableDropConstraintBuilder; -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName: string): AlterTableAddIndexBuilder; -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName: string): AlterTableExecutor; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-builder.js b/node_modules/kysely/dist/cjs/schema/alter-table-builder.js -index a3fb975..0c586d8 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-builder.js -@@ -25,6 +25,10 @@ const alter_table_executor_js_1 = require("./alter-table-executor.js"); - const alter_table_add_foreign_key_constraint_builder_js_1 = require("./alter-table-add-foreign-key-constraint-builder.js"); - const alter_table_drop_constraint_builder_js_1 = require("./alter-table-drop-constraint-builder.js"); - const primary_constraint_node_js_1 = require("../operation-node/primary-constraint-node.js"); -+const drop_index_node_js_1 = require("../operation-node/drop-index-node.js"); -+const add_index_node_js_1 = require("../operation-node/add-index-node.js"); -+const alter_table_add_index_builder_js_1 = require("./alter-table-add-index-builder.js"); -+const unique_constraint_builder_js_1 = require("./unique-constraint-builder.js"); - /** - * This builder can be used to create a `alter table` query. - */ -@@ -85,11 +89,12 @@ class AlterTableBuilder { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = object_utils_js_1.noop) { -+ const uniqueConstraintBuilder = build(new unique_constraint_builder_js_1.UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName))); - return new alter_table_executor_js_1.AlterTableExecutor({ - ...this.#props, - node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -- addConstraint: add_constraint_node_js_1.AddConstraintNode.create(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)), -+ addConstraint: add_constraint_node_js_1.AddConstraintNode.create(uniqueConstraintBuilder.toOperationNode()), - }), - }); - } -@@ -136,6 +141,58 @@ class AlterTableBuilder { - }), - }); - } -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName) { -+ return new alter_table_add_index_builder_js_1.AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.create(indexName), -+ }), -+ }); -+ } -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName) { -+ return new alter_table_executor_js_1.AlterTableExecutor({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ dropIndex: drop_index_node_js_1.DropIndexNode.create(indexName), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts -index 02cad63..6b40efd 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts -@@ -1,9 +1,9 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryId } from '../util/query-id.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class AlterTableDropConstraintBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: AlterTableDropConstraintBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts -index ca2aef1..6b8d89f 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts -@@ -1,9 +1,9 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryId } from '../util/query-id.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class AlterTableExecutor implements OperationNodeSource, Compilable { - #private; - constructor(props: AlterTableExecutorProps); -diff --git a/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts b/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts -index 2a99c4c..9633440 100644 ---- a/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts -@@ -1,8 +1,8 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OnModifyForeignAction } from '../operation-node/references-node.js'; --import { ColumnDefinitionNode } from '../operation-node/column-definition-node.js'; --import { DefaultValueExpression } from '../parser/default-value-parser.js'; --import { Expression } from '../expression/expression.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { DefaultValueExpression } from 'kysely/dist/cjs/parser/default-value-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; - export declare class ColumnDefinitionBuilder implements OperationNodeSource { - #private; - constructor(node: ColumnDefinitionNode); -@@ -183,6 +183,31 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource { - * ``` - */ - modifyFront(modifier: Expression): ColumnDefinitionBuilder; -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct(): ColumnDefinitionBuilder; - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/cjs/schema/column-definition-builder.js b/node_modules/kysely/dist/cjs/schema/column-definition-builder.js -index aebbf98..eef0fcc 100644 ---- a/node_modules/kysely/dist/cjs/schema/column-definition-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/column-definition-builder.js -@@ -258,6 +258,33 @@ class ColumnDefinitionBuilder { - modifyFront(modifier) { - return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWithFrontModifier(this.#node, modifier.toOperationNode())); - } -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts -index 27502c4..38bb2cb 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts -@@ -1,14 +1,14 @@ --import { CreateIndexNode, IndexType } from '../operation-node/create-index-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ExtractColumnNameFromOrderedColumnName, OrderedColumnName } from '../parser/reference-parser.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression } from '../parser/binary-operation-parser.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { ShallowRecord, SqlBool } from '../util/type-utils.js'; -+import { CreateIndexNode, IndexType } from 'kysely/dist/cjs/operation-node/create-index-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ExtractColumnNameFromOrderedColumnName, OrderedColumnName } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { ShallowRecord, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; - export declare class CreateIndexBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateIndexBuilderProps); -@@ -22,6 +22,29 @@ export declare class CreateIndexBuilder implements OperationNodeSourc - * Makes the index unique. - */ - unique(): CreateIndexBuilder; -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct(): CreateIndexBuilder; - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/cjs/schema/create-index-builder.js b/node_modules/kysely/dist/cjs/schema/create-index-builder.js -index 4de7de6..e0e00a0 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-index-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/create-index-builder.js -@@ -39,6 +39,36 @@ class CreateIndexBuilder { - }), - }); - } -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new CreateIndexBuilder({ -+ ...this.#props, -+ node: create_index_node_js_1.CreateIndexNode.cloneWith(this.#props.node, { -+ nullsNotDistinct: true, -+ }), -+ }); -+ } - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts -index 34974f5..fb0068d 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts -@@ -1,9 +1,9 @@ --import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { CreateSchemaNode } from 'kysely/dist/cjs/operation-node/create-schema-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class CreateSchemaBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateSchemaBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts -index e160575..e5e27e4 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts -@@ -1,13 +1,14 @@ --import { CreateTableNode, OnCommitAction } from '../operation-node/create-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { ColumnDefinitionBuilder } from './column-definition-builder.js'; --import { QueryId } from '../util/query-id.js'; --import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js'; --import { DataTypeExpression } from '../parser/data-type-parser.js'; --import { Expression } from '../expression/expression.js'; -+import { CreateTableNode, OnCommitAction } from 'kysely/dist/cjs/operation-node/create-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { ColumnDefinitionBuilder } from 'kysely/dist/cjs/schema/column-definition-builder.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { ForeignKeyConstraintBuilder } from 'kysely/dist/cjs/schema/foreign-key-constraint-builder.js'; -+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { UniqueConstraintNodeBuilderCallback } from 'kysely/dist/cjs/schema/unique-constraint-builder.js'; - /** - * This builder can be used to create a `create table` query. - */ -@@ -56,7 +57,7 @@ export declare class CreateTableBuilder builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName: string, columns: C[]): CreateTableBuilder; -+ addUniqueConstraint(constraintName: string, columns: C[], build?: UniqueConstraintNodeBuilderCallback): CreateTableBuilder; - /** - * Adds a check constraint. - * -@@ -205,6 +211,26 @@ export declare class CreateTableBuilder): CreateTableBuilder; -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression: Expression): CreateTableBuilder; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/create-table-builder.js b/node_modules/kysely/dist/cjs/schema/create-table-builder.js -index 5053177..73590bf 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-table-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/create-table-builder.js -@@ -15,6 +15,8 @@ const unique_constraint_node_js_1 = require("../operation-node/unique-constraint - const check_constraint_node_js_1 = require("../operation-node/check-constraint-node.js"); - const table_parser_js_1 = require("../parser/table-parser.js"); - const on_commit_action_parse_js_1 = require("../parser/on-commit-action-parse.js"); -+const unique_constraint_builder_js_1 = require("./unique-constraint-builder.js"); -+const expression_parser_js_1 = require("../parser/expression-parser.js"); - /** - * This builder can be used to create a `create table` query. - */ -@@ -86,7 +88,7 @@ class CreateTableBuilder { - * ``` - * - * With this method, it's once again good to remember that Kysely just builds the -- * query and doesn't provide the same API for all databses. For example, some -+ * query and doesn't provide the same API for all databases. For example, some - * databases like older MySQL don't support the `references` statement in the - * column definition. Instead foreign key constraints need to be defined in the - * `create table` query. See the next example: -@@ -145,11 +147,17 @@ class CreateTableBuilder { - * ```ts - * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name']) - * ``` -+ * -+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows: -+ * ```ts -+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = object_utils_js_1.noop) { -+ const uniqueConstraintBuilder = build(new unique_constraint_builder_js_1.UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName))); - return new CreateTableBuilder({ - ...this.#props, -- node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)), -+ node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, uniqueConstraintBuilder.toOperationNode()), - }); - } - /** -@@ -272,6 +280,33 @@ class CreateTableBuilder { - node: create_table_node_js_1.CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()), - }); - } -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression) { -+ return new CreateTableBuilder({ -+ ...this.#props, -+ node: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.node, { -+ selectQuery: (0, expression_parser_js_1.parseExpression)(expression), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts -new file mode 100644 -index 0000000..6106ec7 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts -@@ -0,0 +1,68 @@ -+import { CreateTriggerNode } from 'kysely/dist/cjs/operation-node/create-trigger-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { AnyColumn, AnyColumnWithTable, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { TriggerEvent } from 'kysely/dist/cjs/operation-node/trigger-event-node.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { TriggerQueryCreator } from 'kysely/dist/cjs/trigger-query-creator.js'; -+export type DatabaseWithOldNewTables = DB & { -+ old: DB[TB]; -+ new: DB[TB]; -+}; -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+export declare class CreateTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: CreateTriggerBuilderProps); -+ before(): CreateTriggerBuilder; -+ after(): CreateTriggerBuilder; -+ insteadOf(): CreateTriggerBuilder; -+ addEvent(event: E, columns?: E extends 'update' ? AnyColumn[] : never[]): CreateTriggerBuilder; -+ forEachRow(): CreateTriggerBuilder; -+ forEachStatement(): CreateTriggerBuilder; -+ follows(otherTriggerName: string): CreateTriggerBuilder; -+ precedes(otherTriggerName: string): CreateTriggerBuilder; -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table: TE, schema?: string): CreateTriggerBuilder; -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary(): CreateTriggerBuilder; -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists(): CreateTriggerBuilder; -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace(): CreateTriggerBuilder; -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build: QueryCreatorCallback): CreateTriggerBuilder; -+ function(name: string, args: ReadonlyArray>): CreateTriggerBuilder; -+ when, 'old' | 'new'>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList): CreateTriggerBuilder; -+ when(factory: ExpressionOrFactory, 'old' | 'new', SqlBool>): CreateTriggerBuilder; -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): CreateTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface CreateTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: CreateTriggerNode; -+} -+export type QueryCreatorCallback = (creator: TriggerQueryCreator) => OperationNodeSource; -diff --git a/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js -new file mode 100644 -index 0000000..ebc814c ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js -@@ -0,0 +1,180 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.CreateTriggerBuilder = void 0; -+const create_trigger_node_js_1 = require("../operation-node/create-trigger-node.js"); -+const query_node_js_1 = require("../operation-node/query-node.js"); -+const binary_operation_parser_js_1 = require("../parser/binary-operation-parser.js"); -+const reference_parser_js_1 = require("../parser/reference-parser.js"); -+const immediate_value_transformer_js_1 = require("../plugin/immediate-value/immediate-value-transformer.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+const identifier_node_js_1 = require("../operation-node/identifier-node.js"); -+const trigger_order_node_js_1 = require("../operation-node/trigger-order-node.js"); -+const trigger_event_node_js_1 = require("../operation-node/trigger-event-node.js"); -+const function_node_js_1 = require("../operation-node/function-node.js"); -+const trigger_query_creator_js_1 = require("../trigger-query-creator.js"); -+const table_node_js_1 = require("../operation-node/table-node.js"); -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+class CreateTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ before() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'before', -+ }), -+ }); -+ } -+ after() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'after', -+ }), -+ }); -+ } -+ insteadOf() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'instead of', -+ }), -+ }); -+ } -+ addEvent(event, columns) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWithEvent(this.#props.node, trigger_event_node_js_1.TriggerEventNode.create(event, columns?.map(reference_parser_js_1.parseOrderedColumnName))), -+ }); -+ } -+ forEachRow() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `row`, -+ }), -+ }); -+ } -+ forEachStatement() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `statement`, -+ }), -+ }); -+ } -+ follows(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ order: trigger_order_node_js_1.TriggerOrderNode.create('follows', identifier_node_js_1.IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ precedes(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ order: trigger_order_node_js_1.TriggerOrderNode.create('precedes', identifier_node_js_1.IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table, schema) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ table: schema -+ ? table_node_js_1.TableNode.createWithSchema(schema, table) -+ : table_node_js_1.TableNode.create(table), -+ }), -+ }); -+ } -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ temporary: true, -+ }), -+ }); -+ } -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ ifNotExists: true, -+ }), -+ }); -+ } -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ orReplace: true, -+ }), -+ }); -+ } -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build) { -+ const node = build(new trigger_query_creator_js_1.TriggerQueryCreator({ executor: this.#props.executor })).toOperationNode(); -+ if (!query_node_js_1.QueryNode.is(node)) -+ throw new Error('Must be a query node.'); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWithQuery(this.#props.node, node), -+ }); -+ } -+ function(name, args) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ function: function_node_js_1.FunctionNode.create(name, (0, reference_parser_js_1.parseReferenceExpressionOrList)(args)), -+ }), -+ }); -+ } -+ when(...args) { -+ const transformer = new immediate_value_transformer_js_1.ImmediateValueTransformer(); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ when: transformer.transformNode((0, binary_operation_parser_js_1.parseValueBinaryOperationOrExpression)(args)), -+ }), -+ }); -+ } -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+exports.CreateTriggerBuilder = CreateTriggerBuilder; -+(0, prevent_await_js_1.preventAwait)(CreateTriggerBuilder, "don't await CreateTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts -index 8cc367c..3845c7b 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts -@@ -1,9 +1,9 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { CreateTypeNode } from '../operation-node/create-type-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { CreateTypeNode } from 'kysely/dist/cjs/operation-node/create-type-node.js'; - export declare class CreateTypeBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateTypeBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts -index 6786e99..de6f5cb 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts -@@ -1,11 +1,11 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { CreateViewNode } from '../operation-node/create-view-node.js'; --import { RawBuilder } from '../raw-builder/raw-builder.js'; --import { SelectQueryBuilder } from '../query-builder/select-query-builder.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { CreateViewNode } from 'kysely/dist/cjs/operation-node/create-view-node.js'; -+import { RawBuilder } from 'kysely/dist/cjs/raw-builder/raw-builder.js'; -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; - export declare class CreateViewBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateViewBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts -index 36357d4..20486d3 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropIndexNode } from '../operation-node/drop-index-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropIndexBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropIndexBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts -index 052411c..fc46202 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropSchemaNode } from 'kysely/dist/cjs/operation-node/drop-schema-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropSchemaBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropSchemaBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts -index 824492a..c9ab11d 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropTableNode } from '../operation-node/drop-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropTableNode } from 'kysely/dist/cjs/operation-node/drop-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropTableBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropTableBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts -new file mode 100644 -index 0000000..8f86888 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts -@@ -0,0 +1,25 @@ -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { DropTriggerNode } from 'kysely/dist/cjs/operation-node/drop-trigger-node.js'; -+export declare class DropTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: DropTriggerBuilderProps); -+ ifExists(): DropTriggerBuilder; -+ cascade(): DropTriggerBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): DropTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface DropTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: DropTriggerNode; -+} -diff --git a/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js -new file mode 100644 -index 0000000..1c55383 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js -@@ -0,0 +1,46 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DropTriggerBuilder = void 0; -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const drop_trigger_node_js_1 = require("../operation-node/drop-trigger-node.js"); -+class DropTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ ifExists() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: drop_trigger_node_js_1.DropTriggerNode.cloneWith(this.#props.node, { -+ ifExists: true, -+ }), -+ }); -+ } -+ cascade() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: drop_trigger_node_js_1.DropTriggerNode.cloneWith(this.#props.node, { -+ cascade: true, -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+exports.DropTriggerBuilder = DropTriggerBuilder; -+(0, prevent_await_js_1.preventAwait)(DropTriggerBuilder, "don't await DropTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts -index 1c93cb5..6fef602 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropTypeNode } from '../operation-node/drop-type-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropTypeNode } from 'kysely/dist/cjs/operation-node/drop-type-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropTypeBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropTypeBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts -index c16f06c..77b7070 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts -@@ -1,9 +1,9 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { DropViewNode } from '../operation-node/drop-view-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { DropViewNode } from 'kysely/dist/cjs/operation-node/drop-view-node.js'; - export declare class DropViewBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropViewBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts -index 1d29ef8..02fb0b4 100644 ---- a/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts -@@ -1,6 +1,6 @@ --import { ForeignKeyConstraintNode } from '../operation-node/foreign-key-constraint-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OnModifyForeignAction } from '../operation-node/references-node.js'; -+import { ForeignKeyConstraintNode } from 'kysely/dist/cjs/operation-node/foreign-key-constraint-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js'; - export interface ForeignKeyConstraintBuilderInterface { - onDelete(onDelete: OnModifyForeignAction): R; - onUpdate(onUpdate: OnModifyForeignAction): R; -diff --git a/node_modules/kysely/dist/cjs/schema/schema.d.ts b/node_modules/kysely/dist/cjs/schema/schema.d.ts -index 8634b84..52b57cb 100644 ---- a/node_modules/kysely/dist/cjs/schema/schema.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/schema.d.ts -@@ -1,20 +1,22 @@ --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { AlterTableBuilder } from './alter-table-builder.js'; --import { CreateIndexBuilder } from './create-index-builder.js'; --import { CreateSchemaBuilder } from './create-schema-builder.js'; --import { CreateTableBuilder } from './create-table-builder.js'; --import { DropIndexBuilder } from './drop-index-builder.js'; --import { DropSchemaBuilder } from './drop-schema-builder.js'; --import { DropTableBuilder } from './drop-table-builder.js'; --import { CreateViewBuilder } from './create-view-builder.js'; --import { DropViewBuilder } from './drop-view-builder.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { CreateTypeBuilder } from './create-type-builder.js'; --import { DropTypeBuilder } from './drop-type-builder.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { AlterTableBuilder } from 'kysely/dist/cjs/schema/alter-table-builder.js'; -+import { CreateIndexBuilder } from 'kysely/dist/cjs/schema/create-index-builder.js'; -+import { CreateSchemaBuilder } from 'kysely/dist/cjs/schema/create-schema-builder.js'; -+import { CreateTableBuilder } from 'kysely/dist/cjs/schema/create-table-builder.js'; -+import { DropIndexBuilder } from 'kysely/dist/cjs/schema/drop-index-builder.js'; -+import { DropSchemaBuilder } from 'kysely/dist/cjs/schema/drop-schema-builder.js'; -+import { DropTableBuilder } from 'kysely/dist/cjs/schema/drop-table-builder.js'; -+import { CreateViewBuilder } from 'kysely/dist/cjs/schema/create-view-builder.js'; -+import { DropViewBuilder } from 'kysely/dist/cjs/schema/drop-view-builder.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { CreateTypeBuilder } from 'kysely/dist/cjs/schema/create-type-builder.js'; -+import { DropTypeBuilder } from 'kysely/dist/cjs/schema/drop-type-builder.js'; -+import { CreateTriggerBuilder } from 'kysely/dist/cjs/schema/create-trigger-builder.js'; -+import { DropTriggerBuilder } from 'kysely/dist/cjs/schema/drop-trigger-builder.js'; - /** - * Provides methods for building database schema. - */ --export declare class SchemaModule { -+export declare class SchemaModule { - #private; - constructor(executor: QueryExecutor); - /** -@@ -201,16 +203,18 @@ export declare class SchemaModule { - * ``` - */ - dropType(typeName: string): DropTypeBuilder; -+ createTrigger(name: string): CreateTriggerBuilder; -+ dropTrigger(triggerName: string): DropTriggerBuilder; - /** - * Returns a copy of this schema module with the given plugin installed. - */ -- withPlugin(plugin: KyselyPlugin): SchemaModule; -+ withPlugin(plugin: KyselyPlugin): SchemaModule; - /** - * Returns a copy of this schema module without any plugins. - */ -- withoutPlugins(): SchemaModule; -+ withoutPlugins(): SchemaModule; - /** - * See {@link QueryCreator.withSchema} - */ -- withSchema(schema: string): SchemaModule; -+ withSchema(schema: string): SchemaModule; - } -diff --git a/node_modules/kysely/dist/cjs/schema/schema.js b/node_modules/kysely/dist/cjs/schema/schema.js -index 052622f..7b979ab 100644 ---- a/node_modules/kysely/dist/cjs/schema/schema.js -+++ b/node_modules/kysely/dist/cjs/schema/schema.js -@@ -27,6 +27,11 @@ const drop_type_builder_js_1 = require("./drop-type-builder.js"); - const create_type_node_js_1 = require("../operation-node/create-type-node.js"); - const drop_type_node_js_1 = require("../operation-node/drop-type-node.js"); - const identifier_parser_js_1 = require("../parser/identifier-parser.js"); -+const create_trigger_builder_js_1 = require("./create-trigger-builder.js"); -+const create_trigger_node_js_1 = require("../operation-node/create-trigger-node.js"); -+const identifier_node_js_1 = require("../operation-node/identifier-node.js"); -+const drop_trigger_node_js_1 = require("../operation-node/drop-trigger-node.js"); -+const drop_trigger_builder_js_1 = require("./drop-trigger-builder.js"); - /** - * Provides methods for building database schema. - */ -@@ -285,6 +290,20 @@ class SchemaModule { - node: drop_type_node_js_1.DropTypeNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(typeName)), - }); - } -+ createTrigger(name) { -+ return new create_trigger_builder_js_1.CreateTriggerBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#executor, -+ node: create_trigger_node_js_1.CreateTriggerNode.create(identifier_node_js_1.IdentifierNode.create(name)), -+ }); -+ } -+ dropTrigger(triggerName) { -+ return new drop_trigger_builder_js_1.DropTriggerBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#executor, -+ node: drop_trigger_node_js_1.DropTriggerNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(triggerName)), -+ }); -+ } - /** - * Returns a copy of this schema module with the given plugin installed. - */ -diff --git a/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts -new file mode 100644 -index 0000000..420398a ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts -@@ -0,0 +1,14 @@ -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { UniqueConstraintNode } from 'kysely/dist/cjs/operation-node/unique-constraint-node.js'; -+export declare class UniqueConstraintNodeBuilder implements OperationNodeSource { -+ #private; -+ constructor(node: UniqueConstraintNode); -+ toOperationNode(): UniqueConstraintNode; -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct(): UniqueConstraintNodeBuilder; -+} -+export type UniqueConstraintNodeBuilderCallback = (builder: UniqueConstraintNodeBuilder) => UniqueConstraintNodeBuilder; -diff --git a/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js -new file mode 100644 -index 0000000..9931354 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js -@@ -0,0 +1,24 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.UniqueConstraintNodeBuilder = void 0; -+const unique_constraint_node_js_1 = require("../operation-node/unique-constraint-node.js"); -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+class UniqueConstraintNodeBuilder { -+ #node; -+ constructor(node) { -+ this.#node = node; -+ } -+ toOperationNode() { -+ return this.#node; -+ } -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct() { -+ return new UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } -+} -+exports.UniqueConstraintNodeBuilder = UniqueConstraintNodeBuilder; -+(0, prevent_await_js_1.preventAwait)(UniqueConstraintNodeBuilder, "don't await UniqueConstraintNodeBuilder instances directly."); -diff --git a/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts b/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts -new file mode 100644 -index 0000000..9b7599f ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts -@@ -0,0 +1,35 @@ -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js'; -+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { QueryCreatorProps } from 'kysely/dist/cjs/query-creator.js'; -+import { DatabaseWithOldNewTables } from 'kysely/dist/cjs/schema/create-trigger-builder.js'; -+export declare class TriggerQueryCreator { -+ #private; -+ constructor(props: QueryCreatorProps); -+ selectFrom(from: TE[]): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE[]): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectFrom(from: TE): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder & PickTableWithAlias, TE>, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectNoFrom>(selections: ReadonlyArray): SelectQueryBuilder>; -+ selectNoFrom>(callback: CB): SelectQueryBuilder>; -+ selectNoFrom>(selection: SE): SelectQueryBuilder>; -+ insertInto(table: T): InsertQueryBuilder; -+ replaceInto(table: T): InsertQueryBuilder; -+ deleteFrom(from: TR[]): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(tables: TR[]): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ deleteFrom(from: TR): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(table: TR): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ updateTable(table: TR): UpdateQueryBuilder, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, ExtractTableAlias, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, FromTables, FromTables, UpdateResult>; -+ withPlugin(plugin: KyselyPlugin): TriggerQueryCreator; -+ withoutPlugins(): TriggerQueryCreator; -+} -diff --git a/node_modules/kysely/dist/cjs/trigger-query-creator.js b/node_modules/kysely/dist/cjs/trigger-query-creator.js -new file mode 100644 -index 0000000..5d4d073 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/trigger-query-creator.js -@@ -0,0 +1,76 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.TriggerQueryCreator = void 0; -+const select_query_builder_js_1 = require("./query-builder/select-query-builder.js"); -+const insert_query_builder_js_1 = require("./query-builder/insert-query-builder.js"); -+const delete_query_builder_js_1 = require("./query-builder/delete-query-builder.js"); -+const update_query_builder_js_1 = require("./query-builder/update-query-builder.js"); -+const delete_query_node_js_1 = require("./operation-node/delete-query-node.js"); -+const insert_query_node_js_1 = require("./operation-node/insert-query-node.js"); -+const select_query_node_js_1 = require("./operation-node/select-query-node.js"); -+const update_query_node_js_1 = require("./operation-node/update-query-node.js"); -+const table_parser_js_1 = require("./parser/table-parser.js"); -+const query_id_js_1 = require("./util/query-id.js"); -+const object_utils_js_1 = require("./util/object-utils.js"); -+const select_parser_js_1 = require("./parser/select-parser.js"); -+class TriggerQueryCreator { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ selectFrom(from) { -+ return (0, select_query_builder_js_1.createSelectQueryBuilder)({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: select_query_node_js_1.SelectQueryNode.createFrom((0, table_parser_js_1.parseTableExpressionOrList)(from), this.#props.withNode), -+ }); -+ } -+ selectNoFrom(selection) { -+ return (0, select_query_builder_js_1.createSelectQueryBuilder)({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithSelections(select_query_node_js_1.SelectQueryNode.create(this.#props.withNode), (0, select_parser_js_1.parseSelectArg)(selection)), -+ }); -+ } -+ insertInto(table) { -+ return new insert_query_builder_js_1.InsertQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: insert_query_node_js_1.InsertQueryNode.create((0, table_parser_js_1.parseTable)(table), this.#props.withNode), -+ }); -+ } -+ replaceInto(table) { -+ return new insert_query_builder_js_1.InsertQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: insert_query_node_js_1.InsertQueryNode.create((0, table_parser_js_1.parseTable)(table), this.#props.withNode, true), -+ }); -+ } -+ deleteFrom(tables) { -+ return new delete_query_builder_js_1.DeleteQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: delete_query_node_js_1.DeleteQueryNode.create((0, table_parser_js_1.parseTableExpressionOrList)(tables), this.#props.withNode), -+ }); -+ } -+ updateTable(table) { -+ return new update_query_builder_js_1.UpdateQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: update_query_node_js_1.UpdateQueryNode.create((0, table_parser_js_1.parseTableExpression)(table), this.#props.withNode), -+ }); -+ } -+ withPlugin(plugin) { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withPlugin(plugin), -+ }); -+ } -+ withoutPlugins() { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withoutPlugins(), -+ }); -+ } -+} -+exports.TriggerQueryCreator = TriggerQueryCreator; -diff --git a/node_modules/kysely/dist/cjs/util/column-type.d.ts b/node_modules/kysely/dist/cjs/util/column-type.d.ts -index bb33464..88a26b2 100644 ---- a/node_modules/kysely/dist/cjs/util/column-type.d.ts -+++ b/node_modules/kysely/dist/cjs/util/column-type.d.ts -@@ -1,4 +1,4 @@ --import { DrainOuterGeneric } from './type-utils.js'; -+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; - /** - * This type can be used to specify a different type for - * select, insert and update operations. -diff --git a/node_modules/kysely/dist/cjs/util/compilable.d.ts b/node_modules/kysely/dist/cjs/util/compilable.d.ts -index 638b5d0..5c8f0e9 100644 ---- a/node_modules/kysely/dist/cjs/util/compilable.d.ts -+++ b/node_modules/kysely/dist/cjs/util/compilable.d.ts -@@ -1,4 +1,4 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; - export interface Compilable { - compile(): CompiledQuery; - } -diff --git a/node_modules/kysely/dist/cjs/util/explainable.d.ts b/node_modules/kysely/dist/cjs/util/explainable.d.ts -index 5e05810..86789f2 100644 ---- a/node_modules/kysely/dist/cjs/util/explainable.d.ts -+++ b/node_modules/kysely/dist/cjs/util/explainable.d.ts -@@ -1,4 +1,4 @@ --import { Expression } from '../expression/expression.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; - export type ExplainFormat = 'text' | 'xml' | 'json' | 'yaml' | 'traditional' | 'tree'; - export interface Explainable { - /** -diff --git a/node_modules/kysely/dist/cjs/util/log.d.ts b/node_modules/kysely/dist/cjs/util/log.d.ts -index 840a172..69c7b55 100644 ---- a/node_modules/kysely/dist/cjs/util/log.d.ts -+++ b/node_modules/kysely/dist/cjs/util/log.d.ts -@@ -1,5 +1,5 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { ArrayItemType } from './type-utils.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; - export declare const LOG_LEVELS: readonly ["query", "error"]; - export type LogLevel = ArrayItemType; - export interface QueryLogEvent { -diff --git a/node_modules/kysely/dist/cjs/util/object-utils.d.ts b/node_modules/kysely/dist/cjs/util/object-utils.d.ts -index 1b9f563..c9fa82b 100644 ---- a/node_modules/kysely/dist/cjs/util/object-utils.d.ts -+++ b/node_modules/kysely/dist/cjs/util/object-utils.d.ts -@@ -6,7 +6,7 @@ export declare function isNumber(obj: unknown): obj is number; - export declare function isBoolean(obj: unknown): obj is boolean; - export declare function isNull(obj: unknown): obj is null; - export declare function isDate(obj: unknown): obj is Date; --export declare function isBigInt(obj: unknown): obj is BigInt; -+export declare function isBigInt(obj: unknown): obj is bigint; - export declare function isBuffer(obj: unknown): obj is { - length: number; - }; -diff --git a/node_modules/kysely/dist/cjs/util/type-utils.d.ts b/node_modules/kysely/dist/cjs/util/type-utils.d.ts -index 5fd42ff..4daf187 100644 ---- a/node_modules/kysely/dist/cjs/util/type-utils.d.ts -+++ b/node_modules/kysely/dist/cjs/util/type-utils.d.ts -@@ -1,7 +1,7 @@ --import { InsertResult } from '../query-builder/insert-result.js'; --import { DeleteResult } from '../query-builder/delete-result.js'; --import { UpdateResult } from '../query-builder/update-result.js'; --import { KyselyTypeError } from './type-error.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; - /** - * Given a database type and a union of table names in that db, returns - * a union type with all possible column names. -diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts -index dc87916..e3fb628 100644 ---- a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts -@@ -7,6 +7,14 @@ import { DialectAdapter, MigrationLockOptions } from './dialect-adapter.js'; - * they are added and there will be less breaking changes. - */ - export declare abstract class DialectAdapterBase implements DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ get supportsCreateIfNotExists(): boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js -index b5f7843..7065ce6 100644 ---- a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js -+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js -@@ -6,6 +6,9 @@ - * they are added and there will be less breaking changes. - */ - export class DialectAdapterBase { -+ get supportsCreateIfNotExists() { -+ return true; -+ } - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts b/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts -index 73a925a..fe7f1b3 100644 ---- a/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts -@@ -8,6 +8,14 @@ import { Kysely } from '../kysely.js'; - * it. For that there's a `supportsTransactionalDdl` boolean in this interface. - */ - export interface DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ readonly supportsCreateIfNotExists: boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js b/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js -index c83b381..3bcddb6 100644 ---- a/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js -+++ b/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js -@@ -26,7 +26,7 @@ export class PostgresDriver { - // The driver must take care of calling `onCreateConnection` when a new - // connection is created. The `pg` module doesn't provide an async hook - // for the connection creation. We need to call the method explicitly. -- if (this.#config?.onCreateConnection) { -+ if (this.#config.onCreateConnection) { - await this.#config.onCreateConnection(connection); - } - } -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts -index 69a0a7d..550df53 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts -@@ -1,7 +1,7 @@ - import { Kysely } from '../../kysely.js'; - import { DialectAdapterBase } from '../dialect-adapter-base.js'; - import { MigrationLockOptions } from '../dialect-adapter.js'; --export declare class SqliteAdapter implements DialectAdapterBase { -+export declare class SqliteAdapter extends DialectAdapterBase { - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js -index f095ebb..4f1b71f 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js -@@ -1,5 +1,6 @@ - /// --export class SqliteAdapter { -+import { DialectAdapterBase } from '../dialect-adapter-base.js'; -+export class SqliteAdapter extends DialectAdapterBase { - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts -index 810af98..a873682 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts -@@ -37,4 +37,5 @@ export interface SqliteStatement { - changes: number | bigint; - lastInsertRowid: number | bigint; - }; -+ iterate(parameters: ReadonlyArray): IterableIterator; - } -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js -index 23f21e3..d20935f 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js -@@ -1,4 +1,5 @@ - /// -+import { SelectQueryNode } from '../../operation-node/select-query-node.js'; - import { CompiledQuery } from '../../query-compiler/compiled-query.js'; - import { freeze, isFunction } from '../../util/object-utils.js'; - export class SqliteDriver { -@@ -67,8 +68,20 @@ class SqliteConnection { - }); - } - } -- async *streamQuery() { -- throw new Error("Sqlite driver doesn't support streaming"); -+ async *streamQuery(compiledQuery, _chunkSize) { -+ const { sql, parameters, query } = compiledQuery; -+ const stmt = this.#db.prepare(sql); -+ if (SelectQueryNode.is(query)) { -+ const iter = stmt.iterate(parameters); -+ for (const row of iter) { -+ yield { -+ rows: [row], -+ }; -+ } -+ } -+ else { -+ throw new Error('Sqlite driver only supports streaming of select queries'); -+ } - } - } - class ConnectionMutex { -diff --git a/node_modules/kysely/dist/esm/driver/driver.d.ts b/node_modules/kysely/dist/esm/driver/driver.d.ts -index 00babcb..11d2d55 100644 ---- a/node_modules/kysely/dist/esm/driver/driver.d.ts -+++ b/node_modules/kysely/dist/esm/driver/driver.d.ts -@@ -40,5 +40,5 @@ export interface Driver { - export interface TransactionSettings { - readonly isolationLevel?: IsolationLevel; - } --export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable"]; -+export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable", "snapshot"]; - export type IsolationLevel = ArrayItemType; -diff --git a/node_modules/kysely/dist/esm/driver/driver.js b/node_modules/kysely/dist/esm/driver/driver.js -index 88c2a07..2ae1469 100644 ---- a/node_modules/kysely/dist/esm/driver/driver.js -+++ b/node_modules/kysely/dist/esm/driver/driver.js -@@ -4,4 +4,5 @@ export const TRANSACTION_ISOLATION_LEVELS = [ - 'read committed', - 'repeatable read', - 'serializable', -+ 'snapshot', - ]; -diff --git a/node_modules/kysely/dist/esm/driver/single-connection-provider.js b/node_modules/kysely/dist/esm/driver/single-connection-provider.js -index aafebb7..ef341ee 100644 ---- a/node_modules/kysely/dist/esm/driver/single-connection-provider.js -+++ b/node_modules/kysely/dist/esm/driver/single-connection-provider.js -@@ -1,4 +1,5 @@ - /// -+const ignoreError = () => { }; - export class SingleConnectionProvider { - #connection; - #runningPromise; -@@ -7,17 +8,15 @@ export class SingleConnectionProvider { - } - async provideConnection(consumer) { - while (this.#runningPromise) { -- await this.#runningPromise; -+ await this.#runningPromise.catch(ignoreError); - } -- const promise = this.#run(consumer); -- this.#runningPromise = promise -- .then(() => { -- this.#runningPromise = undefined; -- }) -- .catch(() => { -+ // `#runningPromise` must be set to undefined before it's -+ // resolved or rejected. Otherwise the while loop above -+ // will misbehave. -+ this.#runningPromise = this.#run(consumer).finally(() => { - this.#runningPromise = undefined; - }); -- return promise; -+ return this.#runningPromise; - } - // Run the runner in an async function to make sure it doesn't - // throw synchronous errors. -diff --git a/node_modules/kysely/dist/esm/expression/expression-builder.d.ts b/node_modules/kysely/dist/esm/expression/expression-builder.d.ts -index 7b4a340..07933a1 100644 ---- a/node_modules/kysely/dist/esm/expression/expression-builder.d.ts -+++ b/node_modules/kysely/dist/esm/expression/expression-builder.d.ts -@@ -14,6 +14,7 @@ import { JSONPathBuilder } from '../query-builder/json-path-builder.js'; - import { OperandExpression } from '../parser/expression-parser.js'; - import { CallbackSelection, SelectCallback, SelectExpression, Selection } from '../parser/select-parser.js'; - import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from '../parser/tuple-parser.js'; -+import { Selectable } from '../util/column-type.js'; - export interface ExpressionBuilder { - /** - * Creates a binary expression. -@@ -344,6 +345,30 @@ export interface ExpressionBuilder { - */ - ref>(reference: RE): ExpressionWrapper>; - ref>(reference: RE, op: JSONOperatorWith$): JSONPathBuilder>; -+ /** -+ * Creates a table reference. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select(eb => [ -+ * 'person.id', -+ * sql`jsonb_agg(${eb.table('pet')})`.as('pets') -+ * ]) -+ * .groupBy('person.id') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "person"."id", jsonb_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."id" -+ * ``` -+ */ -+ table(table: T): ExpressionWrapper>; - /** - * Returns a value expression. - * -diff --git a/node_modules/kysely/dist/esm/expression/expression-builder.js b/node_modules/kysely/dist/esm/expression/expression-builder.js -index f550460..86b0098 100644 ---- a/node_modules/kysely/dist/esm/expression/expression-builder.js -+++ b/node_modules/kysely/dist/esm/expression/expression-builder.js -@@ -1,7 +1,7 @@ - /// - import { createSelectQueryBuilder, } from '../query-builder/select-query-builder.js'; - import { SelectQueryNode } from '../operation-node/select-query-node.js'; --import { parseTableExpressionOrList, } from '../parser/table-parser.js'; -+import { parseTableExpressionOrList, parseTable, } from '../parser/table-parser.js'; - import { WithSchemaPlugin } from '../plugin/with-schema/with-schema-plugin.js'; - import { createQueryId } from '../util/query-id.js'; - import { createFunctionModule, } from '../query-builder/function-module.js'; -@@ -11,7 +11,7 @@ import { ParensNode } from '../operation-node/parens-node.js'; - import { ExpressionWrapper } from './expression-wrapper.js'; - import { OperatorNode, } from '../operation-node/operator-node.js'; - import { parseUnaryOperation } from '../parser/unary-operation-parser.js'; --import { parseSafeImmediateValue, parseValueExpression, parseValueExpressionOrList, } from '../parser/value-parser.js'; -+import { parseSafeImmediateValue, parseValueExpression, } from '../parser/value-parser.js'; - import { NOOP_QUERY_EXECUTOR } from '../query-executor/noop-query-executor.js'; - import { CaseBuilder } from '../query-builder/case-builder.js'; - import { CaseNode } from '../operation-node/case-node.js'; -@@ -58,8 +58,11 @@ export function createExpressionBuilder(executor = NOOP_QUERY_EXECUTOR) { - } - return new JSONPathBuilder(parseJSONReference(reference, op)); - }, -+ table(table) { -+ return new ExpressionWrapper(parseTable(table)); -+ }, - val(value) { -- return new ExpressionWrapper(parseValueExpressionOrList(value)); -+ return new ExpressionWrapper(parseValueExpression(value)); - }, - refTuple(...values) { - return new ExpressionWrapper(TupleNode.create(values.map(parseReferenceExpression))); -diff --git a/node_modules/kysely/dist/esm/index.d.ts b/node_modules/kysely/dist/esm/index.d.ts -index cf166f8..37cf701 100644 ---- a/node_modules/kysely/dist/esm/index.d.ts -+++ b/node_modules/kysely/dist/esm/index.d.ts -@@ -72,6 +72,12 @@ export * from './dialect/postgres/postgres-dialect.js'; - export * from './dialect/sqlite/sqlite-query-compiler.js'; - export * from './dialect/sqlite/sqlite-introspector.js'; - export * from './dialect/sqlite/sqlite-adapter.js'; -+export * from './dialect/mssql/mssql-adapter.js'; -+export * from './dialect/mssql/mssql-dialect-config.js'; -+export * from './dialect/mssql/mssql-dialect.js'; -+export * from './dialect/mssql/mssql-driver.js'; -+export * from './dialect/mssql/mssql-introspector.js'; -+export * from './dialect/mssql/mssql-query-compiler.js'; - export * from './query-compiler/default-query-compiler.js'; - export * from './query-compiler/query-compiler.js'; - export * from './migration/migrator.js'; -@@ -176,7 +182,7 @@ export * from './util/compilable.js'; - export * from './util/explainable.js'; - export * from './util/streamable.js'; - export * from './util/log.js'; --export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, } from './util/type-utils.js'; -+export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, Nullable, } from './util/type-utils.js'; - export * from './util/infer-result.js'; - export { logOnce } from './util/log-once.js'; - export { SelectExpression, SelectCallback, SelectArg, Selection, CallbackSelection, } from './parser/select-parser.js'; -diff --git a/node_modules/kysely/dist/esm/kysely.d.ts b/node_modules/kysely/dist/esm/kysely.d.ts -index 52e909a..8e45b8c 100644 ---- a/node_modules/kysely/dist/esm/kysely.d.ts -+++ b/node_modules/kysely/dist/esm/kysely.d.ts -@@ -66,7 +66,7 @@ export declare class Kysely extends QueryCreator implements QueryExecuto - /** - * Returns the {@link SchemaModule} module for building database schema. - */ -- get schema(): SchemaModule; -+ get schema(): SchemaModule; - /** - * Returns a the {@link DynamicModule} module. - * -diff --git a/node_modules/kysely/dist/esm/migration/migrator.js b/node_modules/kysely/dist/esm/migration/migrator.js -index 8c7a0b4..7d3a26a 100644 ---- a/node_modules/kysely/dist/esm/migration/migrator.js -+++ b/node_modules/kysely/dist/esm/migration/migrator.js -@@ -218,10 +218,7 @@ export class Migrator { - } - if (!(await this.#doesSchemaExists())) { - try { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema` -@@ -237,20 +234,15 @@ export class Migrator { - if (!(await this.#doesTableExists(this.#migrationTable))) { - try { - if (this.#migrationTableSchema) { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationTable) -- .ifNotExists() - .addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey()) - // The migration run time as ISO string. This is not a real date type as we - // can't know which data type is supported by all future dialects. -- .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()) -- .execute(); -+ .addColumn('timestamp', 'varchar(255)', (col) => col.notNull())); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -265,13 +257,11 @@ export class Migrator { - async #ensureMigrationLockTableExists() { - if (!(await this.#doesTableExists(this.#migrationLockTable))) { - try { -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationLockTable) -- .ifNotExists() - .addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey()) -- .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)) -- .execute(); -+ .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0))); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -479,6 +469,12 @@ export class Migrator { - } - return { results }; - } -+ async #createIfNotExists(qb) { -+ if (this.#props.db.getExecutor().adapter.supportsCreateIfNotExists) { -+ qb = qb.ifNotExists(); -+ } -+ await qb.execute(); -+ } - } - class MigrationResultSetError extends Error { - #resultSet; -diff --git a/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts b/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts -new file mode 100644 -index 0000000..b81f95f ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts -@@ -0,0 +1,21 @@ -+import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from './operation-node.js'; -+import { RawNode } from './raw-node.js'; -+export type AddIndexNodeProps = Omit; -+export interface AddIndexNode extends OperationNode { -+ readonly kind: 'AddIndexNode'; -+ readonly name: IdentifierNode; -+ readonly columns?: OperationNode[]; -+ readonly unique?: boolean; -+ readonly using?: RawNode; -+ readonly ifNotExists?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const AddIndexNode: Readonly<{ -+ is(node: OperationNode): node is AddIndexNode; -+ create(name: string): AddIndexNode; -+ cloneWith(node: AddIndexNode, props: AddIndexNodeProps): AddIndexNode; -+ cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): AddIndexNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/add-index-node.js b/node_modules/kysely/dist/esm/operation-node/add-index-node.js -new file mode 100644 -index 0000000..134b7d8 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/add-index-node.js -@@ -0,0 +1,29 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+import { IdentifierNode } from './identifier-node.js'; -+/** -+ * @internal -+ */ -+export const AddIndexNode = freeze({ -+ is(node) { -+ return node.kind === 'AddIndexNode'; -+ }, -+ create(name) { -+ return freeze({ -+ kind: 'AddIndexNode', -+ name: IdentifierNode.create(name) -+ }); -+ }, -+ cloneWith(node, props) { -+ return freeze({ -+ ...node, -+ ...props, -+ }); -+ }, -+ cloneWithColumns(node, columns) { -+ return freeze({ -+ ...node, -+ columns: [...(node.columns || []), ...columns], -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts b/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts -index 5b03535..b09aca3 100644 ---- a/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts -@@ -8,7 +8,9 @@ import { AlterColumnNode } from './alter-column-node.js'; - import { AddConstraintNode } from './add-constraint-node.js'; - import { DropConstraintNode } from './drop-constraint-node.js'; - import { ModifyColumnNode } from './modify-column-node.js'; --export type AlterTableNodeTableProps = Pick; -+import { DropIndexNode } from './drop-index-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+export type AlterTableNodeTableProps = Pick; - export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode; - export interface AlterTableNode extends OperationNode { - readonly kind: 'AlterTableNode'; -@@ -18,6 +20,8 @@ export interface AlterTableNode extends OperationNode { - readonly columnAlterations?: ReadonlyArray; - readonly addConstraint?: AddConstraintNode; - readonly dropConstraint?: DropConstraintNode; -+ readonly addIndex?: AddIndexNode; -+ readonly dropIndex?: DropIndexNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts b/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts -index 6442d83..b518d35 100644 ---- a/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts -@@ -20,6 +20,7 @@ export interface ColumnDefinitionNode extends OperationNode { - readonly unsigned?: boolean; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts b/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts -index 2e8ab34..bb59937 100644 ---- a/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts -@@ -1,8 +1,7 @@ --import { ColumnNode } from './column-node.js'; - import { OperationNode } from './operation-node.js'; - export interface ColumnUpdateNode extends OperationNode { - readonly kind: 'ColumnUpdateNode'; -- readonly column: ColumnNode; -+ readonly column: OperationNode; - readonly value: OperationNode; - } - /** -@@ -10,5 +9,5 @@ export interface ColumnUpdateNode extends OperationNode { - */ - export declare const ColumnUpdateNode: Readonly<{ - is(node: OperationNode): node is ColumnUpdateNode; -- create(column: ColumnNode, value: OperationNode): ColumnUpdateNode; -+ create(column: OperationNode, value: OperationNode): ColumnUpdateNode; - }>; -diff --git a/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts -index a3a99d1..d474032 100644 ---- a/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts -@@ -14,6 +14,7 @@ export interface CreateIndexNode extends OperationNode { - readonly using?: RawNode; - readonly ifNotExists?: boolean; - readonly where?: WhereNode; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts -index cc8ceda..f36036c 100644 ---- a/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts -@@ -16,6 +16,7 @@ export interface CreateTableNode extends OperationNode { - readonly onCommit?: OnCommitAction; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly selectQuery?: OperationNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts -new file mode 100644 -index 0000000..8244954 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts -@@ -0,0 +1,34 @@ -+import { OperationNode } from './operation-node.js'; -+import { TableNode } from './table-node.js'; -+import { IdentifierNode } from './identifier-node.js'; -+import { QueryNode } from './query-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; -+import { FunctionNode } from './function-node.js'; -+export type TriggerTime = 'after' | 'before' | 'instead of'; -+export type CreateTriggerNodeParams = Omit; -+export interface CreateTriggerNode extends OperationNode { -+ readonly kind: 'CreateTriggerNode'; -+ readonly name: IdentifierNode; -+ readonly queries?: ReadonlyArray; -+ readonly function?: FunctionNode; -+ readonly time?: TriggerTime; -+ readonly events?: ReadonlyArray; -+ readonly table?: TableNode; -+ readonly orReplace?: boolean; -+ readonly ifNotExists?: boolean; -+ readonly when?: OperationNode; -+ readonly temporary?: boolean; -+ readonly forEach?: 'row' | 'statement'; -+ readonly order?: TriggerOrderNode; -+} -+/** -+ * @internal -+ */ -+export declare const CreateTriggerNode: Readonly<{ -+ is(node: OperationNode): node is CreateTriggerNode; -+ create(name: IdentifierNode): CreateTriggerNode; -+ cloneWithQuery(createTrigger: CreateTriggerNode, query: QueryNode): CreateTriggerNode; -+ cloneWithEvent(createTrigger: CreateTriggerNode, event: TriggerEventNode): CreateTriggerNode; -+ cloneWith(createTrigger: CreateTriggerNode, params: CreateTriggerNodeParams): CreateTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js -new file mode 100644 -index 0000000..90dd0f3 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js -@@ -0,0 +1,34 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const CreateTriggerNode = freeze({ -+ is(node) { -+ return node.kind === 'CreateTriggerNode'; -+ }, -+ create(name) { -+ return freeze({ -+ kind: 'CreateTriggerNode', -+ name, -+ }); -+ }, -+ cloneWithQuery(createTrigger, query) { -+ return freeze({ -+ ...createTrigger, -+ queries: freeze([...(createTrigger.queries || []), query]), -+ }); -+ }, -+ cloneWithEvent(createTrigger, event) { -+ return freeze({ -+ ...createTrigger, -+ events: freeze([...(createTrigger.events || []), event]), -+ }); -+ }, -+ cloneWith(createTrigger, params) { -+ return freeze({ -+ ...createTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts -new file mode 100644 -index 0000000..4e38772 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts -@@ -0,0 +1,17 @@ -+import { OperationNode } from './operation-node.js'; -+import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+export type DropTriggerNodeParams = Omit, 'kind' | 'name'>; -+export interface DropTriggerNode extends OperationNode { -+ readonly kind: 'DropTriggerNode'; -+ readonly name: SchemableIdentifierNode; -+ readonly ifExists?: boolean; -+ readonly cascade?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const DropTriggerNode: Readonly<{ -+ is(node: OperationNode): node is DropTriggerNode; -+ create(name: SchemableIdentifierNode): DropTriggerNode; -+ cloneWith(dropTrigger: DropTriggerNode, params: DropTriggerNodeParams): DropTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js -new file mode 100644 -index 0000000..ebabeb4 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js -@@ -0,0 +1,22 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const DropTriggerNode = freeze({ -+ is(node) { -+ return node.kind === 'DropTriggerNode'; -+ }, -+ create(name) { -+ return freeze({ -+ kind: 'DropTriggerNode', -+ name, -+ }); -+ }, -+ cloneWith(dropTrigger, params) { -+ return freeze({ -+ ...dropTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts -index 6b3a13c..5d7fd9d 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - /** - * Transforms an operation node tree into another one. - * -@@ -139,9 +144,13 @@ export declare class OperationNodeTransformer { - protected transformDeleteQuery(node: DeleteQueryNode): DeleteQueryNode; - protected transformReturning(node: ReturningNode): ReturningNode; - protected transformCreateTable(node: CreateTableNode): CreateTableNode; -+ protected transformCreateTrigger(node: CreateTriggerNode): CreateTriggerNode; -+ protected transformTriggerEvent(node: TriggerEventNode): TriggerEventNode; -+ protected transformTriggerOrder(node: TriggerOrderNode): TriggerOrderNode; - protected transformColumnDefinition(node: ColumnDefinitionNode): ColumnDefinitionNode; - protected transformAddColumn(node: AddColumnNode): AddColumnNode; - protected transformDropTable(node: DropTableNode): DropTableNode; -+ protected transformDropTrigger(node: DropTriggerNode): DropTriggerNode; - protected transformOrderBy(node: OrderByNode): OrderByNode; - protected transformOrderByItem(node: OrderByItemNode): OrderByItemNode; - protected transformGroupBy(node: GroupByNode): GroupByNode; -@@ -199,6 +208,7 @@ export declare class OperationNodeTransformer { - protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode; - protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode; - protected transformTuple(node: TupleNode): TupleNode; -+ protected transformAddIndex(node: AddIndexNode): AddIndexNode; - protected transformDataType(node: DataTypeNode): DataTypeNode; - protected transformSelectAll(node: SelectAllNode): SelectAllNode; - protected transformIdentifier(node: IdentifierNode): IdentifierNode; -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js -index f35075b..9e216f8 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js -@@ -119,6 +119,11 @@ export class OperationNodeTransformer { - JSONPathLegNode: this.transformJSONPathLeg.bind(this), - JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this), - TupleNode: this.transformTuple.bind(this), -+ AddIndexNode: this.transformAddIndex.bind(this), -+ CreateTriggerNode: this.transformCreateTrigger.bind(this), -+ TriggerEventNode: this.transformTriggerEvent.bind(this), -+ TriggerOrderNode: this.transformTriggerOrder.bind(this), -+ DropTriggerNode: this.transformDropTrigger.bind(this), - }); - transformNode(node) { - if (!node) { -@@ -295,6 +300,38 @@ export class OperationNodeTransformer { - onCommit: node.onCommit, - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ selectQuery: this.transformNode(node.selectQuery), -+ }); -+ } -+ transformCreateTrigger(node) { -+ return requireAllProps({ -+ kind: 'CreateTriggerNode', -+ name: this.transformNode(node.name), -+ table: this.transformNode(node.table), -+ ifNotExists: node.ifNotExists, -+ time: node.time, -+ events: this.transformNodeList(node.events), -+ forEach: node.forEach, -+ orReplace: node.orReplace, -+ temporary: node.temporary, -+ queries: this.transformNodeList(node.queries), -+ function: this.transformNode(node.function), -+ when: this.transformNode(node.when), -+ order: this.transformNode(node.order), -+ }); -+ } -+ transformTriggerEvent(node) { -+ return requireAllProps({ -+ kind: 'TriggerEventNode', -+ event: node.event, -+ columns: this.transformNodeList(node.columns), -+ }); -+ } -+ transformTriggerOrder(node) { -+ return requireAllProps({ -+ kind: 'TriggerOrderNode', -+ order: node.order, -+ otherTriggerName: this.transformNode(node.otherTriggerName), - }); - } - transformColumnDefinition(node) { -@@ -313,6 +350,7 @@ export class OperationNodeTransformer { - generated: this.transformNode(node.generated), - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformAddColumn(node) { -@@ -329,6 +367,14 @@ export class OperationNodeTransformer { - cascade: node.cascade, - }); - } -+ transformDropTrigger(node) { -+ return requireAllProps({ -+ kind: 'DropTriggerNode', -+ name: this.transformNode(node.name), -+ ifExists: node.ifExists, -+ cascade: node.cascade, -+ }); -+ } - transformOrderBy(node) { - return requireAllProps({ - kind: 'OrderByNode', -@@ -414,6 +460,7 @@ export class OperationNodeTransformer { - using: this.transformNode(node.using), - ifNotExists: node.ifNotExists, - where: this.transformNode(node.where), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformList(node) { -@@ -443,6 +490,7 @@ export class OperationNodeTransformer { - kind: 'UniqueConstraintNode', - columns: this.transformNodeList(node.columns), - name: this.transformNode(node.name), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformForeignKeyConstraint(node) { -@@ -531,6 +579,8 @@ export class OperationNodeTransformer { - columnAlterations: this.transformNodeList(node.columnAlterations), - addConstraint: this.transformNode(node.addConstraint), - dropConstraint: this.transformNode(node.dropConstraint), -+ addIndex: this.transformNode(node.addIndex), -+ dropIndex: this.transformNode(node.dropIndex), - }); - } - transformDropColumn(node) { -@@ -763,6 +813,16 @@ export class OperationNodeTransformer { - values: this.transformNodeList(node.values), - }); - } -+ transformAddIndex(node) { -+ return requireAllProps({ -+ kind: 'AddIndexNode', -+ name: this.transformNode(node.name), -+ columns: this.transformNodeList(node.columns), -+ unique: node.unique, -+ using: this.transformNode(node.using), -+ ifNotExists: node.ifNotExists, -+ }); -+ } - transformDataType(node) { - // An Object.freezed leaf node. No need to clone. - return node; -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts -index 7c267cd..6a66bc7 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - export declare abstract class OperationNodeVisitor { - #private; - protected readonly nodeStack: OperationNode[]; -@@ -108,9 +113,13 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitDeleteQuery(node: DeleteQueryNode): void; - protected abstract visitReturning(node: ReturningNode): void; - protected abstract visitCreateTable(node: CreateTableNode): void; -+ protected abstract visitCreateTrigger(node: CreateTriggerNode): void; -+ protected abstract visitTriggerEvent(node: TriggerEventNode): void; -+ protected abstract visitTriggerOrder(node: TriggerOrderNode): void; - protected abstract visitAddColumn(node: AddColumnNode): void; - protected abstract visitColumnDefinition(node: ColumnDefinitionNode): void; - protected abstract visitDropTable(node: DropTableNode): void; -+ protected abstract visitDropTrigger(node: DropTriggerNode): void; - protected abstract visitOrderBy(node: OrderByNode): void; - protected abstract visitOrderByItem(node: OrderByItemNode): void; - protected abstract visitGroupBy(node: GroupByNode): void; -@@ -176,4 +185,5 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitJSONPathLeg(node: JSONPathLegNode): void; - protected abstract visitJSONOperatorChain(node: JSONOperatorChainNode): void; - protected abstract visitTuple(node: TupleNode): void; -+ protected abstract visitAddIndex(node: AddIndexNode): void; - } -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js -index 7ded762..cc6431e 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js -@@ -92,6 +92,11 @@ export class OperationNodeVisitor { - JSONPathLegNode: this.visitJSONPathLeg.bind(this), - JSONOperatorChainNode: this.visitJSONOperatorChain.bind(this), - TupleNode: this.visitTuple.bind(this), -+ AddIndexNode: this.visitAddIndex.bind(this), -+ CreateTriggerNode: this.visitCreateTrigger.bind(this), -+ TriggerEventNode: this.visitTriggerEvent.bind(this), -+ TriggerOrderNode: this.visitTriggerOrder.bind(this), -+ DropTriggerNode: this.visitDropTrigger.bind(this), - }); - visitNode = (node) => { - this.nodeStack.push(node); -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts -index 24cad68..a01b9ed 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts -@@ -1,4 +1,4 @@ --export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode'; -+export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'AddIndexNode' | 'CreateTriggerNode' | 'TriggerEventNode' | 'TriggerOrderNode' | 'DropTriggerNode'; - export interface OperationNode { - readonly kind: OperationNodeKind; - } -diff --git a/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts b/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts -index 1076866..18b6e05 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts -@@ -1,11 +1,11 @@ - import { OperationNode } from './operation-node.js'; --export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp"]; -+export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"]; - export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"]; - export declare const JSON_OPERATORS: readonly ["->", "->>"]; --export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; -+export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; - export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"]; - export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"]; --export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; -+export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; - export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number]; - export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number]; - export type JSONOperator = (typeof JSON_OPERATORS)[number]; -diff --git a/node_modules/kysely/dist/esm/operation-node/operator-node.js b/node_modules/kysely/dist/esm/operation-node/operator-node.js -index ba655e6..2df5b92 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operator-node.js -+++ b/node_modules/kysely/dist/esm/operation-node/operator-node.js -@@ -35,6 +35,8 @@ export const COMPARISON_OPERATORS = [ - '!!', - '<->', - 'regexp', -+ 'is distinct from', -+ 'is not distinct from', - ]; - export const ARITHMETIC_OPERATORS = [ - '+', -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts -new file mode 100644 -index 0000000..8a3677d ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts -@@ -0,0 +1,15 @@ -+import { OperationNode } from './operation-node.js'; -+export type TriggerEvent = 'delete' | 'update' | 'insert' | 'truncate'; -+export type TriggerEventNodeParams = Omit; -+export interface TriggerEventNode extends OperationNode { -+ readonly kind: 'TriggerEventNode'; -+ readonly event: TriggerEvent; -+ readonly columns?: ReadonlyArray; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerEventNode: Readonly<{ -+ is(node: OperationNode): node is TriggerEventNode; -+ create(event: TriggerEvent, columns?: ReadonlyArray): TriggerEventNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js -new file mode 100644 -index 0000000..6f97ee3 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js -@@ -0,0 +1,17 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const TriggerEventNode = freeze({ -+ is(node) { -+ return node.kind === 'TriggerEventNode'; -+ }, -+ create(event, columns) { -+ return freeze({ -+ kind: 'TriggerEventNode', -+ event, -+ columns, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts -new file mode 100644 -index 0000000..12bad8d ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts -@@ -0,0 +1,16 @@ -+import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from './operation-node.js'; -+export type TriggerOrder = 'follows' | 'precedes'; -+export type TriggerOrderNodeParams = Omit; -+export interface TriggerOrderNode extends OperationNode { -+ readonly kind: 'TriggerOrderNode'; -+ readonly order: TriggerOrder; -+ readonly otherTriggerName: IdentifierNode; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerOrderNode: Readonly<{ -+ is(node: OperationNode): node is TriggerOrderNode; -+ create(order: TriggerOrder, otherTriggerName: IdentifierNode): TriggerOrderNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js -new file mode 100644 -index 0000000..eea5441 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js -@@ -0,0 +1,17 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const TriggerOrderNode = freeze({ -+ is(node) { -+ return node.kind === 'TriggerOrderNode'; -+ }, -+ create(order, otherTriggerName) { -+ return freeze({ -+ kind: 'TriggerOrderNode', -+ order, -+ otherTriggerName, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts -index c179f1f..4a544de 100644 ---- a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts -@@ -5,11 +5,14 @@ export interface UniqueConstraintNode extends OperationNode { - readonly kind: 'UniqueConstraintNode'; - readonly columns: ReadonlyArray; - readonly name?: IdentifierNode; -+ readonly nullsNotDistinct?: boolean; - } -+export type UniqueConstraintNodeProps = Omit, 'kind'>; - /** - * @internal - */ - export declare const UniqueConstraintNode: Readonly<{ - is(node: OperationNode): node is UniqueConstraintNode; -- create(columns: string[], constraintName?: string): UniqueConstraintNode; -+ create(columns: string[], constraintName?: string, nullsNotDistinct?: boolean): UniqueConstraintNode; -+ cloneWith(node: UniqueConstraintNode, props: UniqueConstraintNodeProps): UniqueConstraintNode; - }>; -diff --git a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js -index 0c903a6..d05e623 100644 ---- a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js -+++ b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js -@@ -9,11 +9,18 @@ export const UniqueConstraintNode = freeze({ - is(node) { - return node.kind === 'UniqueConstraintNode'; - }, -- create(columns, constraintName) { -+ create(columns, constraintName, nullsNotDistinct) { - return freeze({ - kind: 'UniqueConstraintNode', - columns: freeze(columns.map(ColumnNode.create)), - name: constraintName ? IdentifierNode.create(constraintName) : undefined, -+ nullsNotDistinct, -+ }); -+ }, -+ cloneWith(node, props) { -+ return freeze({ -+ ...node, -+ ...props, - }); - }, - }); -diff --git a/node_modules/kysely/dist/esm/parser/binary-operation-parser.js b/node_modules/kysely/dist/esm/parser/binary-operation-parser.js -index 7c6e042..b136830 100644 ---- a/node_modules/kysely/dist/esm/parser/binary-operation-parser.js -+++ b/node_modules/kysely/dist/esm/parser/binary-operation-parser.js -@@ -35,7 +35,7 @@ export function parseFilterObject(obj, combinator) { - export function parseFilterList(list, combinator) { - const combine = combinator === 'and' ? AndNode.create : OrNode.create; - if (list.length === 0) { -- return ValueNode.createImmediate(combinator === 'and'); -+ return BinaryOperationNode.create(ValueNode.createImmediate(1), OperatorNode.create('='), ValueNode.createImmediate(combinator === 'and' ? 1 : 0)); - } - let node = toOperationNode(list[0]); - for (let i = 1; i < list.length; ++i) { -diff --git a/node_modules/kysely/dist/esm/parser/reference-parser.d.ts b/node_modules/kysely/dist/esm/parser/reference-parser.d.ts -index cd4d656..08204c7 100644 ---- a/node_modules/kysely/dist/esm/parser/reference-parser.d.ts -+++ b/node_modules/kysely/dist/esm/parser/reference-parser.d.ts -@@ -16,7 +16,8 @@ export type StringReference = AnyColumn | AnyCo - export type SimpleReferenceExpression = StringReference | DynamicReferenceBuilder; - export type ReferenceExpression = SimpleReferenceExpression | ExpressionOrFactory; - export type ReferenceExpressionOrList = ReferenceExpression | ReadonlyArray>; --export type ExtractTypeFromReferenceExpression = RE extends string ? SelectType> : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; -+export type ExtractTypeFromReferenceExpression = SelectType>; -+export type ExtractRawTypeFromReferenceExpression = RE extends string ? ExtractTypeFromStringReference : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; - export type ExtractTypeFromStringReference = RE extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : RE extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : RE extends AnyColumn ? ExtractColumnType : DV; - export type OrderedColumnName = C extends `${string} ${infer O}` ? O extends OrderByDirection ? C : never : C; - export type ExtractColumnNameFromOrderedColumnName = C extends `${infer CL} ${infer O}` ? O extends OrderByDirection ? CL : never : C; -diff --git a/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts b/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts -index d4b2dd0..2763b7c 100644 ---- a/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts -+++ b/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts -@@ -2,9 +2,12 @@ import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; - import { ExpressionBuilder } from '../expression/expression-builder.js'; - import { UpdateKeys, UpdateType } from '../util/column-type.js'; - import { ValueExpression } from './value-parser.js'; -+import { ExtractRawTypeFromReferenceExpression, ReferenceExpression } from './reference-parser.js'; - export type UpdateObject = { - [C in UpdateKeys]?: ValueExpression> | undefined; - }; - export type UpdateObjectFactory = (eb: ExpressionBuilder) => UpdateObject; --export type UpdateExpression = UpdateObject | UpdateObjectFactory; --export declare function parseUpdateExpression(update: UpdateExpression): ReadonlyArray; -+export type UpdateObjectExpression = UpdateObject | UpdateObjectFactory; -+export type ExtractUpdateTypeFromReferenceExpression = UpdateType>; -+export declare function parseUpdate(...args: [UpdateObjectExpression] | [ReferenceExpression, ValueExpression]): ReadonlyArray; -+export declare function parseUpdateObjectExpression(update: UpdateObjectExpression): ReadonlyArray; -diff --git a/node_modules/kysely/dist/esm/parser/update-set-parser.js b/node_modules/kysely/dist/esm/parser/update-set-parser.js -index 495e092..e644c94 100644 ---- a/node_modules/kysely/dist/esm/parser/update-set-parser.js -+++ b/node_modules/kysely/dist/esm/parser/update-set-parser.js -@@ -4,7 +4,16 @@ import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; - import { expressionBuilder, } from '../expression/expression-builder.js'; - import { isFunction } from '../util/object-utils.js'; - import { parseValueExpression } from './value-parser.js'; --export function parseUpdateExpression(update) { -+import { parseReferenceExpression, } from './reference-parser.js'; -+export function parseUpdate(...args) { -+ if (args.length === 2) { -+ return [ -+ ColumnUpdateNode.create(parseReferenceExpression(args[0]), parseValueExpression(args[1])), -+ ]; -+ } -+ return parseUpdateObjectExpression(args[0]); -+} -+export function parseUpdateObjectExpression(update) { - const updateObj = isFunction(update) ? update(expressionBuilder()) : update; - return Object.entries(updateObj) - .filter(([_, value]) => value !== undefined) -diff --git a/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js b/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js -index 0ccc8a1..6e212e6 100644 ---- a/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js -+++ b/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js -@@ -17,12 +17,14 @@ const ROOT_OPERATION_NODES = freeze({ - CreateTableNode: true, - CreateTypeNode: true, - CreateViewNode: true, -+ CreateTriggerNode: true, - DeleteQueryNode: true, - DropIndexNode: true, - DropSchemaNode: true, - DropTableNode: true, - DropTypeNode: true, - DropViewNode: true, -+ DropTriggerNode: true, - InsertQueryNode: true, - RawNode: true, - SelectQueryNode: true, -diff --git a/node_modules/kysely/dist/esm/query-builder/function-module.d.ts b/node_modules/kysely/dist/esm/query-builder/function-module.d.ts -index 592c5e9..8f326c1 100644 ---- a/node_modules/kysely/dist/esm/query-builder/function-module.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/function-module.d.ts -@@ -7,6 +7,7 @@ import { KyselyTypeError } from '../util/type-error.js'; - import { Equals, IsAny } from '../util/type-utils.js'; - import { AggregateFunctionBuilder } from './aggregate-function-builder.js'; - import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { Selectable } from '../util/column-type.js'; - /** - * Helpers for type safe SQL function calls. - * -@@ -17,21 +18,47 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * - * - * -- * This example uses the `fn` module to select some aggregates: -+ * This example shows how to create function calls. These examples also work in any -+ * other place (`where` calls, updates, inserts etc.). The only difference is that you -+ * leave out the alias (the `as` call) if you use these in any other place than `select`. - * - * ```ts -+ * import { sql } from 'kysely' -+ * - * const result = await db.selectFrom('person') - * .innerJoin('pet', 'pet.owner_id', 'person.id') -- * .select(({ fn }) => [ -+ * .select(({ fn, val, ref }) => [ - * 'person.id', - * - * // The `fn` module contains the most common - * // functions. - * fn.count('pet.id').as('pet_count'), - * -- * // You can call any function using the -- * // `agg` method -- * fn.agg('array_agg', ['pet.name']).as('pet_names') -+ * // You can call any function by calling `fn` -+ * // directly. The arguments are treated as column -+ * // references by default. If you want to pass in -+ * // values, use the `val` function. -+ * fn('concat', [ -+ * val('Ms. '), -+ * 'first_name', -+ * val(' '), -+ * 'last_name' -+ * ]).as('full_name_with_title'), -+ * -+ * // You can call any aggregate function using the -+ * // `fn.agg` function. -+ * fn.agg('array_agg', ['pet.name']).as('pet_names'), -+ * -+ * // And once again, you can use the `sql` -+ * // template tag. The template tag substitutions -+ * // are treated as values by default. If you want -+ * // to reference columns, you can use the `ref` -+ * // function. -+ * sql`concat( -+ * ${ref('first_name')}, -+ * ' ', -+ * ${ref('last_name')} -+ * )`.as('full_name') - * ]) - * .groupBy('person.id') - * .having((eb) => eb.fn.count('pet.id'), '>', 10) -@@ -44,11 +71,13 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * select - * "person"."id", - * count("pet"."id") as "pet_count", -- * array_agg("pet"."name") as "pet_names" -+ * concat($1, "first_name", $2, "last_name") as "full_name_with_title", -+ * array_agg("pet"."name") as "pet_names", -+ * concat("first_name", ' ', "last_name") as "full_name" - * from "person" - * inner join "pet" on "pet"."owner_id" = "person"."id" - * group by "person"."id" -- * having count("pet"."id") > $1 -+ * having count("pet"."id") > $3 - * ``` - */ - export interface FunctionModule { -@@ -540,6 +569,50 @@ export interface FunctionModule { - any>(expr: RE): Exclude, null> extends ReadonlyArray ? ExpressionWrapper : KyselyTypeError<'any(expr) call failed: expr must be an array'>; - any(subquery: SelectQueryBuilderExpression>): ExpressionWrapper; - any(expr: Expression>): ExpressionWrapper; -+ /** -+ * Creates a json_agg function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.jsonAgg('pet').as('pets')]) -+ * .groupBy('person.first_name') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", json_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."first_name" -+ * ``` -+ */ -+ jsonAgg>(table: T): AggregateFunctionBuilder[] : T extends Expression ? O[] : never>; -+ /** -+ * Creates a to_json function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.toJson('pet').as('pet')]) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", to_json("pet") as "pet" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * ``` -+ */ -+ toJson>(table: T): ExpressionWrapper : T extends Expression ? O : never>; - } - export declare function createFunctionModule(): FunctionModule; - type OutputBoundStringReference, O> = IsAny extends true ? C : Equals | null, O | null> extends true ? C : never; -diff --git a/node_modules/kysely/dist/esm/query-builder/function-module.js b/node_modules/kysely/dist/esm/query-builder/function-module.js -index 7e1d28d..3744008 100644 ---- a/node_modules/kysely/dist/esm/query-builder/function-module.js -+++ b/node_modules/kysely/dist/esm/query-builder/function-module.js -@@ -5,6 +5,8 @@ import { FunctionNode } from '../operation-node/function-node.js'; - import { parseReferenceExpressionOrList, } from '../parser/reference-parser.js'; - import { parseSelectAll } from '../parser/select-parser.js'; - import { AggregateFunctionBuilder } from './aggregate-function-builder.js'; -+import { isString } from '../util/object-utils.js'; -+import { parseTable } from '../parser/table-parser.js'; - export function createFunctionModule() { - const fn = (name, args) => { - return new ExpressionWrapper(FunctionNode.create(name, parseReferenceExpressionOrList(args))); -@@ -42,5 +44,17 @@ export function createFunctionModule() { - any(column) { - return fn('any', [column]); - }, -+ jsonAgg(table) { -+ return new AggregateFunctionBuilder({ -+ aggregateFunctionNode: AggregateFunctionNode.create('json_agg', [ -+ isString(table) ? parseTable(table) : table.toOperationNode(), -+ ]), -+ }); -+ }, -+ toJson(table) { -+ return new ExpressionWrapper(FunctionNode.create('to_json', [ -+ isString(table) ? parseTable(table) : table.toOperationNode(), -+ ])); -+ }, - }); - } -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts -index 6be4113..ffc6c3f 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts -@@ -5,7 +5,7 @@ import { InsertObjectOrList, InsertObjectOrListFactory } from '../parser/insert- - import { InsertQueryNode } from '../operation-node/insert-query-node.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { NarrowPartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; -+import { UpdateObjectExpression } from '../parser/update-set-parser.js'; - import { Compilable } from '../util/compilable.js'; - import { QueryExecutor } from '../query-executor/query-executor.js'; - import { QueryId } from '../util/query-id.js'; -@@ -60,13 +60,18 @@ export declare class InsertQueryBuilder implements R - * }) - * .executeTakeFirst() - * -+ * // `insertId` is only available on dialects that -+ * // automatically return the id of the inserted row -+ * // such as MySQL and SQLite. On PostgreSQL, for example, -+ * // you need to add a `returning` clause to the query to -+ * // get anything out. See the "returning data" example. - * console.log(result.insertId) - * ``` - * -- * The generated SQL (PostgreSQL): -+ * The generated SQL (MySQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3) -+ * insert into `person` (`first_name`, `last_name`, `age`) values (?, ?, ?) - * ``` - * - * -@@ -131,11 +136,14 @@ export declare class InsertQueryBuilder implements R - * ```ts - * import { sql } from 'kysely' - * -+ * const ani = "Ani" -+ * const ston = "ston" -+ * - * const result = await db - * .insertInto('person') - * .values(({ ref, selectFrom, fn }) => ({ - * first_name: 'Jennifer', -- * last_name: sql`${'Ani'} || ${'ston'}`, -+ * last_name: sql`concat(${ani}, ${ston})`, - * middle_name: ref('first_name'), - * age: selectFrom('person') - * .select(fn.avg('age') -@@ -147,8 +155,18 @@ export declare class InsertQueryBuilder implements R - * The generated SQL (PostgreSQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") -- * values ($1, $2 || $3, (select avg("age") as "avg_age" from "person")) -+ * insert into "person" ( -+ * "first_name", -+ * "last_name", -+ * "middle_name", -+ * "age" -+ * ) -+ * values ( -+ * $1, -+ * concat($2, $3), -+ * "first_name", -+ * (select avg("age") as "avg_age" from "person") -+ * ) - * ``` - * - * You can also use the callback version of subqueries or raw expressions: -@@ -208,7 +226,7 @@ export declare class InsertQueryBuilder implements R - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -218,7 +236,7 @@ export declare class InsertQueryBuilder implements R - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression: ExpressionOrFactory): InsertQueryBuilder; -@@ -414,7 +432,7 @@ export declare class InsertQueryBuilder implements R - * .onDuplicateKeyUpdate({ species: 'hamster' }) - * ``` - */ -- onDuplicateKeyUpdate(update: UpdateExpression): InsertQueryBuilder; -+ onDuplicateKeyUpdate(update: UpdateObjectExpression): InsertQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js -index 3cd23c3..d9f1cc8 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js -+++ b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js -@@ -3,7 +3,7 @@ import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js'; - import { parseInsertExpression, } from '../parser/insert-values-parser.js'; - import { InsertQueryNode } from '../operation-node/insert-query-node.js'; - import { QueryNode } from '../operation-node/query-node.js'; --import { parseUpdateExpression, } from '../parser/update-set-parser.js'; -+import { parseUpdateObjectExpression, } from '../parser/update-set-parser.js'; - import { preventAwait } from '../util/prevent-await.js'; - import { freeze } from '../util/object-utils.js'; - import { OnDuplicateKeyNode } from '../operation-node/on-duplicate-key-node.js'; -@@ -75,7 +75,7 @@ export class InsertQueryBuilder { - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -85,7 +85,7 @@ export class InsertQueryBuilder { - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression) { -@@ -308,7 +308,7 @@ export class InsertQueryBuilder { - return new InsertQueryBuilder({ - ...this.#props, - queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, { -- onDuplicateKey: OnDuplicateKeyNode.create(parseUpdateExpression(update)), -+ onDuplicateKey: OnDuplicateKeyNode.create(parseUpdateObjectExpression(update)), - }), - }); - } -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts b/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts -index c16fb08..d22a9e5 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts -@@ -23,7 +23,14 @@ - */ - export declare class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - readonly insertId: bigint | undefined; - /** -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-result.js b/node_modules/kysely/dist/esm/query-builder/insert-result.js -index ba00de9..ff11e8c 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-result.js -+++ b/node_modules/kysely/dist/esm/query-builder/insert-result.js -@@ -24,7 +24,14 @@ - */ - export class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - insertId; - /** -diff --git a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts -index 803563e..cfb9d96 100644 ---- a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts -@@ -4,7 +4,7 @@ import { OperationNodeSource } from '../operation-node/operation-node-source.js' - import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; - import { ExpressionOrFactory } from '../parser/expression-parser.js'; - import { ReferenceExpression } from '../parser/reference-parser.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; -+import { UpdateObjectExpression } from '../parser/update-set-parser.js'; - import { AnyColumn, SqlBool } from '../util/type-utils.js'; - import { WhereInterface } from './where-interface.js'; - export declare class OnConflictBuilder implements WhereInterface { -@@ -435,7 +435,7 @@ export declare class OnConflictBuilder implements Where - * ) - * ``` - */ -- doUpdateSet(update: UpdateExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; -+ doUpdateSet(update: UpdateObjectExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; - /** - * Simply calls the provided function passing `this` as the only argument. `$call` returns - * what the provided function returns. -diff --git a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js -index bd95015..02c9135 100644 ---- a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js -+++ b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js -@@ -3,7 +3,7 @@ import { ColumnNode } from '../operation-node/column-node.js'; - import { IdentifierNode } from '../operation-node/identifier-node.js'; - import { OnConflictNode } from '../operation-node/on-conflict-node.js'; - import { parseValueBinaryOperationOrExpression, parseReferentialBinaryOperation, } from '../parser/binary-operation-parser.js'; --import { parseUpdateExpression, } from '../parser/update-set-parser.js'; -+import { parseUpdateObjectExpression, } from '../parser/update-set-parser.js'; - import { freeze } from '../util/object-utils.js'; - import { preventAwait } from '../util/prevent-await.js'; - export class OnConflictBuilder { -@@ -173,7 +173,7 @@ export class OnConflictBuilder { - return new OnConflictUpdateBuilder({ - ...this.#props, - onConflictNode: OnConflictNode.cloneWith(this.#props.onConflictNode, { -- updates: parseUpdateExpression(update), -+ updates: parseUpdateObjectExpression(update), - }), - }); - } -diff --git a/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts -index 3d30eed..a71462a 100644 ---- a/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts -@@ -8,7 +8,7 @@ import { ReferenceExpression } from '../parser/reference-parser.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; - import { UpdateQueryNode } from '../operation-node/update-query-node.js'; --import { UpdateObject, UpdateObjectFactory } from '../parser/update-set-parser.js'; -+import { UpdateObject, UpdateObjectFactory, ExtractUpdateTypeFromReferenceExpression } from '../parser/update-set-parser.js'; - import { Compilable } from '../util/compilable.js'; - import { QueryExecutor } from '../query-executor/query-executor.js'; - import { QueryId } from '../util/query-id.js'; -@@ -24,6 +24,7 @@ import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../p - import { KyselyTypeError } from '../util/type-error.js'; - import { Streamable } from '../util/streamable.js'; - import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { ValueExpression } from '../parser/value-parser.js'; - export declare class UpdateQueryBuilder implements WhereInterface, ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: UpdateQueryBuilderProps); -@@ -625,6 +626,20 @@ export declare class UpdateQueryBuilder eb.val('61710)) -+ * .where('id', '=', '1') -+ * .executeTakeFirst() -+ * ``` -+ * - * On PostgreSQL you can chain `returning` to the query to get - * the updated rows' columns (or any other expression) as the - * return value: -@@ -682,6 +697,7 @@ export declare class UpdateQueryBuilder): UpdateQueryBuilder; - set(update: UpdateObjectFactory): UpdateQueryBuilder; -+ set>(key: RE, value: ValueExpression>): UpdateQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/esm/query-builder/update-query-builder.js b/node_modules/kysely/dist/esm/query-builder/update-query-builder.js -index b20c740..6487ecf 100644 ---- a/node_modules/kysely/dist/esm/query-builder/update-query-builder.js -+++ b/node_modules/kysely/dist/esm/query-builder/update-query-builder.js -@@ -4,7 +4,7 @@ import { parseTableExpressionOrList, } from '../parser/table-parser.js'; - import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { UpdateQueryNode } from '../operation-node/update-query-node.js'; --import { parseUpdateExpression, } from '../parser/update-set-parser.js'; -+import { parseUpdate, } from '../parser/update-set-parser.js'; - import { preventAwait } from '../util/prevent-await.js'; - import { freeze } from '../util/object-utils.js'; - import { UpdateResult } from './update-result.js'; -@@ -63,10 +63,10 @@ export class UpdateQueryBuilder { - queryNode: QueryNode.cloneWithJoin(this.#props.queryNode, parseJoin('FullJoin', args)), - }); - } -- set(update) { -+ set(...args) { - return new UpdateQueryBuilder({ - ...this.#props, -- queryNode: UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, parseUpdateExpression(update)), -+ queryNode: UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, parseUpdate(...args)), - }); - } - returning(selection) { -diff --git a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts -index dbd954a..2f73125 100644 ---- a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts -+++ b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts -@@ -48,7 +48,7 @@ import { RootOperationNode, QueryCompiler } from './query-compiler.js'; - import { HavingNode } from '../operation-node/having-node.js'; - import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; - import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { AlterTableColumnAlterationNode, AlterTableNode } from '../operation-node/alter-table-node.js'; - import { DropColumnNode } from '../operation-node/drop-column-node.js'; - import { RenameColumnNode } from '../operation-node/rename-column-node.js'; - import { AlterColumnNode } from '../operation-node/alter-column-node.js'; -@@ -88,6 +88,11 @@ import { JSONPathNode } from '../operation-node/json-path-node.js'; - import { JSONPathLegNode } from '../operation-node/json-path-leg-node.js'; - import { JSONOperatorChainNode } from '../operation-node/json-operator-chain-node.js'; - import { TupleNode } from '../operation-node/tuple-node.js'; -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+import { TriggerEventNode } from '../operation-node/trigger-event-node.js'; -+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js'; - export declare class DefaultQueryCompiler extends OperationNodeVisitor implements QueryCompiler { - #private; - protected get numParameters(): number; -@@ -124,6 +129,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitTable(node: TableNode): void; - protected visitSchemableIdentifier(node: SchemableIdentifierNode): void; - protected visitCreateTable(node: CreateTableNode): void; -+ protected visitCreateTrigger(node: CreateTriggerNode): void; -+ protected visitTriggerEvent(node: TriggerEventNode): void; -+ protected visitTriggerOrder(node: TriggerOrderNode): void; -+ protected visitDropTrigger(node: DropTriggerNode): void; - protected visitColumnDefinition(node: ColumnDefinitionNode): void; - protected getAutoIncrement(): string; - protected visitReferences(node: ReferencesNode): void; -@@ -184,6 +193,7 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitJSONPath(node: JSONPathNode): void; - protected visitJSONPathLeg(node: JSONPathLegNode): void; - protected visitJSONOperatorChain(node: JSONOperatorChainNode): void; -+ protected visitAddIndex(node: AddIndexNode): void; - protected append(str: string): void; - protected appendValue(parameter: unknown): void; - protected getLeftIdentifierWrapper(): string; -@@ -197,4 +207,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected addParameter(parameter: unknown): void; - protected appendImmediateValue(value: unknown): void; - protected sortSelectModifiers(arr: SelectModifierNode[]): ReadonlyArray; -+ protected compileColumnAlterations(columnAlterations: readonly AlterTableColumnAlterationNode[]): void; -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ protected announcesNewColumnDataType(): boolean; - } -diff --git a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js -index c75a92d..0762ebd 100644 ---- a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js -+++ b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js -@@ -1,4 +1,5 @@ - /// -+import { CreateTableNode } from '../operation-node/create-table-node.js'; - import { InsertQueryNode } from '../operation-node/insert-query-node.js'; - import { OperationNodeVisitor } from '../operation-node/operation-node-visitor.js'; - import { OperatorNode } from '../operation-node/operator-node.js'; -@@ -30,6 +31,7 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - const wrapInParens = this.parentNode !== undefined && - !ParensNode.is(this.parentNode) && - !InsertQueryNode.is(this.parentNode) && -+ !CreateTableNode.is(this.parentNode) && - !CreateViewNode.is(this.parentNode) && - !SetOperationNode.is(this.parentNode); - if (this.parentNode === undefined && node.explain) { -@@ -346,17 +348,83 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.append('if not exists '); - } - this.visitNode(node.table); -- this.append(' ('); -- this.compileList([...node.columns, ...(node.constraints ?? [])]); -- this.append(')'); -- if (node.onCommit) { -- this.append(' on commit '); -- this.append(node.onCommit); -+ if (node.selectQuery) { -+ this.append(' as '); -+ this.visitNode(node.selectQuery); - } -- if (node.endModifiers && node.endModifiers.length > 0) { -- this.append(' '); -- this.compileList(node.endModifiers, ' '); -+ else { -+ this.append(' ('); -+ this.compileList([...node.columns, ...(node.constraints ?? [])]); -+ this.append(')'); -+ if (node.onCommit) { -+ this.append(' on commit '); -+ this.append(node.onCommit); -+ } -+ if (node.endModifiers && node.endModifiers.length > 0) { -+ this.append(' '); -+ this.compileList(node.endModifiers, ' '); -+ } -+ } -+ } -+ visitCreateTrigger(node) { -+ if (!node.time) -+ throw new Error('Trigger time is required.'); -+ if (!node.events) -+ throw new Error('Trigger event is required.'); -+ if (!node.table) -+ throw new Error('Trigger table is required.'); -+ this.append('create '); -+ if (node.temporary) { -+ this.append('temporary '); - } -+ if (node.orReplace) { -+ this.append('or replace '); -+ } -+ this.append('trigger '); -+ if (node.ifNotExists) { -+ this.append('if not exists '); -+ } -+ this.visitNode(node.name); -+ this.append(` ${node.time} `); -+ this.compileList(node.events, ' or '); -+ this.append(' on '); -+ this.visitNode(node.table); -+ if (node.forEach) -+ this.append(` for each ${node.forEach} `); -+ if (node.when) { -+ this.append(' when '); -+ this.visitNode(node.when); -+ } -+ if (node.order) -+ this.visitNode(node.order); -+ if (node.queries) { -+ this.append(' begin '); -+ this.compileList(node.queries, '; '); -+ this.append('; '); -+ this.append('end'); -+ } -+ else if (node.function) { -+ this.append(' execute function '); -+ this.visitNode(node.function); -+ } -+ } -+ visitTriggerEvent(node) { -+ this.append(`${node.event} `); -+ if (node.event === 'update' && node.columns) { -+ this.append('of '); -+ this.compileList(node.columns, ', '); -+ } -+ } -+ visitTriggerOrder(node) { -+ this.append(`${node.order} `); -+ this.visitNode(node.otherTriggerName); -+ } -+ visitDropTrigger(node) { -+ this.append('drop trigger '); -+ if (node.ifExists) { -+ this.append('if exists '); -+ } -+ this.visitNode(node.name); - } - visitColumnDefinition(node) { - this.visitNode(node.column); -@@ -383,6 +451,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - if (node.unique) { - this.append(' unique'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.primaryKey) { - this.append(' primary key'); - } -@@ -563,6 +634,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.compileList(node.columns); - this.append(')'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.where) { - this.append(' '); - this.visitNode(node.where); -@@ -615,7 +689,11 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.name); - this.append(' '); - } -- this.append('unique ('); -+ this.append('unique'); -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } -+ this.append(' ('); - this.compileList(node.columns); - this.append(')'); - } -@@ -696,7 +774,13 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.dropConstraint); - } - if (node.columnAlterations) { -- this.compileList(node.columnAlterations); -+ this.compileColumnAlterations(node.columnAlterations); -+ } -+ if (node.addIndex) { -+ this.visitNode(node.addIndex); -+ } -+ if (node.dropIndex) { -+ this.visitNode(node.dropIndex); - } - } - visitAddColumn(node) { -@@ -718,7 +802,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.column); - this.append(' '); - if (node.dataType) { -- this.append('type '); -+ if (this.announcesNewColumnDataType()) { -+ this.append('type '); -+ } - this.visitNode(node.dataType); - if (node.dataTypeExpression) { - this.append('using '); -@@ -1004,6 +1090,23 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.values[i]); - } - } -+ visitAddIndex(node) { -+ this.append('add '); -+ if (node.unique) { -+ this.append('unique '); -+ } -+ this.append('index '); -+ this.visitNode(node.name); -+ if (node.columns) { -+ this.append(' ('); -+ this.compileList(node.columns); -+ this.append(')'); -+ } -+ if (node.using) { -+ this.append(' using '); -+ this.visitNode(node.using); -+ } -+ } - append(str) { - this.#sql += str; - } -@@ -1077,6 +1180,16 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - : 1); - return freeze(arr); - } -+ compileColumnAlterations(columnAlterations) { -+ this.compileList(columnAlterations); -+ } -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ announcesNewColumnDataType() { -+ return true; -+ } - } - const SELECT_MODIFIER_SQL = freeze({ - ForKeyShare: 'for key share', -diff --git a/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts b/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts -index e3a8555..e96bd90 100644 ---- a/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts -+++ b/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts -@@ -2,17 +2,19 @@ import { AlterTableNode } from '../operation-node/alter-table-node.js'; - import { CreateIndexNode } from '../operation-node/create-index-node.js'; - import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; - import { CreateTableNode } from '../operation-node/create-table-node.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; - import { CreateTypeNode } from '../operation-node/create-type-node.js'; - import { CreateViewNode } from '../operation-node/create-view-node.js'; - import { DropIndexNode } from '../operation-node/drop-index-node.js'; - import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; - import { DropTableNode } from '../operation-node/drop-table-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; - import { DropTypeNode } from '../operation-node/drop-type-node.js'; - import { DropViewNode } from '../operation-node/drop-view-node.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { RawNode } from '../operation-node/raw-node.js'; - import { CompiledQuery } from './compiled-query.js'; --export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode; -+export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode | CreateTriggerNode | DropTriggerNode; - /** - * a `QueryCompiler` compiles a query expressed as a tree of `OperationNodes` into SQL. - */ -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts -new file mode 100644 -index 0000000..b297698 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts -@@ -0,0 +1,104 @@ -+import { Expression } from '../expression/expression.js'; -+import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { IndexType } from '../operation-node/create-index-node.js'; -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { OrderedColumnName } from '../parser/reference-parser.js'; -+import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { QueryExecutor } from '../query-executor/query-executor.js'; -+import { Compilable } from '../util/compilable.js'; -+import { QueryId } from '../util/query-id.js'; -+export declare class AlterTableAddIndexBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: AlterTableAddIndexBuilderProps); -+ /** -+ * Makes the index unique. -+ */ -+ unique(): AlterTableAddIndexBuilder; -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column: OrderedColumnName): AlterTableAddIndexBuilder; -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns: OrderedColumnName[]): AlterTableAddIndexBuilder; -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression: Expression): AlterTableAddIndexBuilder; -+ /** -+ * Specifies the index type. -+ */ -+ using(indexType: IndexType): AlterTableAddIndexBuilder; -+ using(indexType: string): AlterTableAddIndexBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): AlterTableNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface AlterTableAddIndexBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: AlterTableNode; -+} -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js -new file mode 100644 -index 0000000..00a8ef4 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js -@@ -0,0 +1,143 @@ -+/// -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { RawNode } from '../operation-node/raw-node.js'; -+import { parseOrderedColumnName } from '../parser/reference-parser.js'; -+import { freeze } from '../util/object-utils.js'; -+import { preventAwait } from '../util/prevent-await.js'; -+export class AlterTableAddIndexBuilder { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ /** -+ * Makes the index unique. -+ */ -+ unique() { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ unique: true, -+ }), -+ }), -+ }); -+ } -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [parseOrderedColumnName(column)]), -+ }), -+ }); -+ } -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, columns.map(parseOrderedColumnName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [expression.toOperationNode()]), -+ }), -+ }); -+ } -+ using(indexType) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ using: RawNode.createWithSql(indexType), -+ }), -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+preventAwait(AlterTableAddIndexBuilder, "don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts b/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts -index b0726ca..4453c5b 100644 ---- a/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts -@@ -11,6 +11,8 @@ import { AlterColumnBuilderCallback } from './alter-column-builder.js'; - import { AlterTableExecutor } from './alter-table-executor.js'; - import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js'; - import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js'; -+import { AlterTableAddIndexBuilder } from './alter-table-add-index-builder.js'; -+import { UniqueConstraintNodeBuilderCallback } from './unique-constraint-builder.js'; - /** - * This builder can be used to create a `alter table` query. - */ -@@ -35,7 +37,7 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName: string, columns: string[]): AlterTableExecutor; -+ addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor; - /** - * See {@link CreateTableBuilder.addCheckConstraint} - */ -@@ -53,6 +55,44 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - */ - addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor; - dropConstraint(constraintName: string): AlterTableDropConstraintBuilder; -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName: string): AlterTableAddIndexBuilder; -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName: string): AlterTableExecutor; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-builder.js b/node_modules/kysely/dist/esm/schema/alter-table-builder.js -index f003eb8..2d8dac8 100644 ---- a/node_modules/kysely/dist/esm/schema/alter-table-builder.js -+++ b/node_modules/kysely/dist/esm/schema/alter-table-builder.js -@@ -23,6 +23,10 @@ import { AlterTableExecutor } from './alter-table-executor.js'; - import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js'; - import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js'; - import { PrimaryConstraintNode } from '../operation-node/primary-constraint-node.js'; -+import { DropIndexNode } from '../operation-node/drop-index-node.js'; -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { AlterTableAddIndexBuilder } from './alter-table-add-index-builder.js'; -+import { UniqueConstraintNodeBuilder, } from './unique-constraint-builder.js'; - /** - * This builder can be used to create a `alter table` query. - */ -@@ -83,11 +87,12 @@ export class AlterTableBuilder { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = noop) { -+ const uniqueConstraintBuilder = build(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(columns, constraintName))); - return new AlterTableExecutor({ - ...this.#props, - node: AlterTableNode.cloneWithTableProps(this.#props.node, { -- addConstraint: AddConstraintNode.create(UniqueConstraintNode.create(columns, constraintName)), -+ addConstraint: AddConstraintNode.create(uniqueConstraintBuilder.toOperationNode()), - }), - }); - } -@@ -134,6 +139,58 @@ export class AlterTableBuilder { - }), - }); - } -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.create(indexName), -+ }), -+ }); -+ } -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName) { -+ return new AlterTableExecutor({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ dropIndex: DropIndexNode.create(indexName), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts b/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts -index 2a99c4c..a76104c 100644 ---- a/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts -@@ -183,6 +183,31 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource { - * ``` - */ - modifyFront(modifier: Expression): ColumnDefinitionBuilder; -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct(): ColumnDefinitionBuilder; - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/esm/schema/column-definition-builder.js b/node_modules/kysely/dist/esm/schema/column-definition-builder.js -index 8ff9bf2..7111109 100644 ---- a/node_modules/kysely/dist/esm/schema/column-definition-builder.js -+++ b/node_modules/kysely/dist/esm/schema/column-definition-builder.js -@@ -256,6 +256,33 @@ export class ColumnDefinitionBuilder { - modifyFront(modifier) { - return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWithFrontModifier(this.#node, modifier.toOperationNode())); - } -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts -index 27502c4..b44e116 100644 ---- a/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts -@@ -22,6 +22,29 @@ export declare class CreateIndexBuilder implements OperationNodeSourc - * Makes the index unique. - */ - unique(): CreateIndexBuilder; -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct(): CreateIndexBuilder; - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/esm/schema/create-index-builder.js b/node_modules/kysely/dist/esm/schema/create-index-builder.js -index 7886ba1..5d40347 100644 ---- a/node_modules/kysely/dist/esm/schema/create-index-builder.js -+++ b/node_modules/kysely/dist/esm/schema/create-index-builder.js -@@ -37,6 +37,36 @@ export class CreateIndexBuilder { - }), - }); - } -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new CreateIndexBuilder({ -+ ...this.#props, -+ node: CreateIndexNode.cloneWith(this.#props.node, { -+ nullsNotDistinct: true, -+ }), -+ }); -+ } - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts -index e160575..3b7e7ce 100644 ---- a/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts -@@ -8,6 +8,7 @@ import { QueryId } from '../util/query-id.js'; - import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js'; - import { DataTypeExpression } from '../parser/data-type-parser.js'; - import { Expression } from '../expression/expression.js'; -+import { UniqueConstraintNodeBuilderCallback } from './unique-constraint-builder.js'; - /** - * This builder can be used to create a `create table` query. - */ -@@ -56,7 +57,7 @@ export declare class CreateTableBuilder builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName: string, columns: C[]): CreateTableBuilder; -+ addUniqueConstraint(constraintName: string, columns: C[], build?: UniqueConstraintNodeBuilderCallback): CreateTableBuilder; - /** - * Adds a check constraint. - * -@@ -205,6 +211,26 @@ export declare class CreateTableBuilder): CreateTableBuilder; -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression: Expression): CreateTableBuilder; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/create-table-builder.js b/node_modules/kysely/dist/esm/schema/create-table-builder.js -index 20fb8c5..f3423e2 100644 ---- a/node_modules/kysely/dist/esm/schema/create-table-builder.js -+++ b/node_modules/kysely/dist/esm/schema/create-table-builder.js -@@ -13,6 +13,8 @@ import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.j - import { CheckConstraintNode } from '../operation-node/check-constraint-node.js'; - import { parseTable } from '../parser/table-parser.js'; - import { parseOnCommitAction } from '../parser/on-commit-action-parse.js'; -+import { UniqueConstraintNodeBuilder, } from './unique-constraint-builder.js'; -+import { parseExpression } from '../parser/expression-parser.js'; - /** - * This builder can be used to create a `create table` query. - */ -@@ -84,7 +86,7 @@ export class CreateTableBuilder { - * ``` - * - * With this method, it's once again good to remember that Kysely just builds the -- * query and doesn't provide the same API for all databses. For example, some -+ * query and doesn't provide the same API for all databases. For example, some - * databases like older MySQL don't support the `references` statement in the - * column definition. Instead foreign key constraints need to be defined in the - * `create table` query. See the next example: -@@ -143,11 +145,17 @@ export class CreateTableBuilder { - * ```ts - * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name']) - * ``` -+ * -+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows: -+ * ```ts -+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = noop) { -+ const uniqueConstraintBuilder = build(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(columns, constraintName))); - return new CreateTableBuilder({ - ...this.#props, -- node: CreateTableNode.cloneWithConstraint(this.#props.node, UniqueConstraintNode.create(columns, constraintName)), -+ node: CreateTableNode.cloneWithConstraint(this.#props.node, uniqueConstraintBuilder.toOperationNode()), - }); - } - /** -@@ -270,6 +278,33 @@ export class CreateTableBuilder { - node: CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()), - }); - } -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression) { -+ return new CreateTableBuilder({ -+ ...this.#props, -+ node: CreateTableNode.cloneWith(this.#props.node, { -+ selectQuery: parseExpression(expression), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts -new file mode 100644 -index 0000000..c65746a ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts -@@ -0,0 +1,68 @@ -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; -+import { ReferenceExpression } from '../parser/reference-parser.js'; -+import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { QueryExecutor } from '../query-executor/query-executor.js'; -+import { Compilable } from '../util/compilable.js'; -+import { QueryId } from '../util/query-id.js'; -+import { AnyColumn, AnyColumnWithTable, SqlBool } from '../util/type-utils.js'; -+import { TriggerEvent } from '../operation-node/trigger-event-node.js'; -+import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { TriggerQueryCreator } from '../trigger-query-creator.js'; -+export type DatabaseWithOldNewTables = DB & { -+ old: DB[TB]; -+ new: DB[TB]; -+}; -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+export declare class CreateTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: CreateTriggerBuilderProps); -+ before(): CreateTriggerBuilder; -+ after(): CreateTriggerBuilder; -+ insteadOf(): CreateTriggerBuilder; -+ addEvent(event: E, columns?: E extends 'update' ? AnyColumn[] : never[]): CreateTriggerBuilder; -+ forEachRow(): CreateTriggerBuilder; -+ forEachStatement(): CreateTriggerBuilder; -+ follows(otherTriggerName: string): CreateTriggerBuilder; -+ precedes(otherTriggerName: string): CreateTriggerBuilder; -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table: TE, schema?: string): CreateTriggerBuilder; -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary(): CreateTriggerBuilder; -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists(): CreateTriggerBuilder; -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace(): CreateTriggerBuilder; -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build: QueryCreatorCallback): CreateTriggerBuilder; -+ function(name: string, args: ReadonlyArray>): CreateTriggerBuilder; -+ when, 'old' | 'new'>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList): CreateTriggerBuilder; -+ when(factory: ExpressionOrFactory, 'old' | 'new', SqlBool>): CreateTriggerBuilder; -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): CreateTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface CreateTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: CreateTriggerNode; -+} -+export type QueryCreatorCallback = (creator: TriggerQueryCreator) => OperationNodeSource; -diff --git a/node_modules/kysely/dist/esm/schema/create-trigger-builder.js b/node_modules/kysely/dist/esm/schema/create-trigger-builder.js -new file mode 100644 -index 0000000..d3eb721 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/create-trigger-builder.js -@@ -0,0 +1,177 @@ -+/// -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { QueryNode } from '../operation-node/query-node.js'; -+import { parseValueBinaryOperationOrExpression, } from '../parser/binary-operation-parser.js'; -+import { parseOrderedColumnName, parseReferenceExpressionOrList, } from '../parser/reference-parser.js'; -+import { ImmediateValueTransformer } from '../plugin/immediate-value/immediate-value-transformer.js'; -+import { freeze } from '../util/object-utils.js'; -+import { preventAwait } from '../util/prevent-await.js'; -+import { IdentifierNode } from '../operation-node/identifier-node.js'; -+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js'; -+import { TriggerEventNode, } from '../operation-node/trigger-event-node.js'; -+import { FunctionNode } from '../operation-node/function-node.js'; -+import { TriggerQueryCreator } from '../trigger-query-creator.js'; -+import { TableNode } from '../operation-node/table-node.js'; -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+export class CreateTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ before() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'before', -+ }), -+ }); -+ } -+ after() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'after', -+ }), -+ }); -+ } -+ insteadOf() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'instead of', -+ }), -+ }); -+ } -+ addEvent(event, columns) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWithEvent(this.#props.node, TriggerEventNode.create(event, columns?.map(parseOrderedColumnName))), -+ }); -+ } -+ forEachRow() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `row`, -+ }), -+ }); -+ } -+ forEachStatement() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `statement`, -+ }), -+ }); -+ } -+ follows(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ order: TriggerOrderNode.create('follows', IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ precedes(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ order: TriggerOrderNode.create('precedes', IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table, schema) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ table: schema -+ ? TableNode.createWithSchema(schema, table) -+ : TableNode.create(table), -+ }), -+ }); -+ } -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ temporary: true, -+ }), -+ }); -+ } -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ ifNotExists: true, -+ }), -+ }); -+ } -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ orReplace: true, -+ }), -+ }); -+ } -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build) { -+ const node = build(new TriggerQueryCreator({ executor: this.#props.executor })).toOperationNode(); -+ if (!QueryNode.is(node)) -+ throw new Error('Must be a query node.'); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWithQuery(this.#props.node, node), -+ }); -+ } -+ function(name, args) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ function: FunctionNode.create(name, parseReferenceExpressionOrList(args)), -+ }), -+ }); -+ } -+ when(...args) { -+ const transformer = new ImmediateValueTransformer(); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ when: transformer.transformNode(parseValueBinaryOperationOrExpression(args)), -+ }), -+ }); -+ } -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+preventAwait(CreateTriggerBuilder, "don't await CreateTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts -new file mode 100644 -index 0000000..b0e3fce ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts -@@ -0,0 +1,25 @@ -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { Compilable } from '../util/compilable.js'; -+import { QueryExecutor } from '../query-executor/query-executor.js'; -+import { QueryId } from '../util/query-id.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+export declare class DropTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: DropTriggerBuilderProps); -+ ifExists(): DropTriggerBuilder; -+ cascade(): DropTriggerBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): DropTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface DropTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: DropTriggerNode; -+} -diff --git a/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js -new file mode 100644 -index 0000000..0a0f2e1 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js -@@ -0,0 +1,43 @@ -+/// -+import { preventAwait } from '../util/prevent-await.js'; -+import { freeze } from '../util/object-utils.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+export class DropTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ ifExists() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: DropTriggerNode.cloneWith(this.#props.node, { -+ ifExists: true, -+ }), -+ }); -+ } -+ cascade() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: DropTriggerNode.cloneWith(this.#props.node, { -+ cascade: true, -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+preventAwait(DropTriggerBuilder, "don't await DropTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/esm/schema/schema.d.ts b/node_modules/kysely/dist/esm/schema/schema.d.ts -index 8634b84..19cf68c 100644 ---- a/node_modules/kysely/dist/esm/schema/schema.d.ts -+++ b/node_modules/kysely/dist/esm/schema/schema.d.ts -@@ -11,10 +11,12 @@ import { DropViewBuilder } from './drop-view-builder.js'; - import { KyselyPlugin } from '../plugin/kysely-plugin.js'; - import { CreateTypeBuilder } from './create-type-builder.js'; - import { DropTypeBuilder } from './drop-type-builder.js'; -+import { CreateTriggerBuilder } from './create-trigger-builder.js'; -+import { DropTriggerBuilder } from './drop-trigger-builder.js'; - /** - * Provides methods for building database schema. - */ --export declare class SchemaModule { -+export declare class SchemaModule { - #private; - constructor(executor: QueryExecutor); - /** -@@ -201,16 +203,18 @@ export declare class SchemaModule { - * ``` - */ - dropType(typeName: string): DropTypeBuilder; -+ createTrigger(name: string): CreateTriggerBuilder; -+ dropTrigger(triggerName: string): DropTriggerBuilder; - /** - * Returns a copy of this schema module with the given plugin installed. - */ -- withPlugin(plugin: KyselyPlugin): SchemaModule; -+ withPlugin(plugin: KyselyPlugin): SchemaModule; - /** - * Returns a copy of this schema module without any plugins. - */ -- withoutPlugins(): SchemaModule; -+ withoutPlugins(): SchemaModule; - /** - * See {@link QueryCreator.withSchema} - */ -- withSchema(schema: string): SchemaModule; -+ withSchema(schema: string): SchemaModule; - } -diff --git a/node_modules/kysely/dist/esm/schema/schema.js b/node_modules/kysely/dist/esm/schema/schema.js -index 8244039..4ba6917 100644 ---- a/node_modules/kysely/dist/esm/schema/schema.js -+++ b/node_modules/kysely/dist/esm/schema/schema.js -@@ -25,6 +25,11 @@ import { DropTypeBuilder } from './drop-type-builder.js'; - import { CreateTypeNode } from '../operation-node/create-type-node.js'; - import { DropTypeNode } from '../operation-node/drop-type-node.js'; - import { parseSchemableIdentifier } from '../parser/identifier-parser.js'; -+import { CreateTriggerBuilder } from './create-trigger-builder.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { IdentifierNode } from '../operation-node/identifier-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+import { DropTriggerBuilder } from './drop-trigger-builder.js'; - /** - * Provides methods for building database schema. - */ -@@ -283,6 +288,20 @@ export class SchemaModule { - node: DropTypeNode.create(parseSchemableIdentifier(typeName)), - }); - } -+ createTrigger(name) { -+ return new CreateTriggerBuilder({ -+ queryId: createQueryId(), -+ executor: this.#executor, -+ node: CreateTriggerNode.create(IdentifierNode.create(name)), -+ }); -+ } -+ dropTrigger(triggerName) { -+ return new DropTriggerBuilder({ -+ queryId: createQueryId(), -+ executor: this.#executor, -+ node: DropTriggerNode.create(parseSchemableIdentifier(triggerName)), -+ }); -+ } - /** - * Returns a copy of this schema module with the given plugin installed. - */ -diff --git a/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts -new file mode 100644 -index 0000000..4362213 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts -@@ -0,0 +1,14 @@ -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js'; -+export declare class UniqueConstraintNodeBuilder implements OperationNodeSource { -+ #private; -+ constructor(node: UniqueConstraintNode); -+ toOperationNode(): UniqueConstraintNode; -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct(): UniqueConstraintNodeBuilder; -+} -+export type UniqueConstraintNodeBuilderCallback = (builder: UniqueConstraintNodeBuilder) => UniqueConstraintNodeBuilder; -diff --git a/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js -new file mode 100644 -index 0000000..dba8cef ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js -@@ -0,0 +1,21 @@ -+/// -+import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js'; -+import { preventAwait } from '../util/prevent-await.js'; -+export class UniqueConstraintNodeBuilder { -+ #node; -+ constructor(node) { -+ this.#node = node; -+ } -+ toOperationNode() { -+ return this.#node; -+ } -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct() { -+ return new UniqueConstraintNodeBuilder(UniqueConstraintNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } -+} -+preventAwait(UniqueConstraintNodeBuilder, "don't await UniqueConstraintNodeBuilder instances directly."); -diff --git a/node_modules/kysely/dist/esm/trigger-query-creator.d.ts b/node_modules/kysely/dist/esm/trigger-query-creator.d.ts -new file mode 100644 -index 0000000..51d0b2f ---- /dev/null -+++ b/node_modules/kysely/dist/esm/trigger-query-creator.d.ts -@@ -0,0 +1,35 @@ -+import { SelectQueryBuilder } from './query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from './query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from './query-builder/update-query-builder.js'; -+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from './parser/table-parser.js'; -+import { InsertResult } from './query-builder/insert-result.js'; -+import { DeleteResult } from './query-builder/delete-result.js'; -+import { UpdateResult } from './query-builder/update-result.js'; -+import { KyselyPlugin } from './plugin/kysely-plugin.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from './parser/select-parser.js'; -+import { QueryCreatorProps } from './query-creator.js'; -+import { DatabaseWithOldNewTables } from './schema/create-trigger-builder.js'; -+export declare class TriggerQueryCreator { -+ #private; -+ constructor(props: QueryCreatorProps); -+ selectFrom(from: TE[]): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE[]): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectFrom(from: TE): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder & PickTableWithAlias, TE>, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectNoFrom>(selections: ReadonlyArray): SelectQueryBuilder>; -+ selectNoFrom>(callback: CB): SelectQueryBuilder>; -+ selectNoFrom>(selection: SE): SelectQueryBuilder>; -+ insertInto(table: T): InsertQueryBuilder; -+ replaceInto(table: T): InsertQueryBuilder; -+ deleteFrom(from: TR[]): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(tables: TR[]): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ deleteFrom(from: TR): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(table: TR): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ updateTable(table: TR): UpdateQueryBuilder, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, ExtractTableAlias, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, FromTables, FromTables, UpdateResult>; -+ withPlugin(plugin: KyselyPlugin): TriggerQueryCreator; -+ withoutPlugins(): TriggerQueryCreator; -+} -diff --git a/node_modules/kysely/dist/esm/trigger-query-creator.js b/node_modules/kysely/dist/esm/trigger-query-creator.js -new file mode 100644 -index 0000000..c8960dc ---- /dev/null -+++ b/node_modules/kysely/dist/esm/trigger-query-creator.js -@@ -0,0 +1,73 @@ -+/// -+import { createSelectQueryBuilder, } from './query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from './query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from './query-builder/update-query-builder.js'; -+import { DeleteQueryNode } from './operation-node/delete-query-node.js'; -+import { InsertQueryNode } from './operation-node/insert-query-node.js'; -+import { SelectQueryNode } from './operation-node/select-query-node.js'; -+import { UpdateQueryNode } from './operation-node/update-query-node.js'; -+import { parseTable, parseTableExpression, parseTableExpressionOrList, } from './parser/table-parser.js'; -+import { createQueryId } from './util/query-id.js'; -+import { freeze } from './util/object-utils.js'; -+import { parseSelectArg, } from './parser/select-parser.js'; -+export class TriggerQueryCreator { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ selectFrom(from) { -+ return createSelectQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: SelectQueryNode.createFrom(parseTableExpressionOrList(from), this.#props.withNode), -+ }); -+ } -+ selectNoFrom(selection) { -+ return createSelectQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: SelectQueryNode.cloneWithSelections(SelectQueryNode.create(this.#props.withNode), parseSelectArg(selection)), -+ }); -+ } -+ insertInto(table) { -+ return new InsertQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: InsertQueryNode.create(parseTable(table), this.#props.withNode), -+ }); -+ } -+ replaceInto(table) { -+ return new InsertQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: InsertQueryNode.create(parseTable(table), this.#props.withNode, true), -+ }); -+ } -+ deleteFrom(tables) { -+ return new DeleteQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: DeleteQueryNode.create(parseTableExpressionOrList(tables), this.#props.withNode), -+ }); -+ } -+ updateTable(table) { -+ return new UpdateQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: UpdateQueryNode.create(parseTableExpression(table), this.#props.withNode), -+ }); -+ } -+ withPlugin(plugin) { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withPlugin(plugin), -+ }); -+ } -+ withoutPlugins() { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withoutPlugins(), -+ }); -+ } -+} -diff --git a/node_modules/kysely/dist/esm/util/object-utils.d.ts b/node_modules/kysely/dist/esm/util/object-utils.d.ts -index 1b9f563..c9fa82b 100644 ---- a/node_modules/kysely/dist/esm/util/object-utils.d.ts -+++ b/node_modules/kysely/dist/esm/util/object-utils.d.ts -@@ -6,7 +6,7 @@ export declare function isNumber(obj: unknown): obj is number; - export declare function isBoolean(obj: unknown): obj is boolean; - export declare function isNull(obj: unknown): obj is null; - export declare function isDate(obj: unknown): obj is Date; --export declare function isBigInt(obj: unknown): obj is BigInt; -+export declare function isBigInt(obj: unknown): obj is bigint; - export declare function isBuffer(obj: unknown): obj is { - length: number; - }; -diff --git a/node_modules/kysely/helpers/sqlite.js b/node_modules/kysely/helpers/sqlite.js -index cc6b411..a579b48 100644 ---- a/node_modules/kysely/helpers/sqlite.js -+++ b/node_modules/kysely/helpers/sqlite.js -@@ -1 +1 @@ --module.exports = require('../dist/cjs/helpers/sqlite.js') -\ No newline at end of file -+module.exports = require('kysely/dist/cjs/helpers/sqlite.js') -\ No newline at end of file diff --git a/apps/web/src/common/sqlite/index.desktop.ts b/apps/web/src/common/sqlite/index.desktop.ts index 22d226192..9397715fc 100644 --- a/apps/web/src/common/sqlite/index.desktop.ts +++ b/apps/web/src/common/sqlite/index.desktop.ts @@ -26,7 +26,7 @@ import { QueryResult, CompiledQuery, Driver -} from "kysely"; +} from "@streetwriters/kysely"; import { desktop } from "../desktop-bridge"; import Worker from "./sqlite.worker.desktop.ts?worker"; import type { SQLiteWorker } from "./sqlite.worker.desktop"; diff --git a/apps/web/src/common/sqlite/index.ts b/apps/web/src/common/sqlite/index.ts index 43c81ad63..1c668c694 100644 --- a/apps/web/src/common/sqlite/index.ts +++ b/apps/web/src/common/sqlite/index.ts @@ -22,7 +22,7 @@ import { SqliteQueryCompiler, SqliteIntrospector, Dialect -} from "kysely"; +} from "@streetwriters/kysely"; import { WaSqliteWorkerMultipleTabDriver, WaSqliteWorkerSingleTabDriver diff --git a/apps/web/src/common/sqlite/sqlite.worker.ts b/apps/web/src/common/sqlite/sqlite.worker.ts index c987aded2..7f362f65c 100644 --- a/apps/web/src/common/sqlite/sqlite.worker.ts +++ b/apps/web/src/common/sqlite/sqlite.worker.ts @@ -21,7 +21,7 @@ import type { SQLiteAPI, SQLiteCompatibleType } from "./sqlite-types"; import { Factory, SQLITE_ROW, SQLiteError } from "./sqlite-api"; import { expose, transfer } from "comlink"; import type { RunMode } from "./type"; -import { QueryResult } from "kysely"; +import { QueryResult } from "@streetwriters/kysely"; import { DatabaseSource } from "./sqlite-export"; import { createSharedServicePort } from "./shared-service"; import type { IDBBatchAtomicVFS } from "./IDBBatchAtomicVFS"; diff --git a/apps/web/src/common/sqlite/type.ts b/apps/web/src/common/sqlite/type.ts index 1095a1401..404403b0b 100644 --- a/apps/web/src/common/sqlite/type.ts +++ b/apps/web/src/common/sqlite/type.ts @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -import type { QueryResult } from "kysely"; +import type { QueryResult } from "@streetwriters/kysely"; export type Promisable = T | Promise; diff --git a/apps/web/src/common/sqlite/wa-sqlite-kysely-driver.ts b/apps/web/src/common/sqlite/wa-sqlite-kysely-driver.ts index 3453b7e09..ae2858aa0 100644 --- a/apps/web/src/common/sqlite/wa-sqlite-kysely-driver.ts +++ b/apps/web/src/common/sqlite/wa-sqlite-kysely-driver.ts @@ -17,8 +17,12 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -import type { DatabaseConnection, Driver, QueryResult } from "kysely"; -import { CompiledQuery } from "kysely"; +import type { + DatabaseConnection, + Driver, + QueryResult +} from "@streetwriters/kysely"; +import { CompiledQuery } from "@streetwriters/kysely"; import Worker from "./sqlite.worker.ts?worker"; import type { SQLiteWorker } from "./sqlite.worker"; import SQLiteSyncURI from "./wa-sqlite.wasm?url"; diff --git a/packages/common/package-lock.json b/packages/common/package-lock.json index 4483ffc2e..31d7212b4 100644 --- a/packages/common/package-lock.json +++ b/packages/common/package-lock.json @@ -35,7 +35,8 @@ "@microsoft/signalr": "^8.0.0", "@notesnook/logger": "file:../logger", "@readme/data-urls": "^3.0.0", - "@streetwriters/showdown": "^3.0.7-alpha", + "@streetwriters/kysely": "^0.27.4", + "@streetwriters/showdown": "^3.0.8-alpha", "async-mutex": "^0.3.2", "dayjs": "1.11.9", "dom-serializer": "^2.0.0", @@ -46,7 +47,6 @@ "html-to-text": "^9.0.5", "htmlparser2": "^8.0.1", "katex": "0.16.2", - "kysely": "^0.26.3", "linkedom": "^0.14.17", "liqe": "^1.13.0", "mime-db": "1.52.0", @@ -1828,7 +1828,8 @@ "@notesnook/crypto": "file:../crypto", "@notesnook/logger": "file:../logger", "@readme/data-urls": "^3.0.0", - "@streetwriters/showdown": "^3.0.7-alpha", + "@streetwriters/kysely": "^0.27.4", + "@streetwriters/showdown": "^3.0.8-alpha", "@types/better-sqlite3": "^7.6.5", "@types/event-source-polyfill": "^1.0.1", "@types/html-to-text": "^9.0.0", @@ -1858,7 +1859,6 @@ "isomorphic-fetch": "^3.0.0", "jsdom": "^22.1.0", "katex": "0.16.2", - "kysely": "^0.26.3", "linkedom": "^0.14.17", "liqe": "^1.13.0", "mime-db": "1.52.0", diff --git a/packages/core/__e2e__/sync.test.js b/packages/core/__e2e__/sync.test.js index 72818930b..441367e95 100644 --- a/packages/core/__e2e__/sync.test.js +++ b/packages/core/__e2e__/sync.test.js @@ -25,7 +25,7 @@ import { CHECK_IDS, EV, EVENTS } from "../src/common"; import { EventSource } from "event-source-polyfill"; import { test, expect, vitest } from "vitest"; import { login } from "./utils"; -import { SqliteDialect } from "kysely"; +import { SqliteDialect } from "@streetwriters/kysely"; import BetterSQLite3 from "better-sqlite3-multiple-ciphers"; const TEST_TIMEOUT = 60 * 1000; diff --git a/packages/core/__tests__/logger.test.ts b/packages/core/__tests__/logger.test.ts index a2964ec5a..d996b339e 100644 --- a/packages/core/__tests__/logger.test.ts +++ b/packages/core/__tests__/logger.test.ts @@ -19,7 +19,7 @@ along with this program. If not, see . import { describe, it, expect } from "vitest"; import { initialize, logManager, logger } from "../src/logger"; -import { SqliteDialect } from "kysely"; +import { SqliteDialect } from "@streetwriters/kysely"; import BetterSQLite3 from "better-sqlite3-multiple-ciphers"; import { NoopLogger } from "@notesnook/logger"; import { delay } from "./utils"; diff --git a/packages/core/__tests__/utils/index.ts b/packages/core/__tests__/utils/index.ts index 2018f46bf..67a43e10d 100644 --- a/packages/core/__tests__/utils/index.ts +++ b/packages/core/__tests__/utils/index.ts @@ -25,7 +25,7 @@ import { EventSourcePolyfill as EventSource } from "event-source-polyfill"; import { randomBytes } from "../../src/utils/random"; import { Note, Notebook } from "../../src/types"; import { NoteContent } from "../../src/collections/session-content"; -import { SqliteDialect } from "kysely"; +import { SqliteDialect } from "@streetwriters/kysely"; import BetterSQLite3 from "better-sqlite3-multiple-ciphers"; import path from "path"; import { tmpdir } from "os"; diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json index 37499c486..b2bd3e01d 100644 --- a/packages/core/package-lock.json +++ b/packages/core/package-lock.json @@ -14,6 +14,7 @@ "@microsoft/signalr": "^8.0.0", "@notesnook/logger": "file:../logger", "@readme/data-urls": "^3.0.0", + "@streetwriters/kysely": "^0.27.4", "@streetwriters/showdown": "^3.0.8-alpha", "async-mutex": "^0.3.2", "dayjs": "1.11.9", @@ -25,7 +26,6 @@ "html-to-text": "^9.0.5", "htmlparser2": "^8.0.1", "katex": "0.16.2", - "kysely": "^0.26.3", "linkedom": "^0.14.17", "liqe": "^1.13.0", "mime-db": "1.52.0", @@ -2216,6 +2216,14 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, + "node_modules/@streetwriters/kysely": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@streetwriters/kysely/-/kysely-0.27.4.tgz", + "integrity": "sha512-c2p+wtX8WESSVjJAc16j4lT44w/g1DvJFEIeKj/CFy36vmi0uq9FOAzxc50VtRc7rp0UlECCfl3Sxd+BTZOHFg==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@streetwriters/showdown": { "version": "3.0.8-alpha", "resolved": "https://registry.npmjs.org/@streetwriters/showdown/-/showdown-3.0.8-alpha.tgz", @@ -3559,14 +3567,6 @@ "node": ">= 12" } }, - "node_modules/kysely": { - "version": "0.26.3", - "resolved": "https://registry.npmjs.org/kysely/-/kysely-0.26.3.tgz", - "integrity": "sha512-yWSgGi9bY13b/W06DD2OCDDHQmq1kwTGYlQ4wpZkMOJqMGCstVCFIvxCCVG4KfY1/3G0MhDAcZsip/Lw8/vJWw==", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/leac": { "version": "0.6.0", "license": "MIT", diff --git a/packages/core/package.json b/packages/core/package.json index 740d89b7a..fd1ff4ef0 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -62,7 +62,7 @@ "html-to-text": "^9.0.5", "htmlparser2": "^8.0.1", "katex": "0.16.2", - "kysely": "^0.26.3", + "@streetwriters/kysely": "^0.27.4", "linkedom": "^0.14.17", "liqe": "^1.13.0", "mime-db": "1.52.0", diff --git a/packages/core/patches/kysely+0.26.3.patch b/packages/core/patches/kysely+0.26.3.patch deleted file mode 100644 index 517c26ad1..000000000 --- a/packages/core/patches/kysely+0.26.3.patch +++ /dev/null @@ -1,8944 +0,0 @@ -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts -index dc87916..e3fb628 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.d.ts -@@ -7,6 +7,14 @@ import { DialectAdapter, MigrationLockOptions } from './dialect-adapter.js'; - * they are added and there will be less breaking changes. - */ - export declare abstract class DialectAdapterBase implements DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ get supportsCreateIfNotExists(): boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js -index a8a950f..53c47b0 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js -+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter-base.js -@@ -8,6 +8,9 @@ exports.DialectAdapterBase = void 0; - * they are added and there will be less breaking changes. - */ - class DialectAdapterBase { -+ get supportsCreateIfNotExists() { -+ return true; -+ } - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts -index 73a925a..73baab0 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/dialect-adapter.d.ts -@@ -1,4 +1,4 @@ --import { Kysely } from '../kysely.js'; -+import { Kysely } from 'kysely/dist/cjs/kysely.js'; - /** - * A `DialectAdapter` encapsulates all differences between dialects outside - * of `Driver` and `QueryCompiler`. -@@ -8,6 +8,14 @@ import { Kysely } from '../kysely.js'; - * it. For that there's a `supportsTransactionalDdl` boolean in this interface. - */ - export interface DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ readonly supportsCreateIfNotExists: boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/dialect.d.ts b/node_modules/kysely/dist/cjs/dialect/dialect.d.ts -index 58c74f9..a84ed23 100644 ---- a/node_modules/kysely/dist/cjs/dialect/dialect.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/dialect.d.ts -@@ -1,8 +1,8 @@ --import { Driver } from '../driver/driver.js'; --import { Kysely } from '../kysely.js'; --import { QueryCompiler } from '../query-compiler/query-compiler.js'; --import { DatabaseIntrospector } from './database-introspector.js'; --import { DialectAdapter } from './dialect-adapter.js'; -+import { Driver } from 'kysely/dist/cjs/driver/driver.js'; -+import { Kysely } from 'kysely/dist/cjs/kysely.js'; -+import { QueryCompiler } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; -+import { DatabaseIntrospector } from 'kysely/dist/cjs/dialect/database-introspector.js'; -+import { DialectAdapter } from 'kysely/dist/cjs/dialect/dialect-adapter.js'; - /** - * A Dialect is the glue between Kysely and the underlying database engine. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js b/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js -index 4f205f4..a67ea6f 100644 ---- a/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js -+++ b/node_modules/kysely/dist/cjs/dialect/postgres/postgres-driver.js -@@ -28,7 +28,7 @@ class PostgresDriver { - // The driver must take care of calling `onCreateConnection` when a new - // connection is created. The `pg` module doesn't provide an async hook - // for the connection creation. We need to call the method explicitly. -- if (this.#config?.onCreateConnection) { -+ if (this.#config.onCreateConnection) { - await this.#config.onCreateConnection(connection); - } - } -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts -index 69a0a7d..550df53 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.d.ts -@@ -1,7 +1,7 @@ - import { Kysely } from '../../kysely.js'; - import { DialectAdapterBase } from '../dialect-adapter-base.js'; - import { MigrationLockOptions } from '../dialect-adapter.js'; --export declare class SqliteAdapter implements DialectAdapterBase { -+export declare class SqliteAdapter extends DialectAdapterBase { - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js -index 78850a0..ef9f504 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-adapter.js -@@ -1,7 +1,8 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SqliteAdapter = void 0; --class SqliteAdapter { -+const dialect_adapter_base_js_1 = require("../dialect-adapter-base.js"); -+class SqliteAdapter extends dialect_adapter_base_js_1.DialectAdapterBase { - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts -index 810af98..a873682 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-dialect-config.d.ts -@@ -37,4 +37,5 @@ export interface SqliteStatement { - changes: number | bigint; - lastInsertRowid: number | bigint; - }; -+ iterate(parameters: ReadonlyArray): IterableIterator; - } -diff --git a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js -index 13594af..99676cf 100644 ---- a/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js -+++ b/node_modules/kysely/dist/cjs/dialect/sqlite/sqlite-driver.js -@@ -1,6 +1,7 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SqliteDriver = void 0; -+const select_query_node_js_1 = require("../../operation-node/select-query-node.js"); - const compiled_query_js_1 = require("../../query-compiler/compiled-query.js"); - const object_utils_js_1 = require("../../util/object-utils.js"); - class SqliteDriver { -@@ -70,8 +71,20 @@ class SqliteConnection { - }); - } - } -- async *streamQuery() { -- throw new Error("Sqlite driver doesn't support streaming"); -+ async *streamQuery(compiledQuery, _chunkSize) { -+ const { sql, parameters, query } = compiledQuery; -+ const stmt = this.#db.prepare(sql); -+ if (select_query_node_js_1.SelectQueryNode.is(query)) { -+ const iter = stmt.iterate(parameters); -+ for (const row of iter) { -+ yield { -+ rows: [row], -+ }; -+ } -+ } -+ else { -+ throw new Error('Sqlite driver only supports streaming of select queries'); -+ } - } - } - class ConnectionMutex { -diff --git a/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts b/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts -index a75244c..8a5003c 100644 ---- a/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts -+++ b/node_modules/kysely/dist/cjs/driver/connection-provider.d.ts -@@ -1,4 +1,4 @@ --import { DatabaseConnection } from './database-connection.js'; -+import { DatabaseConnection } from 'kysely/dist/cjs/driver/database-connection.js'; - export interface ConnectionProvider { - /** - * Provides a connection for the callback and takes care of disposing -diff --git a/node_modules/kysely/dist/cjs/driver/database-connection.d.ts b/node_modules/kysely/dist/cjs/driver/database-connection.d.ts -index 8a4766e..2902362 100644 ---- a/node_modules/kysely/dist/cjs/driver/database-connection.d.ts -+++ b/node_modules/kysely/dist/cjs/driver/database-connection.d.ts -@@ -1,4 +1,4 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; - /** - * A single connection to the database engine. - * -diff --git a/node_modules/kysely/dist/cjs/driver/driver.d.ts b/node_modules/kysely/dist/cjs/driver/driver.d.ts -index 00babcb..5f317f4 100644 ---- a/node_modules/kysely/dist/cjs/driver/driver.d.ts -+++ b/node_modules/kysely/dist/cjs/driver/driver.d.ts -@@ -1,5 +1,5 @@ --import { ArrayItemType } from '../util/type-utils.js'; --import { DatabaseConnection } from './database-connection.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; -+import { DatabaseConnection } from 'kysely/dist/cjs/driver/database-connection.js'; - /** - * A Driver creates and releases {@link DatabaseConnection | database connections} - * and is also responsible for connection pooling (if the dialect supports pooling). -@@ -40,5 +40,5 @@ export interface Driver { - export interface TransactionSettings { - readonly isolationLevel?: IsolationLevel; - } --export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable"]; -+export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable", "snapshot"]; - export type IsolationLevel = ArrayItemType; -diff --git a/node_modules/kysely/dist/cjs/driver/driver.js b/node_modules/kysely/dist/cjs/driver/driver.js -index 8acf3ea..80b9c33 100644 ---- a/node_modules/kysely/dist/cjs/driver/driver.js -+++ b/node_modules/kysely/dist/cjs/driver/driver.js -@@ -6,4 +6,5 @@ exports.TRANSACTION_ISOLATION_LEVELS = [ - 'read committed', - 'repeatable read', - 'serializable', -+ 'snapshot', - ]; -diff --git a/node_modules/kysely/dist/cjs/driver/single-connection-provider.js b/node_modules/kysely/dist/cjs/driver/single-connection-provider.js -index cf064c4..db6bca0 100644 ---- a/node_modules/kysely/dist/cjs/driver/single-connection-provider.js -+++ b/node_modules/kysely/dist/cjs/driver/single-connection-provider.js -@@ -1,6 +1,7 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.SingleConnectionProvider = void 0; -+const ignoreError = () => { }; - class SingleConnectionProvider { - #connection; - #runningPromise; -@@ -9,17 +10,15 @@ class SingleConnectionProvider { - } - async provideConnection(consumer) { - while (this.#runningPromise) { -- await this.#runningPromise; -+ await this.#runningPromise.catch(ignoreError); - } -- const promise = this.#run(consumer); -- this.#runningPromise = promise -- .then(() => { -- this.#runningPromise = undefined; -- }) -- .catch(() => { -+ // `#runningPromise` must be set to undefined before it's -+ // resolved or rejected. Otherwise the while loop above -+ // will misbehave. -+ this.#runningPromise = this.#run(consumer).finally(() => { - this.#runningPromise = undefined; - }); -- return promise; -+ return this.#runningPromise; - } - // Run the runner in an async function to make sure it doesn't - // throw synchronous errors. -diff --git a/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts b/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts -index 650ce82..5c6fec7 100644 ---- a/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/dynamic/dynamic-reference-builder.d.ts -@@ -1,5 +1,5 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { SimpleReferenceExpressionNode } from '../operation-node/simple-reference-expression-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; - export declare class DynamicReferenceBuilder implements OperationNodeSource { - #private; - get dynamicReference(): string; -diff --git a/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts b/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts -index f32b5ba..da5a1b7 100644 ---- a/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts -+++ b/node_modules/kysely/dist/cjs/dynamic/dynamic.d.ts -@@ -1,4 +1,4 @@ --import { DynamicReferenceBuilder } from './dynamic-reference-builder.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; - export declare class DynamicModule { - /** - * Creates a dynamic reference to a column that is not know at compile time. -diff --git a/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts b/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts -index 7b4a340..ba5c3a0 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/expression/expression-builder.d.ts -@@ -1,19 +1,20 @@ --import { SelectQueryBuilder } from '../query-builder/select-query-builder.js'; --import { TableExpression, From, FromTables, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from '../parser/table-parser.js'; --import { FunctionModule } from '../query-builder/function-module.js'; --import { ExtractTypeFromReferenceExpression, ReferenceExpression, SimpleReferenceExpression, StringReference } from '../parser/reference-parser.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { BinaryOperatorExpression, ComparisonOperatorExpression, FilterObject, OperandValueExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { Expression } from './expression.js'; --import { ExpressionWrapper } from './expression-wrapper.js'; --import { ComparisonOperator, JSONOperatorWith$, UnaryOperator } from '../operation-node/operator-node.js'; --import { SqlBool } from '../util/type-utils.js'; --import { ExtractTypeFromValueExpression } from '../parser/value-parser.js'; --import { CaseBuilder } from '../query-builder/case-builder.js'; --import { JSONPathBuilder } from '../query-builder/json-path-builder.js'; --import { OperandExpression } from '../parser/expression-parser.js'; --import { CallbackSelection, SelectCallback, SelectExpression, Selection } from '../parser/select-parser.js'; --import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from '../parser/tuple-parser.js'; -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { TableExpression, From, FromTables, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { FunctionModule } from 'kysely/dist/cjs/query-builder/function-module.js'; -+import { ExtractTypeFromReferenceExpression, ReferenceExpression, SimpleReferenceExpression, StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { BinaryOperatorExpression, ComparisonOperatorExpression, FilterObject, OperandValueExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { ComparisonOperator, JSONOperatorWith$, UnaryOperator } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExtractTypeFromValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { CaseBuilder } from 'kysely/dist/cjs/query-builder/case-builder.js'; -+import { JSONPathBuilder } from 'kysely/dist/cjs/query-builder/json-path-builder.js'; -+import { OperandExpression } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from 'kysely/dist/cjs/parser/tuple-parser.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; - export interface ExpressionBuilder { - /** - * Creates a binary expression. -@@ -344,6 +345,30 @@ export interface ExpressionBuilder { - */ - ref>(reference: RE): ExpressionWrapper>; - ref>(reference: RE, op: JSONOperatorWith$): JSONPathBuilder>; -+ /** -+ * Creates a table reference. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select(eb => [ -+ * 'person.id', -+ * sql`jsonb_agg(${eb.table('pet')})`.as('pets') -+ * ]) -+ * .groupBy('person.id') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "person"."id", jsonb_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."id" -+ * ``` -+ */ -+ table(table: T): ExpressionWrapper>; - /** - * Returns a value expression. - * -diff --git a/node_modules/kysely/dist/cjs/expression/expression-builder.js b/node_modules/kysely/dist/cjs/expression/expression-builder.js -index 172dfab..cdcef14 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression-builder.js -+++ b/node_modules/kysely/dist/cjs/expression/expression-builder.js -@@ -60,8 +60,11 @@ function createExpressionBuilder(executor = noop_query_executor_js_1.NOOP_QUERY_ - } - return new json_path_builder_js_1.JSONPathBuilder((0, reference_parser_js_1.parseJSONReference)(reference, op)); - }, -+ table(table) { -+ return new expression_wrapper_js_1.ExpressionWrapper((0, table_parser_js_1.parseTable)(table)); -+ }, - val(value) { -- return new expression_wrapper_js_1.ExpressionWrapper((0, value_parser_js_1.parseValueExpressionOrList)(value)); -+ return new expression_wrapper_js_1.ExpressionWrapper((0, value_parser_js_1.parseValueExpression)(value)); - }, - refTuple(...values) { - return new expression_wrapper_js_1.ExpressionWrapper(tuple_node_js_1.TupleNode.create(values.map(reference_parser_js_1.parseReferenceExpression))); -diff --git a/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts b/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts -index 19799fd..d3c7b9f 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts -+++ b/node_modules/kysely/dist/cjs/expression/expression-wrapper.d.ts -@@ -1,14 +1,14 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { AndNode } from '../operation-node/and-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { OrNode } from '../operation-node/or-node.js'; --import { ParensNode } from '../operation-node/parens-node.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { OperandExpression } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { SqlBool } from '../util/type-utils.js'; --import { AliasableExpression, AliasedExpression, Expression } from './expression.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { AndNode } from 'kysely/dist/cjs/operation-node/and-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrNode } from 'kysely/dist/cjs/operation-node/or-node.js'; -+import { ParensNode } from 'kysely/dist/cjs/operation-node/parens-node.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { OperandExpression } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; - export declare class ExpressionWrapper implements AliasableExpression { - #private; - constructor(node: OperationNode); -diff --git a/node_modules/kysely/dist/cjs/expression/expression.d.ts b/node_modules/kysely/dist/cjs/expression/expression.d.ts -index 336ff2a..426f092 100644 ---- a/node_modules/kysely/dist/cjs/expression/expression.d.ts -+++ b/node_modules/kysely/dist/cjs/expression/expression.d.ts -@@ -1,6 +1,6 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - /** - * `Expression` represents an arbitrary SQL expression with a type. - * -diff --git a/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts b/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts -index 6d18663..35715c2 100644 ---- a/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts -+++ b/node_modules/kysely/dist/cjs/helpers/sqlite.d.ts -@@ -1,7 +1,7 @@ --import { Expression } from '../expression/expression.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; --import { RawBuilder } from '../raw-builder/raw-builder.js'; --import { Simplify } from '../util/type-utils.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; -+import { RawBuilder } from 'kysely/dist/cjs/raw-builder/raw-builder.js'; -+import { Simplify } from 'kysely/dist/cjs/util/type-utils.js'; - /** - * A SQLite helper for aggregating a subquery into a JSON array. - * -diff --git a/node_modules/kysely/dist/cjs/index.d.ts b/node_modules/kysely/dist/cjs/index.d.ts -index cf166f8..37cf701 100644 ---- a/node_modules/kysely/dist/cjs/index.d.ts -+++ b/node_modules/kysely/dist/cjs/index.d.ts -@@ -72,6 +72,12 @@ export * from './dialect/postgres/postgres-dialect.js'; - export * from './dialect/sqlite/sqlite-query-compiler.js'; - export * from './dialect/sqlite/sqlite-introspector.js'; - export * from './dialect/sqlite/sqlite-adapter.js'; -+export * from './dialect/mssql/mssql-adapter.js'; -+export * from './dialect/mssql/mssql-dialect-config.js'; -+export * from './dialect/mssql/mssql-dialect.js'; -+export * from './dialect/mssql/mssql-driver.js'; -+export * from './dialect/mssql/mssql-introspector.js'; -+export * from './dialect/mssql/mssql-query-compiler.js'; - export * from './query-compiler/default-query-compiler.js'; - export * from './query-compiler/query-compiler.js'; - export * from './migration/migrator.js'; -@@ -176,7 +182,7 @@ export * from './util/compilable.js'; - export * from './util/explainable.js'; - export * from './util/streamable.js'; - export * from './util/log.js'; --export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, } from './util/type-utils.js'; -+export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, Nullable, } from './util/type-utils.js'; - export * from './util/infer-result.js'; - export { logOnce } from './util/log-once.js'; - export { SelectExpression, SelectCallback, SelectArg, Selection, CallbackSelection, } from './parser/select-parser.js'; -diff --git a/node_modules/kysely/dist/cjs/kysely.d.ts b/node_modules/kysely/dist/cjs/kysely.d.ts -index 52e909a..b10152e 100644 ---- a/node_modules/kysely/dist/cjs/kysely.d.ts -+++ b/node_modules/kysely/dist/cjs/kysely.d.ts -@@ -1,21 +1,21 @@ --import { Dialect } from './dialect/dialect.js'; --import { SchemaModule } from './schema/schema.js'; --import { DynamicModule } from './dynamic/dynamic.js'; --import { QueryExecutor } from './query-executor/query-executor.js'; --import { QueryCreator } from './query-creator.js'; --import { KyselyPlugin } from './plugin/kysely-plugin.js'; --import { DatabaseIntrospector } from './dialect/database-introspector.js'; --import { Driver, IsolationLevel } from './driver/driver.js'; --import { FunctionModule } from './query-builder/function-module.js'; --import { LogConfig } from './util/log.js'; --import { QueryExecutorProvider } from './query-executor/query-executor-provider.js'; --import { QueryResult } from './driver/database-connection.js'; --import { CompiledQuery } from './query-compiler/compiled-query.js'; --import { QueryId } from './util/query-id.js'; --import { Compilable } from './util/compilable.js'; --import { CaseBuilder } from './query-builder/case-builder.js'; --import { Expression } from './expression/expression.js'; --import { DrainOuterGeneric } from './util/type-utils.js'; -+import { Dialect } from 'kysely/dist/cjs/dialect/dialect.js'; -+import { SchemaModule } from 'kysely/dist/cjs/schema/schema.js'; -+import { DynamicModule } from 'kysely/dist/cjs/dynamic/dynamic.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryCreator } from 'kysely/dist/cjs/query-creator.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { DatabaseIntrospector } from 'kysely/dist/cjs/dialect/database-introspector.js'; -+import { Driver, IsolationLevel } from 'kysely/dist/cjs/driver/driver.js'; -+import { FunctionModule } from 'kysely/dist/cjs/query-builder/function-module.js'; -+import { LogConfig } from 'kysely/dist/cjs/util/log.js'; -+import { QueryExecutorProvider } from 'kysely/dist/cjs/query-executor/query-executor-provider.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { CaseBuilder } from 'kysely/dist/cjs/query-builder/case-builder.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; - /** - * The main Kysely class. - * -@@ -66,7 +66,7 @@ export declare class Kysely extends QueryCreator implements QueryExecuto - /** - * Returns the {@link SchemaModule} module for building database schema. - */ -- get schema(): SchemaModule; -+ get schema(): SchemaModule; - /** - * Returns a the {@link DynamicModule} module. - * -diff --git a/node_modules/kysely/dist/cjs/migration/migrator.js b/node_modules/kysely/dist/cjs/migration/migrator.js -index 76f2d83..6f1c144 100644 ---- a/node_modules/kysely/dist/cjs/migration/migrator.js -+++ b/node_modules/kysely/dist/cjs/migration/migrator.js -@@ -220,10 +220,7 @@ class Migrator { - } - if (!(await this.#doesSchemaExists())) { - try { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema` -@@ -239,20 +236,15 @@ class Migrator { - if (!(await this.#doesTableExists(this.#migrationTable))) { - try { - if (this.#migrationTableSchema) { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationTable) -- .ifNotExists() - .addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey()) - // The migration run time as ISO string. This is not a real date type as we - // can't know which data type is supported by all future dialects. -- .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()) -- .execute(); -+ .addColumn('timestamp', 'varchar(255)', (col) => col.notNull())); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -267,13 +259,11 @@ class Migrator { - async #ensureMigrationLockTableExists() { - if (!(await this.#doesTableExists(this.#migrationLockTable))) { - try { -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationLockTable) -- .ifNotExists() - .addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey()) -- .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)) -- .execute(); -+ .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0))); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -481,6 +471,12 @@ class Migrator { - } - return { results }; - } -+ async #createIfNotExists(qb) { -+ if (this.#props.db.getExecutor().adapter.supportsCreateIfNotExists) { -+ qb = qb.ifNotExists(); -+ } -+ await qb.execute(); -+ } - } - exports.Migrator = Migrator; - class MigrationResultSetError extends Error { -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts -index 03b5cff..fd8cd43 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/add-column-node.d.ts -@@ -1,5 +1,5 @@ --import { ColumnDefinitionNode } from './column-definition-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface AddColumnNode extends OperationNode { - readonly kind: 'AddColumnNode'; - readonly column: ColumnDefinitionNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts -index a342b5b..aa7c2bd 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/add-constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ConstraintNode } from './constraint-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ConstraintNode } from 'kysely/dist/cjs/operation-node/constraint-node.js'; - export interface AddConstraintNode extends OperationNode { - readonly kind: 'AddConstraintNode'; - readonly constraint: ConstraintNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts -new file mode 100644 -index 0000000..5328a2a ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/add-index-node.d.ts -@@ -0,0 +1,21 @@ -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+export type AddIndexNodeProps = Omit; -+export interface AddIndexNode extends OperationNode { -+ readonly kind: 'AddIndexNode'; -+ readonly name: IdentifierNode; -+ readonly columns?: OperationNode[]; -+ readonly unique?: boolean; -+ readonly using?: RawNode; -+ readonly ifNotExists?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const AddIndexNode: Readonly<{ -+ is(node: OperationNode): node is AddIndexNode; -+ create(name: string): AddIndexNode; -+ cloneWith(node: AddIndexNode, props: AddIndexNodeProps): AddIndexNode; -+ cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): AddIndexNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/add-index-node.js b/node_modules/kysely/dist/cjs/operation-node/add-index-node.js -new file mode 100644 -index 0000000..0341e28 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/add-index-node.js -@@ -0,0 +1,31 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.AddIndexNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+const identifier_node_js_1 = require("./identifier-node.js"); -+/** -+ * @internal -+ */ -+exports.AddIndexNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'AddIndexNode'; -+ }, -+ create(name) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'AddIndexNode', -+ name: identifier_node_js_1.IdentifierNode.create(name) -+ }); -+ }, -+ cloneWith(node, props) { -+ return (0, object_utils_js_1.freeze)({ -+ ...node, -+ ...props, -+ }); -+ }, -+ cloneWithColumns(node, columns) { -+ return (0, object_utils_js_1.freeze)({ -+ ...node, -+ columns: [...(node.columns || []), ...columns], -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts -index a2a6857..b85dba9 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { OverNode } from './over-node.js'; --import { WhereNode } from './where-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OverNode } from 'kysely/dist/cjs/operation-node/over-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; - export interface AggregateFunctionNode extends OperationNode { - readonly kind: 'AggregateFunctionNode'; - readonly func: string; -diff --git a/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts -index 552c69b..acd28e0 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/alias-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface AliasNode extends OperationNode { - readonly kind: 'AliasNode'; - readonly node: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts -index e888419..07d95d4 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/alter-column-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; --import { RawNode } from './raw-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; - export type AlterColumnNodeProps = Omit; - export interface AlterColumnNode extends OperationNode { - readonly kind: 'AlterColumnNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts -index 5b03535..0f2da61 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/alter-table-node.d.ts -@@ -1,14 +1,16 @@ --import { OperationNode } from './operation-node.js'; --import { AddColumnNode } from './add-column-node.js'; --import { DropColumnNode } from './drop-column-node.js'; --import { TableNode } from './table-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { RenameColumnNode } from './rename-column-node.js'; --import { AlterColumnNode } from './alter-column-node.js'; --import { AddConstraintNode } from './add-constraint-node.js'; --import { DropConstraintNode } from './drop-constraint-node.js'; --import { ModifyColumnNode } from './modify-column-node.js'; --export type AlterTableNodeTableProps = Pick; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { AddColumnNode } from 'kysely/dist/cjs/operation-node/add-column-node.js'; -+import { DropColumnNode } from 'kysely/dist/cjs/operation-node/drop-column-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { RenameColumnNode } from 'kysely/dist/cjs/operation-node/rename-column-node.js'; -+import { AlterColumnNode } from 'kysely/dist/cjs/operation-node/alter-column-node.js'; -+import { AddConstraintNode } from 'kysely/dist/cjs/operation-node/add-constraint-node.js'; -+import { DropConstraintNode } from 'kysely/dist/cjs/operation-node/drop-constraint-node.js'; -+import { ModifyColumnNode } from 'kysely/dist/cjs/operation-node/modify-column-node.js'; -+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js'; -+import { AddIndexNode } from 'kysely/dist/cjs/operation-node/add-index-node.js'; -+export type AlterTableNodeTableProps = Pick; - export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode; - export interface AlterTableNode extends OperationNode { - readonly kind: 'AlterTableNode'; -@@ -18,6 +20,8 @@ export interface AlterTableNode extends OperationNode { - readonly columnAlterations?: ReadonlyArray; - readonly addConstraint?: AddConstraintNode; - readonly dropConstraint?: DropConstraintNode; -+ readonly addIndex?: AddIndexNode; -+ readonly dropIndex?: DropIndexNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts -index ba1ffa4..5e24df8 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/and-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface AndNode extends OperationNode { - readonly kind: 'AndNode'; - readonly left: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts -index c4adeab..b9087e9 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/binary-operation-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface BinaryOperationNode extends OperationNode { - readonly kind: 'BinaryOperationNode'; - readonly leftOperand: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts -index 9a6dec1..5b55a5d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/case-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { WhenNode } from './when-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { WhenNode } from 'kysely/dist/cjs/operation-node/when-node.js'; - export interface CaseNode extends OperationNode { - readonly kind: 'CaseNode'; - readonly value?: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts -index 6e74d7c..24ec7bb 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/check-constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; - export interface CheckConstraintNode extends OperationNode { - readonly kind: 'CheckConstraintNode'; - readonly expression: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts -index 6442d83..5e84167 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/column-definition-node.d.ts -@@ -1,9 +1,9 @@ --import { CheckConstraintNode } from './check-constraint-node.js'; --import { ColumnNode } from './column-node.js'; --import { DefaultValueNode } from './default-value-node.js'; --import { GeneratedNode } from './generated-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReferencesNode } from './references-node.js'; -+import { CheckConstraintNode } from 'kysely/dist/cjs/operation-node/check-constraint-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { DefaultValueNode } from 'kysely/dist/cjs/operation-node/default-value-node.js'; -+import { GeneratedNode } from 'kysely/dist/cjs/operation-node/generated-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReferencesNode } from 'kysely/dist/cjs/operation-node/references-node.js'; - export type ColumnDefinitionNodeProps = Omit, 'kind' | 'dataType'>; - export interface ColumnDefinitionNode extends OperationNode { - readonly kind: 'ColumnDefinitionNode'; -@@ -20,6 +20,7 @@ export interface ColumnDefinitionNode extends OperationNode { - readonly unsigned?: boolean; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts -index d07a8b4..9c71e55 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/column-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ColumnNode extends OperationNode { - readonly kind: 'ColumnNode'; - readonly column: IdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts -index 2e8ab34..865997c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/column-update-node.d.ts -@@ -1,8 +1,7 @@ --import { ColumnNode } from './column-node.js'; --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ColumnUpdateNode extends OperationNode { - readonly kind: 'ColumnUpdateNode'; -- readonly column: ColumnNode; -+ readonly column: OperationNode; - readonly value: OperationNode; - } - /** -@@ -10,5 +9,5 @@ export interface ColumnUpdateNode extends OperationNode { - */ - export declare const ColumnUpdateNode: Readonly<{ - is(node: OperationNode): node is ColumnUpdateNode; -- create(column: ColumnNode, value: OperationNode): ColumnUpdateNode; -+ create(column: OperationNode, value: OperationNode): ColumnUpdateNode; - }>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts -index fd1fb2f..83d7924 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-name-node.d.ts -@@ -1,6 +1,6 @@ --import { ColumnNode } from './column-node.js'; --import { OperationNode } from './operation-node.js'; --import { TableNode } from './table-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export interface CommonTableExpressionNameNode extends OperationNode { - readonly kind: 'CommonTableExpressionNameNode'; - readonly table: TableNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts -index c8a2f8a..34c1780 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/common-table-expression-node.d.ts -@@ -1,5 +1,5 @@ --import { CommonTableExpressionNameNode } from './common-table-expression-name-node.js'; --import { OperationNode } from './operation-node.js'; -+import { CommonTableExpressionNameNode } from 'kysely/dist/cjs/operation-node/common-table-expression-name-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - type CommonTableExpressionNodeProps = Pick; - export interface CommonTableExpressionNode extends OperationNode { - readonly kind: 'CommonTableExpressionNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts -index ef3548e..6da12df 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { CheckConstraintNode } from './check-constraint-node.js'; --import { ForeignKeyConstraintNode } from './foreign-key-constraint-node.js'; --import { PrimaryKeyConstraintNode } from './primary-constraint-node.js'; --import { UniqueConstraintNode } from './unique-constraint-node.js'; -+import { CheckConstraintNode } from 'kysely/dist/cjs/operation-node/check-constraint-node.js'; -+import { ForeignKeyConstraintNode } from 'kysely/dist/cjs/operation-node/foreign-key-constraint-node.js'; -+import { PrimaryKeyConstraintNode } from 'kysely/dist/cjs/operation-node/primary-constraint-node.js'; -+import { UniqueConstraintNode } from 'kysely/dist/cjs/operation-node/unique-constraint-node.js'; - export type ConstraintNode = PrimaryKeyConstraintNode | UniqueConstraintNode | CheckConstraintNode | ForeignKeyConstraintNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts -index a3a99d1..a18aa4a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts -@@ -1,8 +1,8 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; --import { RawNode } from './raw-node.js'; --import { TableNode } from './table-node.js'; --import { WhereNode } from './where-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; - export type CreateIndexNodeProps = Omit; - export type IndexType = 'btree' | 'hash' | 'gist' | 'gin'; - export interface CreateIndexNode extends OperationNode { -@@ -14,6 +14,7 @@ export interface CreateIndexNode extends OperationNode { - readonly using?: RawNode; - readonly ifNotExists?: boolean; - readonly where?: WhereNode; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts -index bb609f3..6a4fa7a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-schema-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type CreateSchemaNodeParams = Omit, 'kind' | 'schema'>; - export interface CreateSchemaNode extends OperationNode { - readonly kind: 'CreateSchemaNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts -index cc8ceda..988b651 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-table-node.d.ts -@@ -1,8 +1,8 @@ --import { OperationNode } from './operation-node.js'; --import { TableNode } from './table-node.js'; --import { ConstraintNode } from './constraint-node.js'; --import { ColumnDefinitionNode } from './column-definition-node.js'; --import { ArrayItemType } from '../util/type-utils.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { ConstraintNode } from 'kysely/dist/cjs/operation-node/constraint-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; - export declare const ON_COMMIT_ACTIONS: string[]; - export type OnCommitAction = ArrayItemType; - export type CreateTableNodeParams = Omit; -@@ -16,6 +16,7 @@ export interface CreateTableNode extends OperationNode { - readonly onCommit?: OnCommitAction; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly selectQuery?: OperationNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts -new file mode 100644 -index 0000000..2eb8ae8 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.d.ts -@@ -0,0 +1,34 @@ -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { TriggerEventNode } from 'kysely/dist/cjs/operation-node/trigger-event-node.js'; -+import { TriggerOrderNode } from 'kysely/dist/cjs/operation-node/trigger-order-node.js'; -+import { FunctionNode } from 'kysely/dist/cjs/operation-node/function-node.js'; -+export type TriggerTime = 'after' | 'before' | 'instead of'; -+export type CreateTriggerNodeParams = Omit; -+export interface CreateTriggerNode extends OperationNode { -+ readonly kind: 'CreateTriggerNode'; -+ readonly name: IdentifierNode; -+ readonly queries?: ReadonlyArray; -+ readonly function?: FunctionNode; -+ readonly time?: TriggerTime; -+ readonly events?: ReadonlyArray; -+ readonly table?: TableNode; -+ readonly orReplace?: boolean; -+ readonly ifNotExists?: boolean; -+ readonly when?: OperationNode; -+ readonly temporary?: boolean; -+ readonly forEach?: 'row' | 'statement'; -+ readonly order?: TriggerOrderNode; -+} -+/** -+ * @internal -+ */ -+export declare const CreateTriggerNode: Readonly<{ -+ is(node: OperationNode): node is CreateTriggerNode; -+ create(name: IdentifierNode): CreateTriggerNode; -+ cloneWithQuery(createTrigger: CreateTriggerNode, query: QueryNode): CreateTriggerNode; -+ cloneWithEvent(createTrigger: CreateTriggerNode, event: TriggerEventNode): CreateTriggerNode; -+ cloneWith(createTrigger: CreateTriggerNode, params: CreateTriggerNodeParams): CreateTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js -new file mode 100644 -index 0000000..47ba119 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/create-trigger-node.js -@@ -0,0 +1,36 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.CreateTriggerNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.CreateTriggerNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'CreateTriggerNode'; -+ }, -+ create(name) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'CreateTriggerNode', -+ name, -+ }); -+ }, -+ cloneWithQuery(createTrigger, query) { -+ return (0, object_utils_js_1.freeze)({ -+ ...createTrigger, -+ queries: (0, object_utils_js_1.freeze)([...(createTrigger.queries || []), query]), -+ }); -+ }, -+ cloneWithEvent(createTrigger, event) { -+ return (0, object_utils_js_1.freeze)({ -+ ...createTrigger, -+ events: (0, object_utils_js_1.freeze)([...(createTrigger.events || []), event]), -+ }); -+ }, -+ cloneWith(createTrigger, params) { -+ return (0, object_utils_js_1.freeze)({ -+ ...createTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts -index 3ab9c3b..382285f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-type-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; --import { ValueListNode } from './value-list-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js'; - export type CreateTypeNodeParams = Omit, 'kind'>; - export interface CreateTypeNode extends OperationNode { - readonly kind: 'CreateTypeNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts -index 9aa1faa..8db7a40 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/create-view-node.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from './column-node.js'; --import { OperationNode } from './operation-node.js'; --import { RawNode } from './raw-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; --import { SelectQueryNode } from './select-query-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; - export type CreateViewNodeParams = Omit, 'kind' | 'name'>; - export interface CreateViewNode extends OperationNode { - readonly kind: 'CreateViewNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts -index 1ab9f33..83557e4 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/data-type-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type ColumnDataType = 'varchar' | `varchar(${number})` | 'char' | `char(${number})` | 'text' | 'integer' | 'int2' | 'int4' | 'int8' | 'bigint' | 'boolean' | 'real' | 'double precision' | 'float4' | 'float8' | 'decimal' | `decimal(${number}, ${number})` | 'numeric' | `numeric(${number}, ${number})` | 'binary' | `binary(${number})` | 'bytea' | 'date' | 'datetime' | `datetime(${number})` | 'time' | `time(${number})` | 'timetz' | `timetz(${number})` | 'timestamp' | `timestamp(${number})` | 'timestamptz' | `timestamptz(${number})` | 'serial' | 'bigserial' | 'uuid' | 'json' | 'jsonb' | 'blob'; - export type DataTypeParams = Omit; - export interface DataTypeNode extends OperationNode { -diff --git a/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts -index 2df8841..0884b9c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/default-value-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface DefaultValueNode extends OperationNode { - readonly kind: 'DefaultValueNode'; - readonly defaultValue: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts -index 10d7f15..a993d3f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/delete-query-node.d.ts -@@ -1,14 +1,14 @@ --import { FromNode } from './from-node.js'; --import { JoinNode } from './join-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReturningNode } from './returning-node.js'; --import { WhereNode } from './where-node.js'; --import { WithNode } from './with-node.js'; --import { LimitNode } from './limit-node.js'; --import { OrderByNode } from './order-by-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; --import { ExplainNode } from './explain-node.js'; --import { UsingNode } from './using-node.js'; -+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { LimitNode } from 'kysely/dist/cjs/operation-node/limit-node.js'; -+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { UsingNode } from 'kysely/dist/cjs/operation-node/using-node.js'; - export interface DeleteQueryNode extends OperationNode { - readonly kind: 'DeleteQueryNode'; - readonly from: FromNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts -index 10e13a2..83fb6d7 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-column-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; - export interface DropColumnNode extends OperationNode { - readonly kind: 'DropColumnNode'; - readonly column: ColumnNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts -index f5ccb05..f7f7660 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-constraint-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; - export type DropConstraintNodeProps = Omit; - export interface DropConstraintNode extends OperationNode { - readonly kind: 'DropConstraintNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts -index 2cc565e..8159449 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-index-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; --import { TableNode } from './table-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export type DropIndexNodeProps = Omit; - export interface DropIndexNode extends OperationNode { - readonly kind: 'DropIndexNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts -index 98166ad..34147fc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-schema-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type DropSchemaNodeParams = Omit, 'kind' | 'schema'>; - export interface DropSchemaNode extends OperationNode { - readonly kind: 'DropSchemaNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts -index ab35e3e..ae42660 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-table-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { TableNode } from './table-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export type DropTablexNodeParams = Omit, 'kind' | 'table'>; - export interface DropTableNode extends OperationNode { - readonly kind: 'DropTableNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts -new file mode 100644 -index 0000000..e391cf9 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.d.ts -@@ -0,0 +1,17 @@ -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; -+export type DropTriggerNodeParams = Omit, 'kind' | 'name'>; -+export interface DropTriggerNode extends OperationNode { -+ readonly kind: 'DropTriggerNode'; -+ readonly name: SchemableIdentifierNode; -+ readonly ifExists?: boolean; -+ readonly cascade?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const DropTriggerNode: Readonly<{ -+ is(node: OperationNode): node is DropTriggerNode; -+ create(name: SchemableIdentifierNode): DropTriggerNode; -+ cloneWith(dropTrigger: DropTriggerNode, params: DropTriggerNodeParams): DropTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js -new file mode 100644 -index 0000000..2bb067e ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-trigger-node.js -@@ -0,0 +1,24 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DropTriggerNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.DropTriggerNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'DropTriggerNode'; -+ }, -+ create(name) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'DropTriggerNode', -+ name, -+ }); -+ }, -+ cloneWith(dropTrigger, params) { -+ return (0, object_utils_js_1.freeze)({ -+ ...dropTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts -index 9693550..b162606 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-type-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; - export type DropTypeNodeParams = Omit, 'kind' | 'name'>; - export interface DropTypeNode extends OperationNode { - readonly kind: 'DropTypeNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts -index 2c4bf89..316775d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/drop-view-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; - export type DropViewNodeParams = Omit, 'kind' | 'name'>; - export interface DropViewNode extends OperationNode { - readonly kind: 'DropViewNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts -index 8cf89b5..ddd4cd0 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/explain-node.d.ts -@@ -1,5 +1,5 @@ --import { ExplainFormat } from '../util/explainable.js'; --import { OperationNode } from './operation-node.js'; -+import { ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ExplainNode extends OperationNode { - readonly kind: 'ExplainNode'; - readonly format?: ExplainFormat; -diff --git a/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts -index c7fe574..408bd48 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/foreign-key-constraint-node.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from './column-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; --import { OnModifyForeignAction, ReferencesNode } from './references-node.js'; --import { TableNode } from './table-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OnModifyForeignAction, ReferencesNode } from 'kysely/dist/cjs/operation-node/references-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - export type ForeignKeyConstraintNodeProps = Omit; - export interface ForeignKeyConstraintNode extends OperationNode { - readonly kind: 'ForeignKeyConstraintNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts -index 2c46520..3d63e3b 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/from-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface FromNode extends OperationNode { - readonly kind: 'FromNode'; - readonly froms: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts -index 49aab00..05a1632 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/function-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface FunctionNode extends OperationNode { - readonly kind: 'FunctionNode'; - readonly func: string; -diff --git a/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts -index 5c86a9f..9a4c356 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/generated-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type GeneratedNodeParams = Omit; - export interface GeneratedNode extends OperationNode { - readonly kind: 'GeneratedNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts -index 475ce87..5aeb92c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/group-by-item-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface GroupByItemNode extends OperationNode { - readonly kind: 'GroupByItemNode'; - readonly groupBy: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts -index 9b0b108..c8e9315 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/group-by-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { GroupByItemNode } from './group-by-item-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js'; - export interface GroupByNode extends OperationNode { - readonly kind: 'GroupByNode'; - readonly items: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts -index 14830a3..fe2c59e 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/having-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface HavingNode extends OperationNode { - readonly kind: 'HavingNode'; - readonly having: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts -index f74014d..2ee967e 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/identifier-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface IdentifierNode extends OperationNode { - readonly kind: 'IdentifierNode'; - readonly name: string; -diff --git a/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts -index f28ce2c..56406a5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/insert-query-node.d.ts -@@ -1,11 +1,11 @@ --import { ColumnNode } from './column-node.js'; --import { ExplainNode } from './explain-node.js'; --import { OnConflictNode } from './on-conflict-node.js'; --import { OnDuplicateKeyNode } from './on-duplicate-key-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReturningNode } from './returning-node.js'; --import { TableNode } from './table-node.js'; --import { WithNode } from './with-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { OnConflictNode } from 'kysely/dist/cjs/operation-node/on-conflict-node.js'; -+import { OnDuplicateKeyNode } from 'kysely/dist/cjs/operation-node/on-duplicate-key-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; - export type InsertQueryNodeProps = Omit; - export interface InsertQueryNode extends OperationNode { - readonly kind: 'InsertQueryNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts -index ceb98ea..f95944b 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/join-node.d.ts -@@ -1,5 +1,5 @@ --import { OnNode } from './on-node.js'; --import { OperationNode } from './operation-node.js'; -+import { OnNode } from 'kysely/dist/cjs/operation-node/on-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type JoinType = 'InnerJoin' | 'LeftJoin' | 'RightJoin' | 'FullJoin' | 'LateralInnerJoin' | 'LateralLeftJoin'; - export interface JoinNode extends OperationNode { - readonly kind: 'JoinNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts -index 87cacdf..2dbbb66 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-operator-chain-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { OperatorNode } from './operator-node.js'; --import { ValueNode } from './value-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OperatorNode } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; - export interface JSONOperatorChainNode extends OperationNode { - readonly kind: 'JSONOperatorChainNode'; - readonly operator: OperatorNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts -index f0b498b..8b25b88 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-path-leg-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type JSONPathLegType = 'Member' | 'ArrayLocation'; - export interface JSONPathLegNode extends OperationNode { - readonly kind: 'JSONPathLegNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts -index 91243ed..93c8ccf 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-path-node.d.ts -@@ -1,6 +1,6 @@ --import { JSONPathLegNode } from './json-path-leg-node.js'; --import { OperationNode } from './operation-node.js'; --import { OperatorNode } from './operator-node.js'; -+import { JSONPathLegNode } from 'kysely/dist/cjs/operation-node/json-path-leg-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OperatorNode } from 'kysely/dist/cjs/operation-node/operator-node.js'; - export interface JSONPathNode extends OperationNode { - readonly kind: 'JSONPathNode'; - readonly inOperator?: OperatorNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts -index 9ba1b27..e225b19 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/json-reference-node.d.ts -@@ -1,7 +1,7 @@ --import { JSONOperatorChainNode } from './json-operator-chain-node.js'; --import { JSONPathNode } from './json-path-node.js'; --import { OperationNode } from './operation-node.js'; --import { ReferenceNode } from './reference-node.js'; -+import { JSONOperatorChainNode } from 'kysely/dist/cjs/operation-node/json-operator-chain-node.js'; -+import { JSONPathNode } from 'kysely/dist/cjs/operation-node/json-path-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js'; - export interface JSONReferenceNode extends OperationNode { - readonly kind: 'JSONReferenceNode'; - readonly reference: ReferenceNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts -index 3c3de76..25d3c5a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/limit-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ValueNode } from './value-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; - export interface LimitNode extends OperationNode { - readonly kind: 'LimitNode'; - readonly limit: ValueNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts -index e25d4cf..c414d3a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/modify-column-node.d.ts -@@ -1,5 +1,5 @@ --import { ColumnDefinitionNode } from './column-definition-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ModifyColumnNode extends OperationNode { - readonly kind: 'ModifyColumnNode'; - readonly column: ColumnDefinitionNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts -index 03158b0..daa5e72 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/offset-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ValueNode } from './value-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; - export interface OffsetNode extends OperationNode { - readonly kind: 'OffsetNode'; - readonly offset: ValueNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts -index bbd7b2c..71072c8 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/on-conflict-node.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from './column-node.js'; --import { ColumnUpdateNode } from './column-update-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; --import { WhereNode } from './where-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; - export type OnConflictNodeProps = Omit; - export interface OnConflictNode extends OperationNode { - readonly kind: 'OnConflictNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts -index 63aa5b8..e2a6bdc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/on-duplicate-key-node.d.ts -@@ -1,5 +1,5 @@ --import { ColumnUpdateNode } from './column-update-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type OnDuplicateKeyNodeProps = Omit; - export interface OnDuplicateKeyNode extends OperationNode { - readonly kind: 'OnDuplicateKeyNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts -index 97f6383..f2508e3 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/on-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OnNode extends OperationNode { - readonly kind: 'OnNode'; - readonly on: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts -index 6dc3661..24698c3 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-source.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OperationNodeSource { - toOperationNode(): OperationNode; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts -index 6b3a13c..5d7fd9d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - /** - * Transforms an operation node tree into another one. - * -@@ -139,9 +144,13 @@ export declare class OperationNodeTransformer { - protected transformDeleteQuery(node: DeleteQueryNode): DeleteQueryNode; - protected transformReturning(node: ReturningNode): ReturningNode; - protected transformCreateTable(node: CreateTableNode): CreateTableNode; -+ protected transformCreateTrigger(node: CreateTriggerNode): CreateTriggerNode; -+ protected transformTriggerEvent(node: TriggerEventNode): TriggerEventNode; -+ protected transformTriggerOrder(node: TriggerOrderNode): TriggerOrderNode; - protected transformColumnDefinition(node: ColumnDefinitionNode): ColumnDefinitionNode; - protected transformAddColumn(node: AddColumnNode): AddColumnNode; - protected transformDropTable(node: DropTableNode): DropTableNode; -+ protected transformDropTrigger(node: DropTriggerNode): DropTriggerNode; - protected transformOrderBy(node: OrderByNode): OrderByNode; - protected transformOrderByItem(node: OrderByItemNode): OrderByItemNode; - protected transformGroupBy(node: GroupByNode): GroupByNode; -@@ -199,6 +208,7 @@ export declare class OperationNodeTransformer { - protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode; - protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode; - protected transformTuple(node: TupleNode): TupleNode; -+ protected transformAddIndex(node: AddIndexNode): AddIndexNode; - protected transformDataType(node: DataTypeNode): DataTypeNode; - protected transformSelectAll(node: SelectAllNode): SelectAllNode; - protected transformIdentifier(node: IdentifierNode): IdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js -index bc3d0a4..839914f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-transformer.js -@@ -121,6 +121,11 @@ class OperationNodeTransformer { - JSONPathLegNode: this.transformJSONPathLeg.bind(this), - JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this), - TupleNode: this.transformTuple.bind(this), -+ AddIndexNode: this.transformAddIndex.bind(this), -+ CreateTriggerNode: this.transformCreateTrigger.bind(this), -+ TriggerEventNode: this.transformTriggerEvent.bind(this), -+ TriggerOrderNode: this.transformTriggerOrder.bind(this), -+ DropTriggerNode: this.transformDropTrigger.bind(this), - }); - transformNode(node) { - if (!node) { -@@ -297,6 +302,38 @@ class OperationNodeTransformer { - onCommit: node.onCommit, - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ selectQuery: this.transformNode(node.selectQuery), -+ }); -+ } -+ transformCreateTrigger(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'CreateTriggerNode', -+ name: this.transformNode(node.name), -+ table: this.transformNode(node.table), -+ ifNotExists: node.ifNotExists, -+ time: node.time, -+ events: this.transformNodeList(node.events), -+ forEach: node.forEach, -+ orReplace: node.orReplace, -+ temporary: node.temporary, -+ queries: this.transformNodeList(node.queries), -+ function: this.transformNode(node.function), -+ when: this.transformNode(node.when), -+ order: this.transformNode(node.order), -+ }); -+ } -+ transformTriggerEvent(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'TriggerEventNode', -+ event: node.event, -+ columns: this.transformNodeList(node.columns), -+ }); -+ } -+ transformTriggerOrder(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'TriggerOrderNode', -+ order: node.order, -+ otherTriggerName: this.transformNode(node.otherTriggerName), - }); - } - transformColumnDefinition(node) { -@@ -315,6 +352,7 @@ class OperationNodeTransformer { - generated: this.transformNode(node.generated), - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformAddColumn(node) { -@@ -331,6 +369,14 @@ class OperationNodeTransformer { - cascade: node.cascade, - }); - } -+ transformDropTrigger(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'DropTriggerNode', -+ name: this.transformNode(node.name), -+ ifExists: node.ifExists, -+ cascade: node.cascade, -+ }); -+ } - transformOrderBy(node) { - return (0, require_all_props_js_1.requireAllProps)({ - kind: 'OrderByNode', -@@ -416,6 +462,7 @@ class OperationNodeTransformer { - using: this.transformNode(node.using), - ifNotExists: node.ifNotExists, - where: this.transformNode(node.where), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformList(node) { -@@ -445,6 +492,7 @@ class OperationNodeTransformer { - kind: 'UniqueConstraintNode', - columns: this.transformNodeList(node.columns), - name: this.transformNode(node.name), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformForeignKeyConstraint(node) { -@@ -533,6 +581,8 @@ class OperationNodeTransformer { - columnAlterations: this.transformNodeList(node.columnAlterations), - addConstraint: this.transformNode(node.addConstraint), - dropConstraint: this.transformNode(node.dropConstraint), -+ addIndex: this.transformNode(node.addIndex), -+ dropIndex: this.transformNode(node.dropIndex), - }); - } - transformDropColumn(node) { -@@ -765,6 +815,16 @@ class OperationNodeTransformer { - values: this.transformNodeList(node.values), - }); - } -+ transformAddIndex(node) { -+ return (0, require_all_props_js_1.requireAllProps)({ -+ kind: 'AddIndexNode', -+ name: this.transformNode(node.name), -+ columns: this.transformNodeList(node.columns), -+ unique: node.unique, -+ using: this.transformNode(node.using), -+ ifNotExists: node.ifNotExists, -+ }); -+ } - transformDataType(node) { - // An Object.freezed leaf node. No need to clone. - return node; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts -index 7c267cd..6a66bc7 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - export declare abstract class OperationNodeVisitor { - #private; - protected readonly nodeStack: OperationNode[]; -@@ -108,9 +113,13 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitDeleteQuery(node: DeleteQueryNode): void; - protected abstract visitReturning(node: ReturningNode): void; - protected abstract visitCreateTable(node: CreateTableNode): void; -+ protected abstract visitCreateTrigger(node: CreateTriggerNode): void; -+ protected abstract visitTriggerEvent(node: TriggerEventNode): void; -+ protected abstract visitTriggerOrder(node: TriggerOrderNode): void; - protected abstract visitAddColumn(node: AddColumnNode): void; - protected abstract visitColumnDefinition(node: ColumnDefinitionNode): void; - protected abstract visitDropTable(node: DropTableNode): void; -+ protected abstract visitDropTrigger(node: DropTriggerNode): void; - protected abstract visitOrderBy(node: OrderByNode): void; - protected abstract visitOrderByItem(node: OrderByItemNode): void; - protected abstract visitGroupBy(node: GroupByNode): void; -@@ -176,4 +185,5 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitJSONPathLeg(node: JSONPathLegNode): void; - protected abstract visitJSONOperatorChain(node: JSONOperatorChainNode): void; - protected abstract visitTuple(node: TupleNode): void; -+ protected abstract visitAddIndex(node: AddIndexNode): void; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js -index 8a50e0b..acc4d6e 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node-visitor.js -@@ -94,6 +94,11 @@ class OperationNodeVisitor { - JSONPathLegNode: this.visitJSONPathLeg.bind(this), - JSONOperatorChainNode: this.visitJSONOperatorChain.bind(this), - TupleNode: this.visitTuple.bind(this), -+ AddIndexNode: this.visitAddIndex.bind(this), -+ CreateTriggerNode: this.visitCreateTrigger.bind(this), -+ TriggerEventNode: this.visitTriggerEvent.bind(this), -+ TriggerOrderNode: this.visitTriggerOrder.bind(this), -+ DropTriggerNode: this.visitDropTrigger.bind(this), - }); - visitNode = (node) => { - this.nodeStack.push(node); -diff --git a/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts -index 24cad68..a01b9ed 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operation-node.d.ts -@@ -1,4 +1,4 @@ --export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode'; -+export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'AddIndexNode' | 'CreateTriggerNode' | 'TriggerEventNode' | 'TriggerOrderNode' | 'DropTriggerNode'; - export interface OperationNode { - readonly kind: OperationNodeKind; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts -index 1076866..20a5fcb 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/operator-node.d.ts -@@ -1,11 +1,11 @@ --import { OperationNode } from './operation-node.js'; --export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp"]; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"]; - export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"]; - export declare const JSON_OPERATORS: readonly ["->", "->>"]; --export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; -+export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; - export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"]; - export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"]; --export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; -+export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; - export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number]; - export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number]; - export type JSONOperator = (typeof JSON_OPERATORS)[number]; -diff --git a/node_modules/kysely/dist/cjs/operation-node/operator-node.js b/node_modules/kysely/dist/cjs/operation-node/operator-node.js -index 1b4ff0a..5407a85 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/operator-node.js -+++ b/node_modules/kysely/dist/cjs/operation-node/operator-node.js -@@ -37,6 +37,8 @@ exports.COMPARISON_OPERATORS = [ - '!!', - '<->', - 'regexp', -+ 'is distinct from', -+ 'is not distinct from', - ]; - exports.ARITHMETIC_OPERATORS = [ - '+', -diff --git a/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts -index 4d8e9ce..ca76ae2 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/or-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OrNode extends OperationNode { - readonly kind: 'OrNode'; - readonly left: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts -index 5a926f7..2964b97 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/order-by-item-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface OrderByItemNode extends OperationNode { - readonly kind: 'OrderByItemNode'; - readonly orderBy: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts -index ec862ab..aad64f5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/order-by-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; - export interface OrderByNode extends OperationNode { - readonly kind: 'OrderByNode'; - readonly items: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts -index 90fa893..9f04bf1 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/over-node.d.ts -@@ -1,8 +1,8 @@ --import { OperationNode } from './operation-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; --import { OrderByNode } from './order-by-node.js'; --import { PartitionByItemNode } from './partition-by-item-node.js'; --import { PartitionByNode } from './partition-by-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js'; -+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js'; -+import { PartitionByNode } from 'kysely/dist/cjs/operation-node/partition-by-node.js'; - export interface OverNode extends OperationNode { - readonly kind: 'OverNode'; - readonly orderBy?: OrderByNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts -index 8a84c5d..8052a4f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/parens-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ParensNode extends OperationNode { - readonly kind: 'ParensNode'; - readonly node: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts -index 91b1035..d851bf5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/partition-by-item-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; - export interface PartitionByItemNode extends OperationNode { - readonly kind: 'PartitionByItemNode'; - readonly partitionBy: SimpleReferenceExpressionNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts -index 92f2c3d..3b9595c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/partition-by-node.d.ts -@@ -1,5 +1,5 @@ --import { PartitionByItemNode } from './partition-by-item-node.js'; --import { OperationNode } from './operation-node.js'; -+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface PartitionByNode extends OperationNode { - readonly kind: 'PartitionByNode'; - readonly items: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts -index 63de5ec..be729e7 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/primary-constraint-node.d.ts -@@ -1,6 +1,6 @@ --import { ColumnNode } from './column-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface PrimaryKeyConstraintNode extends OperationNode { - readonly kind: 'PrimaryKeyConstraintNode'; - readonly columns: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts -index d47b86f..142ebae 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/primitive-value-list-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - /** - * This node is basically just a performance optimization over the normal ValueListNode. - * The queries often contain large arrays of primitive values (for example in a `where in` list) -diff --git a/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts -index bf6ef92..133557d 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/query-node.d.ts -@@ -1,15 +1,15 @@ --import { InsertQueryNode } from './insert-query-node.js'; --import { SelectQueryNode } from './select-query-node.js'; --import { UpdateQueryNode } from './update-query-node.js'; --import { DeleteQueryNode } from './delete-query-node.js'; --import { WhereNode } from './where-node.js'; --import { JoinNode } from './join-node.js'; --import { SelectionNode } from './selection-node.js'; --import { ReturningNode } from './returning-node.js'; --import { OperationNode } from './operation-node.js'; --import { ExplainNode } from './explain-node.js'; --import { ExplainFormat } from '../util/explainable.js'; --import { Expression } from '../expression/expression.js'; -+import { InsertQueryNode } from 'kysely/dist/cjs/operation-node/insert-query-node.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; -+import { UpdateQueryNode } from 'kysely/dist/cjs/operation-node/update-query-node.js'; -+import { DeleteQueryNode } from 'kysely/dist/cjs/operation-node/delete-query-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; - export type QueryNode = SelectQueryNode | InsertQueryNode | UpdateQueryNode | DeleteQueryNode; - type HasJoins = { - joins?: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts -index d0ebaa1..e8493de 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/raw-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface RawNode extends OperationNode { - readonly kind: 'RawNode'; - readonly sqlFragments: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts -index 25451af..06b6906 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/reference-node.d.ts -@@ -1,7 +1,7 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; --import { TableNode } from './table-node.js'; --import { SelectAllNode } from './select-all-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { SelectAllNode } from 'kysely/dist/cjs/operation-node/select-all-node.js'; - export interface ReferenceNode extends OperationNode { - readonly kind: 'ReferenceNode'; - readonly column: ColumnNode | SelectAllNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts -index bca9b92..261c6ca 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/references-node.d.ts -@@ -1,7 +1,7 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; --import { TableNode } from './table-node.js'; --import { ArrayItemType } from '../util/type-utils.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; - export declare const ON_MODIFY_FOREIGN_ACTIONS: readonly ["no action", "restrict", "cascade", "set null", "set default"]; - export type OnModifyForeignAction = ArrayItemType; - export interface ReferencesNode extends OperationNode { -diff --git a/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts -index 6aaa14a..14f4d87 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/rename-column-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { ColumnNode } from './column-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; - export interface RenameColumnNode extends OperationNode { - readonly kind: 'RenameColumnNode'; - readonly column: ColumnNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts -index 6504839..2000c94 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/returning-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SelectionNode } from './selection-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; - export interface ReturningNode extends OperationNode { - readonly kind: 'ReturningNode'; - readonly selections: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts -index 0373909..18afb74 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/schemable-identifier-node.d.ts -@@ -1,5 +1,5 @@ --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface SchemableIdentifierNode extends OperationNode { - readonly kind: 'SchemableIdentifierNode'; - readonly schema?: IdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts -index ebdb84d..facdf67 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/select-all-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface SelectAllNode extends OperationNode { - readonly kind: 'SelectAllNode'; - } -diff --git a/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts -index 6cafd87..2d3273f 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/select-modifier-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type SelectModifier = 'ForUpdate' | 'ForNoKeyUpdate' | 'ForShare' | 'ForKeyShare' | 'NoWait' | 'SkipLocked' | 'Distinct'; - export interface SelectModifierNode extends OperationNode { - readonly kind: 'SelectModifierNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts -index 8566716..f6adbb0 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/select-query-node.d.ts -@@ -1,19 +1,19 @@ --import { FromNode } from './from-node.js'; --import { GroupByItemNode } from './group-by-item-node.js'; --import { GroupByNode } from './group-by-node.js'; --import { HavingNode } from './having-node.js'; --import { JoinNode } from './join-node.js'; --import { LimitNode } from './limit-node.js'; --import { OffsetNode } from './offset-node.js'; --import { OperationNode } from './operation-node.js'; --import { OrderByItemNode } from './order-by-item-node.js'; --import { OrderByNode } from './order-by-node.js'; --import { SelectionNode } from './selection-node.js'; --import { WhereNode } from './where-node.js'; --import { WithNode } from './with-node.js'; --import { SelectModifierNode } from './select-modifier-node.js'; --import { ExplainNode } from './explain-node.js'; --import { SetOperationNode } from './set-operation-node.js'; -+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js'; -+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js'; -+import { GroupByNode } from 'kysely/dist/cjs/operation-node/group-by-node.js'; -+import { HavingNode } from 'kysely/dist/cjs/operation-node/having-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { LimitNode } from 'kysely/dist/cjs/operation-node/limit-node.js'; -+import { OffsetNode } from 'kysely/dist/cjs/operation-node/offset-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { OrderByNode } from 'kysely/dist/cjs/operation-node/order-by-node.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { SelectModifierNode } from 'kysely/dist/cjs/operation-node/select-modifier-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; -+import { SetOperationNode } from 'kysely/dist/cjs/operation-node/set-operation-node.js'; - export interface SelectQueryNode extends OperationNode { - readonly kind: 'SelectQueryNode'; - readonly from?: FromNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts -index 65c3567..f82ed6a 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/selection-node.d.ts -@@ -1,8 +1,8 @@ --import { AliasNode } from './alias-node.js'; --import { OperationNode } from './operation-node.js'; --import { SelectAllNode } from './select-all-node.js'; --import { SimpleReferenceExpressionNode } from './simple-reference-expression-node.js'; --import { TableNode } from './table-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SelectAllNode } from 'kysely/dist/cjs/operation-node/select-all-node.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; - type SelectionNodeChild = SimpleReferenceExpressionNode | AliasNode | SelectAllNode; - export interface SelectionNode extends OperationNode { - readonly kind: 'SelectionNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts -index 31f9efc..b924286 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/set-operation-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type SetOperator = 'union' | 'intersect' | 'except'; - export interface SetOperationNode extends OperationNode { - kind: 'SetOperationNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts -index f89eb48..7c6ef63 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/simple-reference-expression-node.d.ts -@@ -1,3 +1,3 @@ --import { ColumnNode } from './column-node.js'; --import { ReferenceNode } from './reference-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js'; - export type SimpleReferenceExpressionNode = ColumnNode | ReferenceNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts -index b6fba34..c6c3673 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/table-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { SchemableIdentifierNode } from 'kysely/dist/cjs/operation-node/schemable-identifier-node.js'; - export interface TableNode extends OperationNode { - readonly kind: 'TableNode'; - readonly table: SchemableIdentifierNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts -new file mode 100644 -index 0000000..fcdf121 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.d.ts -@@ -0,0 +1,15 @@ -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+export type TriggerEvent = 'delete' | 'update' | 'insert' | 'truncate'; -+export type TriggerEventNodeParams = Omit; -+export interface TriggerEventNode extends OperationNode { -+ readonly kind: 'TriggerEventNode'; -+ readonly event: TriggerEvent; -+ readonly columns?: ReadonlyArray; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerEventNode: Readonly<{ -+ is(node: OperationNode): node is TriggerEventNode; -+ create(event: TriggerEvent, columns?: ReadonlyArray): TriggerEventNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js -new file mode 100644 -index 0000000..85f3975 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-event-node.js -@@ -0,0 +1,19 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.TriggerEventNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.TriggerEventNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'TriggerEventNode'; -+ }, -+ create(event, columns) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'TriggerEventNode', -+ event, -+ columns, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts -new file mode 100644 -index 0000000..5db90ed ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.d.ts -@@ -0,0 +1,16 @@ -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+export type TriggerOrder = 'follows' | 'precedes'; -+export type TriggerOrderNodeParams = Omit; -+export interface TriggerOrderNode extends OperationNode { -+ readonly kind: 'TriggerOrderNode'; -+ readonly order: TriggerOrder; -+ readonly otherTriggerName: IdentifierNode; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerOrderNode: Readonly<{ -+ is(node: OperationNode): node is TriggerOrderNode; -+ create(order: TriggerOrder, otherTriggerName: IdentifierNode): TriggerOrderNode; -+}>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js -new file mode 100644 -index 0000000..2b40780 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/operation-node/trigger-order-node.js -@@ -0,0 +1,19 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.TriggerOrderNode = void 0; -+const object_utils_js_1 = require("../util/object-utils.js"); -+/** -+ * @internal -+ */ -+exports.TriggerOrderNode = (0, object_utils_js_1.freeze)({ -+ is(node) { -+ return node.kind === 'TriggerOrderNode'; -+ }, -+ create(order, otherTriggerName) { -+ return (0, object_utils_js_1.freeze)({ -+ kind: 'TriggerOrderNode', -+ order, -+ otherTriggerName, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts -index c179f1f..5111298 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.d.ts -@@ -1,15 +1,18 @@ --import { ColumnNode } from './column-node.js'; --import { IdentifierNode } from './identifier-node.js'; --import { OperationNode } from './operation-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { IdentifierNode } from 'kysely/dist/cjs/operation-node/identifier-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface UniqueConstraintNode extends OperationNode { - readonly kind: 'UniqueConstraintNode'; - readonly columns: ReadonlyArray; - readonly name?: IdentifierNode; -+ readonly nullsNotDistinct?: boolean; - } -+export type UniqueConstraintNodeProps = Omit, 'kind'>; - /** - * @internal - */ - export declare const UniqueConstraintNode: Readonly<{ - is(node: OperationNode): node is UniqueConstraintNode; -- create(columns: string[], constraintName?: string): UniqueConstraintNode; -+ create(columns: string[], constraintName?: string, nullsNotDistinct?: boolean): UniqueConstraintNode; -+ cloneWith(node: UniqueConstraintNode, props: UniqueConstraintNodeProps): UniqueConstraintNode; - }>; -diff --git a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js -index d615f74..ba9b265 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js -+++ b/node_modules/kysely/dist/cjs/operation-node/unique-constraint-node.js -@@ -11,11 +11,18 @@ exports.UniqueConstraintNode = (0, object_utils_js_1.freeze)({ - is(node) { - return node.kind === 'UniqueConstraintNode'; - }, -- create(columns, constraintName) { -+ create(columns, constraintName, nullsNotDistinct) { - return (0, object_utils_js_1.freeze)({ - kind: 'UniqueConstraintNode', - columns: (0, object_utils_js_1.freeze)(columns.map(column_node_js_1.ColumnNode.create)), - name: constraintName ? identifier_node_js_1.IdentifierNode.create(constraintName) : undefined, -+ nullsNotDistinct, -+ }); -+ }, -+ cloneWith(node, props) { -+ return (0, object_utils_js_1.freeze)({ -+ ...node, -+ ...props, - }); - }, - }); -diff --git a/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts -index 6fcc5e7..29fb124 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/update-query-node.d.ts -@@ -1,13 +1,13 @@ --import { ColumnUpdateNode } from './column-update-node.js'; --import { JoinNode } from './join-node.js'; --import { OperationNode } from './operation-node.js'; --import { PrimitiveValueListNode } from './primitive-value-list-node.js'; --import { ReturningNode } from './returning-node.js'; --import { ValueListNode } from './value-list-node.js'; --import { WhereNode } from './where-node.js'; --import { WithNode } from './with-node.js'; --import { FromNode } from './from-node.js'; --import { ExplainNode } from './explain-node.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { PrimitiveValueListNode } from 'kysely/dist/cjs/operation-node/primitive-value-list-node.js'; -+import { ReturningNode } from 'kysely/dist/cjs/operation-node/returning-node.js'; -+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js'; -+import { WhereNode } from 'kysely/dist/cjs/operation-node/where-node.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { FromNode } from 'kysely/dist/cjs/operation-node/from-node.js'; -+import { ExplainNode } from 'kysely/dist/cjs/operation-node/explain-node.js'; - export type UpdateValuesNode = ValueListNode | PrimitiveValueListNode; - export interface UpdateQueryNode extends OperationNode { - readonly kind: 'UpdateQueryNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts -index 01da795..901c8e5 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/using-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface UsingNode extends OperationNode { - readonly kind: 'UsingNode'; - readonly tables: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts -index e48e781..bf4a346 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/value-list-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ValueListNode extends OperationNode { - readonly kind: 'ValueListNode'; - readonly values: ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts -index c5fdc09..6068adc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/value-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface ValueNode extends OperationNode { - readonly kind: 'ValueNode'; - readonly value: unknown; -diff --git a/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts -index 86590c6..bb8127c 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/values-node.d.ts -@@ -1,6 +1,6 @@ --import { OperationNode } from './operation-node.js'; --import { PrimitiveValueListNode } from './primitive-value-list-node.js'; --import { ValueListNode } from './value-list-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { PrimitiveValueListNode } from 'kysely/dist/cjs/operation-node/primitive-value-list-node.js'; -+import { ValueListNode } from 'kysely/dist/cjs/operation-node/value-list-node.js'; - export type ValuesItemNode = ValueListNode | PrimitiveValueListNode; - export interface ValuesNode extends OperationNode { - readonly kind: 'ValuesNode'; -diff --git a/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts -index c6f1db8..8be8ebb 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/when-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface WhenNode extends OperationNode { - readonly kind: 'WhenNode'; - readonly condition: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts -index 44f9fbd..a3e79d1 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/where-node.d.ts -@@ -1,4 +1,4 @@ --import { OperationNode } from './operation-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export interface WhereNode extends OperationNode { - readonly kind: 'WhereNode'; - readonly where: OperationNode; -diff --git a/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts b/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts -index 78fecfd..d4fcebc 100644 ---- a/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts -+++ b/node_modules/kysely/dist/cjs/operation-node/with-node.d.ts -@@ -1,5 +1,5 @@ --import { OperationNode } from './operation-node.js'; --import { CommonTableExpressionNode } from './common-table-expression-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js'; - export type WithNodeParams = Omit; - export interface WithNode extends OperationNode { - readonly kind: 'WithNode'; -diff --git a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts -index 442aeb2..2585655 100644 ---- a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.d.ts -@@ -1,11 +1,11 @@ --import { BinaryOperationNode } from '../operation-node/binary-operation-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ComparisonOperator, BinaryOperator, Operator } from '../operation-node/operator-node.js'; --import { ExtractTypeFromReferenceExpression, ExtractTypeFromStringReference, ReferenceExpression, StringReference } from './reference-parser.js'; --import { ValueExpression, ValueExpressionOrList } from './value-parser.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { Expression } from '../expression/expression.js'; --import { SelectType } from '../util/column-type.js'; -+import { BinaryOperationNode } from 'kysely/dist/cjs/operation-node/binary-operation-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperator, BinaryOperator, Operator } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { ExtractTypeFromReferenceExpression, ExtractTypeFromStringReference, ReferenceExpression, StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ValueExpression, ValueExpressionOrList } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectType } from 'kysely/dist/cjs/util/column-type.js'; - export type OperandValueExpression = ValueExpression>; - export type OperandValueExpressionOrList = ValueExpressionOrList | null>; - export type OperatorExpression = Operator | Expression; -diff --git a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js -index 2ebff87..b5e9a08 100644 ---- a/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js -+++ b/node_modules/kysely/dist/cjs/parser/binary-operation-parser.js -@@ -41,7 +41,7 @@ exports.parseFilterObject = parseFilterObject; - function parseFilterList(list, combinator) { - const combine = combinator === 'and' ? and_node_js_1.AndNode.create : or_node_js_1.OrNode.create; - if (list.length === 0) { -- return value_node_js_1.ValueNode.createImmediate(combinator === 'and'); -+ return binary_operation_node_js_1.BinaryOperationNode.create(value_node_js_1.ValueNode.createImmediate(1), operator_node_js_1.OperatorNode.create('='), value_node_js_1.ValueNode.createImmediate(combinator === 'and' ? 1 : 0)); - } - let node = toOperationNode(list[0]); - for (let i = 1; i < list.length; ++i) { -diff --git a/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts b/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts -index ad11860..d71013b 100644 ---- a/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/coalesce-parser.d.ts -@@ -1,2 +1,2 @@ --import { ExtractTypeFromReferenceExpression, ReferenceExpression } from './reference-parser.js'; -+import { ExtractTypeFromReferenceExpression, ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type CoalesceReferenceExpressionList = RE extends [] ? O : RE extends [infer L, ...infer R] ? L extends ReferenceExpression ? null extends ExtractTypeFromReferenceExpression ? CoalesceReferenceExpressionList[] ? R : never, O | ExtractTypeFromReferenceExpression> : Exclude | ExtractTypeFromReferenceExpression : never : never; -diff --git a/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts b/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts -index 5469925..2d9e6e9 100644 ---- a/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/data-type-parser.d.ts -@@ -1,5 +1,5 @@ --import { Expression } from '../expression/expression.js'; --import { ColumnDataType } from '../operation-node/data-type-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ColumnDataType } from 'kysely/dist/cjs/operation-node/data-type-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type DataTypeExpression = ColumnDataType | Expression; - export declare function parseDataTypeExpression(dataType: DataTypeExpression): OperationNode; -diff --git a/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts b/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts -index 332773a..dda387f 100644 ---- a/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/default-value-parser.d.ts -@@ -1,4 +1,4 @@ --import { Expression } from '../expression/expression.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export type DefaultValueExpression = unknown | Expression; - export declare function parseDefaultValueExpression(value: DefaultValueExpression): OperationNode; -diff --git a/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts b/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts -index ad657a1..dc6f087 100644 ---- a/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/expression-parser.d.ts -@@ -1,8 +1,8 @@ --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { AliasNode } from '../operation-node/alias-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; - /** - * Like `Expression` but also accepts a select query with an output - * type extending `Record`. This type is useful because SQL -diff --git a/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts -index 2338e36..19ffb2e 100644 ---- a/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/group-by-parser.d.ts -@@ -1,6 +1,6 @@ --import { GroupByItemNode } from '../operation-node/group-by-item-node.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { ReferenceExpression } from './reference-parser.js'; -+import { GroupByItemNode } from 'kysely/dist/cjs/operation-node/group-by-item-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type GroupByExpression = ReferenceExpression | (keyof O & string); - export type GroupByArg = GroupByExpression | ReadonlyArray> | ((eb: ExpressionBuilder) => ReadonlyArray>); - export declare function parseGroupBy(groupBy: GroupByArg): GroupByItemNode[]; -diff --git a/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts b/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts -index 4560fab..bd1a505 100644 ---- a/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/insert-values-parser.d.ts -@@ -1,8 +1,8 @@ --import { ColumnNode } from '../operation-node/column-node.js'; --import { ValueExpression } from './value-parser.js'; --import { ValuesNode } from '../operation-node/values-node.js'; --import { NonNullableInsertKeys, NullableInsertKeys, InsertType } from '../util/column-type.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { ValuesNode } from 'kysely/dist/cjs/operation-node/values-node.js'; -+import { NonNullableInsertKeys, NullableInsertKeys, InsertType } from 'kysely/dist/cjs/util/column-type.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; - export type InsertObject = { - [C in NonNullableInsertKeys]: ValueExpression>; - } & { -diff --git a/node_modules/kysely/dist/cjs/parser/join-parser.d.ts b/node_modules/kysely/dist/cjs/parser/join-parser.d.ts -index fcf33ef..91e1f85 100644 ---- a/node_modules/kysely/dist/cjs/parser/join-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/join-parser.d.ts -@@ -1,7 +1,7 @@ --import { JoinNode, JoinType } from '../operation-node/join-node.js'; --import { AnyColumn, AnyColumnWithTable, DrainOuterGeneric } from '../util/type-utils.js'; --import { From, FromTables } from './table-parser.js'; --import { JoinBuilder } from '../query-builder/join-builder.js'; -+import { JoinNode, JoinType } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { AnyColumn, AnyColumnWithTable, DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; -+import { From, FromTables } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { JoinBuilder } from 'kysely/dist/cjs/query-builder/join-builder.js'; - export type JoinReferenceExpression = DrainOuterGeneric | AnyJoinColumnWithTable>; - export type JoinCallbackExpression = (join: JoinBuilder, FromTables>) => JoinBuilder; - type AnyJoinColumn = AnyColumn, FromTables>; -diff --git a/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts -index 40d5d0e..329449c 100644 ---- a/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/order-by-parser.d.ts -@@ -1,7 +1,7 @@ --import { Expression } from '../expression/expression.js'; --import { OrderByItemNode } from '../operation-node/order-by-item-node.js'; --import { StringReference } from './reference-parser.js'; --import { ReferenceExpression } from './reference-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { OrderByItemNode } from 'kysely/dist/cjs/operation-node/order-by-item-node.js'; -+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type OrderByDirection = 'asc' | 'desc'; - export declare function isOrderByDirection(thing: unknown): thing is OrderByDirection; - export type DirectedOrderByStringReference = `${StringReference | (keyof O & string)} ${OrderByDirection}`; -diff --git a/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts b/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts -index 4a08f74..15a1c3e 100644 ---- a/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/partition-by-parser.d.ts -@@ -1,6 +1,6 @@ --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { PartitionByItemNode } from '../operation-node/partition-by-item-node.js'; --import { StringReference } from './reference-parser.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { PartitionByItemNode } from 'kysely/dist/cjs/operation-node/partition-by-item-node.js'; -+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type PartitionByExpression = StringReference | DynamicReferenceBuilder; - export type PartitionByExpressionOrList = ReadonlyArray> | PartitionByExpression; - export declare function parsePartitionBy(partitionBy: PartitionByExpressionOrList): PartitionByItemNode[]; -diff --git a/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts b/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts -index cd4d656..9c530cf 100644 ---- a/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/reference-parser.d.ts -@@ -1,22 +1,23 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { ColumnNode } from '../operation-node/column-node.js'; --import { ReferenceNode } from '../operation-node/reference-node.js'; --import { AnyColumn, AnyColumnWithTable, ExtractColumnType } from '../util/type-utils.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; --import { ExpressionOrFactory } from './expression-parser.js'; --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { SelectType } from '../util/column-type.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { Expression } from '../expression/expression.js'; --import { SimpleReferenceExpressionNode } from '../operation-node/simple-reference-expression-node.js'; --import { OrderByDirection } from './order-by-parser.js'; --import { JSONOperatorWith$ } from '../operation-node/operator-node.js'; --import { JSONReferenceNode } from '../operation-node/json-reference-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { ColumnNode } from 'kysely/dist/cjs/operation-node/column-node.js'; -+import { ReferenceNode } from 'kysely/dist/cjs/operation-node/reference-node.js'; -+import { AnyColumn, AnyColumnWithTable, ExtractColumnType } from 'kysely/dist/cjs/util/type-utils.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { SelectType } from 'kysely/dist/cjs/util/column-type.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SimpleReferenceExpressionNode } from 'kysely/dist/cjs/operation-node/simple-reference-expression-node.js'; -+import { OrderByDirection } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { JSONOperatorWith$ } from 'kysely/dist/cjs/operation-node/operator-node.js'; -+import { JSONReferenceNode } from 'kysely/dist/cjs/operation-node/json-reference-node.js'; - export type StringReference = AnyColumn | AnyColumnWithTable; - export type SimpleReferenceExpression = StringReference | DynamicReferenceBuilder; - export type ReferenceExpression = SimpleReferenceExpression | ExpressionOrFactory; - export type ReferenceExpressionOrList = ReferenceExpression | ReadonlyArray>; --export type ExtractTypeFromReferenceExpression = RE extends string ? SelectType> : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; -+export type ExtractTypeFromReferenceExpression = SelectType>; -+export type ExtractRawTypeFromReferenceExpression = RE extends string ? ExtractTypeFromStringReference : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; - export type ExtractTypeFromStringReference = RE extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : RE extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : RE extends AnyColumn ? ExtractColumnType : DV; - export type OrderedColumnName = C extends `${string} ${infer O}` ? O extends OrderByDirection ? C : never : C; - export type ExtractColumnNameFromOrderedColumnName = C extends `${infer CL} ${infer O}` ? O extends OrderByDirection ? CL : never : C; -diff --git a/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts b/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts -index 4a41b30..35ccad7 100644 ---- a/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/returning-parser.d.ts -@@ -1,7 +1,7 @@ --import { DeleteResult } from '../query-builder/delete-result.js'; --import { InsertResult } from '../query-builder/insert-result.js'; --import { UpdateResult } from '../query-builder/update-result.js'; --import { Selection, AllSelection, CallbackSelection } from './select-parser.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { Selection, AllSelection, CallbackSelection } from 'kysely/dist/cjs/parser/select-parser.js'; - export type ReturningRow = O extends InsertResult ? Selection : O extends DeleteResult ? Selection : O extends UpdateResult ? Selection : O & Selection; - export type ReturningCallbackRow = O extends InsertResult ? CallbackSelection : O extends DeleteResult ? CallbackSelection : O extends UpdateResult ? CallbackSelection : O & CallbackSelection; - export type ReturningAllRow = O extends InsertResult ? AllSelection : O extends DeleteResult ? AllSelection : O extends UpdateResult ? AllSelection : O & AllSelection; -diff --git a/node_modules/kysely/dist/cjs/parser/select-parser.d.ts b/node_modules/kysely/dist/cjs/parser/select-parser.d.ts -index d15c377..be1bcdb 100644 ---- a/node_modules/kysely/dist/cjs/parser/select-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/select-parser.d.ts -@@ -1,11 +1,11 @@ --import { AliasedSelectQueryBuilder } from '../query-builder/select-query-builder.js'; --import { SelectionNode } from '../operation-node/selection-node.js'; --import { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, DrainOuterGeneric, ExtractColumnType } from '../util/type-utils.js'; --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { AliasedExpressionOrFactory } from './expression-parser.js'; --import { SelectType } from '../util/column-type.js'; --import { AliasedExpression } from '../expression/expression.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; -+import { AliasedSelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { SelectionNode } from 'kysely/dist/cjs/operation-node/selection-node.js'; -+import { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, DrainOuterGeneric, ExtractColumnType } from 'kysely/dist/cjs/util/type-utils.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { AliasedExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { SelectType } from 'kysely/dist/cjs/util/column-type.js'; -+import { AliasedExpression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; - export type SelectExpression = AnyAliasedColumnWithTable | AnyAliasedColumn | AnyColumnWithTable | AnyColumn | DynamicReferenceBuilder | AliasedExpressionOrFactory; - export type SelectCallback = (eb: ExpressionBuilder) => ReadonlyArray>; - /** -diff --git a/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts b/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts -index 34ffc3e..df5c497 100644 ---- a/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/set-operation-parser.d.ts -@@ -1,5 +1,5 @@ --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { Expression } from '../expression/expression.js'; --import { SetOperator, SetOperationNode } from '../operation-node/set-operation-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SetOperator, SetOperationNode } from 'kysely/dist/cjs/operation-node/set-operation-node.js'; - export type SetOperandExpression = Expression | ReadonlyArray> | ((eb: ExpressionBuilder) => Expression | ReadonlyArray>); - export declare function parseSetOperations(operator: SetOperator, expression: SetOperandExpression, all: boolean): SetOperationNode[]; -diff --git a/node_modules/kysely/dist/cjs/parser/table-parser.d.ts b/node_modules/kysely/dist/cjs/parser/table-parser.d.ts -index 05b58c4..98c5817 100644 ---- a/node_modules/kysely/dist/cjs/parser/table-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/table-parser.d.ts -@@ -1,9 +1,9 @@ --import { AliasNode } from '../operation-node/alias-node.js'; --import { TableNode } from '../operation-node/table-node.js'; --import { AliasedExpressionOrFactory } from './expression-parser.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { AliasedExpression } from '../expression/expression.js'; --import { DrainOuterGeneric, ShallowRecord } from '../util/type-utils.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { TableNode } from 'kysely/dist/cjs/operation-node/table-node.js'; -+import { AliasedExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { AliasedExpression } from 'kysely/dist/cjs/expression/expression.js'; -+import { DrainOuterGeneric, ShallowRecord } from 'kysely/dist/cjs/util/type-utils.js'; - export type TableExpression = AnyAliasedTable | AnyTable | AliasedExpressionOrFactory; - export type TableExpressionOrList = TableExpression | ReadonlyArray>; - export type TableReference = AnyAliasedTable | AnyTable | AliasedExpression; -diff --git a/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts b/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts -index 032ea46..2101bdf 100644 ---- a/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/tuple-parser.d.ts -@@ -1,6 +1,6 @@ --import { DrainOuterGeneric } from '../util/type-utils.js'; --import { ExtractTypeFromReferenceExpression } from './reference-parser.js'; --import { ExtractTypeFromValueExpression } from './value-parser.js'; -+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExtractTypeFromReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ExtractTypeFromValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; - export type RefTuple2 = DrainOuterGeneric<[ - ExtractTypeFromReferenceExpression, - ExtractTypeFromReferenceExpression -diff --git a/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts b/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts -index d4b2dd0..184e344 100644 ---- a/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/update-set-parser.d.ts -@@ -1,10 +1,13 @@ --import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { UpdateKeys, UpdateType } from '../util/column-type.js'; --import { ValueExpression } from './value-parser.js'; -+import { ColumnUpdateNode } from 'kysely/dist/cjs/operation-node/column-update-node.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { UpdateKeys, UpdateType } from 'kysely/dist/cjs/util/column-type.js'; -+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; -+import { ExtractRawTypeFromReferenceExpression, ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; - export type UpdateObject = { - [C in UpdateKeys]?: ValueExpression> | undefined; - }; - export type UpdateObjectFactory = (eb: ExpressionBuilder) => UpdateObject; --export type UpdateExpression = UpdateObject | UpdateObjectFactory; --export declare function parseUpdateExpression(update: UpdateExpression): ReadonlyArray; -+export type UpdateObjectExpression = UpdateObject | UpdateObjectFactory; -+export type ExtractUpdateTypeFromReferenceExpression = UpdateType>; -+export declare function parseUpdate(...args: [UpdateObjectExpression] | [ReferenceExpression, ValueExpression]): ReadonlyArray; -+export declare function parseUpdateObjectExpression(update: UpdateObjectExpression): ReadonlyArray; -diff --git a/node_modules/kysely/dist/cjs/parser/update-set-parser.js b/node_modules/kysely/dist/cjs/parser/update-set-parser.js -index bbb1618..e741a9e 100644 ---- a/node_modules/kysely/dist/cjs/parser/update-set-parser.js -+++ b/node_modules/kysely/dist/cjs/parser/update-set-parser.js -@@ -1,12 +1,22 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); --exports.parseUpdateExpression = void 0; -+exports.parseUpdateObjectExpression = exports.parseUpdate = void 0; - const column_node_js_1 = require("../operation-node/column-node.js"); - const column_update_node_js_1 = require("../operation-node/column-update-node.js"); - const expression_builder_js_1 = require("../expression/expression-builder.js"); - const object_utils_js_1 = require("../util/object-utils.js"); - const value_parser_js_1 = require("./value-parser.js"); --function parseUpdateExpression(update) { -+const reference_parser_js_1 = require("./reference-parser.js"); -+function parseUpdate(...args) { -+ if (args.length === 2) { -+ return [ -+ column_update_node_js_1.ColumnUpdateNode.create((0, reference_parser_js_1.parseReferenceExpression)(args[0]), (0, value_parser_js_1.parseValueExpression)(args[1])), -+ ]; -+ } -+ return parseUpdateObjectExpression(args[0]); -+} -+exports.parseUpdate = parseUpdate; -+function parseUpdateObjectExpression(update) { - const updateObj = (0, object_utils_js_1.isFunction)(update) ? update((0, expression_builder_js_1.expressionBuilder)()) : update; - return Object.entries(updateObj) - .filter(([_, value]) => value !== undefined) -@@ -14,4 +24,4 @@ function parseUpdateExpression(update) { - return column_update_node_js_1.ColumnUpdateNode.create(column_node_js_1.ColumnNode.create(key), (0, value_parser_js_1.parseValueExpression)(value)); - }); - } --exports.parseUpdateExpression = parseUpdateExpression; -+exports.parseUpdateObjectExpression = parseUpdateObjectExpression; -diff --git a/node_modules/kysely/dist/cjs/parser/value-parser.d.ts b/node_modules/kysely/dist/cjs/parser/value-parser.d.ts -index 353d16e..ce7dc8b 100644 ---- a/node_modules/kysely/dist/cjs/parser/value-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/value-parser.d.ts -@@ -1,8 +1,8 @@ --import { ValueNode } from '../operation-node/value-node.js'; --import { ExpressionOrFactory } from './expression-parser.js'; --import { OperationNode } from '../operation-node/operation-node.js'; --import { Expression } from '../expression/expression.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { ValueNode } from 'kysely/dist/cjs/operation-node/value-node.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; - export type ValueExpression = V | ExpressionOrFactory; - export type ValueExpressionOrList = ValueExpression | ReadonlyArray>; - export type ExtractTypeFromValueExpressionOrList = VE extends ReadonlyArray ? ExtractTypeFromValueExpression : ExtractTypeFromValueExpression; -diff --git a/node_modules/kysely/dist/cjs/parser/with-parser.d.ts b/node_modules/kysely/dist/cjs/parser/with-parser.d.ts -index 63183fc..d4092ce 100644 ---- a/node_modules/kysely/dist/cjs/parser/with-parser.d.ts -+++ b/node_modules/kysely/dist/cjs/parser/with-parser.d.ts -@@ -1,11 +1,11 @@ --import { UpdateQueryBuilder } from '../query-builder/update-query-builder.js'; --import { DeleteQueryBuilder } from '../query-builder/delete-query-builder.js'; --import { InsertQueryBuilder } from '../query-builder/insert-query-builder.js'; --import { QueryCreator } from '../query-creator.js'; --import { Expression } from '../expression/expression.js'; --import { ShallowRecord } from '../util/type-utils.js'; --import { CTEBuilderCallback } from '../query-builder/cte-builder.js'; --import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js'; -+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js'; -+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js'; -+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js'; -+import { QueryCreator } from 'kysely/dist/cjs/query-creator.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ShallowRecord } from 'kysely/dist/cjs/util/type-utils.js'; -+import { CTEBuilderCallback } from 'kysely/dist/cjs/query-builder/cte-builder.js'; -+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js'; - export type CommonTableExpression = (creator: QueryCreator) => CommonTableExpressionOutput; - export type RecursiveCommonTableExpression = (creator: QueryCreator]: ExtractRowFromCommonTableExpressionName; -diff --git a/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts b/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts -index 098e5c8..35ca9da 100644 ---- a/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts -+++ b/node_modules/kysely/dist/cjs/plugin/kysely-plugin.d.ts -@@ -1,7 +1,7 @@ --import { QueryResult } from '../driver/database-connection.js'; --import { RootOperationNode } from '../query-compiler/query-compiler.js'; --import { QueryId } from '../util/query-id.js'; --import { UnknownRow } from '../util/type-utils.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { UnknownRow } from 'kysely/dist/cjs/util/type-utils.js'; - export interface KyselyPlugin { - /** - * This is called for each query before it is executed. You can modify the query by -diff --git a/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js b/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js -index 4b3caa6..97287a4 100644 ---- a/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js -+++ b/node_modules/kysely/dist/cjs/plugin/with-schema/with-schema-transformer.js -@@ -19,12 +19,14 @@ const ROOT_OPERATION_NODES = (0, object_utils_js_1.freeze)({ - CreateTableNode: true, - CreateTypeNode: true, - CreateViewNode: true, -+ CreateTriggerNode: true, - DeleteQueryNode: true, - DropIndexNode: true, - DropSchemaNode: true, - DropTableNode: true, - DropTypeNode: true, - DropViewNode: true, -+ DropTriggerNode: true, - InsertQueryNode: true, - RawNode: true, - SelectQueryNode: true, -diff --git a/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts -index 6f9b8ee..85401ee 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/aggregate-function-builder.d.ts -@@ -1,11 +1,11 @@ --import { AggregateFunctionNode } from '../operation-node/aggregate-function-node.js'; --import { AliasNode } from '../operation-node/alias-node.js'; --import { OverBuilder } from './over-builder.js'; --import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { SqlBool } from '../util/type-utils.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { AggregateFunctionNode } from 'kysely/dist/cjs/operation-node/aggregate-function-node.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { OverBuilder } from 'kysely/dist/cjs/query-builder/over-builder.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; - export declare class AggregateFunctionBuilder implements AliasableExpression { - #private; - constructor(props: AggregateFunctionBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts -index bbe83c7..4bc9062 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/case-builder.d.ts -@@ -1,9 +1,9 @@ --import { Expression } from '../expression/expression.js'; --import { ExpressionWrapper } from '../expression/expression-wrapper.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { CaseNode } from '../operation-node/case-node.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CaseNode } from 'kysely/dist/cjs/operation-node/case-node.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; - export declare class CaseBuilder implements Whenable { - #private; - constructor(props: CaseBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts -index 8564d5b..ef22570 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/cte-builder.d.ts -@@ -1,5 +1,5 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CommonTableExpressionNode } from 'kysely/dist/cjs/operation-node/common-table-expression-node.js'; - export declare class CTEBuilder implements OperationNodeSource { - #private; - constructor(props: CTEBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts -index f510d14..841ec03 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/delete-query-builder.d.ts -@@ -1,28 +1,28 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js'; --import { From, FromTables, TableExpression } from '../parser/table-parser.js'; --import { SelectExpression, SelectCallback } from '../parser/select-parser.js'; --import { ReturningAllRow, ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { WhereInterface } from './where-interface.js'; --import { ReturningInterface } from './returning-interface.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { DeleteResult } from './delete-result.js'; --import { DeleteQueryNode } from '../operation-node/delete-query-node.js'; --import { OrderByDirectionExpression, OrderByExpression } from '../parser/order-by-parser.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Streamable } from '../util/streamable.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js'; -+import { From, FromTables, TableExpression } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { ReturningAllRow, ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; -+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { DeleteQueryNode } from 'kysely/dist/cjs/operation-node/delete-query-node.js'; -+import { OrderByDirectionExpression, OrderByExpression } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; - export declare class DeleteQueryBuilder implements WhereInterface, ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: DeleteQueryBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts b/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts -index 592c5e9..5620351 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/function-module.d.ts -@@ -1,12 +1,13 @@ --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { ExpressionWrapper } from '../expression/expression-wrapper.js'; --import { Expression } from '../expression/expression.js'; --import { CoalesceReferenceExpressionList } from '../parser/coalesce-parser.js'; --import { ExtractTypeFromReferenceExpression, ReferenceExpression, StringReference, ExtractTypeFromStringReference } from '../parser/reference-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Equals, IsAny } from '../util/type-utils.js'; --import { AggregateFunctionBuilder } from './aggregate-function-builder.js'; --import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { CoalesceReferenceExpressionList } from 'kysely/dist/cjs/parser/coalesce-parser.js'; -+import { ExtractTypeFromReferenceExpression, ReferenceExpression, StringReference, ExtractTypeFromStringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Equals, IsAny } from 'kysely/dist/cjs/util/type-utils.js'; -+import { AggregateFunctionBuilder } from 'kysely/dist/cjs/query-builder/aggregate-function-builder.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; - /** - * Helpers for type safe SQL function calls. - * -@@ -17,21 +18,47 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * - * - * -- * This example uses the `fn` module to select some aggregates: -+ * This example shows how to create function calls. These examples also work in any -+ * other place (`where` calls, updates, inserts etc.). The only difference is that you -+ * leave out the alias (the `as` call) if you use these in any other place than `select`. - * - * ```ts -+ * import { sql } from 'kysely' -+ * - * const result = await db.selectFrom('person') - * .innerJoin('pet', 'pet.owner_id', 'person.id') -- * .select(({ fn }) => [ -+ * .select(({ fn, val, ref }) => [ - * 'person.id', - * - * // The `fn` module contains the most common - * // functions. - * fn.count('pet.id').as('pet_count'), - * -- * // You can call any function using the -- * // `agg` method -- * fn.agg('array_agg', ['pet.name']).as('pet_names') -+ * // You can call any function by calling `fn` -+ * // directly. The arguments are treated as column -+ * // references by default. If you want to pass in -+ * // values, use the `val` function. -+ * fn('concat', [ -+ * val('Ms. '), -+ * 'first_name', -+ * val(' '), -+ * 'last_name' -+ * ]).as('full_name_with_title'), -+ * -+ * // You can call any aggregate function using the -+ * // `fn.agg` function. -+ * fn.agg('array_agg', ['pet.name']).as('pet_names'), -+ * -+ * // And once again, you can use the `sql` -+ * // template tag. The template tag substitutions -+ * // are treated as values by default. If you want -+ * // to reference columns, you can use the `ref` -+ * // function. -+ * sql`concat( -+ * ${ref('first_name')}, -+ * ' ', -+ * ${ref('last_name')} -+ * )`.as('full_name') - * ]) - * .groupBy('person.id') - * .having((eb) => eb.fn.count('pet.id'), '>', 10) -@@ -44,11 +71,13 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * select - * "person"."id", - * count("pet"."id") as "pet_count", -- * array_agg("pet"."name") as "pet_names" -+ * concat($1, "first_name", $2, "last_name") as "full_name_with_title", -+ * array_agg("pet"."name") as "pet_names", -+ * concat("first_name", ' ', "last_name") as "full_name" - * from "person" - * inner join "pet" on "pet"."owner_id" = "person"."id" - * group by "person"."id" -- * having count("pet"."id") > $1 -+ * having count("pet"."id") > $3 - * ``` - */ - export interface FunctionModule { -@@ -540,6 +569,50 @@ export interface FunctionModule { - any>(expr: RE): Exclude, null> extends ReadonlyArray ? ExpressionWrapper : KyselyTypeError<'any(expr) call failed: expr must be an array'>; - any(subquery: SelectQueryBuilderExpression>): ExpressionWrapper; - any(expr: Expression>): ExpressionWrapper; -+ /** -+ * Creates a json_agg function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.jsonAgg('pet').as('pets')]) -+ * .groupBy('person.first_name') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", json_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."first_name" -+ * ``` -+ */ -+ jsonAgg>(table: T): AggregateFunctionBuilder[] : T extends Expression ? O[] : never>; -+ /** -+ * Creates a to_json function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.toJson('pet').as('pet')]) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", to_json("pet") as "pet" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * ``` -+ */ -+ toJson>(table: T): ExpressionWrapper : T extends Expression ? O : never>; - } - export declare function createFunctionModule(): FunctionModule; - type OutputBoundStringReference, O> = IsAny extends true ? C : Equals | null, O | null> extends true ? C : never; -diff --git a/node_modules/kysely/dist/cjs/query-builder/function-module.js b/node_modules/kysely/dist/cjs/query-builder/function-module.js -index b894b62..01a2a51 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/function-module.js -+++ b/node_modules/kysely/dist/cjs/query-builder/function-module.js -@@ -7,6 +7,8 @@ const function_node_js_1 = require("../operation-node/function-node.js"); - const reference_parser_js_1 = require("../parser/reference-parser.js"); - const select_parser_js_1 = require("../parser/select-parser.js"); - const aggregate_function_builder_js_1 = require("./aggregate-function-builder.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const table_parser_js_1 = require("../parser/table-parser.js"); - function createFunctionModule() { - const fn = (name, args) => { - return new expression_wrapper_js_1.ExpressionWrapper(function_node_js_1.FunctionNode.create(name, (0, reference_parser_js_1.parseReferenceExpressionOrList)(args))); -@@ -44,6 +46,18 @@ function createFunctionModule() { - any(column) { - return fn('any', [column]); - }, -+ jsonAgg(table) { -+ return new aggregate_function_builder_js_1.AggregateFunctionBuilder({ -+ aggregateFunctionNode: aggregate_function_node_js_1.AggregateFunctionNode.create('json_agg', [ -+ (0, object_utils_js_1.isString)(table) ? (0, table_parser_js_1.parseTable)(table) : table.toOperationNode(), -+ ]), -+ }); -+ }, -+ toJson(table) { -+ return new expression_wrapper_js_1.ExpressionWrapper(function_node_js_1.FunctionNode.create('to_json', [ -+ (0, object_utils_js_1.isString)(table) ? (0, table_parser_js_1.parseTable)(table) : table.toOperationNode(), -+ ])); -+ }, - }); - } - exports.createFunctionModule = createFunctionModule; -diff --git a/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts -index b9f72e1..529d504 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/having-interface.d.ts -@@ -1,7 +1,7 @@ --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SqlBool } from '../util/type-utils.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; - export interface HavingInterface { - /** - * Just like {@link WhereInterface.where | where} but adds a `having` statement -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts -index 6be4113..f4c749a 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.d.ts -@@ -1,26 +1,26 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { SelectExpression, SelectCallback } from '../parser/select-parser.js'; --import { InsertObjectOrList, InsertObjectOrListFactory } from '../parser/insert-values-parser.js'; --import { InsertQueryNode } from '../operation-node/insert-query-node.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { NarrowPartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { InsertResult } from './insert-result.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReturningInterface } from './returning-interface.js'; --import { OnConflictBuilder, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictTables, OnConflictUpdateBuilder } from './on-conflict-builder.js'; --import { Selectable } from '../util/column-type.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { Expression } from '../expression/expression.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Streamable } from '../util/streamable.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { InsertObjectOrList, InsertObjectOrListFactory } from 'kysely/dist/cjs/parser/insert-values-parser.js'; -+import { InsertQueryNode } from 'kysely/dist/cjs/operation-node/insert-query-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { NarrowPartial, SimplifyResult, SimplifySingleResult } from 'kysely/dist/cjs/util/type-utils.js'; -+import { UpdateObjectExpression } from 'kysely/dist/cjs/parser/update-set-parser.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js'; -+import { OnConflictBuilder, OnConflictDatabase, OnConflictDoNothingBuilder, OnConflictTables, OnConflictUpdateBuilder } from 'kysely/dist/cjs/query-builder/on-conflict-builder.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; - export declare class InsertQueryBuilder implements ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: InsertQueryBuilderProps); -@@ -60,13 +60,18 @@ export declare class InsertQueryBuilder implements R - * }) - * .executeTakeFirst() - * -+ * // `insertId` is only available on dialects that -+ * // automatically return the id of the inserted row -+ * // such as MySQL and SQLite. On PostgreSQL, for example, -+ * // you need to add a `returning` clause to the query to -+ * // get anything out. See the "returning data" example. - * console.log(result.insertId) - * ``` - * -- * The generated SQL (PostgreSQL): -+ * The generated SQL (MySQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3) -+ * insert into `person` (`first_name`, `last_name`, `age`) values (?, ?, ?) - * ``` - * - * -@@ -131,11 +136,14 @@ export declare class InsertQueryBuilder implements R - * ```ts - * import { sql } from 'kysely' - * -+ * const ani = "Ani" -+ * const ston = "ston" -+ * - * const result = await db - * .insertInto('person') - * .values(({ ref, selectFrom, fn }) => ({ - * first_name: 'Jennifer', -- * last_name: sql`${'Ani'} || ${'ston'}`, -+ * last_name: sql`concat(${ani}, ${ston})`, - * middle_name: ref('first_name'), - * age: selectFrom('person') - * .select(fn.avg('age') -@@ -147,8 +155,18 @@ export declare class InsertQueryBuilder implements R - * The generated SQL (PostgreSQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") -- * values ($1, $2 || $3, (select avg("age") as "avg_age" from "person")) -+ * insert into "person" ( -+ * "first_name", -+ * "last_name", -+ * "middle_name", -+ * "age" -+ * ) -+ * values ( -+ * $1, -+ * concat($2, $3), -+ * "first_name", -+ * (select avg("age") as "avg_age" from "person") -+ * ) - * ``` - * - * You can also use the callback version of subqueries or raw expressions: -@@ -208,7 +226,7 @@ export declare class InsertQueryBuilder implements R - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -218,7 +236,7 @@ export declare class InsertQueryBuilder implements R - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression: ExpressionOrFactory): InsertQueryBuilder; -@@ -414,7 +432,7 @@ export declare class InsertQueryBuilder implements R - * .onDuplicateKeyUpdate({ species: 'hamster' }) - * ``` - */ -- onDuplicateKeyUpdate(update: UpdateExpression): InsertQueryBuilder; -+ onDuplicateKeyUpdate(update: UpdateObjectExpression): InsertQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js -index ba57ff0..d89d1b8 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-query-builder.js -@@ -77,7 +77,7 @@ class InsertQueryBuilder { - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -87,7 +87,7 @@ class InsertQueryBuilder { - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression) { -@@ -310,7 +310,7 @@ class InsertQueryBuilder { - return new InsertQueryBuilder({ - ...this.#props, - queryNode: insert_query_node_js_1.InsertQueryNode.cloneWith(this.#props.queryNode, { -- onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.parseUpdateExpression)(update)), -+ onDuplicateKey: on_duplicate_key_node_js_1.OnDuplicateKeyNode.create((0, update_set_parser_js_1.parseUpdateObjectExpression)(update)), - }), - }); - } -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts b/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts -index c16fb08..d22a9e5 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-result.d.ts -@@ -23,7 +23,14 @@ - */ - export declare class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - readonly insertId: bigint | undefined; - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/insert-result.js b/node_modules/kysely/dist/cjs/query-builder/insert-result.js -index 6a3246d..b564a4a 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/insert-result.js -+++ b/node_modules/kysely/dist/cjs/query-builder/insert-result.js -@@ -26,7 +26,14 @@ exports.InsertResult = void 0; - */ - class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - insertId; - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts -index 475acb1..06a0488 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/join-builder.d.ts -@@ -1,9 +1,9 @@ --import { JoinNode } from '../operation-node/join-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SqlBool } from '../util/type-utils.js'; -+import { JoinNode } from 'kysely/dist/cjs/operation-node/join-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; - export declare class JoinBuilder implements OperationNodeSource { - #private; - constructor(props: JoinBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts -index f173489..93dfff0 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/json-path-builder.d.ts -@@ -1,7 +1,7 @@ --import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js'; --import { AliasNode } from '../operation-node/alias-node.js'; --import { JSONReferenceNode } from '../operation-node/json-reference-node.js'; --import { OperationNode } from '../operation-node/operation-node.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AliasNode } from 'kysely/dist/cjs/operation-node/alias-node.js'; -+import { JSONReferenceNode } from 'kysely/dist/cjs/operation-node/json-reference-node.js'; -+import { OperationNode } from 'kysely/dist/cjs/operation-node/operation-node.js'; - export declare class JSONPathBuilder { - #private; - constructor(node: JSONReferenceNode); -diff --git a/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts b/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts -index b6423c2..2ac85ee 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/no-result-error.d.ts -@@ -1,4 +1,4 @@ --import { QueryNode } from '../operation-node/query-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; - export type NoResultErrorConstructor = new (node: QueryNode) => Error; - export declare class NoResultError extends Error { - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts -index 803563e..f1bfe85 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.d.ts -@@ -1,12 +1,12 @@ --import { Expression } from '../expression/expression.js'; --import { OnConflictNode } from '../operation-node/on-conflict-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; --import { AnyColumn, SqlBool } from '../util/type-utils.js'; --import { WhereInterface } from './where-interface.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { OnConflictNode } from 'kysely/dist/cjs/operation-node/on-conflict-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { UpdateObjectExpression } from 'kysely/dist/cjs/parser/update-set-parser.js'; -+import { AnyColumn, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; - export declare class OnConflictBuilder implements WhereInterface { - #private; - constructor(props: OnConflictBuilderProps); -@@ -435,7 +435,7 @@ export declare class OnConflictBuilder implements Where - * ) - * ``` - */ -- doUpdateSet(update: UpdateExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; -+ doUpdateSet(update: UpdateObjectExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; - /** - * Simply calls the provided function passing `this` as the only argument. `$call` returns - * what the provided function returns. -diff --git a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js -index cfb3a0b..b3b7e7e 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js -+++ b/node_modules/kysely/dist/cjs/query-builder/on-conflict-builder.js -@@ -175,7 +175,7 @@ class OnConflictBuilder { - return new OnConflictUpdateBuilder({ - ...this.#props, - onConflictNode: on_conflict_node_js_1.OnConflictNode.cloneWith(this.#props.onConflictNode, { -- updates: (0, update_set_parser_js_1.parseUpdateExpression)(update), -+ updates: (0, update_set_parser_js_1.parseUpdateObjectExpression)(update), - }), - }); - } -diff --git a/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts -index 8517b91..1564fc1 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/over-builder.d.ts -@@ -1,9 +1,9 @@ --import { DynamicReferenceBuilder } from '../dynamic/dynamic-reference-builder.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OverNode } from '../operation-node/over-node.js'; --import { OrderByDirectionExpression } from '../parser/order-by-parser.js'; --import { PartitionByExpression } from '../parser/partition-by-parser.js'; --import { StringReference } from '../parser/reference-parser.js'; -+import { DynamicReferenceBuilder } from 'kysely/dist/cjs/dynamic/dynamic-reference-builder.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OverNode } from 'kysely/dist/cjs/operation-node/over-node.js'; -+import { OrderByDirectionExpression } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { PartitionByExpression } from 'kysely/dist/cjs/parser/partition-by-parser.js'; -+import { StringReference } from 'kysely/dist/cjs/parser/reference-parser.js'; - export declare class OverBuilder implements OperationNodeSource { - #private; - constructor(props: OverBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts -index 6c10c86..fb1bd5c 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/returning-interface.d.ts -@@ -1,6 +1,6 @@ --import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { SelectCallback, SelectExpression } from '../parser/select-parser.js'; --import { Selectable } from '../util/column-type.js'; -+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { SelectCallback, SelectExpression } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; - export interface ReturningInterface { - /** - * Allows you to return data from modified rows. -diff --git a/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts b/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts -index 3593f25..42c4c56 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/select-query-builder-expression.d.ts -@@ -1,5 +1,5 @@ --import { AliasableExpression } from '../expression/expression.js'; --import { SelectQueryNode } from '../operation-node/select-query-node.js'; -+import { AliasableExpression } from 'kysely/dist/cjs/expression/expression.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; - export interface SelectQueryBuilderExpression extends AliasableExpression { - get isSelectQueryBuilder(): true; - /** -diff --git a/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts -index b26ebf1..8221028 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/select-query-builder.d.ts -@@ -1,30 +1,30 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js'; --import { TableExpression } from '../parser/table-parser.js'; --import { SelectExpression, Selection, AllSelection, SelectCallback, CallbackSelection } from '../parser/select-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SelectQueryNode } from '../operation-node/select-query-node.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, Simplify, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; --import { OrderByDirectionExpression, OrderByExpression, DirectedOrderByStringReference, UndirectedOrderByExpression } from '../parser/order-by-parser.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { GroupByArg } from '../parser/group-by-parser.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { WhereInterface } from './where-interface.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { HavingInterface } from './having-interface.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { SetOperandExpression } from '../parser/set-operation-parser.js'; --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Selectable } from '../util/column-type.js'; --import { Streamable } from '../util/streamable.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; --import { ExpressionWrapper } from '../expression/expression-wrapper.js'; --import { SelectQueryBuilderExpression } from './select-query-builder-expression.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js'; -+import { TableExpression } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { SelectExpression, Selection, AllSelection, SelectCallback, CallbackSelection } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SelectQueryNode } from 'kysely/dist/cjs/operation-node/select-query-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, Simplify, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { OrderByDirectionExpression, OrderByExpression, DirectedOrderByStringReference, UndirectedOrderByExpression } from 'kysely/dist/cjs/parser/order-by-parser.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { GroupByArg } from 'kysely/dist/cjs/parser/group-by-parser.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { HavingInterface } from 'kysely/dist/cjs/query-builder/having-interface.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { SetOperandExpression } from 'kysely/dist/cjs/parser/set-operation-parser.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ExpressionWrapper } from 'kysely/dist/cjs/expression/expression-wrapper.js'; -+import { SelectQueryBuilderExpression } from 'kysely/dist/cjs/query-builder/select-query-builder-expression.js'; - export interface SelectQueryBuilder extends WhereInterface, HavingInterface, SelectQueryBuilderExpression, Compilable, Explainable, Streamable { - /** - * Adds a `where` expression to the query. -diff --git a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts -index 3d30eed..f98f0b3 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.d.ts -@@ -1,29 +1,30 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { JoinCallbackExpression, JoinReferenceExpression } from '../parser/join-parser.js'; --import { TableExpression, From, FromTables } from '../parser/table-parser.js'; --import { SelectExpression, SelectCallback } from '../parser/select-parser.js'; --import { ReturningCallbackRow, ReturningRow } from '../parser/returning-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; --import { UpdateQueryNode } from '../operation-node/update-query-node.js'; --import { UpdateObject, UpdateObjectFactory } from '../parser/update-set-parser.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { UpdateResult } from './update-result.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { WhereInterface } from './where-interface.js'; --import { ReturningInterface } from './returning-interface.js'; --import { NoResultErrorConstructor } from './no-result-error.js'; --import { Selectable } from '../util/column-type.js'; --import { Explainable, ExplainFormat } from '../util/explainable.js'; --import { AliasedExpression, Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { KyselyTypeError } from '../util/type-error.js'; --import { Streamable } from '../util/streamable.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { JoinCallbackExpression, JoinReferenceExpression } from 'kysely/dist/cjs/parser/join-parser.js'; -+import { TableExpression, From, FromTables } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { SelectExpression, SelectCallback } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { ReturningCallbackRow, ReturningRow } from 'kysely/dist/cjs/parser/returning-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { UpdateQueryNode } from 'kysely/dist/cjs/operation-node/update-query-node.js'; -+import { UpdateObject, UpdateObjectFactory, ExtractUpdateTypeFromReferenceExpression } from 'kysely/dist/cjs/parser/update-set-parser.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { WhereInterface } from 'kysely/dist/cjs/query-builder/where-interface.js'; -+import { ReturningInterface } from 'kysely/dist/cjs/query-builder/returning-interface.js'; -+import { NoResultErrorConstructor } from 'kysely/dist/cjs/query-builder/no-result-error.js'; -+import { Selectable } from 'kysely/dist/cjs/util/column-type.js'; -+import { Explainable, ExplainFormat } from 'kysely/dist/cjs/util/explainable.js'; -+import { AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; -+import { Streamable } from 'kysely/dist/cjs/util/streamable.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { ValueExpression } from 'kysely/dist/cjs/parser/value-parser.js'; - export declare class UpdateQueryBuilder implements WhereInterface, ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: UpdateQueryBuilderProps); -@@ -625,6 +626,20 @@ export declare class UpdateQueryBuilder eb.val('61710)) -+ * .where('id', '=', '1') -+ * .executeTakeFirst() -+ * ``` -+ * - * On PostgreSQL you can chain `returning` to the query to get - * the updated rows' columns (or any other expression) as the - * return value: -@@ -682,6 +697,7 @@ export declare class UpdateQueryBuilder): UpdateQueryBuilder; - set(update: UpdateObjectFactory): UpdateQueryBuilder; -+ set>(key: RE, value: ValueExpression>): UpdateQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js -index 1207bfd..6d24d8f 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js -+++ b/node_modules/kysely/dist/cjs/query-builder/update-query-builder.js -@@ -65,10 +65,10 @@ class UpdateQueryBuilder { - queryNode: query_node_js_1.QueryNode.cloneWithJoin(this.#props.queryNode, (0, join_parser_js_1.parseJoin)('FullJoin', args)), - }); - } -- set(update) { -+ set(...args) { - return new UpdateQueryBuilder({ - ...this.#props, -- queryNode: update_query_node_js_1.UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, (0, update_set_parser_js_1.parseUpdateExpression)(update)), -+ queryNode: update_query_node_js_1.UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, (0, update_set_parser_js_1.parseUpdate)(...args)), - }); - } - returning(selection) { -diff --git a/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts b/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts -index 9de8d7e..2225ee1 100644 ---- a/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts -+++ b/node_modules/kysely/dist/cjs/query-builder/where-interface.d.ts -@@ -1,7 +1,7 @@ --import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; --import { ReferenceExpression } from '../parser/reference-parser.js'; --import { SqlBool } from '../util/type-utils.js'; --import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; - export interface WhereInterface { - /** - * Adds a `where` expression to the query. -diff --git a/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts b/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts -index 9635b1f..5c4caec 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts -+++ b/node_modules/kysely/dist/cjs/query-compiler/compiled-query.d.ts -@@ -1,4 +1,4 @@ --import { RootOperationNode } from './query-compiler.js'; -+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; - export interface CompiledQuery { - readonly query: RootOperationNode; - readonly sql: string; -diff --git a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts -index dbd954a..2f73125 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts -+++ b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.d.ts -@@ -48,7 +48,7 @@ import { RootOperationNode, QueryCompiler } from './query-compiler.js'; - import { HavingNode } from '../operation-node/having-node.js'; - import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; - import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { AlterTableColumnAlterationNode, AlterTableNode } from '../operation-node/alter-table-node.js'; - import { DropColumnNode } from '../operation-node/drop-column-node.js'; - import { RenameColumnNode } from '../operation-node/rename-column-node.js'; - import { AlterColumnNode } from '../operation-node/alter-column-node.js'; -@@ -88,6 +88,11 @@ import { JSONPathNode } from '../operation-node/json-path-node.js'; - import { JSONPathLegNode } from '../operation-node/json-path-leg-node.js'; - import { JSONOperatorChainNode } from '../operation-node/json-operator-chain-node.js'; - import { TupleNode } from '../operation-node/tuple-node.js'; -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+import { TriggerEventNode } from '../operation-node/trigger-event-node.js'; -+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js'; - export declare class DefaultQueryCompiler extends OperationNodeVisitor implements QueryCompiler { - #private; - protected get numParameters(): number; -@@ -124,6 +129,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitTable(node: TableNode): void; - protected visitSchemableIdentifier(node: SchemableIdentifierNode): void; - protected visitCreateTable(node: CreateTableNode): void; -+ protected visitCreateTrigger(node: CreateTriggerNode): void; -+ protected visitTriggerEvent(node: TriggerEventNode): void; -+ protected visitTriggerOrder(node: TriggerOrderNode): void; -+ protected visitDropTrigger(node: DropTriggerNode): void; - protected visitColumnDefinition(node: ColumnDefinitionNode): void; - protected getAutoIncrement(): string; - protected visitReferences(node: ReferencesNode): void; -@@ -184,6 +193,7 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitJSONPath(node: JSONPathNode): void; - protected visitJSONPathLeg(node: JSONPathLegNode): void; - protected visitJSONOperatorChain(node: JSONOperatorChainNode): void; -+ protected visitAddIndex(node: AddIndexNode): void; - protected append(str: string): void; - protected appendValue(parameter: unknown): void; - protected getLeftIdentifierWrapper(): string; -@@ -197,4 +207,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected addParameter(parameter: unknown): void; - protected appendImmediateValue(value: unknown): void; - protected sortSelectModifiers(arr: SelectModifierNode[]): ReadonlyArray; -+ protected compileColumnAlterations(columnAlterations: readonly AlterTableColumnAlterationNode[]): void; -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ protected announcesNewColumnDataType(): boolean; - } -diff --git a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js -index faf80c6..e1c4561 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js -+++ b/node_modules/kysely/dist/cjs/query-compiler/default-query-compiler.js -@@ -1,6 +1,7 @@ - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DefaultQueryCompiler = void 0; -+const create_table_node_js_1 = require("../operation-node/create-table-node.js"); - const insert_query_node_js_1 = require("../operation-node/insert-query-node.js"); - const operation_node_visitor_js_1 = require("../operation-node/operation-node-visitor.js"); - const operator_node_js_1 = require("../operation-node/operator-node.js"); -@@ -32,6 +33,7 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - const wrapInParens = this.parentNode !== undefined && - !parens_node_js_1.ParensNode.is(this.parentNode) && - !insert_query_node_js_1.InsertQueryNode.is(this.parentNode) && -+ !create_table_node_js_1.CreateTableNode.is(this.parentNode) && - !create_view_node_js_1.CreateViewNode.is(this.parentNode) && - !set_operation_node_js_1.SetOperationNode.is(this.parentNode); - if (this.parentNode === undefined && node.explain) { -@@ -348,17 +350,83 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.append('if not exists '); - } - this.visitNode(node.table); -- this.append(' ('); -- this.compileList([...node.columns, ...(node.constraints ?? [])]); -- this.append(')'); -- if (node.onCommit) { -- this.append(' on commit '); -- this.append(node.onCommit); -+ if (node.selectQuery) { -+ this.append(' as '); -+ this.visitNode(node.selectQuery); - } -- if (node.endModifiers && node.endModifiers.length > 0) { -- this.append(' '); -- this.compileList(node.endModifiers, ' '); -+ else { -+ this.append(' ('); -+ this.compileList([...node.columns, ...(node.constraints ?? [])]); -+ this.append(')'); -+ if (node.onCommit) { -+ this.append(' on commit '); -+ this.append(node.onCommit); -+ } -+ if (node.endModifiers && node.endModifiers.length > 0) { -+ this.append(' '); -+ this.compileList(node.endModifiers, ' '); -+ } -+ } -+ } -+ visitCreateTrigger(node) { -+ if (!node.time) -+ throw new Error('Trigger time is required.'); -+ if (!node.events) -+ throw new Error('Trigger event is required.'); -+ if (!node.table) -+ throw new Error('Trigger table is required.'); -+ this.append('create '); -+ if (node.temporary) { -+ this.append('temporary '); - } -+ if (node.orReplace) { -+ this.append('or replace '); -+ } -+ this.append('trigger '); -+ if (node.ifNotExists) { -+ this.append('if not exists '); -+ } -+ this.visitNode(node.name); -+ this.append(` ${node.time} `); -+ this.compileList(node.events, ' or '); -+ this.append(' on '); -+ this.visitNode(node.table); -+ if (node.forEach) -+ this.append(` for each ${node.forEach} `); -+ if (node.when) { -+ this.append(' when '); -+ this.visitNode(node.when); -+ } -+ if (node.order) -+ this.visitNode(node.order); -+ if (node.queries) { -+ this.append(' begin '); -+ this.compileList(node.queries, '; '); -+ this.append('; '); -+ this.append('end'); -+ } -+ else if (node.function) { -+ this.append(' execute function '); -+ this.visitNode(node.function); -+ } -+ } -+ visitTriggerEvent(node) { -+ this.append(`${node.event} `); -+ if (node.event === 'update' && node.columns) { -+ this.append('of '); -+ this.compileList(node.columns, ', '); -+ } -+ } -+ visitTriggerOrder(node) { -+ this.append(`${node.order} `); -+ this.visitNode(node.otherTriggerName); -+ } -+ visitDropTrigger(node) { -+ this.append('drop trigger '); -+ if (node.ifExists) { -+ this.append('if exists '); -+ } -+ this.visitNode(node.name); - } - visitColumnDefinition(node) { - this.visitNode(node.column); -@@ -385,6 +453,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - if (node.unique) { - this.append(' unique'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.primaryKey) { - this.append(' primary key'); - } -@@ -565,6 +636,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.compileList(node.columns); - this.append(')'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.where) { - this.append(' '); - this.visitNode(node.where); -@@ -617,7 +691,11 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.name); - this.append(' '); - } -- this.append('unique ('); -+ this.append('unique'); -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } -+ this.append(' ('); - this.compileList(node.columns); - this.append(')'); - } -@@ -698,7 +776,13 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.dropConstraint); - } - if (node.columnAlterations) { -- this.compileList(node.columnAlterations); -+ this.compileColumnAlterations(node.columnAlterations); -+ } -+ if (node.addIndex) { -+ this.visitNode(node.addIndex); -+ } -+ if (node.dropIndex) { -+ this.visitNode(node.dropIndex); - } - } - visitAddColumn(node) { -@@ -720,7 +804,9 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.column); - this.append(' '); - if (node.dataType) { -- this.append('type '); -+ if (this.announcesNewColumnDataType()) { -+ this.append('type '); -+ } - this.visitNode(node.dataType); - if (node.dataTypeExpression) { - this.append('using '); -@@ -1006,6 +1092,23 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - this.visitNode(node.values[i]); - } - } -+ visitAddIndex(node) { -+ this.append('add '); -+ if (node.unique) { -+ this.append('unique '); -+ } -+ this.append('index '); -+ this.visitNode(node.name); -+ if (node.columns) { -+ this.append(' ('); -+ this.compileList(node.columns); -+ this.append(')'); -+ } -+ if (node.using) { -+ this.append(' using '); -+ this.visitNode(node.using); -+ } -+ } - append(str) { - this.#sql += str; - } -@@ -1079,6 +1182,16 @@ class DefaultQueryCompiler extends operation_node_visitor_js_1.OperationNodeVisi - : 1); - return (0, object_utils_js_1.freeze)(arr); - } -+ compileColumnAlterations(columnAlterations) { -+ this.compileList(columnAlterations); -+ } -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ announcesNewColumnDataType() { -+ return true; -+ } - } - exports.DefaultQueryCompiler = DefaultQueryCompiler; - const SELECT_MODIFIER_SQL = (0, object_utils_js_1.freeze)({ -diff --git a/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts b/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts -index e3a8555..96702eb 100644 ---- a/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts -+++ b/node_modules/kysely/dist/cjs/query-compiler/query-compiler.d.ts -@@ -1,18 +1,20 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { CreateIndexNode } from '../operation-node/create-index-node.js'; --import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; --import { CreateTableNode } from '../operation-node/create-table-node.js'; --import { CreateTypeNode } from '../operation-node/create-type-node.js'; --import { CreateViewNode } from '../operation-node/create-view-node.js'; --import { DropIndexNode } from '../operation-node/drop-index-node.js'; --import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { DropTableNode } from '../operation-node/drop-table-node.js'; --import { DropTypeNode } from '../operation-node/drop-type-node.js'; --import { DropViewNode } from '../operation-node/drop-view-node.js'; --import { QueryNode } from '../operation-node/query-node.js'; --import { RawNode } from '../operation-node/raw-node.js'; --import { CompiledQuery } from './compiled-query.js'; --export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { CreateIndexNode } from 'kysely/dist/cjs/operation-node/create-index-node.js'; -+import { CreateSchemaNode } from 'kysely/dist/cjs/operation-node/create-schema-node.js'; -+import { CreateTableNode } from 'kysely/dist/cjs/operation-node/create-table-node.js'; -+import { CreateTriggerNode } from 'kysely/dist/cjs/operation-node/create-trigger-node.js'; -+import { CreateTypeNode } from 'kysely/dist/cjs/operation-node/create-type-node.js'; -+import { CreateViewNode } from 'kysely/dist/cjs/operation-node/create-view-node.js'; -+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js'; -+import { DropSchemaNode } from 'kysely/dist/cjs/operation-node/drop-schema-node.js'; -+import { DropTableNode } from 'kysely/dist/cjs/operation-node/drop-table-node.js'; -+import { DropTriggerNode } from 'kysely/dist/cjs/operation-node/drop-trigger-node.js'; -+import { DropTypeNode } from 'kysely/dist/cjs/operation-node/drop-type-node.js'; -+import { DropViewNode } from 'kysely/dist/cjs/operation-node/drop-view-node.js'; -+import { QueryNode } from 'kysely/dist/cjs/operation-node/query-node.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode | CreateTriggerNode | DropTriggerNode; - /** - * a `QueryCompiler` compiles a query expressed as a tree of `OperationNodes` into SQL. - */ -diff --git a/node_modules/kysely/dist/cjs/query-creator.d.ts b/node_modules/kysely/dist/cjs/query-creator.d.ts -index 8399ab7..b8262e4 100644 ---- a/node_modules/kysely/dist/cjs/query-creator.d.ts -+++ b/node_modules/kysely/dist/cjs/query-creator.d.ts -@@ -1,17 +1,17 @@ --import { SelectQueryBuilder } from './query-builder/select-query-builder.js'; --import { InsertQueryBuilder } from './query-builder/insert-query-builder.js'; --import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js'; --import { UpdateQueryBuilder } from './query-builder/update-query-builder.js'; --import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from './parser/table-parser.js'; --import { QueryExecutor } from './query-executor/query-executor.js'; --import { CommonTableExpression, QueryCreatorWithCommonTableExpression, RecursiveCommonTableExpression } from './parser/with-parser.js'; --import { WithNode } from './operation-node/with-node.js'; --import { InsertResult } from './query-builder/insert-result.js'; --import { DeleteResult } from './query-builder/delete-result.js'; --import { UpdateResult } from './query-builder/update-result.js'; --import { KyselyPlugin } from './plugin/kysely-plugin.js'; --import { CTEBuilderCallback } from './query-builder/cte-builder.js'; --import { CallbackSelection, SelectCallback, SelectExpression, Selection } from './parser/select-parser.js'; -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js'; -+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { CommonTableExpression, QueryCreatorWithCommonTableExpression, RecursiveCommonTableExpression } from 'kysely/dist/cjs/parser/with-parser.js'; -+import { WithNode } from 'kysely/dist/cjs/operation-node/with-node.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { CTEBuilderCallback } from 'kysely/dist/cjs/query-builder/cte-builder.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js'; - export declare class QueryCreator { - #private; - constructor(props: QueryCreatorProps); -diff --git a/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts b/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts -index 9b5ec45..767ca78 100644 ---- a/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts -+++ b/node_modules/kysely/dist/cjs/query-executor/query-executor-provider.d.ts -@@ -1,4 +1,4 @@ --import { QueryExecutor } from './query-executor.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; - /** - * @internal - * @private -diff --git a/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts b/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts -index 6c57fca..c17e603 100644 ---- a/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts -+++ b/node_modules/kysely/dist/cjs/query-executor/query-executor.d.ts -@@ -1,10 +1,10 @@ --import { ConnectionProvider } from '../driver/connection-provider.js'; --import { QueryResult } from '../driver/database-connection.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { RootOperationNode } from '../query-compiler/query-compiler.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { QueryId } from '../util/query-id.js'; --import { DialectAdapter } from '../dialect/dialect-adapter.js'; -+import { ConnectionProvider } from 'kysely/dist/cjs/driver/connection-provider.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { RootOperationNode } from 'kysely/dist/cjs/query-compiler/query-compiler.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { DialectAdapter } from 'kysely/dist/cjs/dialect/dialect-adapter.js'; - /** - * This interface abstracts away the details of how to compile a query into SQL - * and execute it. Instead of passing around all those details, {@link SelectQueryBuilder} -diff --git a/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts b/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts -index 9016b18..c9e130b 100644 ---- a/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/raw-builder/raw-builder.d.ts -@@ -1,10 +1,10 @@ --import { QueryResult } from '../driver/database-connection.js'; --import { RawNode } from '../operation-node/raw-node.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { QueryExecutorProvider } from '../query-executor/query-executor-provider.js'; --import { QueryId } from '../util/query-id.js'; --import { AliasableExpression, AliasedExpression, Expression } from '../expression/expression.js'; -+import { QueryResult } from 'kysely/dist/cjs/driver/database-connection.js'; -+import { RawNode } from 'kysely/dist/cjs/operation-node/raw-node.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { QueryExecutorProvider } from 'kysely/dist/cjs/query-executor/query-executor-provider.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { AliasableExpression, AliasedExpression, Expression } from 'kysely/dist/cjs/expression/expression.js'; - /** - * An instance of this class can be used to create raw SQL snippets or queries. - * -diff --git a/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts -index 01a5163..f53cd32 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-column-builder.d.ts -@@ -1,7 +1,7 @@ --import { AlterColumnNode } from '../operation-node/alter-column-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { DataTypeExpression } from '../parser/data-type-parser.js'; --import { DefaultValueExpression } from '../parser/default-value-parser.js'; -+import { AlterColumnNode } from 'kysely/dist/cjs/operation-node/alter-column-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js'; -+import { DefaultValueExpression } from 'kysely/dist/cjs/parser/default-value-parser.js'; - export declare class AlterColumnBuilder { - #private; - constructor(column: string); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts -index 62afe0f..12e0dcf 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.d.ts -@@ -1,11 +1,11 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OnModifyForeignAction } from '../operation-node/references-node.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryId } from '../util/query-id.js'; --import { ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderInterface } from './foreign-key-constraint-builder.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { ForeignKeyConstraintBuilder, ForeignKeyConstraintBuilderInterface } from 'kysely/dist/cjs/schema/foreign-key-constraint-builder.js'; - export declare class AlterTableAddForeignKeyConstraintBuilder implements ForeignKeyConstraintBuilderInterface, OperationNodeSource, Compilable { - #private; - constructor(props: AlterTableAddForeignKeyConstraintBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts -new file mode 100644 -index 0000000..7b94e46 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.d.ts -@@ -0,0 +1,104 @@ -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { IndexType } from 'kysely/dist/cjs/operation-node/create-index-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OrderedColumnName } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+export declare class AlterTableAddIndexBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: AlterTableAddIndexBuilderProps); -+ /** -+ * Makes the index unique. -+ */ -+ unique(): AlterTableAddIndexBuilder; -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column: OrderedColumnName): AlterTableAddIndexBuilder; -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns: OrderedColumnName[]): AlterTableAddIndexBuilder; -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression: Expression): AlterTableAddIndexBuilder; -+ /** -+ * Specifies the index type. -+ */ -+ using(indexType: IndexType): AlterTableAddIndexBuilder; -+ using(indexType: string): AlterTableAddIndexBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): AlterTableNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface AlterTableAddIndexBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: AlterTableNode; -+} -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js -new file mode 100644 -index 0000000..005284b ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-add-index-builder.js -@@ -0,0 +1,146 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.AlterTableAddIndexBuilder = void 0; -+const add_index_node_js_1 = require("../operation-node/add-index-node.js"); -+const alter_table_node_js_1 = require("../operation-node/alter-table-node.js"); -+const raw_node_js_1 = require("../operation-node/raw-node.js"); -+const reference_parser_js_1 = require("../parser/reference-parser.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+class AlterTableAddIndexBuilder { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ /** -+ * Makes the index unique. -+ */ -+ unique() { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ unique: true, -+ }), -+ }), -+ }); -+ } -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [(0, reference_parser_js_1.parseOrderedColumnName)(column)]), -+ }), -+ }); -+ } -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, columns.map(reference_parser_js_1.parseOrderedColumnName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [expression.toOperationNode()]), -+ }), -+ }); -+ } -+ using(indexType) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ using: raw_node_js_1.RawNode.createWithSql(indexType), -+ }), -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+exports.AlterTableAddIndexBuilder = AlterTableAddIndexBuilder; -+(0, prevent_await_js_1.preventAwait)(AlterTableAddIndexBuilder, "don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts -index b0726ca..07e7284 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-builder.d.ts -@@ -1,16 +1,18 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { ColumnDefinitionBuilderCallback } from './column-definition-builder.js'; --import { QueryId } from '../util/query-id.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { DataTypeExpression } from '../parser/data-type-parser.js'; --import { Expression } from '../expression/expression.js'; --import { AlterColumnBuilderCallback } from './alter-column-builder.js'; --import { AlterTableExecutor } from './alter-table-executor.js'; --import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js'; --import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { ColumnDefinitionBuilderCallback } from 'kysely/dist/cjs/schema/column-definition-builder.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { AlterColumnBuilderCallback } from 'kysely/dist/cjs/schema/alter-column-builder.js'; -+import { AlterTableExecutor } from 'kysely/dist/cjs/schema/alter-table-executor.js'; -+import { AlterTableAddForeignKeyConstraintBuilder } from 'kysely/dist/cjs/schema/alter-table-add-foreign-key-constraint-builder.js'; -+import { AlterTableDropConstraintBuilder } from 'kysely/dist/cjs/schema/alter-table-drop-constraint-builder.js'; -+import { AlterTableAddIndexBuilder } from 'kysely/dist/cjs/schema/alter-table-add-index-builder.js'; -+import { UniqueConstraintNodeBuilderCallback } from 'kysely/dist/cjs/schema/unique-constraint-builder.js'; - /** - * This builder can be used to create a `alter table` query. - */ -@@ -35,7 +37,7 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName: string, columns: string[]): AlterTableExecutor; -+ addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor; - /** - * See {@link CreateTableBuilder.addCheckConstraint} - */ -@@ -53,6 +55,44 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - */ - addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor; - dropConstraint(constraintName: string): AlterTableDropConstraintBuilder; -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName: string): AlterTableAddIndexBuilder; -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName: string): AlterTableExecutor; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-builder.js b/node_modules/kysely/dist/cjs/schema/alter-table-builder.js -index a3fb975..0c586d8 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-builder.js -@@ -25,6 +25,10 @@ const alter_table_executor_js_1 = require("./alter-table-executor.js"); - const alter_table_add_foreign_key_constraint_builder_js_1 = require("./alter-table-add-foreign-key-constraint-builder.js"); - const alter_table_drop_constraint_builder_js_1 = require("./alter-table-drop-constraint-builder.js"); - const primary_constraint_node_js_1 = require("../operation-node/primary-constraint-node.js"); -+const drop_index_node_js_1 = require("../operation-node/drop-index-node.js"); -+const add_index_node_js_1 = require("../operation-node/add-index-node.js"); -+const alter_table_add_index_builder_js_1 = require("./alter-table-add-index-builder.js"); -+const unique_constraint_builder_js_1 = require("./unique-constraint-builder.js"); - /** - * This builder can be used to create a `alter table` query. - */ -@@ -85,11 +89,12 @@ class AlterTableBuilder { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = object_utils_js_1.noop) { -+ const uniqueConstraintBuilder = build(new unique_constraint_builder_js_1.UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName))); - return new alter_table_executor_js_1.AlterTableExecutor({ - ...this.#props, - node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -- addConstraint: add_constraint_node_js_1.AddConstraintNode.create(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)), -+ addConstraint: add_constraint_node_js_1.AddConstraintNode.create(uniqueConstraintBuilder.toOperationNode()), - }), - }); - } -@@ -136,6 +141,58 @@ class AlterTableBuilder { - }), - }); - } -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName) { -+ return new alter_table_add_index_builder_js_1.AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: add_index_node_js_1.AddIndexNode.create(indexName), -+ }), -+ }); -+ } -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName) { -+ return new alter_table_executor_js_1.AlterTableExecutor({ -+ ...this.#props, -+ node: alter_table_node_js_1.AlterTableNode.cloneWithTableProps(this.#props.node, { -+ dropIndex: drop_index_node_js_1.DropIndexNode.create(indexName), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts -index 02cad63..6b40efd 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-drop-constraint-builder.d.ts -@@ -1,9 +1,9 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryId } from '../util/query-id.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class AlterTableDropConstraintBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: AlterTableDropConstraintBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts b/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts -index ca2aef1..6b8d89f 100644 ---- a/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/alter-table-executor.d.ts -@@ -1,9 +1,9 @@ --import { AlterTableNode } from '../operation-node/alter-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryId } from '../util/query-id.js'; -+import { AlterTableNode } from 'kysely/dist/cjs/operation-node/alter-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class AlterTableExecutor implements OperationNodeSource, Compilable { - #private; - constructor(props: AlterTableExecutorProps); -diff --git a/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts b/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts -index 2a99c4c..9633440 100644 ---- a/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/column-definition-builder.d.ts -@@ -1,8 +1,8 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OnModifyForeignAction } from '../operation-node/references-node.js'; --import { ColumnDefinitionNode } from '../operation-node/column-definition-node.js'; --import { DefaultValueExpression } from '../parser/default-value-parser.js'; --import { Expression } from '../expression/expression.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js'; -+import { ColumnDefinitionNode } from 'kysely/dist/cjs/operation-node/column-definition-node.js'; -+import { DefaultValueExpression } from 'kysely/dist/cjs/parser/default-value-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; - export declare class ColumnDefinitionBuilder implements OperationNodeSource { - #private; - constructor(node: ColumnDefinitionNode); -@@ -183,6 +183,31 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource { - * ``` - */ - modifyFront(modifier: Expression): ColumnDefinitionBuilder; -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct(): ColumnDefinitionBuilder; - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/cjs/schema/column-definition-builder.js b/node_modules/kysely/dist/cjs/schema/column-definition-builder.js -index aebbf98..eef0fcc 100644 ---- a/node_modules/kysely/dist/cjs/schema/column-definition-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/column-definition-builder.js -@@ -258,6 +258,33 @@ class ColumnDefinitionBuilder { - modifyFront(modifier) { - return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWithFrontModifier(this.#node, modifier.toOperationNode())); - } -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new ColumnDefinitionBuilder(column_definition_node_js_1.ColumnDefinitionNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts -index 27502c4..38bb2cb 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-index-builder.d.ts -@@ -1,14 +1,14 @@ --import { CreateIndexNode, IndexType } from '../operation-node/create-index-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { ExtractColumnNameFromOrderedColumnName, OrderedColumnName } from '../parser/reference-parser.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { Expression } from '../expression/expression.js'; --import { ComparisonOperatorExpression } from '../parser/binary-operation-parser.js'; --import { ExpressionBuilder } from '../expression/expression-builder.js'; --import { ShallowRecord, SqlBool } from '../util/type-utils.js'; -+import { CreateIndexNode, IndexType } from 'kysely/dist/cjs/operation-node/create-index-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ExtractColumnNameFromOrderedColumnName, OrderedColumnName } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { ComparisonOperatorExpression } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ExpressionBuilder } from 'kysely/dist/cjs/expression/expression-builder.js'; -+import { ShallowRecord, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; - export declare class CreateIndexBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateIndexBuilderProps); -@@ -22,6 +22,29 @@ export declare class CreateIndexBuilder implements OperationNodeSourc - * Makes the index unique. - */ - unique(): CreateIndexBuilder; -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct(): CreateIndexBuilder; - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/cjs/schema/create-index-builder.js b/node_modules/kysely/dist/cjs/schema/create-index-builder.js -index 4de7de6..e0e00a0 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-index-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/create-index-builder.js -@@ -39,6 +39,36 @@ class CreateIndexBuilder { - }), - }); - } -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new CreateIndexBuilder({ -+ ...this.#props, -+ node: create_index_node_js_1.CreateIndexNode.cloneWith(this.#props.node, { -+ nullsNotDistinct: true, -+ }), -+ }); -+ } - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts -index 34974f5..fb0068d 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-schema-builder.d.ts -@@ -1,9 +1,9 @@ --import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { CreateSchemaNode } from 'kysely/dist/cjs/operation-node/create-schema-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class CreateSchemaBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateSchemaBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts -index e160575..e5e27e4 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-table-builder.d.ts -@@ -1,13 +1,14 @@ --import { CreateTableNode, OnCommitAction } from '../operation-node/create-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { ColumnDefinitionBuilder } from './column-definition-builder.js'; --import { QueryId } from '../util/query-id.js'; --import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js'; --import { DataTypeExpression } from '../parser/data-type-parser.js'; --import { Expression } from '../expression/expression.js'; -+import { CreateTableNode, OnCommitAction } from 'kysely/dist/cjs/operation-node/create-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { ColumnDefinitionBuilder } from 'kysely/dist/cjs/schema/column-definition-builder.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { ForeignKeyConstraintBuilder } from 'kysely/dist/cjs/schema/foreign-key-constraint-builder.js'; -+import { DataTypeExpression } from 'kysely/dist/cjs/parser/data-type-parser.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; -+import { UniqueConstraintNodeBuilderCallback } from 'kysely/dist/cjs/schema/unique-constraint-builder.js'; - /** - * This builder can be used to create a `create table` query. - */ -@@ -56,7 +57,7 @@ export declare class CreateTableBuilder builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName: string, columns: C[]): CreateTableBuilder; -+ addUniqueConstraint(constraintName: string, columns: C[], build?: UniqueConstraintNodeBuilderCallback): CreateTableBuilder; - /** - * Adds a check constraint. - * -@@ -205,6 +211,26 @@ export declare class CreateTableBuilder): CreateTableBuilder; -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression: Expression): CreateTableBuilder; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/create-table-builder.js b/node_modules/kysely/dist/cjs/schema/create-table-builder.js -index 5053177..73590bf 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-table-builder.js -+++ b/node_modules/kysely/dist/cjs/schema/create-table-builder.js -@@ -15,6 +15,8 @@ const unique_constraint_node_js_1 = require("../operation-node/unique-constraint - const check_constraint_node_js_1 = require("../operation-node/check-constraint-node.js"); - const table_parser_js_1 = require("../parser/table-parser.js"); - const on_commit_action_parse_js_1 = require("../parser/on-commit-action-parse.js"); -+const unique_constraint_builder_js_1 = require("./unique-constraint-builder.js"); -+const expression_parser_js_1 = require("../parser/expression-parser.js"); - /** - * This builder can be used to create a `create table` query. - */ -@@ -86,7 +88,7 @@ class CreateTableBuilder { - * ``` - * - * With this method, it's once again good to remember that Kysely just builds the -- * query and doesn't provide the same API for all databses. For example, some -+ * query and doesn't provide the same API for all databases. For example, some - * databases like older MySQL don't support the `references` statement in the - * column definition. Instead foreign key constraints need to be defined in the - * `create table` query. See the next example: -@@ -145,11 +147,17 @@ class CreateTableBuilder { - * ```ts - * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name']) - * ``` -+ * -+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows: -+ * ```ts -+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = object_utils_js_1.noop) { -+ const uniqueConstraintBuilder = build(new unique_constraint_builder_js_1.UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName))); - return new CreateTableBuilder({ - ...this.#props, -- node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, unique_constraint_node_js_1.UniqueConstraintNode.create(columns, constraintName)), -+ node: create_table_node_js_1.CreateTableNode.cloneWithConstraint(this.#props.node, uniqueConstraintBuilder.toOperationNode()), - }); - } - /** -@@ -272,6 +280,33 @@ class CreateTableBuilder { - node: create_table_node_js_1.CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()), - }); - } -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression) { -+ return new CreateTableBuilder({ -+ ...this.#props, -+ node: create_table_node_js_1.CreateTableNode.cloneWith(this.#props.node, { -+ selectQuery: (0, expression_parser_js_1.parseExpression)(expression), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts -new file mode 100644 -index 0000000..6106ec7 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.d.ts -@@ -0,0 +1,68 @@ -+import { CreateTriggerNode } from 'kysely/dist/cjs/operation-node/create-trigger-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from 'kysely/dist/cjs/parser/binary-operation-parser.js'; -+import { ReferenceExpression } from 'kysely/dist/cjs/parser/reference-parser.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { AnyColumn, AnyColumnWithTable, SqlBool } from 'kysely/dist/cjs/util/type-utils.js'; -+import { TriggerEvent } from 'kysely/dist/cjs/operation-node/trigger-event-node.js'; -+import { ExpressionOrFactory } from 'kysely/dist/cjs/parser/expression-parser.js'; -+import { TriggerQueryCreator } from 'kysely/dist/cjs/trigger-query-creator.js'; -+export type DatabaseWithOldNewTables = DB & { -+ old: DB[TB]; -+ new: DB[TB]; -+}; -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+export declare class CreateTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: CreateTriggerBuilderProps); -+ before(): CreateTriggerBuilder; -+ after(): CreateTriggerBuilder; -+ insteadOf(): CreateTriggerBuilder; -+ addEvent(event: E, columns?: E extends 'update' ? AnyColumn[] : never[]): CreateTriggerBuilder; -+ forEachRow(): CreateTriggerBuilder; -+ forEachStatement(): CreateTriggerBuilder; -+ follows(otherTriggerName: string): CreateTriggerBuilder; -+ precedes(otherTriggerName: string): CreateTriggerBuilder; -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table: TE, schema?: string): CreateTriggerBuilder; -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary(): CreateTriggerBuilder; -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists(): CreateTriggerBuilder; -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace(): CreateTriggerBuilder; -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build: QueryCreatorCallback): CreateTriggerBuilder; -+ function(name: string, args: ReadonlyArray>): CreateTriggerBuilder; -+ when, 'old' | 'new'>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList): CreateTriggerBuilder; -+ when(factory: ExpressionOrFactory, 'old' | 'new', SqlBool>): CreateTriggerBuilder; -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): CreateTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface CreateTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: CreateTriggerNode; -+} -+export type QueryCreatorCallback = (creator: TriggerQueryCreator) => OperationNodeSource; -diff --git a/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js -new file mode 100644 -index 0000000..ebc814c ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/create-trigger-builder.js -@@ -0,0 +1,180 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.CreateTriggerBuilder = void 0; -+const create_trigger_node_js_1 = require("../operation-node/create-trigger-node.js"); -+const query_node_js_1 = require("../operation-node/query-node.js"); -+const binary_operation_parser_js_1 = require("../parser/binary-operation-parser.js"); -+const reference_parser_js_1 = require("../parser/reference-parser.js"); -+const immediate_value_transformer_js_1 = require("../plugin/immediate-value/immediate-value-transformer.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+const identifier_node_js_1 = require("../operation-node/identifier-node.js"); -+const trigger_order_node_js_1 = require("../operation-node/trigger-order-node.js"); -+const trigger_event_node_js_1 = require("../operation-node/trigger-event-node.js"); -+const function_node_js_1 = require("../operation-node/function-node.js"); -+const trigger_query_creator_js_1 = require("../trigger-query-creator.js"); -+const table_node_js_1 = require("../operation-node/table-node.js"); -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+class CreateTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ before() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'before', -+ }), -+ }); -+ } -+ after() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'after', -+ }), -+ }); -+ } -+ insteadOf() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'instead of', -+ }), -+ }); -+ } -+ addEvent(event, columns) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWithEvent(this.#props.node, trigger_event_node_js_1.TriggerEventNode.create(event, columns?.map(reference_parser_js_1.parseOrderedColumnName))), -+ }); -+ } -+ forEachRow() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `row`, -+ }), -+ }); -+ } -+ forEachStatement() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `statement`, -+ }), -+ }); -+ } -+ follows(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ order: trigger_order_node_js_1.TriggerOrderNode.create('follows', identifier_node_js_1.IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ precedes(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ order: trigger_order_node_js_1.TriggerOrderNode.create('precedes', identifier_node_js_1.IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table, schema) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ table: schema -+ ? table_node_js_1.TableNode.createWithSchema(schema, table) -+ : table_node_js_1.TableNode.create(table), -+ }), -+ }); -+ } -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ temporary: true, -+ }), -+ }); -+ } -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ ifNotExists: true, -+ }), -+ }); -+ } -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ orReplace: true, -+ }), -+ }); -+ } -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build) { -+ const node = build(new trigger_query_creator_js_1.TriggerQueryCreator({ executor: this.#props.executor })).toOperationNode(); -+ if (!query_node_js_1.QueryNode.is(node)) -+ throw new Error('Must be a query node.'); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWithQuery(this.#props.node, node), -+ }); -+ } -+ function(name, args) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ function: function_node_js_1.FunctionNode.create(name, (0, reference_parser_js_1.parseReferenceExpressionOrList)(args)), -+ }), -+ }); -+ } -+ when(...args) { -+ const transformer = new immediate_value_transformer_js_1.ImmediateValueTransformer(); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: create_trigger_node_js_1.CreateTriggerNode.cloneWith(this.#props.node, { -+ when: transformer.transformNode((0, binary_operation_parser_js_1.parseValueBinaryOperationOrExpression)(args)), -+ }), -+ }); -+ } -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+exports.CreateTriggerBuilder = CreateTriggerBuilder; -+(0, prevent_await_js_1.preventAwait)(CreateTriggerBuilder, "don't await CreateTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts -index 8cc367c..3845c7b 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-type-builder.d.ts -@@ -1,9 +1,9 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { CreateTypeNode } from '../operation-node/create-type-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { CreateTypeNode } from 'kysely/dist/cjs/operation-node/create-type-node.js'; - export declare class CreateTypeBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateTypeBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts b/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts -index 6786e99..de6f5cb 100644 ---- a/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/create-view-builder.d.ts -@@ -1,11 +1,11 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { CreateViewNode } from '../operation-node/create-view-node.js'; --import { RawBuilder } from '../raw-builder/raw-builder.js'; --import { SelectQueryBuilder } from '../query-builder/select-query-builder.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { CreateViewNode } from 'kysely/dist/cjs/operation-node/create-view-node.js'; -+import { RawBuilder } from 'kysely/dist/cjs/raw-builder/raw-builder.js'; -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; - export declare class CreateViewBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: CreateViewBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts -index 36357d4..20486d3 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-index-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropIndexNode } from '../operation-node/drop-index-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropIndexNode } from 'kysely/dist/cjs/operation-node/drop-index-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropIndexBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropIndexBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts -index 052411c..fc46202 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-schema-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropSchemaNode } from 'kysely/dist/cjs/operation-node/drop-schema-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropSchemaBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropSchemaBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts -index 824492a..c9ab11d 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-table-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropTableNode } from '../operation-node/drop-table-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropTableNode } from 'kysely/dist/cjs/operation-node/drop-table-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropTableBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropTableBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts -new file mode 100644 -index 0000000..8f86888 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.d.ts -@@ -0,0 +1,25 @@ -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { DropTriggerNode } from 'kysely/dist/cjs/operation-node/drop-trigger-node.js'; -+export declare class DropTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: DropTriggerBuilderProps); -+ ifExists(): DropTriggerBuilder; -+ cascade(): DropTriggerBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): DropTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface DropTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: DropTriggerNode; -+} -diff --git a/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js -new file mode 100644 -index 0000000..1c55383 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/drop-trigger-builder.js -@@ -0,0 +1,46 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.DropTriggerBuilder = void 0; -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+const object_utils_js_1 = require("../util/object-utils.js"); -+const drop_trigger_node_js_1 = require("../operation-node/drop-trigger-node.js"); -+class DropTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ ifExists() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: drop_trigger_node_js_1.DropTriggerNode.cloneWith(this.#props.node, { -+ ifExists: true, -+ }), -+ }); -+ } -+ cascade() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: drop_trigger_node_js_1.DropTriggerNode.cloneWith(this.#props.node, { -+ cascade: true, -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+exports.DropTriggerBuilder = DropTriggerBuilder; -+(0, prevent_await_js_1.preventAwait)(DropTriggerBuilder, "don't await DropTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts -index 1c93cb5..6fef602 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-type-builder.d.ts -@@ -1,9 +1,9 @@ --import { DropTypeNode } from '../operation-node/drop-type-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; -+import { DropTypeNode } from 'kysely/dist/cjs/operation-node/drop-type-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; - export declare class DropTypeBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropTypeBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts b/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts -index c16f06c..77b7070 100644 ---- a/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/drop-view-builder.d.ts -@@ -1,9 +1,9 @@ --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { Compilable } from '../util/compilable.js'; --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { QueryId } from '../util/query-id.js'; --import { DropViewNode } from '../operation-node/drop-view-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { Compilable } from 'kysely/dist/cjs/util/compilable.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { QueryId } from 'kysely/dist/cjs/util/query-id.js'; -+import { DropViewNode } from 'kysely/dist/cjs/operation-node/drop-view-node.js'; - export declare class DropViewBuilder implements OperationNodeSource, Compilable { - #private; - constructor(props: DropViewBuilderProps); -diff --git a/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts -index 1d29ef8..02fb0b4 100644 ---- a/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/foreign-key-constraint-builder.d.ts -@@ -1,6 +1,6 @@ --import { ForeignKeyConstraintNode } from '../operation-node/foreign-key-constraint-node.js'; --import { OperationNodeSource } from '../operation-node/operation-node-source.js'; --import { OnModifyForeignAction } from '../operation-node/references-node.js'; -+import { ForeignKeyConstraintNode } from 'kysely/dist/cjs/operation-node/foreign-key-constraint-node.js'; -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { OnModifyForeignAction } from 'kysely/dist/cjs/operation-node/references-node.js'; - export interface ForeignKeyConstraintBuilderInterface { - onDelete(onDelete: OnModifyForeignAction): R; - onUpdate(onUpdate: OnModifyForeignAction): R; -diff --git a/node_modules/kysely/dist/cjs/schema/schema.d.ts b/node_modules/kysely/dist/cjs/schema/schema.d.ts -index 8634b84..52b57cb 100644 ---- a/node_modules/kysely/dist/cjs/schema/schema.d.ts -+++ b/node_modules/kysely/dist/cjs/schema/schema.d.ts -@@ -1,20 +1,22 @@ --import { QueryExecutor } from '../query-executor/query-executor.js'; --import { AlterTableBuilder } from './alter-table-builder.js'; --import { CreateIndexBuilder } from './create-index-builder.js'; --import { CreateSchemaBuilder } from './create-schema-builder.js'; --import { CreateTableBuilder } from './create-table-builder.js'; --import { DropIndexBuilder } from './drop-index-builder.js'; --import { DropSchemaBuilder } from './drop-schema-builder.js'; --import { DropTableBuilder } from './drop-table-builder.js'; --import { CreateViewBuilder } from './create-view-builder.js'; --import { DropViewBuilder } from './drop-view-builder.js'; --import { KyselyPlugin } from '../plugin/kysely-plugin.js'; --import { CreateTypeBuilder } from './create-type-builder.js'; --import { DropTypeBuilder } from './drop-type-builder.js'; -+import { QueryExecutor } from 'kysely/dist/cjs/query-executor/query-executor.js'; -+import { AlterTableBuilder } from 'kysely/dist/cjs/schema/alter-table-builder.js'; -+import { CreateIndexBuilder } from 'kysely/dist/cjs/schema/create-index-builder.js'; -+import { CreateSchemaBuilder } from 'kysely/dist/cjs/schema/create-schema-builder.js'; -+import { CreateTableBuilder } from 'kysely/dist/cjs/schema/create-table-builder.js'; -+import { DropIndexBuilder } from 'kysely/dist/cjs/schema/drop-index-builder.js'; -+import { DropSchemaBuilder } from 'kysely/dist/cjs/schema/drop-schema-builder.js'; -+import { DropTableBuilder } from 'kysely/dist/cjs/schema/drop-table-builder.js'; -+import { CreateViewBuilder } from 'kysely/dist/cjs/schema/create-view-builder.js'; -+import { DropViewBuilder } from 'kysely/dist/cjs/schema/drop-view-builder.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { CreateTypeBuilder } from 'kysely/dist/cjs/schema/create-type-builder.js'; -+import { DropTypeBuilder } from 'kysely/dist/cjs/schema/drop-type-builder.js'; -+import { CreateTriggerBuilder } from 'kysely/dist/cjs/schema/create-trigger-builder.js'; -+import { DropTriggerBuilder } from 'kysely/dist/cjs/schema/drop-trigger-builder.js'; - /** - * Provides methods for building database schema. - */ --export declare class SchemaModule { -+export declare class SchemaModule { - #private; - constructor(executor: QueryExecutor); - /** -@@ -201,16 +203,18 @@ export declare class SchemaModule { - * ``` - */ - dropType(typeName: string): DropTypeBuilder; -+ createTrigger(name: string): CreateTriggerBuilder; -+ dropTrigger(triggerName: string): DropTriggerBuilder; - /** - * Returns a copy of this schema module with the given plugin installed. - */ -- withPlugin(plugin: KyselyPlugin): SchemaModule; -+ withPlugin(plugin: KyselyPlugin): SchemaModule; - /** - * Returns a copy of this schema module without any plugins. - */ -- withoutPlugins(): SchemaModule; -+ withoutPlugins(): SchemaModule; - /** - * See {@link QueryCreator.withSchema} - */ -- withSchema(schema: string): SchemaModule; -+ withSchema(schema: string): SchemaModule; - } -diff --git a/node_modules/kysely/dist/cjs/schema/schema.js b/node_modules/kysely/dist/cjs/schema/schema.js -index 052622f..7b979ab 100644 ---- a/node_modules/kysely/dist/cjs/schema/schema.js -+++ b/node_modules/kysely/dist/cjs/schema/schema.js -@@ -27,6 +27,11 @@ const drop_type_builder_js_1 = require("./drop-type-builder.js"); - const create_type_node_js_1 = require("../operation-node/create-type-node.js"); - const drop_type_node_js_1 = require("../operation-node/drop-type-node.js"); - const identifier_parser_js_1 = require("../parser/identifier-parser.js"); -+const create_trigger_builder_js_1 = require("./create-trigger-builder.js"); -+const create_trigger_node_js_1 = require("../operation-node/create-trigger-node.js"); -+const identifier_node_js_1 = require("../operation-node/identifier-node.js"); -+const drop_trigger_node_js_1 = require("../operation-node/drop-trigger-node.js"); -+const drop_trigger_builder_js_1 = require("./drop-trigger-builder.js"); - /** - * Provides methods for building database schema. - */ -@@ -285,6 +290,20 @@ class SchemaModule { - node: drop_type_node_js_1.DropTypeNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(typeName)), - }); - } -+ createTrigger(name) { -+ return new create_trigger_builder_js_1.CreateTriggerBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#executor, -+ node: create_trigger_node_js_1.CreateTriggerNode.create(identifier_node_js_1.IdentifierNode.create(name)), -+ }); -+ } -+ dropTrigger(triggerName) { -+ return new drop_trigger_builder_js_1.DropTriggerBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#executor, -+ node: drop_trigger_node_js_1.DropTriggerNode.create((0, identifier_parser_js_1.parseSchemableIdentifier)(triggerName)), -+ }); -+ } - /** - * Returns a copy of this schema module with the given plugin installed. - */ -diff --git a/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts -new file mode 100644 -index 0000000..420398a ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.d.ts -@@ -0,0 +1,14 @@ -+import { OperationNodeSource } from 'kysely/dist/cjs/operation-node/operation-node-source.js'; -+import { UniqueConstraintNode } from 'kysely/dist/cjs/operation-node/unique-constraint-node.js'; -+export declare class UniqueConstraintNodeBuilder implements OperationNodeSource { -+ #private; -+ constructor(node: UniqueConstraintNode); -+ toOperationNode(): UniqueConstraintNode; -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct(): UniqueConstraintNodeBuilder; -+} -+export type UniqueConstraintNodeBuilderCallback = (builder: UniqueConstraintNodeBuilder) => UniqueConstraintNodeBuilder; -diff --git a/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js -new file mode 100644 -index 0000000..9931354 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/schema/unique-constraint-builder.js -@@ -0,0 +1,24 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.UniqueConstraintNodeBuilder = void 0; -+const unique_constraint_node_js_1 = require("../operation-node/unique-constraint-node.js"); -+const prevent_await_js_1 = require("../util/prevent-await.js"); -+class UniqueConstraintNodeBuilder { -+ #node; -+ constructor(node) { -+ this.#node = node; -+ } -+ toOperationNode() { -+ return this.#node; -+ } -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct() { -+ return new UniqueConstraintNodeBuilder(unique_constraint_node_js_1.UniqueConstraintNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } -+} -+exports.UniqueConstraintNodeBuilder = UniqueConstraintNodeBuilder; -+(0, prevent_await_js_1.preventAwait)(UniqueConstraintNodeBuilder, "don't await UniqueConstraintNodeBuilder instances directly."); -diff --git a/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts b/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts -new file mode 100644 -index 0000000..9b7599f ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/trigger-query-creator.d.ts -@@ -0,0 +1,35 @@ -+import { SelectQueryBuilder } from 'kysely/dist/cjs/query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from 'kysely/dist/cjs/query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from 'kysely/dist/cjs/query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from 'kysely/dist/cjs/query-builder/update-query-builder.js'; -+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from 'kysely/dist/cjs/parser/table-parser.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyPlugin } from 'kysely/dist/cjs/plugin/kysely-plugin.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from 'kysely/dist/cjs/parser/select-parser.js'; -+import { QueryCreatorProps } from 'kysely/dist/cjs/query-creator.js'; -+import { DatabaseWithOldNewTables } from 'kysely/dist/cjs/schema/create-trigger-builder.js'; -+export declare class TriggerQueryCreator { -+ #private; -+ constructor(props: QueryCreatorProps); -+ selectFrom(from: TE[]): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE[]): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectFrom(from: TE): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder & PickTableWithAlias, TE>, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectNoFrom>(selections: ReadonlyArray): SelectQueryBuilder>; -+ selectNoFrom>(callback: CB): SelectQueryBuilder>; -+ selectNoFrom>(selection: SE): SelectQueryBuilder>; -+ insertInto(table: T): InsertQueryBuilder; -+ replaceInto(table: T): InsertQueryBuilder; -+ deleteFrom(from: TR[]): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(tables: TR[]): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ deleteFrom(from: TR): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(table: TR): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ updateTable(table: TR): UpdateQueryBuilder, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, ExtractTableAlias, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, FromTables, FromTables, UpdateResult>; -+ withPlugin(plugin: KyselyPlugin): TriggerQueryCreator; -+ withoutPlugins(): TriggerQueryCreator; -+} -diff --git a/node_modules/kysely/dist/cjs/trigger-query-creator.js b/node_modules/kysely/dist/cjs/trigger-query-creator.js -new file mode 100644 -index 0000000..5d4d073 ---- /dev/null -+++ b/node_modules/kysely/dist/cjs/trigger-query-creator.js -@@ -0,0 +1,76 @@ -+"use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); -+exports.TriggerQueryCreator = void 0; -+const select_query_builder_js_1 = require("./query-builder/select-query-builder.js"); -+const insert_query_builder_js_1 = require("./query-builder/insert-query-builder.js"); -+const delete_query_builder_js_1 = require("./query-builder/delete-query-builder.js"); -+const update_query_builder_js_1 = require("./query-builder/update-query-builder.js"); -+const delete_query_node_js_1 = require("./operation-node/delete-query-node.js"); -+const insert_query_node_js_1 = require("./operation-node/insert-query-node.js"); -+const select_query_node_js_1 = require("./operation-node/select-query-node.js"); -+const update_query_node_js_1 = require("./operation-node/update-query-node.js"); -+const table_parser_js_1 = require("./parser/table-parser.js"); -+const query_id_js_1 = require("./util/query-id.js"); -+const object_utils_js_1 = require("./util/object-utils.js"); -+const select_parser_js_1 = require("./parser/select-parser.js"); -+class TriggerQueryCreator { -+ #props; -+ constructor(props) { -+ this.#props = (0, object_utils_js_1.freeze)(props); -+ } -+ selectFrom(from) { -+ return (0, select_query_builder_js_1.createSelectQueryBuilder)({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: select_query_node_js_1.SelectQueryNode.createFrom((0, table_parser_js_1.parseTableExpressionOrList)(from), this.#props.withNode), -+ }); -+ } -+ selectNoFrom(selection) { -+ return (0, select_query_builder_js_1.createSelectQueryBuilder)({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: select_query_node_js_1.SelectQueryNode.cloneWithSelections(select_query_node_js_1.SelectQueryNode.create(this.#props.withNode), (0, select_parser_js_1.parseSelectArg)(selection)), -+ }); -+ } -+ insertInto(table) { -+ return new insert_query_builder_js_1.InsertQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: insert_query_node_js_1.InsertQueryNode.create((0, table_parser_js_1.parseTable)(table), this.#props.withNode), -+ }); -+ } -+ replaceInto(table) { -+ return new insert_query_builder_js_1.InsertQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: insert_query_node_js_1.InsertQueryNode.create((0, table_parser_js_1.parseTable)(table), this.#props.withNode, true), -+ }); -+ } -+ deleteFrom(tables) { -+ return new delete_query_builder_js_1.DeleteQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: delete_query_node_js_1.DeleteQueryNode.create((0, table_parser_js_1.parseTableExpressionOrList)(tables), this.#props.withNode), -+ }); -+ } -+ updateTable(table) { -+ return new update_query_builder_js_1.UpdateQueryBuilder({ -+ queryId: (0, query_id_js_1.createQueryId)(), -+ executor: this.#props.executor, -+ queryNode: update_query_node_js_1.UpdateQueryNode.create((0, table_parser_js_1.parseTableExpression)(table), this.#props.withNode), -+ }); -+ } -+ withPlugin(plugin) { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withPlugin(plugin), -+ }); -+ } -+ withoutPlugins() { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withoutPlugins(), -+ }); -+ } -+} -+exports.TriggerQueryCreator = TriggerQueryCreator; -diff --git a/node_modules/kysely/dist/cjs/util/column-type.d.ts b/node_modules/kysely/dist/cjs/util/column-type.d.ts -index bb33464..88a26b2 100644 ---- a/node_modules/kysely/dist/cjs/util/column-type.d.ts -+++ b/node_modules/kysely/dist/cjs/util/column-type.d.ts -@@ -1,4 +1,4 @@ --import { DrainOuterGeneric } from './type-utils.js'; -+import { DrainOuterGeneric } from 'kysely/dist/cjs/util/type-utils.js'; - /** - * This type can be used to specify a different type for - * select, insert and update operations. -diff --git a/node_modules/kysely/dist/cjs/util/compilable.d.ts b/node_modules/kysely/dist/cjs/util/compilable.d.ts -index 638b5d0..5c8f0e9 100644 ---- a/node_modules/kysely/dist/cjs/util/compilable.d.ts -+++ b/node_modules/kysely/dist/cjs/util/compilable.d.ts -@@ -1,4 +1,4 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; - export interface Compilable { - compile(): CompiledQuery; - } -diff --git a/node_modules/kysely/dist/cjs/util/explainable.d.ts b/node_modules/kysely/dist/cjs/util/explainable.d.ts -index 5e05810..86789f2 100644 ---- a/node_modules/kysely/dist/cjs/util/explainable.d.ts -+++ b/node_modules/kysely/dist/cjs/util/explainable.d.ts -@@ -1,4 +1,4 @@ --import { Expression } from '../expression/expression.js'; -+import { Expression } from 'kysely/dist/cjs/expression/expression.js'; - export type ExplainFormat = 'text' | 'xml' | 'json' | 'yaml' | 'traditional' | 'tree'; - export interface Explainable { - /** -diff --git a/node_modules/kysely/dist/cjs/util/log.d.ts b/node_modules/kysely/dist/cjs/util/log.d.ts -index 840a172..69c7b55 100644 ---- a/node_modules/kysely/dist/cjs/util/log.d.ts -+++ b/node_modules/kysely/dist/cjs/util/log.d.ts -@@ -1,5 +1,5 @@ --import { CompiledQuery } from '../query-compiler/compiled-query.js'; --import { ArrayItemType } from './type-utils.js'; -+import { CompiledQuery } from 'kysely/dist/cjs/query-compiler/compiled-query.js'; -+import { ArrayItemType } from 'kysely/dist/cjs/util/type-utils.js'; - export declare const LOG_LEVELS: readonly ["query", "error"]; - export type LogLevel = ArrayItemType; - export interface QueryLogEvent { -diff --git a/node_modules/kysely/dist/cjs/util/object-utils.d.ts b/node_modules/kysely/dist/cjs/util/object-utils.d.ts -index 1b9f563..c9fa82b 100644 ---- a/node_modules/kysely/dist/cjs/util/object-utils.d.ts -+++ b/node_modules/kysely/dist/cjs/util/object-utils.d.ts -@@ -6,7 +6,7 @@ export declare function isNumber(obj: unknown): obj is number; - export declare function isBoolean(obj: unknown): obj is boolean; - export declare function isNull(obj: unknown): obj is null; - export declare function isDate(obj: unknown): obj is Date; --export declare function isBigInt(obj: unknown): obj is BigInt; -+export declare function isBigInt(obj: unknown): obj is bigint; - export declare function isBuffer(obj: unknown): obj is { - length: number; - }; -diff --git a/node_modules/kysely/dist/cjs/util/type-utils.d.ts b/node_modules/kysely/dist/cjs/util/type-utils.d.ts -index 5fd42ff..4daf187 100644 ---- a/node_modules/kysely/dist/cjs/util/type-utils.d.ts -+++ b/node_modules/kysely/dist/cjs/util/type-utils.d.ts -@@ -1,7 +1,7 @@ --import { InsertResult } from '../query-builder/insert-result.js'; --import { DeleteResult } from '../query-builder/delete-result.js'; --import { UpdateResult } from '../query-builder/update-result.js'; --import { KyselyTypeError } from './type-error.js'; -+import { InsertResult } from 'kysely/dist/cjs/query-builder/insert-result.js'; -+import { DeleteResult } from 'kysely/dist/cjs/query-builder/delete-result.js'; -+import { UpdateResult } from 'kysely/dist/cjs/query-builder/update-result.js'; -+import { KyselyTypeError } from 'kysely/dist/cjs/util/type-error.js'; - /** - * Given a database type and a union of table names in that db, returns - * a union type with all possible column names. -diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts -index dc87916..e3fb628 100644 ---- a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.ts -@@ -7,6 +7,14 @@ import { DialectAdapter, MigrationLockOptions } from './dialect-adapter.js'; - * they are added and there will be less breaking changes. - */ - export declare abstract class DialectAdapterBase implements DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ get supportsCreateIfNotExists(): boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js -index b5f7843..7065ce6 100644 ---- a/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js -+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.js -@@ -6,6 +6,9 @@ - * they are added and there will be less breaking changes. - */ - export class DialectAdapterBase { -+ get supportsCreateIfNotExists() { -+ return true; -+ } - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts b/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts -index 73a925a..fe7f1b3 100644 ---- a/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.ts -@@ -8,6 +8,14 @@ import { Kysely } from '../kysely.js'; - * it. For that there's a `supportsTransactionalDdl` boolean in this interface. - */ - export interface DialectAdapter { -+ /** -+ * Whether or not this dialect supports `if not exists` in creation of tables/schemas/views/etc. -+ * -+ * If this is false, Kysely's internal migrations tables and schemas are created -+ * without `if not exists` in migrations. This is not a problem if the dialect -+ * supports transactional DDL. -+ */ -+ readonly supportsCreateIfNotExists: boolean; - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js b/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js -index c83b381..3bcddb6 100644 ---- a/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js -+++ b/node_modules/kysely/dist/esm/dialect/postgres/postgres-driver.js -@@ -26,7 +26,7 @@ export class PostgresDriver { - // The driver must take care of calling `onCreateConnection` when a new - // connection is created. The `pg` module doesn't provide an async hook - // for the connection creation. We need to call the method explicitly. -- if (this.#config?.onCreateConnection) { -+ if (this.#config.onCreateConnection) { - await this.#config.onCreateConnection(connection); - } - } -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts -index 69a0a7d..550df53 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.ts -@@ -1,7 +1,7 @@ - import { Kysely } from '../../kysely.js'; - import { DialectAdapterBase } from '../dialect-adapter-base.js'; - import { MigrationLockOptions } from '../dialect-adapter.js'; --export declare class SqliteAdapter implements DialectAdapterBase { -+export declare class SqliteAdapter extends DialectAdapterBase { - /** - * Whether or not this dialect supports transactional DDL. - * -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js -index f095ebb..4f1b71f 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.js -@@ -1,5 +1,6 @@ - /// --export class SqliteAdapter { -+import { DialectAdapterBase } from '../dialect-adapter-base.js'; -+export class SqliteAdapter extends DialectAdapterBase { - get supportsTransactionalDdl() { - return false; - } -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts -index 810af98..a873682 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect-config.d.ts -@@ -37,4 +37,5 @@ export interface SqliteStatement { - changes: number | bigint; - lastInsertRowid: number | bigint; - }; -+ iterate(parameters: ReadonlyArray): IterableIterator; - } -diff --git a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js -index 23f21e3..d20935f 100644 ---- a/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js -+++ b/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-driver.js -@@ -1,4 +1,5 @@ - /// -+import { SelectQueryNode } from '../../operation-node/select-query-node.js'; - import { CompiledQuery } from '../../query-compiler/compiled-query.js'; - import { freeze, isFunction } from '../../util/object-utils.js'; - export class SqliteDriver { -@@ -67,8 +68,20 @@ class SqliteConnection { - }); - } - } -- async *streamQuery() { -- throw new Error("Sqlite driver doesn't support streaming"); -+ async *streamQuery(compiledQuery, _chunkSize) { -+ const { sql, parameters, query } = compiledQuery; -+ const stmt = this.#db.prepare(sql); -+ if (SelectQueryNode.is(query)) { -+ const iter = stmt.iterate(parameters); -+ for (const row of iter) { -+ yield { -+ rows: [row], -+ }; -+ } -+ } -+ else { -+ throw new Error('Sqlite driver only supports streaming of select queries'); -+ } - } - } - class ConnectionMutex { -diff --git a/node_modules/kysely/dist/esm/driver/driver.d.ts b/node_modules/kysely/dist/esm/driver/driver.d.ts -index 00babcb..11d2d55 100644 ---- a/node_modules/kysely/dist/esm/driver/driver.d.ts -+++ b/node_modules/kysely/dist/esm/driver/driver.d.ts -@@ -40,5 +40,5 @@ export interface Driver { - export interface TransactionSettings { - readonly isolationLevel?: IsolationLevel; - } --export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable"]; -+export declare const TRANSACTION_ISOLATION_LEVELS: readonly ["read uncommitted", "read committed", "repeatable read", "serializable", "snapshot"]; - export type IsolationLevel = ArrayItemType; -diff --git a/node_modules/kysely/dist/esm/driver/driver.js b/node_modules/kysely/dist/esm/driver/driver.js -index 88c2a07..2ae1469 100644 ---- a/node_modules/kysely/dist/esm/driver/driver.js -+++ b/node_modules/kysely/dist/esm/driver/driver.js -@@ -4,4 +4,5 @@ export const TRANSACTION_ISOLATION_LEVELS = [ - 'read committed', - 'repeatable read', - 'serializable', -+ 'snapshot', - ]; -diff --git a/node_modules/kysely/dist/esm/driver/single-connection-provider.js b/node_modules/kysely/dist/esm/driver/single-connection-provider.js -index aafebb7..ef341ee 100644 ---- a/node_modules/kysely/dist/esm/driver/single-connection-provider.js -+++ b/node_modules/kysely/dist/esm/driver/single-connection-provider.js -@@ -1,4 +1,5 @@ - /// -+const ignoreError = () => { }; - export class SingleConnectionProvider { - #connection; - #runningPromise; -@@ -7,17 +8,15 @@ export class SingleConnectionProvider { - } - async provideConnection(consumer) { - while (this.#runningPromise) { -- await this.#runningPromise; -+ await this.#runningPromise.catch(ignoreError); - } -- const promise = this.#run(consumer); -- this.#runningPromise = promise -- .then(() => { -- this.#runningPromise = undefined; -- }) -- .catch(() => { -+ // `#runningPromise` must be set to undefined before it's -+ // resolved or rejected. Otherwise the while loop above -+ // will misbehave. -+ this.#runningPromise = this.#run(consumer).finally(() => { - this.#runningPromise = undefined; - }); -- return promise; -+ return this.#runningPromise; - } - // Run the runner in an async function to make sure it doesn't - // throw synchronous errors. -diff --git a/node_modules/kysely/dist/esm/expression/expression-builder.d.ts b/node_modules/kysely/dist/esm/expression/expression-builder.d.ts -index 7b4a340..07933a1 100644 ---- a/node_modules/kysely/dist/esm/expression/expression-builder.d.ts -+++ b/node_modules/kysely/dist/esm/expression/expression-builder.d.ts -@@ -14,6 +14,7 @@ import { JSONPathBuilder } from '../query-builder/json-path-builder.js'; - import { OperandExpression } from '../parser/expression-parser.js'; - import { CallbackSelection, SelectCallback, SelectExpression, Selection } from '../parser/select-parser.js'; - import { RefTuple2, RefTuple3, RefTuple4, RefTuple5, ValTuple2, ValTuple3, ValTuple4, ValTuple5 } from '../parser/tuple-parser.js'; -+import { Selectable } from '../util/column-type.js'; - export interface ExpressionBuilder { - /** - * Creates a binary expression. -@@ -344,6 +345,30 @@ export interface ExpressionBuilder { - */ - ref>(reference: RE): ExpressionWrapper>; - ref>(reference: RE, op: JSONOperatorWith$): JSONPathBuilder>; -+ /** -+ * Creates a table reference. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select(eb => [ -+ * 'person.id', -+ * sql`jsonb_agg(${eb.table('pet')})`.as('pets') -+ * ]) -+ * .groupBy('person.id') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "person"."id", jsonb_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."id" -+ * ``` -+ */ -+ table(table: T): ExpressionWrapper>; - /** - * Returns a value expression. - * -diff --git a/node_modules/kysely/dist/esm/expression/expression-builder.js b/node_modules/kysely/dist/esm/expression/expression-builder.js -index f550460..86b0098 100644 ---- a/node_modules/kysely/dist/esm/expression/expression-builder.js -+++ b/node_modules/kysely/dist/esm/expression/expression-builder.js -@@ -1,7 +1,7 @@ - /// - import { createSelectQueryBuilder, } from '../query-builder/select-query-builder.js'; - import { SelectQueryNode } from '../operation-node/select-query-node.js'; --import { parseTableExpressionOrList, } from '../parser/table-parser.js'; -+import { parseTableExpressionOrList, parseTable, } from '../parser/table-parser.js'; - import { WithSchemaPlugin } from '../plugin/with-schema/with-schema-plugin.js'; - import { createQueryId } from '../util/query-id.js'; - import { createFunctionModule, } from '../query-builder/function-module.js'; -@@ -11,7 +11,7 @@ import { ParensNode } from '../operation-node/parens-node.js'; - import { ExpressionWrapper } from './expression-wrapper.js'; - import { OperatorNode, } from '../operation-node/operator-node.js'; - import { parseUnaryOperation } from '../parser/unary-operation-parser.js'; --import { parseSafeImmediateValue, parseValueExpression, parseValueExpressionOrList, } from '../parser/value-parser.js'; -+import { parseSafeImmediateValue, parseValueExpression, } from '../parser/value-parser.js'; - import { NOOP_QUERY_EXECUTOR } from '../query-executor/noop-query-executor.js'; - import { CaseBuilder } from '../query-builder/case-builder.js'; - import { CaseNode } from '../operation-node/case-node.js'; -@@ -58,8 +58,11 @@ export function createExpressionBuilder(executor = NOOP_QUERY_EXECUTOR) { - } - return new JSONPathBuilder(parseJSONReference(reference, op)); - }, -+ table(table) { -+ return new ExpressionWrapper(parseTable(table)); -+ }, - val(value) { -- return new ExpressionWrapper(parseValueExpressionOrList(value)); -+ return new ExpressionWrapper(parseValueExpression(value)); - }, - refTuple(...values) { - return new ExpressionWrapper(TupleNode.create(values.map(parseReferenceExpression))); -diff --git a/node_modules/kysely/dist/esm/index.d.ts b/node_modules/kysely/dist/esm/index.d.ts -index cf166f8..37cf701 100644 ---- a/node_modules/kysely/dist/esm/index.d.ts -+++ b/node_modules/kysely/dist/esm/index.d.ts -@@ -72,6 +72,12 @@ export * from './dialect/postgres/postgres-dialect.js'; - export * from './dialect/sqlite/sqlite-query-compiler.js'; - export * from './dialect/sqlite/sqlite-introspector.js'; - export * from './dialect/sqlite/sqlite-adapter.js'; -+export * from './dialect/mssql/mssql-adapter.js'; -+export * from './dialect/mssql/mssql-dialect-config.js'; -+export * from './dialect/mssql/mssql-dialect.js'; -+export * from './dialect/mssql/mssql-driver.js'; -+export * from './dialect/mssql/mssql-introspector.js'; -+export * from './dialect/mssql/mssql-query-compiler.js'; - export * from './query-compiler/default-query-compiler.js'; - export * from './query-compiler/query-compiler.js'; - export * from './migration/migrator.js'; -@@ -176,7 +182,7 @@ export * from './util/compilable.js'; - export * from './util/explainable.js'; - export * from './util/streamable.js'; - export * from './util/log.js'; --export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, } from './util/type-utils.js'; -+export { AnyAliasedColumn, AnyAliasedColumnWithTable, AnyColumn, AnyColumnWithTable, Equals, UnknownRow, Simplify, SqlBool, Nullable, } from './util/type-utils.js'; - export * from './util/infer-result.js'; - export { logOnce } from './util/log-once.js'; - export { SelectExpression, SelectCallback, SelectArg, Selection, CallbackSelection, } from './parser/select-parser.js'; -diff --git a/node_modules/kysely/dist/esm/kysely.d.ts b/node_modules/kysely/dist/esm/kysely.d.ts -index 52e909a..8e45b8c 100644 ---- a/node_modules/kysely/dist/esm/kysely.d.ts -+++ b/node_modules/kysely/dist/esm/kysely.d.ts -@@ -66,7 +66,7 @@ export declare class Kysely extends QueryCreator implements QueryExecuto - /** - * Returns the {@link SchemaModule} module for building database schema. - */ -- get schema(): SchemaModule; -+ get schema(): SchemaModule; - /** - * Returns a the {@link DynamicModule} module. - * -diff --git a/node_modules/kysely/dist/esm/migration/migrator.js b/node_modules/kysely/dist/esm/migration/migrator.js -index 8c7a0b4..7d3a26a 100644 ---- a/node_modules/kysely/dist/esm/migration/migrator.js -+++ b/node_modules/kysely/dist/esm/migration/migrator.js -@@ -218,10 +218,7 @@ export class Migrator { - } - if (!(await this.#doesSchemaExists())) { - try { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create schema` -@@ -237,20 +234,15 @@ export class Migrator { - if (!(await this.#doesTableExists(this.#migrationTable))) { - try { - if (this.#migrationTableSchema) { -- await this.#props.db.schema -- .createSchema(this.#migrationTableSchema) -- .ifNotExists() -- .execute(); -+ await this.#createIfNotExists(this.#props.db.schema.createSchema(this.#migrationTableSchema)); - } -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationTable) -- .ifNotExists() - .addColumn('name', 'varchar(255)', (col) => col.notNull().primaryKey()) - // The migration run time as ISO string. This is not a real date type as we - // can't know which data type is supported by all future dialects. -- .addColumn('timestamp', 'varchar(255)', (col) => col.notNull()) -- .execute(); -+ .addColumn('timestamp', 'varchar(255)', (col) => col.notNull())); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -265,13 +257,11 @@ export class Migrator { - async #ensureMigrationLockTableExists() { - if (!(await this.#doesTableExists(this.#migrationLockTable))) { - try { -- await this.#props.db.schema -+ await this.#createIfNotExists(this.#props.db.schema - .withPlugin(this.#schemaPlugin) - .createTable(this.#migrationLockTable) -- .ifNotExists() - .addColumn('id', 'varchar(255)', (col) => col.notNull().primaryKey()) -- .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0)) -- .execute(); -+ .addColumn('is_locked', 'integer', (col) => col.notNull().defaultTo(0))); - } - catch (error) { - // At least on PostgreSQL, `if not exists` doesn't guarantee the `create table` -@@ -479,6 +469,12 @@ export class Migrator { - } - return { results }; - } -+ async #createIfNotExists(qb) { -+ if (this.#props.db.getExecutor().adapter.supportsCreateIfNotExists) { -+ qb = qb.ifNotExists(); -+ } -+ await qb.execute(); -+ } - } - class MigrationResultSetError extends Error { - #resultSet; -diff --git a/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts b/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts -new file mode 100644 -index 0000000..b81f95f ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/add-index-node.d.ts -@@ -0,0 +1,21 @@ -+import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from './operation-node.js'; -+import { RawNode } from './raw-node.js'; -+export type AddIndexNodeProps = Omit; -+export interface AddIndexNode extends OperationNode { -+ readonly kind: 'AddIndexNode'; -+ readonly name: IdentifierNode; -+ readonly columns?: OperationNode[]; -+ readonly unique?: boolean; -+ readonly using?: RawNode; -+ readonly ifNotExists?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const AddIndexNode: Readonly<{ -+ is(node: OperationNode): node is AddIndexNode; -+ create(name: string): AddIndexNode; -+ cloneWith(node: AddIndexNode, props: AddIndexNodeProps): AddIndexNode; -+ cloneWithColumns(node: AddIndexNode, columns: OperationNode[]): AddIndexNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/add-index-node.js b/node_modules/kysely/dist/esm/operation-node/add-index-node.js -new file mode 100644 -index 0000000..134b7d8 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/add-index-node.js -@@ -0,0 +1,29 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+import { IdentifierNode } from './identifier-node.js'; -+/** -+ * @internal -+ */ -+export const AddIndexNode = freeze({ -+ is(node) { -+ return node.kind === 'AddIndexNode'; -+ }, -+ create(name) { -+ return freeze({ -+ kind: 'AddIndexNode', -+ name: IdentifierNode.create(name) -+ }); -+ }, -+ cloneWith(node, props) { -+ return freeze({ -+ ...node, -+ ...props, -+ }); -+ }, -+ cloneWithColumns(node, columns) { -+ return freeze({ -+ ...node, -+ columns: [...(node.columns || []), ...columns], -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts b/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts -index 5b03535..b09aca3 100644 ---- a/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/alter-table-node.d.ts -@@ -8,7 +8,9 @@ import { AlterColumnNode } from './alter-column-node.js'; - import { AddConstraintNode } from './add-constraint-node.js'; - import { DropConstraintNode } from './drop-constraint-node.js'; - import { ModifyColumnNode } from './modify-column-node.js'; --export type AlterTableNodeTableProps = Pick; -+import { DropIndexNode } from './drop-index-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+export type AlterTableNodeTableProps = Pick; - export type AlterTableColumnAlterationNode = RenameColumnNode | AddColumnNode | DropColumnNode | AlterColumnNode | ModifyColumnNode; - export interface AlterTableNode extends OperationNode { - readonly kind: 'AlterTableNode'; -@@ -18,6 +20,8 @@ export interface AlterTableNode extends OperationNode { - readonly columnAlterations?: ReadonlyArray; - readonly addConstraint?: AddConstraintNode; - readonly dropConstraint?: DropConstraintNode; -+ readonly addIndex?: AddIndexNode; -+ readonly dropIndex?: DropIndexNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts b/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts -index 6442d83..b518d35 100644 ---- a/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/column-definition-node.d.ts -@@ -20,6 +20,7 @@ export interface ColumnDefinitionNode extends OperationNode { - readonly unsigned?: boolean; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts b/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts -index 2e8ab34..bb59937 100644 ---- a/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/column-update-node.d.ts -@@ -1,8 +1,7 @@ --import { ColumnNode } from './column-node.js'; - import { OperationNode } from './operation-node.js'; - export interface ColumnUpdateNode extends OperationNode { - readonly kind: 'ColumnUpdateNode'; -- readonly column: ColumnNode; -+ readonly column: OperationNode; - readonly value: OperationNode; - } - /** -@@ -10,5 +9,5 @@ export interface ColumnUpdateNode extends OperationNode { - */ - export declare const ColumnUpdateNode: Readonly<{ - is(node: OperationNode): node is ColumnUpdateNode; -- create(column: ColumnNode, value: OperationNode): ColumnUpdateNode; -+ create(column: OperationNode, value: OperationNode): ColumnUpdateNode; - }>; -diff --git a/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts -index a3a99d1..d474032 100644 ---- a/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/create-index-node.d.ts -@@ -14,6 +14,7 @@ export interface CreateIndexNode extends OperationNode { - readonly using?: RawNode; - readonly ifNotExists?: boolean; - readonly where?: WhereNode; -+ readonly nullsNotDistinct?: boolean; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts -index cc8ceda..f36036c 100644 ---- a/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/create-table-node.d.ts -@@ -16,6 +16,7 @@ export interface CreateTableNode extends OperationNode { - readonly onCommit?: OnCommitAction; - readonly frontModifiers?: ReadonlyArray; - readonly endModifiers?: ReadonlyArray; -+ readonly selectQuery?: OperationNode; - } - /** - * @internal -diff --git a/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts -new file mode 100644 -index 0000000..8244954 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.d.ts -@@ -0,0 +1,34 @@ -+import { OperationNode } from './operation-node.js'; -+import { TableNode } from './table-node.js'; -+import { IdentifierNode } from './identifier-node.js'; -+import { QueryNode } from './query-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; -+import { FunctionNode } from './function-node.js'; -+export type TriggerTime = 'after' | 'before' | 'instead of'; -+export type CreateTriggerNodeParams = Omit; -+export interface CreateTriggerNode extends OperationNode { -+ readonly kind: 'CreateTriggerNode'; -+ readonly name: IdentifierNode; -+ readonly queries?: ReadonlyArray; -+ readonly function?: FunctionNode; -+ readonly time?: TriggerTime; -+ readonly events?: ReadonlyArray; -+ readonly table?: TableNode; -+ readonly orReplace?: boolean; -+ readonly ifNotExists?: boolean; -+ readonly when?: OperationNode; -+ readonly temporary?: boolean; -+ readonly forEach?: 'row' | 'statement'; -+ readonly order?: TriggerOrderNode; -+} -+/** -+ * @internal -+ */ -+export declare const CreateTriggerNode: Readonly<{ -+ is(node: OperationNode): node is CreateTriggerNode; -+ create(name: IdentifierNode): CreateTriggerNode; -+ cloneWithQuery(createTrigger: CreateTriggerNode, query: QueryNode): CreateTriggerNode; -+ cloneWithEvent(createTrigger: CreateTriggerNode, event: TriggerEventNode): CreateTriggerNode; -+ cloneWith(createTrigger: CreateTriggerNode, params: CreateTriggerNodeParams): CreateTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js -new file mode 100644 -index 0000000..90dd0f3 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/create-trigger-node.js -@@ -0,0 +1,34 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const CreateTriggerNode = freeze({ -+ is(node) { -+ return node.kind === 'CreateTriggerNode'; -+ }, -+ create(name) { -+ return freeze({ -+ kind: 'CreateTriggerNode', -+ name, -+ }); -+ }, -+ cloneWithQuery(createTrigger, query) { -+ return freeze({ -+ ...createTrigger, -+ queries: freeze([...(createTrigger.queries || []), query]), -+ }); -+ }, -+ cloneWithEvent(createTrigger, event) { -+ return freeze({ -+ ...createTrigger, -+ events: freeze([...(createTrigger.events || []), event]), -+ }); -+ }, -+ cloneWith(createTrigger, params) { -+ return freeze({ -+ ...createTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts -new file mode 100644 -index 0000000..4e38772 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.d.ts -@@ -0,0 +1,17 @@ -+import { OperationNode } from './operation-node.js'; -+import { SchemableIdentifierNode } from './schemable-identifier-node.js'; -+export type DropTriggerNodeParams = Omit, 'kind' | 'name'>; -+export interface DropTriggerNode extends OperationNode { -+ readonly kind: 'DropTriggerNode'; -+ readonly name: SchemableIdentifierNode; -+ readonly ifExists?: boolean; -+ readonly cascade?: boolean; -+} -+/** -+ * @internal -+ */ -+export declare const DropTriggerNode: Readonly<{ -+ is(node: OperationNode): node is DropTriggerNode; -+ create(name: SchemableIdentifierNode): DropTriggerNode; -+ cloneWith(dropTrigger: DropTriggerNode, params: DropTriggerNodeParams): DropTriggerNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js -new file mode 100644 -index 0000000..ebabeb4 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/drop-trigger-node.js -@@ -0,0 +1,22 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const DropTriggerNode = freeze({ -+ is(node) { -+ return node.kind === 'DropTriggerNode'; -+ }, -+ create(name) { -+ return freeze({ -+ kind: 'DropTriggerNode', -+ name, -+ }); -+ }, -+ cloneWith(dropTrigger, params) { -+ return freeze({ -+ ...dropTrigger, -+ ...params, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts -index 6b3a13c..5d7fd9d 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - /** - * Transforms an operation node tree into another one. - * -@@ -139,9 +144,13 @@ export declare class OperationNodeTransformer { - protected transformDeleteQuery(node: DeleteQueryNode): DeleteQueryNode; - protected transformReturning(node: ReturningNode): ReturningNode; - protected transformCreateTable(node: CreateTableNode): CreateTableNode; -+ protected transformCreateTrigger(node: CreateTriggerNode): CreateTriggerNode; -+ protected transformTriggerEvent(node: TriggerEventNode): TriggerEventNode; -+ protected transformTriggerOrder(node: TriggerOrderNode): TriggerOrderNode; - protected transformColumnDefinition(node: ColumnDefinitionNode): ColumnDefinitionNode; - protected transformAddColumn(node: AddColumnNode): AddColumnNode; - protected transformDropTable(node: DropTableNode): DropTableNode; -+ protected transformDropTrigger(node: DropTriggerNode): DropTriggerNode; - protected transformOrderBy(node: OrderByNode): OrderByNode; - protected transformOrderByItem(node: OrderByItemNode): OrderByItemNode; - protected transformGroupBy(node: GroupByNode): GroupByNode; -@@ -199,6 +208,7 @@ export declare class OperationNodeTransformer { - protected transformJSONPathLeg(node: JSONPathLegNode): JSONPathLegNode; - protected transformJSONOperatorChain(node: JSONOperatorChainNode): JSONOperatorChainNode; - protected transformTuple(node: TupleNode): TupleNode; -+ protected transformAddIndex(node: AddIndexNode): AddIndexNode; - protected transformDataType(node: DataTypeNode): DataTypeNode; - protected transformSelectAll(node: SelectAllNode): SelectAllNode; - protected transformIdentifier(node: IdentifierNode): IdentifierNode; -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js -index f35075b..9e216f8 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-transformer.js -@@ -119,6 +119,11 @@ export class OperationNodeTransformer { - JSONPathLegNode: this.transformJSONPathLeg.bind(this), - JSONOperatorChainNode: this.transformJSONOperatorChain.bind(this), - TupleNode: this.transformTuple.bind(this), -+ AddIndexNode: this.transformAddIndex.bind(this), -+ CreateTriggerNode: this.transformCreateTrigger.bind(this), -+ TriggerEventNode: this.transformTriggerEvent.bind(this), -+ TriggerOrderNode: this.transformTriggerOrder.bind(this), -+ DropTriggerNode: this.transformDropTrigger.bind(this), - }); - transformNode(node) { - if (!node) { -@@ -295,6 +300,38 @@ export class OperationNodeTransformer { - onCommit: node.onCommit, - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ selectQuery: this.transformNode(node.selectQuery), -+ }); -+ } -+ transformCreateTrigger(node) { -+ return requireAllProps({ -+ kind: 'CreateTriggerNode', -+ name: this.transformNode(node.name), -+ table: this.transformNode(node.table), -+ ifNotExists: node.ifNotExists, -+ time: node.time, -+ events: this.transformNodeList(node.events), -+ forEach: node.forEach, -+ orReplace: node.orReplace, -+ temporary: node.temporary, -+ queries: this.transformNodeList(node.queries), -+ function: this.transformNode(node.function), -+ when: this.transformNode(node.when), -+ order: this.transformNode(node.order), -+ }); -+ } -+ transformTriggerEvent(node) { -+ return requireAllProps({ -+ kind: 'TriggerEventNode', -+ event: node.event, -+ columns: this.transformNodeList(node.columns), -+ }); -+ } -+ transformTriggerOrder(node) { -+ return requireAllProps({ -+ kind: 'TriggerOrderNode', -+ order: node.order, -+ otherTriggerName: this.transformNode(node.otherTriggerName), - }); - } - transformColumnDefinition(node) { -@@ -313,6 +350,7 @@ export class OperationNodeTransformer { - generated: this.transformNode(node.generated), - frontModifiers: this.transformNodeList(node.frontModifiers), - endModifiers: this.transformNodeList(node.endModifiers), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformAddColumn(node) { -@@ -329,6 +367,14 @@ export class OperationNodeTransformer { - cascade: node.cascade, - }); - } -+ transformDropTrigger(node) { -+ return requireAllProps({ -+ kind: 'DropTriggerNode', -+ name: this.transformNode(node.name), -+ ifExists: node.ifExists, -+ cascade: node.cascade, -+ }); -+ } - transformOrderBy(node) { - return requireAllProps({ - kind: 'OrderByNode', -@@ -414,6 +460,7 @@ export class OperationNodeTransformer { - using: this.transformNode(node.using), - ifNotExists: node.ifNotExists, - where: this.transformNode(node.where), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformList(node) { -@@ -443,6 +490,7 @@ export class OperationNodeTransformer { - kind: 'UniqueConstraintNode', - columns: this.transformNodeList(node.columns), - name: this.transformNode(node.name), -+ nullsNotDistinct: node.nullsNotDistinct, - }); - } - transformForeignKeyConstraint(node) { -@@ -531,6 +579,8 @@ export class OperationNodeTransformer { - columnAlterations: this.transformNodeList(node.columnAlterations), - addConstraint: this.transformNode(node.addConstraint), - dropConstraint: this.transformNode(node.dropConstraint), -+ addIndex: this.transformNode(node.addIndex), -+ dropIndex: this.transformNode(node.dropIndex), - }); - } - transformDropColumn(node) { -@@ -763,6 +813,16 @@ export class OperationNodeTransformer { - values: this.transformNodeList(node.values), - }); - } -+ transformAddIndex(node) { -+ return requireAllProps({ -+ kind: 'AddIndexNode', -+ name: this.transformNode(node.name), -+ columns: this.transformNodeList(node.columns), -+ unique: node.unique, -+ using: this.transformNode(node.using), -+ ifNotExists: node.ifNotExists, -+ }); -+ } - transformDataType(node) { - // An Object.freezed leaf node. No need to clone. - return node; -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts -index 7c267cd..6a66bc7 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.d.ts -@@ -85,6 +85,11 @@ import { JSONPathNode } from './json-path-node.js'; - import { JSONPathLegNode } from './json-path-leg-node.js'; - import { JSONOperatorChainNode } from './json-operator-chain-node.js'; - import { TupleNode } from './tuple-node.js'; -+import { AddIndexNode } from './add-index-node.js'; -+import { CreateTriggerNode } from './create-trigger-node.js'; -+import { DropTriggerNode } from './drop-trigger-node.js'; -+import { TriggerEventNode } from './trigger-event-node.js'; -+import { TriggerOrderNode } from './trigger-order-node.js'; - export declare abstract class OperationNodeVisitor { - #private; - protected readonly nodeStack: OperationNode[]; -@@ -108,9 +113,13 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitDeleteQuery(node: DeleteQueryNode): void; - protected abstract visitReturning(node: ReturningNode): void; - protected abstract visitCreateTable(node: CreateTableNode): void; -+ protected abstract visitCreateTrigger(node: CreateTriggerNode): void; -+ protected abstract visitTriggerEvent(node: TriggerEventNode): void; -+ protected abstract visitTriggerOrder(node: TriggerOrderNode): void; - protected abstract visitAddColumn(node: AddColumnNode): void; - protected abstract visitColumnDefinition(node: ColumnDefinitionNode): void; - protected abstract visitDropTable(node: DropTableNode): void; -+ protected abstract visitDropTrigger(node: DropTriggerNode): void; - protected abstract visitOrderBy(node: OrderByNode): void; - protected abstract visitOrderByItem(node: OrderByItemNode): void; - protected abstract visitGroupBy(node: GroupByNode): void; -@@ -176,4 +185,5 @@ export declare abstract class OperationNodeVisitor { - protected abstract visitJSONPathLeg(node: JSONPathLegNode): void; - protected abstract visitJSONOperatorChain(node: JSONOperatorChainNode): void; - protected abstract visitTuple(node: TupleNode): void; -+ protected abstract visitAddIndex(node: AddIndexNode): void; - } -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js -index 7ded762..cc6431e 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node-visitor.js -@@ -92,6 +92,11 @@ export class OperationNodeVisitor { - JSONPathLegNode: this.visitJSONPathLeg.bind(this), - JSONOperatorChainNode: this.visitJSONOperatorChain.bind(this), - TupleNode: this.visitTuple.bind(this), -+ AddIndexNode: this.visitAddIndex.bind(this), -+ CreateTriggerNode: this.visitCreateTrigger.bind(this), -+ TriggerEventNode: this.visitTriggerEvent.bind(this), -+ TriggerOrderNode: this.visitTriggerOrder.bind(this), -+ DropTriggerNode: this.visitDropTrigger.bind(this), - }); - visitNode = (node) => { - this.nodeStack.push(node); -diff --git a/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts b/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts -index 24cad68..a01b9ed 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operation-node.d.ts -@@ -1,4 +1,4 @@ --export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode'; -+export type OperationNodeKind = 'IdentifierNode' | 'SchemableIdentifierNode' | 'RawNode' | 'SelectQueryNode' | 'SelectionNode' | 'ReferenceNode' | 'ColumnNode' | 'TableNode' | 'AliasNode' | 'FromNode' | 'SelectAllNode' | 'AndNode' | 'OrNode' | 'ParensNode' | 'ValueNode' | 'ValueListNode' | 'PrimitiveValueListNode' | 'JoinNode' | 'OperatorNode' | 'WhereNode' | 'InsertQueryNode' | 'DeleteQueryNode' | 'ReturningNode' | 'CreateTableNode' | 'ColumnDefinitionNode' | 'AddColumnNode' | 'DropTableNode' | 'DataTypeNode' | 'OrderByNode' | 'OrderByItemNode' | 'GroupByNode' | 'GroupByItemNode' | 'UpdateQueryNode' | 'ColumnUpdateNode' | 'LimitNode' | 'OffsetNode' | 'OnConflictNode' | 'OnDuplicateKeyNode' | 'CreateIndexNode' | 'DropIndexNode' | 'ListNode' | 'ReferencesNode' | 'PrimaryKeyConstraintNode' | 'UniqueConstraintNode' | 'CheckConstraintNode' | 'ForeignKeyConstraintNode' | 'WithNode' | 'CommonTableExpressionNode' | 'HavingNode' | 'CreateSchemaNode' | 'DropSchemaNode' | 'AlterTableNode' | 'ModifyColumnNode' | 'DropColumnNode' | 'RenameColumnNode' | 'AlterColumnNode' | 'AddConstraintNode' | 'DropConstraintNode' | 'CreateViewNode' | 'DropViewNode' | 'GeneratedNode' | 'DefaultValueNode' | 'OnNode' | 'ValuesNode' | 'CommonTableExpressionNameNode' | 'SelectModifierNode' | 'CreateTypeNode' | 'DropTypeNode' | 'ExplainNode' | 'DefaultInsertValueNode' | 'AggregateFunctionNode' | 'OverNode' | 'PartitionByNode' | 'PartitionByItemNode' | 'SetOperationNode' | 'BinaryOperationNode' | 'UnaryOperationNode' | 'UsingNode' | 'FunctionNode' | 'CaseNode' | 'WhenNode' | 'JSONReferenceNode' | 'JSONPathNode' | 'JSONPathLegNode' | 'JSONOperatorChainNode' | 'TupleNode' | 'AddIndexNode' | 'CreateTriggerNode' | 'TriggerEventNode' | 'TriggerOrderNode' | 'DropTriggerNode'; - export interface OperationNode { - readonly kind: OperationNodeKind; - } -diff --git a/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts b/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts -index 1076866..18b6e05 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/operator-node.d.ts -@@ -1,11 +1,11 @@ - import { OperationNode } from './operation-node.js'; --export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp"]; -+export declare const COMPARISON_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from"]; - export declare const ARITHMETIC_OPERATORS: readonly ["+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>"]; - export declare const JSON_OPERATORS: readonly ["->", "->>"]; --export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; -+export declare const BINARY_OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||"]; - export declare const UNARY_FILTER_OPERATORS: readonly ["exists", "not exists"]; - export declare const UNARY_OPERATORS: readonly ["not", "-", "exists", "not exists"]; --export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; -+export declare const OPERATORS: readonly ["=", "==", "!=", "<>", ">", ">=", "<", "<=", "in", "not in", "is", "is not", "like", "not like", "match", "ilike", "not ilike", "@>", "<@", "&&", "?", "?&", "!<", "!>", "<=>", "!~", "~", "~*", "!~*", "@@", "@@@", "!!", "<->", "regexp", "is distinct from", "is not distinct from", "+", "-", "*", "/", "%", "^", "&", "|", "#", "<<", ">>", "&&", "||", "->", "->>", "not", "-", "exists", "not exists", "between", "between symmetric"]; - export type ComparisonOperator = (typeof COMPARISON_OPERATORS)[number]; - export type ArithmeticOperator = (typeof ARITHMETIC_OPERATORS)[number]; - export type JSONOperator = (typeof JSON_OPERATORS)[number]; -diff --git a/node_modules/kysely/dist/esm/operation-node/operator-node.js b/node_modules/kysely/dist/esm/operation-node/operator-node.js -index ba655e6..2df5b92 100644 ---- a/node_modules/kysely/dist/esm/operation-node/operator-node.js -+++ b/node_modules/kysely/dist/esm/operation-node/operator-node.js -@@ -35,6 +35,8 @@ export const COMPARISON_OPERATORS = [ - '!!', - '<->', - 'regexp', -+ 'is distinct from', -+ 'is not distinct from', - ]; - export const ARITHMETIC_OPERATORS = [ - '+', -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts -new file mode 100644 -index 0000000..8a3677d ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.d.ts -@@ -0,0 +1,15 @@ -+import { OperationNode } from './operation-node.js'; -+export type TriggerEvent = 'delete' | 'update' | 'insert' | 'truncate'; -+export type TriggerEventNodeParams = Omit; -+export interface TriggerEventNode extends OperationNode { -+ readonly kind: 'TriggerEventNode'; -+ readonly event: TriggerEvent; -+ readonly columns?: ReadonlyArray; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerEventNode: Readonly<{ -+ is(node: OperationNode): node is TriggerEventNode; -+ create(event: TriggerEvent, columns?: ReadonlyArray): TriggerEventNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js -new file mode 100644 -index 0000000..6f97ee3 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-event-node.js -@@ -0,0 +1,17 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const TriggerEventNode = freeze({ -+ is(node) { -+ return node.kind === 'TriggerEventNode'; -+ }, -+ create(event, columns) { -+ return freeze({ -+ kind: 'TriggerEventNode', -+ event, -+ columns, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts -new file mode 100644 -index 0000000..12bad8d ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.d.ts -@@ -0,0 +1,16 @@ -+import { IdentifierNode } from './identifier-node.js'; -+import { OperationNode } from './operation-node.js'; -+export type TriggerOrder = 'follows' | 'precedes'; -+export type TriggerOrderNodeParams = Omit; -+export interface TriggerOrderNode extends OperationNode { -+ readonly kind: 'TriggerOrderNode'; -+ readonly order: TriggerOrder; -+ readonly otherTriggerName: IdentifierNode; -+} -+/** -+ * @internal -+ */ -+export declare const TriggerOrderNode: Readonly<{ -+ is(node: OperationNode): node is TriggerOrderNode; -+ create(order: TriggerOrder, otherTriggerName: IdentifierNode): TriggerOrderNode; -+}>; -diff --git a/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js -new file mode 100644 -index 0000000..eea5441 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/operation-node/trigger-order-node.js -@@ -0,0 +1,17 @@ -+/// -+import { freeze } from '../util/object-utils.js'; -+/** -+ * @internal -+ */ -+export const TriggerOrderNode = freeze({ -+ is(node) { -+ return node.kind === 'TriggerOrderNode'; -+ }, -+ create(order, otherTriggerName) { -+ return freeze({ -+ kind: 'TriggerOrderNode', -+ order, -+ otherTriggerName, -+ }); -+ }, -+}); -diff --git a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts -index c179f1f..4a544de 100644 ---- a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts -+++ b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.d.ts -@@ -5,11 +5,14 @@ export interface UniqueConstraintNode extends OperationNode { - readonly kind: 'UniqueConstraintNode'; - readonly columns: ReadonlyArray; - readonly name?: IdentifierNode; -+ readonly nullsNotDistinct?: boolean; - } -+export type UniqueConstraintNodeProps = Omit, 'kind'>; - /** - * @internal - */ - export declare const UniqueConstraintNode: Readonly<{ - is(node: OperationNode): node is UniqueConstraintNode; -- create(columns: string[], constraintName?: string): UniqueConstraintNode; -+ create(columns: string[], constraintName?: string, nullsNotDistinct?: boolean): UniqueConstraintNode; -+ cloneWith(node: UniqueConstraintNode, props: UniqueConstraintNodeProps): UniqueConstraintNode; - }>; -diff --git a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js -index 0c903a6..d05e623 100644 ---- a/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js -+++ b/node_modules/kysely/dist/esm/operation-node/unique-constraint-node.js -@@ -9,11 +9,18 @@ export const UniqueConstraintNode = freeze({ - is(node) { - return node.kind === 'UniqueConstraintNode'; - }, -- create(columns, constraintName) { -+ create(columns, constraintName, nullsNotDistinct) { - return freeze({ - kind: 'UniqueConstraintNode', - columns: freeze(columns.map(ColumnNode.create)), - name: constraintName ? IdentifierNode.create(constraintName) : undefined, -+ nullsNotDistinct, -+ }); -+ }, -+ cloneWith(node, props) { -+ return freeze({ -+ ...node, -+ ...props, - }); - }, - }); -diff --git a/node_modules/kysely/dist/esm/parser/binary-operation-parser.js b/node_modules/kysely/dist/esm/parser/binary-operation-parser.js -index 7c6e042..b136830 100644 ---- a/node_modules/kysely/dist/esm/parser/binary-operation-parser.js -+++ b/node_modules/kysely/dist/esm/parser/binary-operation-parser.js -@@ -35,7 +35,7 @@ export function parseFilterObject(obj, combinator) { - export function parseFilterList(list, combinator) { - const combine = combinator === 'and' ? AndNode.create : OrNode.create; - if (list.length === 0) { -- return ValueNode.createImmediate(combinator === 'and'); -+ return BinaryOperationNode.create(ValueNode.createImmediate(1), OperatorNode.create('='), ValueNode.createImmediate(combinator === 'and' ? 1 : 0)); - } - let node = toOperationNode(list[0]); - for (let i = 1; i < list.length; ++i) { -diff --git a/node_modules/kysely/dist/esm/parser/reference-parser.d.ts b/node_modules/kysely/dist/esm/parser/reference-parser.d.ts -index cd4d656..08204c7 100644 ---- a/node_modules/kysely/dist/esm/parser/reference-parser.d.ts -+++ b/node_modules/kysely/dist/esm/parser/reference-parser.d.ts -@@ -16,7 +16,8 @@ export type StringReference = AnyColumn | AnyCo - export type SimpleReferenceExpression = StringReference | DynamicReferenceBuilder; - export type ReferenceExpression = SimpleReferenceExpression | ExpressionOrFactory; - export type ReferenceExpressionOrList = ReferenceExpression | ReadonlyArray>; --export type ExtractTypeFromReferenceExpression = RE extends string ? SelectType> : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; -+export type ExtractTypeFromReferenceExpression = SelectType>; -+export type ExtractRawTypeFromReferenceExpression = RE extends string ? ExtractTypeFromStringReference : RE extends SelectQueryBuilderExpression ? O[keyof O] | null : RE extends (qb: any) => SelectQueryBuilderExpression ? O[keyof O] | null : RE extends Expression ? O : RE extends (qb: any) => Expression ? O : DV; - export type ExtractTypeFromStringReference = RE extends `${infer SC}.${infer T}.${infer C}` ? `${SC}.${T}` extends TB ? C extends keyof DB[`${SC}.${T}`] ? DB[`${SC}.${T}`][C] : never : never : RE extends `${infer T}.${infer C}` ? T extends TB ? C extends keyof DB[T] ? DB[T][C] : never : never : RE extends AnyColumn ? ExtractColumnType : DV; - export type OrderedColumnName = C extends `${string} ${infer O}` ? O extends OrderByDirection ? C : never : C; - export type ExtractColumnNameFromOrderedColumnName = C extends `${infer CL} ${infer O}` ? O extends OrderByDirection ? CL : never : C; -diff --git a/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts b/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts -index d4b2dd0..2763b7c 100644 ---- a/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts -+++ b/node_modules/kysely/dist/esm/parser/update-set-parser.d.ts -@@ -2,9 +2,12 @@ import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; - import { ExpressionBuilder } from '../expression/expression-builder.js'; - import { UpdateKeys, UpdateType } from '../util/column-type.js'; - import { ValueExpression } from './value-parser.js'; -+import { ExtractRawTypeFromReferenceExpression, ReferenceExpression } from './reference-parser.js'; - export type UpdateObject = { - [C in UpdateKeys]?: ValueExpression> | undefined; - }; - export type UpdateObjectFactory = (eb: ExpressionBuilder) => UpdateObject; --export type UpdateExpression = UpdateObject | UpdateObjectFactory; --export declare function parseUpdateExpression(update: UpdateExpression): ReadonlyArray; -+export type UpdateObjectExpression = UpdateObject | UpdateObjectFactory; -+export type ExtractUpdateTypeFromReferenceExpression = UpdateType>; -+export declare function parseUpdate(...args: [UpdateObjectExpression] | [ReferenceExpression, ValueExpression]): ReadonlyArray; -+export declare function parseUpdateObjectExpression(update: UpdateObjectExpression): ReadonlyArray; -diff --git a/node_modules/kysely/dist/esm/parser/update-set-parser.js b/node_modules/kysely/dist/esm/parser/update-set-parser.js -index 495e092..e644c94 100644 ---- a/node_modules/kysely/dist/esm/parser/update-set-parser.js -+++ b/node_modules/kysely/dist/esm/parser/update-set-parser.js -@@ -4,7 +4,16 @@ import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; - import { expressionBuilder, } from '../expression/expression-builder.js'; - import { isFunction } from '../util/object-utils.js'; - import { parseValueExpression } from './value-parser.js'; --export function parseUpdateExpression(update) { -+import { parseReferenceExpression, } from './reference-parser.js'; -+export function parseUpdate(...args) { -+ if (args.length === 2) { -+ return [ -+ ColumnUpdateNode.create(parseReferenceExpression(args[0]), parseValueExpression(args[1])), -+ ]; -+ } -+ return parseUpdateObjectExpression(args[0]); -+} -+export function parseUpdateObjectExpression(update) { - const updateObj = isFunction(update) ? update(expressionBuilder()) : update; - return Object.entries(updateObj) - .filter(([_, value]) => value !== undefined) -diff --git a/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js b/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js -index 0ccc8a1..6e212e6 100644 ---- a/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js -+++ b/node_modules/kysely/dist/esm/plugin/with-schema/with-schema-transformer.js -@@ -17,12 +17,14 @@ const ROOT_OPERATION_NODES = freeze({ - CreateTableNode: true, - CreateTypeNode: true, - CreateViewNode: true, -+ CreateTriggerNode: true, - DeleteQueryNode: true, - DropIndexNode: true, - DropSchemaNode: true, - DropTableNode: true, - DropTypeNode: true, - DropViewNode: true, -+ DropTriggerNode: true, - InsertQueryNode: true, - RawNode: true, - SelectQueryNode: true, -diff --git a/node_modules/kysely/dist/esm/query-builder/function-module.d.ts b/node_modules/kysely/dist/esm/query-builder/function-module.d.ts -index 592c5e9..8f326c1 100644 ---- a/node_modules/kysely/dist/esm/query-builder/function-module.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/function-module.d.ts -@@ -7,6 +7,7 @@ import { KyselyTypeError } from '../util/type-error.js'; - import { Equals, IsAny } from '../util/type-utils.js'; - import { AggregateFunctionBuilder } from './aggregate-function-builder.js'; - import { SelectQueryBuilderExpression } from '../query-builder/select-query-builder-expression.js'; -+import { Selectable } from '../util/column-type.js'; - /** - * Helpers for type safe SQL function calls. - * -@@ -17,21 +18,47 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * - * - * -- * This example uses the `fn` module to select some aggregates: -+ * This example shows how to create function calls. These examples also work in any -+ * other place (`where` calls, updates, inserts etc.). The only difference is that you -+ * leave out the alias (the `as` call) if you use these in any other place than `select`. - * - * ```ts -+ * import { sql } from 'kysely' -+ * - * const result = await db.selectFrom('person') - * .innerJoin('pet', 'pet.owner_id', 'person.id') -- * .select(({ fn }) => [ -+ * .select(({ fn, val, ref }) => [ - * 'person.id', - * - * // The `fn` module contains the most common - * // functions. - * fn.count('pet.id').as('pet_count'), - * -- * // You can call any function using the -- * // `agg` method -- * fn.agg('array_agg', ['pet.name']).as('pet_names') -+ * // You can call any function by calling `fn` -+ * // directly. The arguments are treated as column -+ * // references by default. If you want to pass in -+ * // values, use the `val` function. -+ * fn('concat', [ -+ * val('Ms. '), -+ * 'first_name', -+ * val(' '), -+ * 'last_name' -+ * ]).as('full_name_with_title'), -+ * -+ * // You can call any aggregate function using the -+ * // `fn.agg` function. -+ * fn.agg('array_agg', ['pet.name']).as('pet_names'), -+ * -+ * // And once again, you can use the `sql` -+ * // template tag. The template tag substitutions -+ * // are treated as values by default. If you want -+ * // to reference columns, you can use the `ref` -+ * // function. -+ * sql`concat( -+ * ${ref('first_name')}, -+ * ' ', -+ * ${ref('last_name')} -+ * )`.as('full_name') - * ]) - * .groupBy('person.id') - * .having((eb) => eb.fn.count('pet.id'), '>', 10) -@@ -44,11 +71,13 @@ import { SelectQueryBuilderExpression } from '../query-builder/select-query-buil - * select - * "person"."id", - * count("pet"."id") as "pet_count", -- * array_agg("pet"."name") as "pet_names" -+ * concat($1, "first_name", $2, "last_name") as "full_name_with_title", -+ * array_agg("pet"."name") as "pet_names", -+ * concat("first_name", ' ', "last_name") as "full_name" - * from "person" - * inner join "pet" on "pet"."owner_id" = "person"."id" - * group by "person"."id" -- * having count("pet"."id") > $1 -+ * having count("pet"."id") > $3 - * ``` - */ - export interface FunctionModule { -@@ -540,6 +569,50 @@ export interface FunctionModule { - any>(expr: RE): Exclude, null> extends ReadonlyArray ? ExpressionWrapper : KyselyTypeError<'any(expr) call failed: expr must be an array'>; - any(subquery: SelectQueryBuilderExpression>): ExpressionWrapper; - any(expr: Expression>): ExpressionWrapper; -+ /** -+ * Creates a json_agg function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.jsonAgg('pet').as('pets')]) -+ * .groupBy('person.first_name') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", json_agg("pet") as "pets" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * group by "person"."first_name" -+ * ``` -+ */ -+ jsonAgg>(table: T): AggregateFunctionBuilder[] : T extends Expression ? O[] : never>; -+ /** -+ * Creates a to_json function call. -+ * -+ * This function is only available on PostgreSQL. -+ * -+ * ```ts -+ * db.selectFrom('person') -+ * .innerJoin('pet', 'pet.owner_id', 'person.id') -+ * .select((eb) => ['first_name', eb.fn.toJson('pet').as('pet')]) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * select "first_name", to_json("pet") as "pet" -+ * from "person" -+ * inner join "pet" on "pet"."owner_id" = "person"."id" -+ * ``` -+ */ -+ toJson>(table: T): ExpressionWrapper : T extends Expression ? O : never>; - } - export declare function createFunctionModule(): FunctionModule; - type OutputBoundStringReference, O> = IsAny extends true ? C : Equals | null, O | null> extends true ? C : never; -diff --git a/node_modules/kysely/dist/esm/query-builder/function-module.js b/node_modules/kysely/dist/esm/query-builder/function-module.js -index 7e1d28d..3744008 100644 ---- a/node_modules/kysely/dist/esm/query-builder/function-module.js -+++ b/node_modules/kysely/dist/esm/query-builder/function-module.js -@@ -5,6 +5,8 @@ import { FunctionNode } from '../operation-node/function-node.js'; - import { parseReferenceExpressionOrList, } from '../parser/reference-parser.js'; - import { parseSelectAll } from '../parser/select-parser.js'; - import { AggregateFunctionBuilder } from './aggregate-function-builder.js'; -+import { isString } from '../util/object-utils.js'; -+import { parseTable } from '../parser/table-parser.js'; - export function createFunctionModule() { - const fn = (name, args) => { - return new ExpressionWrapper(FunctionNode.create(name, parseReferenceExpressionOrList(args))); -@@ -42,5 +44,17 @@ export function createFunctionModule() { - any(column) { - return fn('any', [column]); - }, -+ jsonAgg(table) { -+ return new AggregateFunctionBuilder({ -+ aggregateFunctionNode: AggregateFunctionNode.create('json_agg', [ -+ isString(table) ? parseTable(table) : table.toOperationNode(), -+ ]), -+ }); -+ }, -+ toJson(table) { -+ return new ExpressionWrapper(FunctionNode.create('to_json', [ -+ isString(table) ? parseTable(table) : table.toOperationNode(), -+ ])); -+ }, - }); - } -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts -index 6be4113..ffc6c3f 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.ts -@@ -5,7 +5,7 @@ import { InsertObjectOrList, InsertObjectOrListFactory } from '../parser/insert- - import { InsertQueryNode } from '../operation-node/insert-query-node.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { NarrowPartial, SimplifyResult, SimplifySingleResult } from '../util/type-utils.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; -+import { UpdateObjectExpression } from '../parser/update-set-parser.js'; - import { Compilable } from '../util/compilable.js'; - import { QueryExecutor } from '../query-executor/query-executor.js'; - import { QueryId } from '../util/query-id.js'; -@@ -60,13 +60,18 @@ export declare class InsertQueryBuilder implements R - * }) - * .executeTakeFirst() - * -+ * // `insertId` is only available on dialects that -+ * // automatically return the id of the inserted row -+ * // such as MySQL and SQLite. On PostgreSQL, for example, -+ * // you need to add a `returning` clause to the query to -+ * // get anything out. See the "returning data" example. - * console.log(result.insertId) - * ``` - * -- * The generated SQL (PostgreSQL): -+ * The generated SQL (MySQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") values ($1, $2, $3) -+ * insert into `person` (`first_name`, `last_name`, `age`) values (?, ?, ?) - * ``` - * - * -@@ -131,11 +136,14 @@ export declare class InsertQueryBuilder implements R - * ```ts - * import { sql } from 'kysely' - * -+ * const ani = "Ani" -+ * const ston = "ston" -+ * - * const result = await db - * .insertInto('person') - * .values(({ ref, selectFrom, fn }) => ({ - * first_name: 'Jennifer', -- * last_name: sql`${'Ani'} || ${'ston'}`, -+ * last_name: sql`concat(${ani}, ${ston})`, - * middle_name: ref('first_name'), - * age: selectFrom('person') - * .select(fn.avg('age') -@@ -147,8 +155,18 @@ export declare class InsertQueryBuilder implements R - * The generated SQL (PostgreSQL): - * - * ```sql -- * insert into "person" ("first_name", "last_name", "age") -- * values ($1, $2 || $3, (select avg("age") as "avg_age" from "person")) -+ * insert into "person" ( -+ * "first_name", -+ * "last_name", -+ * "middle_name", -+ * "age" -+ * ) -+ * values ( -+ * $1, -+ * concat($2, $3), -+ * "first_name", -+ * (select avg("age") as "avg_age" from "person") -+ * ) - * ``` - * - * You can also use the callback version of subqueries or raw expressions: -@@ -208,7 +226,7 @@ export declare class InsertQueryBuilder implements R - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -218,7 +236,7 @@ export declare class InsertQueryBuilder implements R - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression: ExpressionOrFactory): InsertQueryBuilder; -@@ -414,7 +432,7 @@ export declare class InsertQueryBuilder implements R - * .onDuplicateKeyUpdate({ species: 'hamster' }) - * ``` - */ -- onDuplicateKeyUpdate(update: UpdateExpression): InsertQueryBuilder; -+ onDuplicateKeyUpdate(update: UpdateObjectExpression): InsertQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js -index 3cd23c3..d9f1cc8 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js -+++ b/node_modules/kysely/dist/esm/query-builder/insert-query-builder.js -@@ -3,7 +3,7 @@ import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js'; - import { parseInsertExpression, } from '../parser/insert-values-parser.js'; - import { InsertQueryNode } from '../operation-node/insert-query-node.js'; - import { QueryNode } from '../operation-node/query-node.js'; --import { parseUpdateExpression, } from '../parser/update-set-parser.js'; -+import { parseUpdateObjectExpression, } from '../parser/update-set-parser.js'; - import { preventAwait } from '../util/prevent-await.js'; - import { freeze } from '../util/object-utils.js'; - import { OnDuplicateKeyNode } from '../operation-node/on-duplicate-key-node.js'; -@@ -75,7 +75,7 @@ export class InsertQueryBuilder { - * .select((eb) => [ - * 'pet.name', - * eb.val('Petson').as('last_name'), -- * eb.val(7).as('age'), -+ * eb.lit(7).as('age'), - * ]) - * ) - * .execute() -@@ -85,7 +85,7 @@ export class InsertQueryBuilder { - * - * ```sql - * insert into "person" ("first_name", "last_name", "age") -- * select "pet"."name", $1 as "first_name", $2 as "last_name" from "pet" -+ * select "pet"."name", $1 as "last_name", 7 as "age from "pet" - * ``` - */ - expression(expression) { -@@ -308,7 +308,7 @@ export class InsertQueryBuilder { - return new InsertQueryBuilder({ - ...this.#props, - queryNode: InsertQueryNode.cloneWith(this.#props.queryNode, { -- onDuplicateKey: OnDuplicateKeyNode.create(parseUpdateExpression(update)), -+ onDuplicateKey: OnDuplicateKeyNode.create(parseUpdateObjectExpression(update)), - }), - }); - } -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts b/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts -index c16fb08..d22a9e5 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/insert-result.d.ts -@@ -23,7 +23,14 @@ - */ - export declare class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - readonly insertId: bigint | undefined; - /** -diff --git a/node_modules/kysely/dist/esm/query-builder/insert-result.js b/node_modules/kysely/dist/esm/query-builder/insert-result.js -index ba00de9..ff11e8c 100644 ---- a/node_modules/kysely/dist/esm/query-builder/insert-result.js -+++ b/node_modules/kysely/dist/esm/query-builder/insert-result.js -@@ -24,7 +24,14 @@ - */ - export class InsertResult { - /** -- * The auto incrementing primary key -+ * The auto incrementing primary key of the inserted row. -+ * -+ * This property can be undefined when the query contains an `on conflict` -+ * clause that makes the query succeed even when nothing gets inserted. -+ * -+ * This property is always undefined on dialects like PostgreSQL that -+ * don't return the inserted id by default. On those dialects you need -+ * to use the {@link ReturningInterface.returning | returning} method. - */ - insertId; - /** -diff --git a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts -index 803563e..cfb9d96 100644 ---- a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.ts -@@ -4,7 +4,7 @@ import { OperationNodeSource } from '../operation-node/operation-node-source.js' - import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; - import { ExpressionOrFactory } from '../parser/expression-parser.js'; - import { ReferenceExpression } from '../parser/reference-parser.js'; --import { UpdateExpression } from '../parser/update-set-parser.js'; -+import { UpdateObjectExpression } from '../parser/update-set-parser.js'; - import { AnyColumn, SqlBool } from '../util/type-utils.js'; - import { WhereInterface } from './where-interface.js'; - export declare class OnConflictBuilder implements WhereInterface { -@@ -435,7 +435,7 @@ export declare class OnConflictBuilder implements Where - * ) - * ``` - */ -- doUpdateSet(update: UpdateExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; -+ doUpdateSet(update: UpdateObjectExpression, OnConflictTables, OnConflictTables>): OnConflictUpdateBuilder, OnConflictTables>; - /** - * Simply calls the provided function passing `this` as the only argument. `$call` returns - * what the provided function returns. -diff --git a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js -index bd95015..02c9135 100644 ---- a/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js -+++ b/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.js -@@ -3,7 +3,7 @@ import { ColumnNode } from '../operation-node/column-node.js'; - import { IdentifierNode } from '../operation-node/identifier-node.js'; - import { OnConflictNode } from '../operation-node/on-conflict-node.js'; - import { parseValueBinaryOperationOrExpression, parseReferentialBinaryOperation, } from '../parser/binary-operation-parser.js'; --import { parseUpdateExpression, } from '../parser/update-set-parser.js'; -+import { parseUpdateObjectExpression, } from '../parser/update-set-parser.js'; - import { freeze } from '../util/object-utils.js'; - import { preventAwait } from '../util/prevent-await.js'; - export class OnConflictBuilder { -@@ -173,7 +173,7 @@ export class OnConflictBuilder { - return new OnConflictUpdateBuilder({ - ...this.#props, - onConflictNode: OnConflictNode.cloneWith(this.#props.onConflictNode, { -- updates: parseUpdateExpression(update), -+ updates: parseUpdateObjectExpression(update), - }), - }); - } -diff --git a/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts b/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts -index 3d30eed..a71462a 100644 ---- a/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts -+++ b/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.ts -@@ -8,7 +8,7 @@ import { ReferenceExpression } from '../parser/reference-parser.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { DrainOuterGeneric, NarrowPartial, Nullable, ShallowRecord, SimplifyResult, SimplifySingleResult, SqlBool } from '../util/type-utils.js'; - import { UpdateQueryNode } from '../operation-node/update-query-node.js'; --import { UpdateObject, UpdateObjectFactory } from '../parser/update-set-parser.js'; -+import { UpdateObject, UpdateObjectFactory, ExtractUpdateTypeFromReferenceExpression } from '../parser/update-set-parser.js'; - import { Compilable } from '../util/compilable.js'; - import { QueryExecutor } from '../query-executor/query-executor.js'; - import { QueryId } from '../util/query-id.js'; -@@ -24,6 +24,7 @@ import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../p - import { KyselyTypeError } from '../util/type-error.js'; - import { Streamable } from '../util/streamable.js'; - import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { ValueExpression } from '../parser/value-parser.js'; - export declare class UpdateQueryBuilder implements WhereInterface, ReturningInterface, OperationNodeSource, Compilable, Explainable, Streamable { - #private; - constructor(props: UpdateQueryBuilderProps); -@@ -625,6 +626,20 @@ export declare class UpdateQueryBuilder eb.val('61710)) -+ * .where('id', '=', '1') -+ * .executeTakeFirst() -+ * ``` -+ * - * On PostgreSQL you can chain `returning` to the query to get - * the updated rows' columns (or any other expression) as the - * return value: -@@ -682,6 +697,7 @@ export declare class UpdateQueryBuilder): UpdateQueryBuilder; - set(update: UpdateObjectFactory): UpdateQueryBuilder; -+ set>(key: RE, value: ValueExpression>): UpdateQueryBuilder; - /** - * Allows you to return data from modified rows. - * -diff --git a/node_modules/kysely/dist/esm/query-builder/update-query-builder.js b/node_modules/kysely/dist/esm/query-builder/update-query-builder.js -index b20c740..6487ecf 100644 ---- a/node_modules/kysely/dist/esm/query-builder/update-query-builder.js -+++ b/node_modules/kysely/dist/esm/query-builder/update-query-builder.js -@@ -4,7 +4,7 @@ import { parseTableExpressionOrList, } from '../parser/table-parser.js'; - import { parseSelectArg, parseSelectAll, } from '../parser/select-parser.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { UpdateQueryNode } from '../operation-node/update-query-node.js'; --import { parseUpdateExpression, } from '../parser/update-set-parser.js'; -+import { parseUpdate, } from '../parser/update-set-parser.js'; - import { preventAwait } from '../util/prevent-await.js'; - import { freeze } from '../util/object-utils.js'; - import { UpdateResult } from './update-result.js'; -@@ -63,10 +63,10 @@ export class UpdateQueryBuilder { - queryNode: QueryNode.cloneWithJoin(this.#props.queryNode, parseJoin('FullJoin', args)), - }); - } -- set(update) { -+ set(...args) { - return new UpdateQueryBuilder({ - ...this.#props, -- queryNode: UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, parseUpdateExpression(update)), -+ queryNode: UpdateQueryNode.cloneWithUpdates(this.#props.queryNode, parseUpdate(...args)), - }); - } - returning(selection) { -diff --git a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts -index dbd954a..2f73125 100644 ---- a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts -+++ b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.d.ts -@@ -48,7 +48,7 @@ import { RootOperationNode, QueryCompiler } from './query-compiler.js'; - import { HavingNode } from '../operation-node/having-node.js'; - import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; - import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; --import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { AlterTableColumnAlterationNode, AlterTableNode } from '../operation-node/alter-table-node.js'; - import { DropColumnNode } from '../operation-node/drop-column-node.js'; - import { RenameColumnNode } from '../operation-node/rename-column-node.js'; - import { AlterColumnNode } from '../operation-node/alter-column-node.js'; -@@ -88,6 +88,11 @@ import { JSONPathNode } from '../operation-node/json-path-node.js'; - import { JSONPathLegNode } from '../operation-node/json-path-leg-node.js'; - import { JSONOperatorChainNode } from '../operation-node/json-operator-chain-node.js'; - import { TupleNode } from '../operation-node/tuple-node.js'; -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+import { TriggerEventNode } from '../operation-node/trigger-event-node.js'; -+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js'; - export declare class DefaultQueryCompiler extends OperationNodeVisitor implements QueryCompiler { - #private; - protected get numParameters(): number; -@@ -124,6 +129,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitTable(node: TableNode): void; - protected visitSchemableIdentifier(node: SchemableIdentifierNode): void; - protected visitCreateTable(node: CreateTableNode): void; -+ protected visitCreateTrigger(node: CreateTriggerNode): void; -+ protected visitTriggerEvent(node: TriggerEventNode): void; -+ protected visitTriggerOrder(node: TriggerOrderNode): void; -+ protected visitDropTrigger(node: DropTriggerNode): void; - protected visitColumnDefinition(node: ColumnDefinitionNode): void; - protected getAutoIncrement(): string; - protected visitReferences(node: ReferencesNode): void; -@@ -184,6 +193,7 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected visitJSONPath(node: JSONPathNode): void; - protected visitJSONPathLeg(node: JSONPathLegNode): void; - protected visitJSONOperatorChain(node: JSONOperatorChainNode): void; -+ protected visitAddIndex(node: AddIndexNode): void; - protected append(str: string): void; - protected appendValue(parameter: unknown): void; - protected getLeftIdentifierWrapper(): string; -@@ -197,4 +207,10 @@ export declare class DefaultQueryCompiler extends OperationNodeVisitor implement - protected addParameter(parameter: unknown): void; - protected appendImmediateValue(value: unknown): void; - protected sortSelectModifiers(arr: SelectModifierNode[]): ReadonlyArray; -+ protected compileColumnAlterations(columnAlterations: readonly AlterTableColumnAlterationNode[]): void; -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ protected announcesNewColumnDataType(): boolean; - } -diff --git a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js -index c75a92d..0762ebd 100644 ---- a/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js -+++ b/node_modules/kysely/dist/esm/query-compiler/default-query-compiler.js -@@ -1,4 +1,5 @@ - /// -+import { CreateTableNode } from '../operation-node/create-table-node.js'; - import { InsertQueryNode } from '../operation-node/insert-query-node.js'; - import { OperationNodeVisitor } from '../operation-node/operation-node-visitor.js'; - import { OperatorNode } from '../operation-node/operator-node.js'; -@@ -30,6 +31,7 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - const wrapInParens = this.parentNode !== undefined && - !ParensNode.is(this.parentNode) && - !InsertQueryNode.is(this.parentNode) && -+ !CreateTableNode.is(this.parentNode) && - !CreateViewNode.is(this.parentNode) && - !SetOperationNode.is(this.parentNode); - if (this.parentNode === undefined && node.explain) { -@@ -346,17 +348,83 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.append('if not exists '); - } - this.visitNode(node.table); -- this.append(' ('); -- this.compileList([...node.columns, ...(node.constraints ?? [])]); -- this.append(')'); -- if (node.onCommit) { -- this.append(' on commit '); -- this.append(node.onCommit); -+ if (node.selectQuery) { -+ this.append(' as '); -+ this.visitNode(node.selectQuery); - } -- if (node.endModifiers && node.endModifiers.length > 0) { -- this.append(' '); -- this.compileList(node.endModifiers, ' '); -+ else { -+ this.append(' ('); -+ this.compileList([...node.columns, ...(node.constraints ?? [])]); -+ this.append(')'); -+ if (node.onCommit) { -+ this.append(' on commit '); -+ this.append(node.onCommit); -+ } -+ if (node.endModifiers && node.endModifiers.length > 0) { -+ this.append(' '); -+ this.compileList(node.endModifiers, ' '); -+ } -+ } -+ } -+ visitCreateTrigger(node) { -+ if (!node.time) -+ throw new Error('Trigger time is required.'); -+ if (!node.events) -+ throw new Error('Trigger event is required.'); -+ if (!node.table) -+ throw new Error('Trigger table is required.'); -+ this.append('create '); -+ if (node.temporary) { -+ this.append('temporary '); - } -+ if (node.orReplace) { -+ this.append('or replace '); -+ } -+ this.append('trigger '); -+ if (node.ifNotExists) { -+ this.append('if not exists '); -+ } -+ this.visitNode(node.name); -+ this.append(` ${node.time} `); -+ this.compileList(node.events, ' or '); -+ this.append(' on '); -+ this.visitNode(node.table); -+ if (node.forEach) -+ this.append(` for each ${node.forEach} `); -+ if (node.when) { -+ this.append(' when '); -+ this.visitNode(node.when); -+ } -+ if (node.order) -+ this.visitNode(node.order); -+ if (node.queries) { -+ this.append(' begin '); -+ this.compileList(node.queries, '; '); -+ this.append('; '); -+ this.append('end'); -+ } -+ else if (node.function) { -+ this.append(' execute function '); -+ this.visitNode(node.function); -+ } -+ } -+ visitTriggerEvent(node) { -+ this.append(`${node.event} `); -+ if (node.event === 'update' && node.columns) { -+ this.append('of '); -+ this.compileList(node.columns, ', '); -+ } -+ } -+ visitTriggerOrder(node) { -+ this.append(`${node.order} `); -+ this.visitNode(node.otherTriggerName); -+ } -+ visitDropTrigger(node) { -+ this.append('drop trigger '); -+ if (node.ifExists) { -+ this.append('if exists '); -+ } -+ this.visitNode(node.name); - } - visitColumnDefinition(node) { - this.visitNode(node.column); -@@ -383,6 +451,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - if (node.unique) { - this.append(' unique'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.primaryKey) { - this.append(' primary key'); - } -@@ -563,6 +634,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.compileList(node.columns); - this.append(')'); - } -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } - if (node.where) { - this.append(' '); - this.visitNode(node.where); -@@ -615,7 +689,11 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.name); - this.append(' '); - } -- this.append('unique ('); -+ this.append('unique'); -+ if (node.nullsNotDistinct) { -+ this.append(' nulls not distinct'); -+ } -+ this.append(' ('); - this.compileList(node.columns); - this.append(')'); - } -@@ -696,7 +774,13 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.dropConstraint); - } - if (node.columnAlterations) { -- this.compileList(node.columnAlterations); -+ this.compileColumnAlterations(node.columnAlterations); -+ } -+ if (node.addIndex) { -+ this.visitNode(node.addIndex); -+ } -+ if (node.dropIndex) { -+ this.visitNode(node.dropIndex); - } - } - visitAddColumn(node) { -@@ -718,7 +802,9 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.column); - this.append(' '); - if (node.dataType) { -- this.append('type '); -+ if (this.announcesNewColumnDataType()) { -+ this.append('type '); -+ } - this.visitNode(node.dataType); - if (node.dataTypeExpression) { - this.append('using '); -@@ -1004,6 +1090,23 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - this.visitNode(node.values[i]); - } - } -+ visitAddIndex(node) { -+ this.append('add '); -+ if (node.unique) { -+ this.append('unique '); -+ } -+ this.append('index '); -+ this.visitNode(node.name); -+ if (node.columns) { -+ this.append(' ('); -+ this.compileList(node.columns); -+ this.append(')'); -+ } -+ if (node.using) { -+ this.append(' using '); -+ this.visitNode(node.using); -+ } -+ } - append(str) { - this.#sql += str; - } -@@ -1077,6 +1180,16 @@ export class DefaultQueryCompiler extends OperationNodeVisitor { - : 1); - return freeze(arr); - } -+ compileColumnAlterations(columnAlterations) { -+ this.compileList(columnAlterations); -+ } -+ /** -+ * controls whether the dialect adds a "type" keyword before a column's new data -+ * type in an ALTER TABLE statement. -+ */ -+ announcesNewColumnDataType() { -+ return true; -+ } - } - const SELECT_MODIFIER_SQL = freeze({ - ForKeyShare: 'for key share', -diff --git a/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts b/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts -index e3a8555..e96bd90 100644 ---- a/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts -+++ b/node_modules/kysely/dist/esm/query-compiler/query-compiler.d.ts -@@ -2,17 +2,19 @@ import { AlterTableNode } from '../operation-node/alter-table-node.js'; - import { CreateIndexNode } from '../operation-node/create-index-node.js'; - import { CreateSchemaNode } from '../operation-node/create-schema-node.js'; - import { CreateTableNode } from '../operation-node/create-table-node.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; - import { CreateTypeNode } from '../operation-node/create-type-node.js'; - import { CreateViewNode } from '../operation-node/create-view-node.js'; - import { DropIndexNode } from '../operation-node/drop-index-node.js'; - import { DropSchemaNode } from '../operation-node/drop-schema-node.js'; - import { DropTableNode } from '../operation-node/drop-table-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; - import { DropTypeNode } from '../operation-node/drop-type-node.js'; - import { DropViewNode } from '../operation-node/drop-view-node.js'; - import { QueryNode } from '../operation-node/query-node.js'; - import { RawNode } from '../operation-node/raw-node.js'; - import { CompiledQuery } from './compiled-query.js'; --export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode; -+export type RootOperationNode = QueryNode | CreateTableNode | CreateIndexNode | CreateSchemaNode | CreateViewNode | DropTableNode | DropIndexNode | DropSchemaNode | DropViewNode | AlterTableNode | RawNode | CreateTypeNode | DropTypeNode | CreateTriggerNode | DropTriggerNode; - /** - * a `QueryCompiler` compiles a query expressed as a tree of `OperationNodes` into SQL. - */ -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts -new file mode 100644 -index 0000000..b297698 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.ts -@@ -0,0 +1,104 @@ -+import { Expression } from '../expression/expression.js'; -+import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { IndexType } from '../operation-node/create-index-node.js'; -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { OrderedColumnName } from '../parser/reference-parser.js'; -+import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { QueryExecutor } from '../query-executor/query-executor.js'; -+import { Compilable } from '../util/compilable.js'; -+import { QueryId } from '../util/query-id.js'; -+export declare class AlterTableAddIndexBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: AlterTableAddIndexBuilderProps); -+ /** -+ * Makes the index unique. -+ */ -+ unique(): AlterTableAddIndexBuilder; -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column: OrderedColumnName): AlterTableAddIndexBuilder; -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns: OrderedColumnName[]): AlterTableAddIndexBuilder; -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression: Expression): AlterTableAddIndexBuilder; -+ /** -+ * Specifies the index type. -+ */ -+ using(indexType: IndexType): AlterTableAddIndexBuilder; -+ using(indexType: string): AlterTableAddIndexBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): AlterTableNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface AlterTableAddIndexBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: AlterTableNode; -+} -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js -new file mode 100644 -index 0000000..00a8ef4 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.js -@@ -0,0 +1,143 @@ -+/// -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { AlterTableNode } from '../operation-node/alter-table-node.js'; -+import { RawNode } from '../operation-node/raw-node.js'; -+import { parseOrderedColumnName } from '../parser/reference-parser.js'; -+import { freeze } from '../util/object-utils.js'; -+import { preventAwait } from '../util/prevent-await.js'; -+export class AlterTableAddIndexBuilder { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ /** -+ * Makes the index unique. -+ */ -+ unique() { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ unique: true, -+ }), -+ }), -+ }); -+ } -+ /** -+ * Adds a column to the index. -+ * -+ * Also see {@link columns} for adding multiple columns at once or {@link expression} -+ * for specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .createIndex('person_first_name_and_age_index') -+ * .column('first_name') -+ * .column('age desc') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ column(column) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [parseOrderedColumnName(column)]), -+ }), -+ }); -+ } -+ /** -+ * Specifies a list of columns for the index. -+ * -+ * Also see {@link column} for adding a single column or {@link expression} for -+ * specifying an arbitrary expression. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_and_age_index') -+ * .columns(['first_name', 'age desc']) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_and_age_index` (`first_name`, `age` desc) -+ * ``` -+ */ -+ columns(columns) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, columns.map(parseOrderedColumnName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies an arbitrary expression for the index. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * import { sql } from 'kysely' -+ * -+ * await db.schema -+ * .alterTable('person') -+ * .addIndex('person_first_name_index') -+ * .expression(sql`(first_name < 'Sami')`) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add index `person_first_name_index` ((first_name < 'Sami')) -+ * ``` -+ */ -+ expression(expression) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWithColumns(this.#props.node.addIndex, [expression.toOperationNode()]), -+ }), -+ }); -+ } -+ using(indexType) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.cloneWith(this.#props.node.addIndex, { -+ using: RawNode.createWithSql(indexType), -+ }), -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+preventAwait(AlterTableAddIndexBuilder, "don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts b/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts -index b0726ca..4453c5b 100644 ---- a/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/alter-table-builder.d.ts -@@ -11,6 +11,8 @@ import { AlterColumnBuilderCallback } from './alter-column-builder.js'; - import { AlterTableExecutor } from './alter-table-executor.js'; - import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js'; - import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js'; -+import { AlterTableAddIndexBuilder } from './alter-table-add-index-builder.js'; -+import { UniqueConstraintNodeBuilderCallback } from './unique-constraint-builder.js'; - /** - * This builder can be used to create a `alter table` query. - */ -@@ -35,7 +37,7 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName: string, columns: string[]): AlterTableExecutor; -+ addUniqueConstraint(constraintName: string, columns: string[], build?: UniqueConstraintNodeBuilderCallback): AlterTableExecutor; - /** - * See {@link CreateTableBuilder.addCheckConstraint} - */ -@@ -53,6 +55,44 @@ export declare class AlterTableBuilder implements ColumnAlteringInterface { - */ - addPrimaryKeyConstraint(constraintName: string, columns: string[]): AlterTableExecutor; - dropConstraint(constraintName: string): AlterTableDropConstraintBuilder; -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName: string): AlterTableAddIndexBuilder; -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName: string): AlterTableExecutor; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/alter-table-builder.js b/node_modules/kysely/dist/esm/schema/alter-table-builder.js -index f003eb8..2d8dac8 100644 ---- a/node_modules/kysely/dist/esm/schema/alter-table-builder.js -+++ b/node_modules/kysely/dist/esm/schema/alter-table-builder.js -@@ -23,6 +23,10 @@ import { AlterTableExecutor } from './alter-table-executor.js'; - import { AlterTableAddForeignKeyConstraintBuilder } from './alter-table-add-foreign-key-constraint-builder.js'; - import { AlterTableDropConstraintBuilder } from './alter-table-drop-constraint-builder.js'; - import { PrimaryConstraintNode } from '../operation-node/primary-constraint-node.js'; -+import { DropIndexNode } from '../operation-node/drop-index-node.js'; -+import { AddIndexNode } from '../operation-node/add-index-node.js'; -+import { AlterTableAddIndexBuilder } from './alter-table-add-index-builder.js'; -+import { UniqueConstraintNodeBuilder, } from './unique-constraint-builder.js'; - /** - * This builder can be used to create a `alter table` query. - */ -@@ -83,11 +87,12 @@ export class AlterTableBuilder { - /** - * See {@link CreateTableBuilder.addUniqueConstraint} - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = noop) { -+ const uniqueConstraintBuilder = build(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(columns, constraintName))); - return new AlterTableExecutor({ - ...this.#props, - node: AlterTableNode.cloneWithTableProps(this.#props.node, { -- addConstraint: AddConstraintNode.create(UniqueConstraintNode.create(columns, constraintName)), -+ addConstraint: AddConstraintNode.create(uniqueConstraintBuilder.toOperationNode()), - }), - }); - } -@@ -134,6 +139,58 @@ export class AlterTableBuilder { - }), - }); - } -+ /** -+ * This can be used to add index to table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .addIndex('person_email_index') -+ * .column('email') -+ * .unique() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` add unique index `person_email_index` (`email`) -+ * ``` -+ */ -+ addIndex(indexName) { -+ return new AlterTableAddIndexBuilder({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ addIndex: AddIndexNode.create(indexName), -+ }), -+ }); -+ } -+ /** -+ * This can be used to drop index from table. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.alterTable('person') -+ * .dropIndex('person_email_index') -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (MySQL): -+ * -+ * ```sql -+ * alter table `person` drop index `test_first_name_index` -+ * ``` -+ */ -+ dropIndex(indexName) { -+ return new AlterTableExecutor({ -+ ...this.#props, -+ node: AlterTableNode.cloneWithTableProps(this.#props.node, { -+ dropIndex: DropIndexNode.create(indexName), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts b/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts -index 2a99c4c..a76104c 100644 ---- a/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/column-definition-builder.d.ts -@@ -183,6 +183,31 @@ export declare class ColumnDefinitionBuilder implements OperationNodeSource { - * ``` - */ - modifyFront(modifier: Expression): ColumnDefinitionBuilder; -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct(): ColumnDefinitionBuilder; - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/esm/schema/column-definition-builder.js b/node_modules/kysely/dist/esm/schema/column-definition-builder.js -index 8ff9bf2..7111109 100644 ---- a/node_modules/kysely/dist/esm/schema/column-definition-builder.js -+++ b/node_modules/kysely/dist/esm/schema/column-definition-builder.js -@@ -256,6 +256,33 @@ export class ColumnDefinitionBuilder { - modifyFront(modifier) { - return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWithFrontModifier(this.#node, modifier.toOperationNode())); - } -+ /** -+ * Adds `nulls not distinct` specifier. -+ * Should be used with `unique` constraint. -+ * -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('person') -+ * .addColumn('id', 'integer', col => col.primaryKey()) -+ * .addColumn('first_name', 'varchar(30)', col => col.unique().nullsNotDistinct()) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create table "person" ( -+ * "id" integer primary key, -+ * "first_name" varchar(30) unique nulls not distinct -+ * ) -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new ColumnDefinitionBuilder(ColumnDefinitionNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } - /** - * This can be used to add any additional SQL to the end of the column definition. - * -diff --git a/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts -index 27502c4..b44e116 100644 ---- a/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/create-index-builder.d.ts -@@ -22,6 +22,29 @@ export declare class CreateIndexBuilder implements OperationNodeSourc - * Makes the index unique. - */ - unique(): CreateIndexBuilder; -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct(): CreateIndexBuilder; - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/esm/schema/create-index-builder.js b/node_modules/kysely/dist/esm/schema/create-index-builder.js -index 7886ba1..5d40347 100644 ---- a/node_modules/kysely/dist/esm/schema/create-index-builder.js -+++ b/node_modules/kysely/dist/esm/schema/create-index-builder.js -@@ -37,6 +37,36 @@ export class CreateIndexBuilder { - }), - }); - } -+ /** -+ * Adds `nulls not distinct` specifier to index. -+ * This only works on some dialects like PostgreSQL. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createIndex('person_first_name_index') -+ * .on('person') -+ * .column('first_name') -+ * .nullsNotDistinct() -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create index "person_first_name_index" -+ * on "test" ("first_name") -+ * nulls not distinct; -+ * ``` -+ */ -+ nullsNotDistinct() { -+ return new CreateIndexBuilder({ -+ ...this.#props, -+ node: CreateIndexNode.cloneWith(this.#props.node, { -+ nullsNotDistinct: true, -+ }), -+ }); -+ } - /** - * Specifies the table for the index. - */ -diff --git a/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts -index e160575..3b7e7ce 100644 ---- a/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts -+++ b/node_modules/kysely/dist/esm/schema/create-table-builder.d.ts -@@ -8,6 +8,7 @@ import { QueryId } from '../util/query-id.js'; - import { ForeignKeyConstraintBuilder } from './foreign-key-constraint-builder.js'; - import { DataTypeExpression } from '../parser/data-type-parser.js'; - import { Expression } from '../expression/expression.js'; -+import { UniqueConstraintNodeBuilderCallback } from './unique-constraint-builder.js'; - /** - * This builder can be used to create a `create table` query. - */ -@@ -56,7 +57,7 @@ export declare class CreateTableBuilder builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName: string, columns: C[]): CreateTableBuilder; -+ addUniqueConstraint(constraintName: string, columns: C[], build?: UniqueConstraintNodeBuilderCallback): CreateTableBuilder; - /** - * Adds a check constraint. - * -@@ -205,6 +211,26 @@ export declare class CreateTableBuilder): CreateTableBuilder; -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression: Expression): CreateTableBuilder; - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/create-table-builder.js b/node_modules/kysely/dist/esm/schema/create-table-builder.js -index 20fb8c5..f3423e2 100644 ---- a/node_modules/kysely/dist/esm/schema/create-table-builder.js -+++ b/node_modules/kysely/dist/esm/schema/create-table-builder.js -@@ -13,6 +13,8 @@ import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.j - import { CheckConstraintNode } from '../operation-node/check-constraint-node.js'; - import { parseTable } from '../parser/table-parser.js'; - import { parseOnCommitAction } from '../parser/on-commit-action-parse.js'; -+import { UniqueConstraintNodeBuilder, } from './unique-constraint-builder.js'; -+import { parseExpression } from '../parser/expression-parser.js'; - /** - * This builder can be used to create a `create table` query. - */ -@@ -84,7 +86,7 @@ export class CreateTableBuilder { - * ``` - * - * With this method, it's once again good to remember that Kysely just builds the -- * query and doesn't provide the same API for all databses. For example, some -+ * query and doesn't provide the same API for all databases. For example, some - * databases like older MySQL don't support the `references` statement in the - * column definition. Instead foreign key constraints need to be defined in the - * `create table` query. See the next example: -@@ -143,11 +145,17 @@ export class CreateTableBuilder { - * ```ts - * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name']) - * ``` -+ * -+ * In dialects such as PostgreSQL you can specify `nulls not distinct` as follows: -+ * ```ts -+ * addUniqueConstraint('first_name_last_name_unique', ['first_name', 'last_name'], (builder) => builder.nullsNotDistinct()) -+ * ``` - */ -- addUniqueConstraint(constraintName, columns) { -+ addUniqueConstraint(constraintName, columns, build = noop) { -+ const uniqueConstraintBuilder = build(new UniqueConstraintNodeBuilder(UniqueConstraintNode.create(columns, constraintName))); - return new CreateTableBuilder({ - ...this.#props, -- node: CreateTableNode.cloneWithConstraint(this.#props.node, UniqueConstraintNode.create(columns, constraintName)), -+ node: CreateTableNode.cloneWithConstraint(this.#props.node, uniqueConstraintBuilder.toOperationNode()), - }); - } - /** -@@ -270,6 +278,33 @@ export class CreateTableBuilder { - node: CreateTableNode.cloneWithEndModifier(this.#props.node, modifier.toOperationNode()), - }); - } -+ /** -+ * Allows to create table from `select` query. -+ * -+ * ### Examples -+ * -+ * ```ts -+ * db.schema.createTable('copy') -+ * .temporary() -+ * .as(db.selectFrom('person').select(['first_name', 'last_name'])) -+ * .execute() -+ * ``` -+ * -+ * The generated SQL (PostgreSQL): -+ * -+ * ```sql -+ * create temporary table "copy" as -+ * select "first_name", "last_name" from "person" -+ * ``` -+ */ -+ as(expression) { -+ return new CreateTableBuilder({ -+ ...this.#props, -+ node: CreateTableNode.cloneWith(this.#props.node, { -+ selectQuery: parseExpression(expression), -+ }), -+ }); -+ } - /** - * Calls the given function passing `this` as the only argument. - * -diff --git a/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts b/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts -new file mode 100644 -index 0000000..c65746a ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/create-trigger-builder.d.ts -@@ -0,0 +1,68 @@ -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { ComparisonOperatorExpression, OperandValueExpressionOrList } from '../parser/binary-operation-parser.js'; -+import { ReferenceExpression } from '../parser/reference-parser.js'; -+import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { QueryExecutor } from '../query-executor/query-executor.js'; -+import { Compilable } from '../util/compilable.js'; -+import { QueryId } from '../util/query-id.js'; -+import { AnyColumn, AnyColumnWithTable, SqlBool } from '../util/type-utils.js'; -+import { TriggerEvent } from '../operation-node/trigger-event-node.js'; -+import { ExpressionOrFactory } from '../parser/expression-parser.js'; -+import { TriggerQueryCreator } from '../trigger-query-creator.js'; -+export type DatabaseWithOldNewTables = DB & { -+ old: DB[TB]; -+ new: DB[TB]; -+}; -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+export declare class CreateTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: CreateTriggerBuilderProps); -+ before(): CreateTriggerBuilder; -+ after(): CreateTriggerBuilder; -+ insteadOf(): CreateTriggerBuilder; -+ addEvent(event: E, columns?: E extends 'update' ? AnyColumn[] : never[]): CreateTriggerBuilder; -+ forEachRow(): CreateTriggerBuilder; -+ forEachStatement(): CreateTriggerBuilder; -+ follows(otherTriggerName: string): CreateTriggerBuilder; -+ precedes(otherTriggerName: string): CreateTriggerBuilder; -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table: TE, schema?: string): CreateTriggerBuilder; -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary(): CreateTriggerBuilder; -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists(): CreateTriggerBuilder; -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace(): CreateTriggerBuilder; -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build: QueryCreatorCallback): CreateTriggerBuilder; -+ function(name: string, args: ReadonlyArray>): CreateTriggerBuilder; -+ when, 'old' | 'new'>>(lhs: RE, op: ComparisonOperatorExpression, rhs: OperandValueExpressionOrList): CreateTriggerBuilder; -+ when(factory: ExpressionOrFactory, 'old' | 'new', SqlBool>): CreateTriggerBuilder; -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): CreateTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface CreateTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: CreateTriggerNode; -+} -+export type QueryCreatorCallback = (creator: TriggerQueryCreator) => OperationNodeSource; -diff --git a/node_modules/kysely/dist/esm/schema/create-trigger-builder.js b/node_modules/kysely/dist/esm/schema/create-trigger-builder.js -new file mode 100644 -index 0000000..d3eb721 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/create-trigger-builder.js -@@ -0,0 +1,177 @@ -+/// -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { QueryNode } from '../operation-node/query-node.js'; -+import { parseValueBinaryOperationOrExpression, } from '../parser/binary-operation-parser.js'; -+import { parseOrderedColumnName, parseReferenceExpressionOrList, } from '../parser/reference-parser.js'; -+import { ImmediateValueTransformer } from '../plugin/immediate-value/immediate-value-transformer.js'; -+import { freeze } from '../util/object-utils.js'; -+import { preventAwait } from '../util/prevent-await.js'; -+import { IdentifierNode } from '../operation-node/identifier-node.js'; -+import { TriggerOrderNode } from '../operation-node/trigger-order-node.js'; -+import { TriggerEventNode, } from '../operation-node/trigger-event-node.js'; -+import { FunctionNode } from '../operation-node/function-node.js'; -+import { TriggerQueryCreator } from '../trigger-query-creator.js'; -+import { TableNode } from '../operation-node/table-node.js'; -+/** -+ * This builder can be used to create a `create table` query. -+ */ -+export class CreateTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ before() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'before', -+ }), -+ }); -+ } -+ after() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'after', -+ }), -+ }); -+ } -+ insteadOf() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ time: 'instead of', -+ }), -+ }); -+ } -+ addEvent(event, columns) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWithEvent(this.#props.node, TriggerEventNode.create(event, columns?.map(parseOrderedColumnName))), -+ }); -+ } -+ forEachRow() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `row`, -+ }), -+ }); -+ } -+ forEachStatement() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ forEach: `statement`, -+ }), -+ }); -+ } -+ follows(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ order: TriggerOrderNode.create('follows', IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ precedes(otherTriggerName) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ order: TriggerOrderNode.create('precedes', IdentifierNode.create(otherTriggerName)), -+ }), -+ }); -+ } -+ /** -+ * Specifies the table for the trigger. -+ */ -+ onTable(table, schema) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ table: schema -+ ? TableNode.createWithSchema(schema, table) -+ : TableNode.create(table), -+ }), -+ }); -+ } -+ /** -+ * Adds the "temporary" modifier. -+ * -+ * Use this to create a temporary trigger. -+ */ -+ temporary() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ temporary: true, -+ }), -+ }); -+ } -+ /** -+ * Adds the "if not exists" modifier. -+ * -+ * If the trigger already exists, no error is thrown if this method has been called. -+ */ -+ ifNotExists() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ ifNotExists: true, -+ }), -+ }); -+ } -+ /** -+ * Only supported on PostgreSQL -+ */ -+ orReplace() { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ orReplace: true, -+ }), -+ }); -+ } -+ /** -+ * Adds a query to the trigger. -+ */ -+ addQuery(build) { -+ const node = build(new TriggerQueryCreator({ executor: this.#props.executor })).toOperationNode(); -+ if (!QueryNode.is(node)) -+ throw new Error('Must be a query node.'); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWithQuery(this.#props.node, node), -+ }); -+ } -+ function(name, args) { -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ function: FunctionNode.create(name, parseReferenceExpressionOrList(args)), -+ }), -+ }); -+ } -+ when(...args) { -+ const transformer = new ImmediateValueTransformer(); -+ return new CreateTriggerBuilder({ -+ ...this.#props, -+ node: CreateTriggerNode.cloneWith(this.#props.node, { -+ when: transformer.transformNode(parseValueBinaryOperationOrExpression(args)), -+ }), -+ }); -+ } -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+preventAwait(CreateTriggerBuilder, "don't await CreateTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts -new file mode 100644 -index 0000000..b0e3fce ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.d.ts -@@ -0,0 +1,25 @@ -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { CompiledQuery } from '../query-compiler/compiled-query.js'; -+import { Compilable } from '../util/compilable.js'; -+import { QueryExecutor } from '../query-executor/query-executor.js'; -+import { QueryId } from '../util/query-id.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+export declare class DropTriggerBuilder implements OperationNodeSource, Compilable { -+ #private; -+ constructor(props: DropTriggerBuilderProps); -+ ifExists(): DropTriggerBuilder; -+ cascade(): DropTriggerBuilder; -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func: (qb: this) => T): T; -+ toOperationNode(): DropTriggerNode; -+ compile(): CompiledQuery; -+ execute(): Promise; -+} -+export interface DropTriggerBuilderProps { -+ readonly queryId: QueryId; -+ readonly executor: QueryExecutor; -+ readonly node: DropTriggerNode; -+} -diff --git a/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js -new file mode 100644 -index 0000000..0a0f2e1 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/drop-trigger-builder.js -@@ -0,0 +1,43 @@ -+/// -+import { preventAwait } from '../util/prevent-await.js'; -+import { freeze } from '../util/object-utils.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+export class DropTriggerBuilder { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ ifExists() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: DropTriggerNode.cloneWith(this.#props.node, { -+ ifExists: true, -+ }), -+ }); -+ } -+ cascade() { -+ return new DropTriggerBuilder({ -+ ...this.#props, -+ node: DropTriggerNode.cloneWith(this.#props.node, { -+ cascade: true, -+ }), -+ }); -+ } -+ /** -+ * Simply calls the provided function passing `this` as the only argument. `$call` returns -+ * what the provided function returns. -+ */ -+ $call(func) { -+ return func(this); -+ } -+ toOperationNode() { -+ return this.#props.executor.transformQuery(this.#props.node, this.#props.queryId); -+ } -+ compile() { -+ return this.#props.executor.compileQuery(this.toOperationNode(), this.#props.queryId); -+ } -+ async execute() { -+ await this.#props.executor.executeQuery(this.compile(), this.#props.queryId); -+ } -+} -+preventAwait(DropTriggerBuilder, "don't await DropTriggerBuilder instances directly. To execute the query you need to call `execute`"); -diff --git a/node_modules/kysely/dist/esm/schema/schema.d.ts b/node_modules/kysely/dist/esm/schema/schema.d.ts -index 8634b84..19cf68c 100644 ---- a/node_modules/kysely/dist/esm/schema/schema.d.ts -+++ b/node_modules/kysely/dist/esm/schema/schema.d.ts -@@ -11,10 +11,12 @@ import { DropViewBuilder } from './drop-view-builder.js'; - import { KyselyPlugin } from '../plugin/kysely-plugin.js'; - import { CreateTypeBuilder } from './create-type-builder.js'; - import { DropTypeBuilder } from './drop-type-builder.js'; -+import { CreateTriggerBuilder } from './create-trigger-builder.js'; -+import { DropTriggerBuilder } from './drop-trigger-builder.js'; - /** - * Provides methods for building database schema. - */ --export declare class SchemaModule { -+export declare class SchemaModule { - #private; - constructor(executor: QueryExecutor); - /** -@@ -201,16 +203,18 @@ export declare class SchemaModule { - * ``` - */ - dropType(typeName: string): DropTypeBuilder; -+ createTrigger(name: string): CreateTriggerBuilder; -+ dropTrigger(triggerName: string): DropTriggerBuilder; - /** - * Returns a copy of this schema module with the given plugin installed. - */ -- withPlugin(plugin: KyselyPlugin): SchemaModule; -+ withPlugin(plugin: KyselyPlugin): SchemaModule; - /** - * Returns a copy of this schema module without any plugins. - */ -- withoutPlugins(): SchemaModule; -+ withoutPlugins(): SchemaModule; - /** - * See {@link QueryCreator.withSchema} - */ -- withSchema(schema: string): SchemaModule; -+ withSchema(schema: string): SchemaModule; - } -diff --git a/node_modules/kysely/dist/esm/schema/schema.js b/node_modules/kysely/dist/esm/schema/schema.js -index 8244039..4ba6917 100644 ---- a/node_modules/kysely/dist/esm/schema/schema.js -+++ b/node_modules/kysely/dist/esm/schema/schema.js -@@ -25,6 +25,11 @@ import { DropTypeBuilder } from './drop-type-builder.js'; - import { CreateTypeNode } from '../operation-node/create-type-node.js'; - import { DropTypeNode } from '../operation-node/drop-type-node.js'; - import { parseSchemableIdentifier } from '../parser/identifier-parser.js'; -+import { CreateTriggerBuilder } from './create-trigger-builder.js'; -+import { CreateTriggerNode } from '../operation-node/create-trigger-node.js'; -+import { IdentifierNode } from '../operation-node/identifier-node.js'; -+import { DropTriggerNode } from '../operation-node/drop-trigger-node.js'; -+import { DropTriggerBuilder } from './drop-trigger-builder.js'; - /** - * Provides methods for building database schema. - */ -@@ -283,6 +288,20 @@ export class SchemaModule { - node: DropTypeNode.create(parseSchemableIdentifier(typeName)), - }); - } -+ createTrigger(name) { -+ return new CreateTriggerBuilder({ -+ queryId: createQueryId(), -+ executor: this.#executor, -+ node: CreateTriggerNode.create(IdentifierNode.create(name)), -+ }); -+ } -+ dropTrigger(triggerName) { -+ return new DropTriggerBuilder({ -+ queryId: createQueryId(), -+ executor: this.#executor, -+ node: DropTriggerNode.create(parseSchemableIdentifier(triggerName)), -+ }); -+ } - /** - * Returns a copy of this schema module with the given plugin installed. - */ -diff --git a/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts -new file mode 100644 -index 0000000..4362213 ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.d.ts -@@ -0,0 +1,14 @@ -+import { OperationNodeSource } from '../operation-node/operation-node-source.js'; -+import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js'; -+export declare class UniqueConstraintNodeBuilder implements OperationNodeSource { -+ #private; -+ constructor(node: UniqueConstraintNode); -+ toOperationNode(): UniqueConstraintNode; -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct(): UniqueConstraintNodeBuilder; -+} -+export type UniqueConstraintNodeBuilderCallback = (builder: UniqueConstraintNodeBuilder) => UniqueConstraintNodeBuilder; -diff --git a/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js -new file mode 100644 -index 0000000..dba8cef ---- /dev/null -+++ b/node_modules/kysely/dist/esm/schema/unique-constraint-builder.js -@@ -0,0 +1,21 @@ -+/// -+import { UniqueConstraintNode } from '../operation-node/unique-constraint-node.js'; -+import { preventAwait } from '../util/prevent-await.js'; -+export class UniqueConstraintNodeBuilder { -+ #node; -+ constructor(node) { -+ this.#node = node; -+ } -+ toOperationNode() { -+ return this.#node; -+ } -+ /** -+ * Adds `nulls not distinct` to the unique constraint definition -+ * -+ * Supported by PostgreSQL dialect only -+ */ -+ nullsNotDistinct() { -+ return new UniqueConstraintNodeBuilder(UniqueConstraintNode.cloneWith(this.#node, { nullsNotDistinct: true })); -+ } -+} -+preventAwait(UniqueConstraintNodeBuilder, "don't await UniqueConstraintNodeBuilder instances directly."); -diff --git a/node_modules/kysely/dist/esm/trigger-query-creator.d.ts b/node_modules/kysely/dist/esm/trigger-query-creator.d.ts -new file mode 100644 -index 0000000..51d0b2f ---- /dev/null -+++ b/node_modules/kysely/dist/esm/trigger-query-creator.d.ts -@@ -0,0 +1,35 @@ -+import { SelectQueryBuilder } from './query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from './query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from './query-builder/update-query-builder.js'; -+import { TableExpression, From, FromTables, TableReference, ExtractTableAlias, AnyAliasedTable, PickTableWithAlias } from './parser/table-parser.js'; -+import { InsertResult } from './query-builder/insert-result.js'; -+import { DeleteResult } from './query-builder/delete-result.js'; -+import { UpdateResult } from './query-builder/update-result.js'; -+import { KyselyPlugin } from './plugin/kysely-plugin.js'; -+import { CallbackSelection, SelectCallback, SelectExpression, Selection } from './parser/select-parser.js'; -+import { QueryCreatorProps } from './query-creator.js'; -+import { DatabaseWithOldNewTables } from './schema/create-trigger-builder.js'; -+export declare class TriggerQueryCreator { -+ #private; -+ constructor(props: QueryCreatorProps); -+ selectFrom(from: TE[]): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE[]): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectFrom(from: TE): SelectQueryBuilder, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder & PickTableWithAlias, TE>, ExtractTableAlias | 'new' | 'old', {}>; -+ selectFrom>(from: TE): SelectQueryBuilder, TE>, FromTables | 'new' | 'old', {}>; -+ selectNoFrom>(selections: ReadonlyArray): SelectQueryBuilder>; -+ selectNoFrom>(callback: CB): SelectQueryBuilder>; -+ selectNoFrom>(selection: SE): SelectQueryBuilder>; -+ insertInto(table: T): InsertQueryBuilder; -+ replaceInto(table: T): InsertQueryBuilder; -+ deleteFrom(from: TR[]): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(tables: TR[]): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ deleteFrom(from: TR): DeleteQueryBuilder, ExtractTableAlias | 'new' | 'old', DeleteResult>; -+ deleteFrom>(table: TR): DeleteQueryBuilder, TR>, FromTables | 'new' | 'old', DeleteResult>; -+ updateTable(table: TR): UpdateQueryBuilder, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, ExtractTableAlias, ExtractTableAlias, UpdateResult>; -+ updateTable>(table: TR): UpdateQueryBuilder, FromTables, FromTables, UpdateResult>; -+ withPlugin(plugin: KyselyPlugin): TriggerQueryCreator; -+ withoutPlugins(): TriggerQueryCreator; -+} -diff --git a/node_modules/kysely/dist/esm/trigger-query-creator.js b/node_modules/kysely/dist/esm/trigger-query-creator.js -new file mode 100644 -index 0000000..c8960dc ---- /dev/null -+++ b/node_modules/kysely/dist/esm/trigger-query-creator.js -@@ -0,0 +1,73 @@ -+/// -+import { createSelectQueryBuilder, } from './query-builder/select-query-builder.js'; -+import { InsertQueryBuilder } from './query-builder/insert-query-builder.js'; -+import { DeleteQueryBuilder } from './query-builder/delete-query-builder.js'; -+import { UpdateQueryBuilder } from './query-builder/update-query-builder.js'; -+import { DeleteQueryNode } from './operation-node/delete-query-node.js'; -+import { InsertQueryNode } from './operation-node/insert-query-node.js'; -+import { SelectQueryNode } from './operation-node/select-query-node.js'; -+import { UpdateQueryNode } from './operation-node/update-query-node.js'; -+import { parseTable, parseTableExpression, parseTableExpressionOrList, } from './parser/table-parser.js'; -+import { createQueryId } from './util/query-id.js'; -+import { freeze } from './util/object-utils.js'; -+import { parseSelectArg, } from './parser/select-parser.js'; -+export class TriggerQueryCreator { -+ #props; -+ constructor(props) { -+ this.#props = freeze(props); -+ } -+ selectFrom(from) { -+ return createSelectQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: SelectQueryNode.createFrom(parseTableExpressionOrList(from), this.#props.withNode), -+ }); -+ } -+ selectNoFrom(selection) { -+ return createSelectQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: SelectQueryNode.cloneWithSelections(SelectQueryNode.create(this.#props.withNode), parseSelectArg(selection)), -+ }); -+ } -+ insertInto(table) { -+ return new InsertQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: InsertQueryNode.create(parseTable(table), this.#props.withNode), -+ }); -+ } -+ replaceInto(table) { -+ return new InsertQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: InsertQueryNode.create(parseTable(table), this.#props.withNode, true), -+ }); -+ } -+ deleteFrom(tables) { -+ return new DeleteQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: DeleteQueryNode.create(parseTableExpressionOrList(tables), this.#props.withNode), -+ }); -+ } -+ updateTable(table) { -+ return new UpdateQueryBuilder({ -+ queryId: createQueryId(), -+ executor: this.#props.executor, -+ queryNode: UpdateQueryNode.create(parseTableExpression(table), this.#props.withNode), -+ }); -+ } -+ withPlugin(plugin) { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withPlugin(plugin), -+ }); -+ } -+ withoutPlugins() { -+ return new TriggerQueryCreator({ -+ ...this.#props, -+ executor: this.#props.executor.withoutPlugins(), -+ }); -+ } -+} -diff --git a/node_modules/kysely/dist/esm/util/object-utils.d.ts b/node_modules/kysely/dist/esm/util/object-utils.d.ts -index 1b9f563..c9fa82b 100644 ---- a/node_modules/kysely/dist/esm/util/object-utils.d.ts -+++ b/node_modules/kysely/dist/esm/util/object-utils.d.ts -@@ -6,7 +6,7 @@ export declare function isNumber(obj: unknown): obj is number; - export declare function isBoolean(obj: unknown): obj is boolean; - export declare function isNull(obj: unknown): obj is null; - export declare function isDate(obj: unknown): obj is Date; --export declare function isBigInt(obj: unknown): obj is BigInt; -+export declare function isBigInt(obj: unknown): obj is bigint; - export declare function isBuffer(obj: unknown): obj is { - length: number; - }; -diff --git a/node_modules/kysely/helpers/sqlite.js b/node_modules/kysely/helpers/sqlite.js -index cc6b411..a579b48 100644 ---- a/node_modules/kysely/helpers/sqlite.js -+++ b/node_modules/kysely/helpers/sqlite.js -@@ -1 +1 @@ --module.exports = require('../dist/cjs/helpers/sqlite.js') -\ No newline at end of file -+module.exports = require('kysely/dist/cjs/helpers/sqlite.js') -\ No newline at end of file diff --git a/packages/core/src/api/index.ts b/packages/core/src/api/index.ts index fca57213b..8f8afca04 100644 --- a/packages/core/src/api/index.ts +++ b/packages/core/src/api/index.ts @@ -70,7 +70,7 @@ import { createDatabase, initializeDatabase } from "../database"; -import { Kysely, Transaction, sql } from "kysely"; +import { Kysely, Transaction, sql } from "@streetwriters/kysely"; import { CachedCollection } from "../database/cached-collection"; import { Vaults } from "../collections/vaults"; import { KVStorage } from "../database/kv"; diff --git a/packages/core/src/api/lookup.ts b/packages/core/src/api/lookup.ts index 6fad0408e..3c40b466f 100644 --- a/packages/core/src/api/lookup.ts +++ b/packages/core/src/api/lookup.ts @@ -21,7 +21,7 @@ import { match } from "fuzzyjs"; import Database from "."; import { Item, Note, TrashItem } from "../types"; import { DatabaseSchema, RawDatabaseSchema } from "../database"; -import { AnyColumnWithTable, Kysely, sql } from "kysely"; +import { AnyColumnWithTable, Kysely, sql } from "@streetwriters/kysely"; import { FilteredSelector } from "../database/sql-collection"; import { VirtualizedGrouping } from "../utils/virtualized-grouping"; import { logger } from "../logger"; diff --git a/packages/core/src/collections/attachments.ts b/packages/core/src/collections/attachments.ts index 03878525e..977a8fe35 100644 --- a/packages/core/src/collections/attachments.ts +++ b/packages/core/src/collections/attachments.ts @@ -29,7 +29,7 @@ import { Attachment } from "../types"; import Database from "../api"; import { FilteredSelector, SQLCollection } from "../database/sql-collection"; import { isFalse } from "../database"; -import { sql } from "kysely"; +import { sql } from "@streetwriters/kysely"; import { logger } from "../logger"; export class Attachments implements ICollection { diff --git a/packages/core/src/collections/notebooks.ts b/packages/core/src/collections/notebooks.ts index 45144ccec..597298b3a 100644 --- a/packages/core/src/collections/notebooks.ts +++ b/packages/core/src/collections/notebooks.ts @@ -23,7 +23,7 @@ import { Notebook, TrashOrItem, isTrashItem } from "../types"; import { ICollection } from "./collection"; import { SQLCollection } from "../database/sql-collection"; import { isFalse } from "../database"; -import { sql } from "kysely"; +import { sql } from "@streetwriters/kysely"; import { deleteItems } from "../utils/array"; import { CHECK_IDS, checkIsUserPremium } from "../common"; diff --git a/packages/core/src/collections/relations.ts b/packages/core/src/collections/relations.ts index b63e3648b..86929aa9d 100644 --- a/packages/core/src/collections/relations.ts +++ b/packages/core/src/collections/relations.ts @@ -29,7 +29,7 @@ import { import Database from "../api"; import { FilteredSelector, SQLCollection } from "../database/sql-collection"; import { DatabaseSchema, UnlinkEvent, isFalse } from "../database"; -import { SelectQueryBuilder } from "kysely"; +import { SelectQueryBuilder } from "@streetwriters/kysely"; import { EVENTS } from "../common"; export class Relations implements ICollection { diff --git a/packages/core/src/collections/reminders.ts b/packages/core/src/collections/reminders.ts index f623b7fae..0f8fe2a77 100644 --- a/packages/core/src/collections/reminders.ts +++ b/packages/core/src/collections/reminders.ts @@ -29,7 +29,7 @@ import { Reminder } from "../types"; import Database from "../api"; import { SQLCollection } from "../database/sql-collection"; import { isFalse } from "../database"; -import { sql } from "kysely"; +import { sql } from "@streetwriters/kysely"; dayjs.extend(isTomorrow); dayjs.extend(isSameOrBefore); diff --git a/packages/core/src/collections/tags.ts b/packages/core/src/collections/tags.ts index f3499fa39..c111ecd87 100644 --- a/packages/core/src/collections/tags.ts +++ b/packages/core/src/collections/tags.ts @@ -23,7 +23,7 @@ import Database from "../api"; import { ICollection } from "./collection"; import { SQLCollection } from "../database/sql-collection"; import { isFalse } from "../database"; -import { sql } from "kysely"; +import { sql } from "@streetwriters/kysely"; import { CHECK_IDS, checkIsUserPremium } from "../common"; export class Tags implements ICollection { diff --git a/packages/core/src/collections/trash.ts b/packages/core/src/collections/trash.ts index f723f2c4e..07fafd3fb 100644 --- a/packages/core/src/collections/trash.ts +++ b/packages/core/src/collections/trash.ts @@ -27,7 +27,7 @@ import { getSortSelectors, groupArray } from "../utils/grouping"; -import { sql } from "kysely"; +import { sql } from "@streetwriters/kysely"; import { MAX_SQL_PARAMETERS } from "../database/sql-collection"; export default class Trash { diff --git a/packages/core/src/database/fts.ts b/packages/core/src/database/fts.ts index dc3ca49be..4c817bb6c 100644 --- a/packages/core/src/database/fts.ts +++ b/packages/core/src/database/fts.ts @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -import { Kysely, sql } from "kysely"; +import { Kysely, sql } from "@streetwriters/kysely"; import { RawDatabaseSchema } from "."; export async function rebuildSearchIndex(db: Kysely) { diff --git a/packages/core/src/database/index.ts b/packages/core/src/database/index.ts index 36993bd17..0c8f74a3f 100644 --- a/packages/core/src/database/index.ts +++ b/packages/core/src/database/index.ts @@ -36,7 +36,7 @@ import { ReferenceExpression, Dialect, MigrationProvider -} from "kysely"; +} from "@streetwriters/kysely"; import { Attachment, Color, diff --git a/packages/core/src/database/migrations.ts b/packages/core/src/database/migrations.ts index 067dc90f3..649b72212 100644 --- a/packages/core/src/database/migrations.ts +++ b/packages/core/src/database/migrations.ts @@ -20,10 +20,11 @@ along with this program. If not, see . import { ColumnBuilderCallback, CreateTableBuilder, + ExpressionBuilder, Migration, MigrationProvider, sql -} from "kysely"; +} from "@streetwriters/kysely"; import { rebuildSearchIndex } from "./fts"; const COLLATE_NOCASE: ColumnBuilderCallback = (col) => @@ -294,7 +295,7 @@ export class NNMigrationProvider implements MigrationProvider { async up(db) { await db .updateTable("notes") - .where("id", "in", (eb) => + .where("id", "in", (eb: ExpressionBuilder) => eb .selectFrom("content") .select("noteId as id") diff --git a/packages/core/src/database/sql-cached-collection.ts b/packages/core/src/database/sql-cached-collection.ts index a207d834d..2e635a6d3 100644 --- a/packages/core/src/database/sql-cached-collection.ts +++ b/packages/core/src/database/sql-cached-collection.ts @@ -21,7 +21,7 @@ import { MaybeDeletedItem, isDeleted } from "../types"; import EventManager from "../utils/event-manager"; import { DatabaseAccessor, DatabaseCollection, DatabaseSchema } from "."; import { SQLCollection } from "./sql-collection"; -import { Kysely } from "kysely"; +import { Kysely } from "@streetwriters/kysely"; import { Sanitizer } from "./sanitizer"; export class SQLCachedCollection< diff --git a/packages/core/src/database/sql-collection.ts b/packages/core/src/database/sql-collection.ts index 42a29cd49..b962dbf20 100644 --- a/packages/core/src/database/sql-collection.ts +++ b/packages/core/src/database/sql-collection.ts @@ -45,7 +45,7 @@ import { SelectQueryBuilder, SqlBool, sql -} from "kysely"; +} from "@streetwriters/kysely"; import { VirtualizedGrouping } from "../utils/virtualized-grouping"; import { createKeySelector, groupArray } from "../utils/grouping"; import { toChunks } from "../utils/array"; diff --git a/packages/core/src/database/triggers.ts b/packages/core/src/database/triggers.ts index 47222f554..9b45d2f38 100644 --- a/packages/core/src/database/triggers.ts +++ b/packages/core/src/database/triggers.ts @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -import { Kysely, sql } from "kysely"; +import { Kysely, sql } from "@streetwriters/kysely"; import { DatabaseSchema, RawDatabaseSchema } from "."; export async function createTriggers(db: Kysely) { diff --git a/packages/core/src/logger.ts b/packages/core/src/logger.ts index c9988259e..c903e2370 100644 --- a/packages/core/src/logger.ts +++ b/packages/core/src/logger.ts @@ -28,7 +28,7 @@ import { format, ILogger } from "@notesnook/logger"; -import { Kysely, Migration, MigrationProvider } from "kysely"; +import { Kysely, Migration, MigrationProvider } from "@streetwriters/kysely"; import { SQLiteOptions, createDatabase } from "./database"; import { toChunks } from "./utils/array"; diff --git a/packages/editor-mobile/package-lock.json b/packages/editor-mobile/package-lock.json index 1e674befa..71fbd1846 100644 --- a/packages/editor-mobile/package-lock.json +++ b/packages/editor-mobile/package-lock.json @@ -42,70 +42,76 @@ "@notesnook/core": "file:../core", "@notesnook/theme": "file:../theme", "@notesnook/ui": "file:../ui", - "@social-embed/lib": "^0.0.2-next.1", - "@tiptap/core": "2.2.4", - "@tiptap/extension-character-count": "2.2.4", - "@tiptap/extension-color": "2.2.4", - "@tiptap/extension-font-family": "2.2.4", - "@tiptap/extension-history": "2.2.4", - "@tiptap/extension-horizontal-rule": "2.2.4", - "@tiptap/extension-list-keymap": "2.2.4", - "@tiptap/extension-placeholder": "2.2.4", - "@tiptap/extension-subscript": "2.2.4", - "@tiptap/extension-superscript": "2.2.4", - "@tiptap/extension-table": "2.2.4", - "@tiptap/extension-table-cell": "2.2.4", - "@tiptap/extension-table-header": "2.2.4", - "@tiptap/extension-table-row": "2.2.4", - "@tiptap/extension-task-item": "2.2.4", - "@tiptap/extension-task-list": "2.2.4", - "@tiptap/extension-text-align": "2.2.4", - "@tiptap/extension-text-style": "2.2.4", - "@tiptap/extension-underline": "2.2.4", - "@tiptap/pm": "2.2.4", - "@tiptap/starter-kit": "2.2.4", + "@social-embed/lib": "^0.1.0-next.7", + "@tiptap/core": "2.6.6", + "@tiptap/extension-blockquote": "^2.6.6", + "@tiptap/extension-bullet-list": "^2.6.6", + "@tiptap/extension-character-count": "2.6.6", + "@tiptap/extension-code": "^2.6.6", + "@tiptap/extension-color": "2.6.6", + "@tiptap/extension-font-family": "2.6.6", + "@tiptap/extension-heading": "^2.6.6", + "@tiptap/extension-history": "2.6.6", + "@tiptap/extension-horizontal-rule": "2.6.6", + "@tiptap/extension-list-item": "^2.6.6", + "@tiptap/extension-list-keymap": "2.6.6", + "@tiptap/extension-ordered-list": "^2.6.6", + "@tiptap/extension-placeholder": "2.6.6", + "@tiptap/extension-subscript": "2.6.6", + "@tiptap/extension-superscript": "2.6.6", + "@tiptap/extension-table": "2.6.6", + "@tiptap/extension-table-cell": "2.6.6", + "@tiptap/extension-table-header": "2.6.6", + "@tiptap/extension-table-row": "2.6.6", + "@tiptap/extension-task-item": "2.6.6", + "@tiptap/extension-task-list": "2.6.6", + "@tiptap/extension-text-align": "2.6.6", + "@tiptap/extension-text-style": "2.6.6", + "@tiptap/extension-underline": "2.6.6", + "@tiptap/pm": "2.6.6", + "@tiptap/starter-kit": "2.6.6", "alfaaz": "^1.1.0", - "async-mutex": "^0.4.0", - "clipboard-polyfill": "4.0.0", - "detect-indent": "^7.0.0", - "entities": "^4.5.0", - "katex": "0.16.9", + "async-mutex": "^0.5.0", + "clipboard-polyfill": "4.1.0", + "detect-indent": "^7.0.1", + "entities": "^5.0.0", + "katex": "0.16.11", "linkifyjs": "^4.1.3", - "nanoid": "^4.0.1", + "nanoid": "^5.0.7", "prism-themes": "^1.9.0", "prosemirror-codemark": "^0.4.2", - "prosemirror-view": "1.33.1", - "re-resizable": "^6.9.11", + "prosemirror-view": "1.34.2", + "re-resizable": "^6.9.18", "react-colorful": "^5.6.1", "redent": "^4.0.0", "refractor": "^4.8.1", "strip-indent": "^4.0.0", - "unfurl.js": "^6.3.2" + "unfurl.js": "^6.4.0" }, "devDependencies": { - "@emotion/react": "11.11.1", - "@mdi/js": "^7.2.96", + "@emotion/react": "11.13.3", + "@mdi/js": "^7.4.47", "@mdi/react": "^1.6.1", - "@theme-ui/components": "^0.16.1", - "@theme-ui/core": "^0.16.1", - "@types/katex": "^0.14.0", - "@types/prismjs": "^1.26.0", - "@types/react": "^18.2.39", - "@types/react-color": "^3.0.6", - "@types/react-dom": "^18.2.17", + "@theme-ui/components": "^0.16.2", + "@theme-ui/core": "^0.16.2", + "@types/katex": "^0.16.7", + "@types/prismjs": "^1.26.4", + "@types/react": "^18.3.5", + "@types/react-color": "^3.0.12", + "@types/react-dom": "^18.3.0", "@types/react-modal": "^3.16.3 ", - "@types/tinycolor2": "^1.4.3", - "framer-motion": "^10.16.8", - "happy-dom": "^8.9.0", + "@types/tinycolor2": "^1.4.6", + "framer-motion": "^11.5.4", + "happy-dom": "^15.7.4", "isomorphic-fetch": "^3.0.0", - "prosemirror-test-builder": "^1.1.0", - "react": "18.2.0", - "react-dom": "18.2.0", + "prosemirror-test-builder": "^1.1.1", + "react": "18.3.1", + "react-dom": "18.3.1", "react-modal": "3.16.1", "tinycolor2": "^1.6.0", - "vitest": "^0.29.2", - "web-vitals": "^2.1.4", - "zustand": "4.4.7" + "vitest": "^2.0.5", + "web-vitals": "^4.2.3", + "zustand": "4.5.5" }, "peerDependencies": { "@emotion/react": ">=11", diff --git a/packages/editor/package-lock.json b/packages/editor/package-lock.json index 700e5d4cf..fd8540ad8 100644 --- a/packages/editor/package-lock.json +++ b/packages/editor/package-lock.json @@ -108,6 +108,7 @@ "@microsoft/signalr": "^8.0.0", "@notesnook/logger": "file:../logger", "@readme/data-urls": "^3.0.0", + "@streetwriters/kysely": "^0.27.4", "@streetwriters/showdown": "^3.0.8-alpha", "async-mutex": "^0.3.2", "dayjs": "1.11.9", @@ -119,7 +120,6 @@ "html-to-text": "^9.0.5", "htmlparser2": "^8.0.1", "katex": "0.16.2", - "kysely": "^0.26.3", "linkedom": "^0.14.17", "liqe": "^1.13.0", "mime-db": "1.52.0", @@ -1323,22 +1323,6 @@ "@styled-system/css": "^5.1.5" } }, - "node_modules/@theme-ui/color-modes": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@theme-ui/color-modes/-/color-modes-0.16.2.tgz", - "integrity": "sha512-jWEWx53lxNgWCT38i/kwLV2rsvJz8lVZgi5oImnVwYba9VejXD23q1ckbNFJHosQ8KKXY87ht0KPC6BQFIiHtQ==", - "dev": true, - "peer": true, - "dependencies": { - "@theme-ui/core": "^0.16.2", - "@theme-ui/css": "^0.16.2", - "deepmerge": "^4.2.2" - }, - "peerDependencies": { - "@emotion/react": "^11.11.1", - "react": ">=18" - } - }, "node_modules/@theme-ui/components": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/@theme-ui/components/-/components-0.16.2.tgz", @@ -1384,22 +1368,6 @@ "@emotion/react": "^11.11.1" } }, - "node_modules/@theme-ui/theme-provider": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@theme-ui/theme-provider/-/theme-provider-0.16.2.tgz", - "integrity": "sha512-LRnVevODcGqO0JyLJ3wht+PV3ZoZcJ7XXLJAJWDoGeII4vZcPQKwVy4Lpz/juHsZppQxKcB3U+sQDGBnP25irQ==", - "dev": true, - "peer": true, - "dependencies": { - "@theme-ui/color-modes": "^0.16.2", - "@theme-ui/core": "^0.16.2", - "@theme-ui/css": "^0.16.2" - }, - "peerDependencies": { - "@emotion/react": "^11.11.1", - "react": ">=18" - } - }, "node_modules/@tiptap/core": { "version": "2.6.6", "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.6.6.tgz", @@ -2855,7 +2823,8 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/jsesc": { "version": "2.5.2", @@ -2913,6 +2882,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -3477,6 +3447,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dev": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -3497,6 +3468,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dev": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -3647,6 +3619,7 @@ "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dev": true, "dependencies": { "loose-envify": "^1.1.0" }