diff --git a/.gitignore b/.gitignore index 6323988..75a8f65 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,6 @@ # production /build -prisma/migrations # misc .DS_Store @@ -43,5 +42,5 @@ yarn-error.log* next-env.d.ts # prisma -/prisma/migrations -/generated +# /prisma/migrations +# /generated diff --git a/generated/prisma/client.d.ts b/generated/prisma/client.d.ts new file mode 100644 index 0000000..bc20c6c --- /dev/null +++ b/generated/prisma/client.d.ts @@ -0,0 +1 @@ +export * from "./index" \ No newline at end of file diff --git a/generated/prisma/client.js b/generated/prisma/client.js new file mode 100644 index 0000000..72afab7 --- /dev/null +++ b/generated/prisma/client.js @@ -0,0 +1,4 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +module.exports = { ...require('.') } \ No newline at end of file diff --git a/generated/prisma/default.d.ts b/generated/prisma/default.d.ts new file mode 100644 index 0000000..bc20c6c --- /dev/null +++ b/generated/prisma/default.d.ts @@ -0,0 +1 @@ +export * from "./index" \ No newline at end of file diff --git a/generated/prisma/default.js b/generated/prisma/default.js new file mode 100644 index 0000000..72afab7 --- /dev/null +++ b/generated/prisma/default.js @@ -0,0 +1,4 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +module.exports = { ...require('.') } \ No newline at end of file diff --git a/generated/prisma/edge.d.ts b/generated/prisma/edge.d.ts new file mode 100644 index 0000000..274b8fa --- /dev/null +++ b/generated/prisma/edge.d.ts @@ -0,0 +1 @@ +export * from "./default" \ No newline at end of file diff --git a/generated/prisma/edge.js b/generated/prisma/edge.js new file mode 100644 index 0000000..2692d39 --- /dev/null +++ b/generated/prisma/edge.js @@ -0,0 +1,344 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + PrismaClientKnownRequestError, + PrismaClientUnknownRequestError, + PrismaClientRustPanicError, + PrismaClientInitializationError, + PrismaClientValidationError, + getPrismaClient, + sqltag, + empty, + join, + raw, + skip, + Decimal, + Debug, + objectEnumValues, + makeStrictEnum, + Extensions, + warnOnce, + defineDmmfProperty, + Public, + getRuntime, + createParam, +} = require('./runtime/edge.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.11.1 + * Query Engine version: f40f79ec31188888a2e33acda0ecc8fd10a853a9 + */ +Prisma.prismaVersion = { + client: "6.11.1", + engine: "f40f79ec31188888a2e33acda0ecc8fd10a853a9" +} + +Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; +Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError +Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError +Prisma.PrismaClientInitializationError = PrismaClientInitializationError +Prisma.PrismaClientValidationError = PrismaClientValidationError +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = sqltag +Prisma.empty = empty +Prisma.join = join +Prisma.raw = raw +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = Extensions.getExtensionContext +Prisma.defineExtension = Extensions.defineExtension + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + + + +/** + * Enums + */ +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.CommissionerScalarFieldEnum = { + id: 'id', + name: 'name', + location: 'location', + phone: 'phone', + email: 'email', + password: 'password', + commission_rate: 'commission_rate', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.PasswordResetScalarFieldEnum = { + id: 'id', + commissioner_id: 'commissioner_id', + token: 'token', + expires_at: 'expires_at', + used: 'used', + created_at: 'created_at', + used_at: 'used_at' +}; + +exports.Prisma.FarmerScalarFieldEnum = { + id: 'id', + name: 'name', + phone: 'phone', + village: 'village', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.BuyerScalarFieldEnum = { + id: 'id', + name: 'name', + phone: 'phone', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.CategoryScalarFieldEnum = { + id: 'id', + name: 'name', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.ProductScalarFieldEnum = { + id: 'id', + name: 'name', + category_id: 'category_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.AuctionSessionScalarFieldEnum = { + id: 'id', + date: 'date', + commissioner_id: 'commissioner_id', + status: 'status', + payment_status: 'payment_status', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.AuctionItemScalarFieldEnum = { + id: 'id', + session_id: 'session_id', + farmer_id: 'farmer_id', + product_id: 'product_id', + unit: 'unit', + quantity: 'quantity', + buyer_id: 'buyer_id', + bill_id: 'bill_id', + created_at: 'created_at', + updated_at: 'updated_at', + rate: 'rate' +}; + +exports.Prisma.BillScalarFieldEnum = { + id: 'id', + bill_number: 'bill_number', + farmer_id: 'farmer_id', + commissioner_id: 'commissioner_id', + product_id: 'product_id', + session_id: 'session_id', + total_quantity: 'total_quantity', + gross_amount: 'gross_amount', + commission_rate: 'commission_rate', + commission_amount: 'commission_amount', + other_charges: 'other_charges', + net_payable: 'net_payable', + payment_status: 'payment_status', + payment_method: 'payment_method', + payment_date: 'payment_date', + notes: 'notes', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.JsonNullValueInput = { + JsonNull: Prisma.JsonNull +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; + +exports.Prisma.JsonNullValueFilter = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull, + AnyNull: Prisma.AnyNull +}; +exports.SessionStatus = exports.$Enums.SessionStatus = { + ACTIVE: 'ACTIVE', + COMPLETED: 'COMPLETED' +}; + +exports.SessionPaymentStatus = exports.$Enums.SessionPaymentStatus = { + PENDING: 'PENDING', + COMPLETED: 'COMPLETED' +}; + +exports.BillPaymentStatus = exports.$Enums.BillPaymentStatus = { + UNPAID: 'UNPAID', + PAID: 'PAID' +}; + +exports.Unit = exports.$Enums.Unit = { + KG: 'KG', + GRAM: 'GRAM', + QUINTAL: 'QUINTAL', + TON: 'TON', + BUNDLE: 'BUNDLE', + PIECE: 'PIECE', + LITRE: 'LITRE', + MILLILITRE: 'MILLILITRE', + GALLON: 'GALLON', + DOZEN: 'DOZEN', + BOX: 'BOX', + BAG: 'BAG', + OTHER: 'OTHER' +}; + +exports.Prisma.ModelName = { + Commissioner: 'Commissioner', + PasswordReset: 'PasswordReset', + Farmer: 'Farmer', + Buyer: 'Buyer', + Category: 'Category', + Product: 'Product', + AuctionSession: 'AuctionSession', + AuctionItem: 'AuctionItem', + Bill: 'Bill' +}; +/** + * Create the Client + */ +const config = { + "generator": { + "name": "client", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "/home/zoro/Projects/Personal/data-entry/generated/prisma", + "fromEnvVar": null + }, + "config": { + "engineType": "library" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "debian-openssl-1.1.x", + "native": true + }, + { + "fromEnvVar": null, + "value": "debian-openssl-1.1.x" + }, + { + "fromEnvVar": null, + "value": "debian-openssl-3.0.x" + } + ], + "previewFeatures": [], + "sourceFilePath": "/home/zoro/Projects/Personal/data-entry/prisma/schema.prisma", + "isCustomOutput": true + }, + "relativeEnvPaths": { + "rootEnvPath": null, + "schemaEnvPath": "../../.env" + }, + "relativePath": "../../prisma", + "clientVersion": "6.11.1", + "engineVersion": "f40f79ec31188888a2e33acda0ecc8fd10a853a9", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n binaryTargets = [\"native\", \"debian-openssl-1.1.x\", \"debian-openssl-3.0.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Commissioner {\n id String @id @default(cuid())\n name String\n location String\n phone String\n email String @unique\n password String\n commission_rate Float @default(10.0)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_sessions AuctionSession[]\n bills Bill[]\n buyers Buyer[]\n farmers Farmer[]\n password_resets PasswordReset[]\n\n @@map(\"commissioners\")\n}\n\nmodel PasswordReset {\n id String @id @default(cuid())\n commissioner_id String\n token String @unique\n expires_at DateTime\n used Boolean @default(false)\n created_at DateTime @default(now())\n used_at DateTime?\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade)\n\n @@map(\"password_resets\")\n}\n\nmodel Farmer {\n id String @id @default(cuid())\n name String\n phone String\n village String\n commissioner_id String\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n bills Bill[]\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade)\n\n @@map(\"farmers\")\n}\n\nmodel Buyer {\n id String @id @default(cuid())\n name String\n phone String\n commissioner_id String\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade)\n\n @@map(\"buyers\")\n}\n\nmodel Category {\n id String @id @default(cuid())\n name String @unique\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n products Product[]\n\n @@map(\"categories\")\n}\n\nmodel Product {\n id String @id @default(cuid())\n name String @unique\n category_id String\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n bills Bill[]\n category Category @relation(fields: [category_id], references: [id])\n\n @@map(\"products\")\n}\n\nmodel AuctionSession {\n id String @id @default(cuid())\n date DateTime @default(now())\n commissioner_id String\n status SessionStatus @default(ACTIVE)\n payment_status SessionPaymentStatus @default(PENDING)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade)\n\n @@index([payment_status, date])\n @@map(\"auction_sessions\")\n}\n\nmodel AuctionItem {\n id String @id @default(cuid())\n session_id String\n farmer_id String\n product_id String\n unit Unit\n quantity Float\n buyer_id String?\n bill_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n rate Float?\n bill Bill? @relation(fields: [bill_id], references: [id])\n buyer Buyer? @relation(fields: [buyer_id], references: [id], onDelete: Restrict)\n farmer Farmer @relation(fields: [farmer_id], references: [id])\n product Product @relation(fields: [product_id], references: [id])\n session AuctionSession @relation(fields: [session_id], references: [id], onDelete: Cascade)\n\n @@index([farmer_id, product_id, bill_id])\n @@index([session_id, farmer_id, product_id])\n @@map(\"auction_items\")\n}\n\nmodel Bill {\n id String @id @default(cuid())\n bill_number String @unique\n farmer_id String\n commissioner_id String\n product_id String\n session_id String\n total_quantity Float\n gross_amount Float\n commission_rate Float\n commission_amount Float\n other_charges Json @default(\"{}\")\n net_payable Float\n payment_status BillPaymentStatus @default(UNPAID)\n payment_method String?\n payment_date DateTime?\n notes String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id])\n farmer Farmer @relation(fields: [farmer_id], references: [id])\n product Product @relation(fields: [product_id], references: [id])\n\n @@unique([farmer_id, product_id, session_id])\n @@index([commissioner_id, payment_status])\n @@index([farmer_id, payment_status])\n @@index([product_id, payment_status])\n @@index([session_id, payment_status])\n @@index([payment_status, created_at])\n @@map(\"bills\")\n}\n\nenum SessionStatus {\n ACTIVE\n COMPLETED\n}\n\nenum SessionPaymentStatus {\n PENDING\n COMPLETED\n}\n\nenum BillPaymentStatus {\n UNPAID\n PAID\n}\n\nenum Unit {\n KG\n GRAM\n QUINTAL\n TON\n BUNDLE\n PIECE\n LITRE\n MILLILITRE\n GALLON\n DOZEN\n BOX\n BAG\n OTHER\n}\n", + "inlineSchemaHash": "9ec098d41825a178108022188aedae07e84987cac356ee00eda95300ac0e960d", + "copyEngine": true +} +config.dirname = '/' + +config.runtimeDataModel = JSON.parse("{\"models\":{\"Commissioner\":{\"dbName\":\"commissioners\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission_rate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"nativeType\":null,\"default\":10,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_sessions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionSession\",\"nativeType\":null,\"relationName\":\"AuctionSessionToCommissioner\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bills\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Bill\",\"nativeType\":null,\"relationName\":\"BillToCommissioner\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"buyers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Buyer\",\"nativeType\":null,\"relationName\":\"BuyerToCommissioner\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Farmer\",\"nativeType\":null,\"relationName\":\"CommissionerToFarmer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password_resets\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PasswordReset\",\"nativeType\":null,\"relationName\":\"CommissionerToPasswordReset\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PasswordReset\":{\"dbName\":\"password_resets\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"token\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"used\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"used_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"CommissionerToPasswordReset\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Farmer\":{\"dbName\":\"farmers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"village\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToFarmer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bills\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Bill\",\"nativeType\":null,\"relationName\":\"BillToFarmer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"CommissionerToFarmer\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Buyer\":{\"dbName\":\"buyers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToBuyer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"BuyerToCommissioner\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Category\":{\"dbName\":\"categories\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"products\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Product\",\"nativeType\":null,\"relationName\":\"CategoryToProduct\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Product\":{\"dbName\":\"products\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"category_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToProduct\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bills\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Bill\",\"nativeType\":null,\"relationName\":\"BillToProduct\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"category\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Category\",\"nativeType\":null,\"relationName\":\"CategoryToProduct\",\"relationFromFields\":[\"category_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuctionSession\":{\"dbName\":\"auction_sessions\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"SessionStatus\",\"nativeType\":null,\"default\":\"ACTIVE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payment_status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"SessionPaymentStatus\",\"nativeType\":null,\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToAuctionSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"AuctionSessionToCommissioner\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuctionItem\":{\"dbName\":\"auction_items\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmer_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"product_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unit\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Unit\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quantity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"buyer_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bill_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"rate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bill\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Bill\",\"nativeType\":null,\"relationName\":\"AuctionItemToBill\",\"relationFromFields\":[\"bill_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"buyer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Buyer\",\"nativeType\":null,\"relationName\":\"AuctionItemToBuyer\",\"relationFromFields\":[\"buyer_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Farmer\",\"nativeType\":null,\"relationName\":\"AuctionItemToFarmer\",\"relationFromFields\":[\"farmer_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"product\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Product\",\"nativeType\":null,\"relationName\":\"AuctionItemToProduct\",\"relationFromFields\":[\"product_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionSession\",\"nativeType\":null,\"relationName\":\"AuctionItemToAuctionSession\",\"relationFromFields\":[\"session_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Bill\":{\"dbName\":\"bills\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bill_number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmer_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"product_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"total_quantity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gross_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission_rate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"other_charges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Json\",\"nativeType\":null,\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"net_payable\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payment_status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BillPaymentStatus\",\"nativeType\":null,\"default\":\"UNPAID\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payment_method\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payment_date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToBill\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"BillToCommissioner\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Farmer\",\"nativeType\":null,\"relationName\":\"BillToFarmer\",\"relationFromFields\":[\"farmer_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"product\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Product\",\"nativeType\":null,\"relationName\":\"BillToProduct\",\"relationFromFields\":[\"product_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"farmer_id\",\"product_id\",\"session_id\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"farmer_id\",\"product_id\",\"session_id\"]}],\"isGenerated\":false}},\"enums\":{\"SessionStatus\":{\"values\":[{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"SessionPaymentStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"BillPaymentStatus\":{\"values\":[{\"name\":\"UNPAID\",\"dbName\":null},{\"name\":\"PAID\",\"dbName\":null}],\"dbName\":null},\"Unit\":{\"values\":[{\"name\":\"KG\",\"dbName\":null},{\"name\":\"GRAM\",\"dbName\":null},{\"name\":\"QUINTAL\",\"dbName\":null},{\"name\":\"TON\",\"dbName\":null},{\"name\":\"BUNDLE\",\"dbName\":null},{\"name\":\"PIECE\",\"dbName\":null},{\"name\":\"LITRE\",\"dbName\":null},{\"name\":\"MILLILITRE\",\"dbName\":null},{\"name\":\"GALLON\",\"dbName\":null},{\"name\":\"DOZEN\",\"dbName\":null},{\"name\":\"BOX\",\"dbName\":null},{\"name\":\"BAG\",\"dbName\":null},{\"name\":\"OTHER\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +defineDmmfProperty(exports.Prisma, config.runtimeDataModel) +config.engineWasm = undefined +config.compilerWasm = undefined + +config.injectableEdgeEnv = () => ({ + parsed: { + DATABASE_URL: typeof globalThis !== 'undefined' && globalThis['DATABASE_URL'] || typeof process !== 'undefined' && process.env && process.env.DATABASE_URL || undefined + } +}) + +if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) { + Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) +} + +const PrismaClient = getPrismaClient(config) +exports.PrismaClient = PrismaClient +Object.assign(exports, Prisma) + diff --git a/generated/prisma/index-browser.js b/generated/prisma/index-browser.js new file mode 100644 index 0000000..7ed2bc9 --- /dev/null +++ b/generated/prisma/index-browser.js @@ -0,0 +1,323 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + Decimal, + objectEnumValues, + makeStrictEnum, + Public, + getRuntime, + skip +} = require('./runtime/index-browser.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.11.1 + * Query Engine version: f40f79ec31188888a2e33acda0ecc8fd10a853a9 + */ +Prisma.prismaVersion = { + client: "6.11.1", + engine: "f40f79ec31188888a2e33acda0ecc8fd10a853a9" +} + +Prisma.PrismaClientKnownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)}; +Prisma.PrismaClientUnknownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientRustPanicError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientInitializationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientValidationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.empty = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.join = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.raw = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.defineExtension = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + +/** + * Enums + */ + +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.CommissionerScalarFieldEnum = { + id: 'id', + name: 'name', + location: 'location', + phone: 'phone', + email: 'email', + password: 'password', + commission_rate: 'commission_rate', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.PasswordResetScalarFieldEnum = { + id: 'id', + commissioner_id: 'commissioner_id', + token: 'token', + expires_at: 'expires_at', + used: 'used', + created_at: 'created_at', + used_at: 'used_at' +}; + +exports.Prisma.FarmerScalarFieldEnum = { + id: 'id', + name: 'name', + phone: 'phone', + village: 'village', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.BuyerScalarFieldEnum = { + id: 'id', + name: 'name', + phone: 'phone', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.CategoryScalarFieldEnum = { + id: 'id', + name: 'name', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.ProductScalarFieldEnum = { + id: 'id', + name: 'name', + category_id: 'category_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.AuctionSessionScalarFieldEnum = { + id: 'id', + date: 'date', + commissioner_id: 'commissioner_id', + status: 'status', + payment_status: 'payment_status', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.AuctionItemScalarFieldEnum = { + id: 'id', + session_id: 'session_id', + farmer_id: 'farmer_id', + product_id: 'product_id', + unit: 'unit', + quantity: 'quantity', + buyer_id: 'buyer_id', + bill_id: 'bill_id', + created_at: 'created_at', + updated_at: 'updated_at', + rate: 'rate' +}; + +exports.Prisma.BillScalarFieldEnum = { + id: 'id', + bill_number: 'bill_number', + farmer_id: 'farmer_id', + commissioner_id: 'commissioner_id', + product_id: 'product_id', + session_id: 'session_id', + total_quantity: 'total_quantity', + gross_amount: 'gross_amount', + commission_rate: 'commission_rate', + commission_amount: 'commission_amount', + other_charges: 'other_charges', + net_payable: 'net_payable', + payment_status: 'payment_status', + payment_method: 'payment_method', + payment_date: 'payment_date', + notes: 'notes', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.JsonNullValueInput = { + JsonNull: Prisma.JsonNull +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; + +exports.Prisma.JsonNullValueFilter = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull, + AnyNull: Prisma.AnyNull +}; +exports.SessionStatus = exports.$Enums.SessionStatus = { + ACTIVE: 'ACTIVE', + COMPLETED: 'COMPLETED' +}; + +exports.SessionPaymentStatus = exports.$Enums.SessionPaymentStatus = { + PENDING: 'PENDING', + COMPLETED: 'COMPLETED' +}; + +exports.Unit = exports.$Enums.Unit = { + KG: 'KG', + GRAM: 'GRAM', + QUINTAL: 'QUINTAL', + TON: 'TON', + BUNDLE: 'BUNDLE', + PIECE: 'PIECE', + LITRE: 'LITRE', + MILLILITRE: 'MILLILITRE', + GALLON: 'GALLON', + DOZEN: 'DOZEN', + BOX: 'BOX', + BAG: 'BAG', + OTHER: 'OTHER' +}; + +exports.BillPaymentStatus = exports.$Enums.BillPaymentStatus = { + UNPAID: 'UNPAID', + PAID: 'PAID' +}; + +exports.Prisma.ModelName = { + Commissioner: 'Commissioner', + PasswordReset: 'PasswordReset', + Farmer: 'Farmer', + Buyer: 'Buyer', + Category: 'Category', + Product: 'Product', + AuctionSession: 'AuctionSession', + AuctionItem: 'AuctionItem', + Bill: 'Bill' +}; + +/** + * This is a stub Prisma Client that will error at runtime if called. + */ +class PrismaClient { + constructor() { + return new Proxy(this, { + get(target, prop) { + let message + const runtime = getRuntime() + if (runtime.isEdge) { + message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either: +- Use Prisma Accelerate: https://pris.ly/d/accelerate +- Use Driver Adapters: https://pris.ly/d/driver-adapters +`; + } else { + message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).' + } + + message += ` +If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report` + + throw new Error(message) + } + }) + } +} + +exports.PrismaClient = PrismaClient + +Object.assign(exports, Prisma) diff --git a/generated/prisma/index.d.ts b/generated/prisma/index.d.ts new file mode 100644 index 0000000..65c178d --- /dev/null +++ b/generated/prisma/index.d.ts @@ -0,0 +1,18470 @@ + +/** + * Client +**/ + +import * as runtime from './runtime/library.js'; +import $Types = runtime.Types // general types +import $Public = runtime.Types.Public +import $Utils = runtime.Types.Utils +import $Extensions = runtime.Types.Extensions +import $Result = runtime.Types.Result + +export type PrismaPromise = $Public.PrismaPromise + + +/** + * Model Commissioner + * + */ +export type Commissioner = $Result.DefaultSelection +/** + * Model PasswordReset + * + */ +export type PasswordReset = $Result.DefaultSelection +/** + * Model Farmer + * + */ +export type Farmer = $Result.DefaultSelection +/** + * Model Buyer + * + */ +export type Buyer = $Result.DefaultSelection +/** + * Model Category + * + */ +export type Category = $Result.DefaultSelection +/** + * Model Product + * + */ +export type Product = $Result.DefaultSelection +/** + * Model AuctionSession + * + */ +export type AuctionSession = $Result.DefaultSelection +/** + * Model AuctionItem + * + */ +export type AuctionItem = $Result.DefaultSelection +/** + * Model Bill + * + */ +export type Bill = $Result.DefaultSelection + +/** + * Enums + */ +export namespace $Enums { + export const SessionStatus: { + ACTIVE: 'ACTIVE', + COMPLETED: 'COMPLETED' +}; + +export type SessionStatus = (typeof SessionStatus)[keyof typeof SessionStatus] + + +export const SessionPaymentStatus: { + PENDING: 'PENDING', + COMPLETED: 'COMPLETED' +}; + +export type SessionPaymentStatus = (typeof SessionPaymentStatus)[keyof typeof SessionPaymentStatus] + + +export const BillPaymentStatus: { + UNPAID: 'UNPAID', + PAID: 'PAID' +}; + +export type BillPaymentStatus = (typeof BillPaymentStatus)[keyof typeof BillPaymentStatus] + + +export const Unit: { + KG: 'KG', + GRAM: 'GRAM', + QUINTAL: 'QUINTAL', + TON: 'TON', + BUNDLE: 'BUNDLE', + PIECE: 'PIECE', + LITRE: 'LITRE', + MILLILITRE: 'MILLILITRE', + GALLON: 'GALLON', + DOZEN: 'DOZEN', + BOX: 'BOX', + BAG: 'BAG', + OTHER: 'OTHER' +}; + +export type Unit = (typeof Unit)[keyof typeof Unit] + +} + +export type SessionStatus = $Enums.SessionStatus + +export const SessionStatus: typeof $Enums.SessionStatus + +export type SessionPaymentStatus = $Enums.SessionPaymentStatus + +export const SessionPaymentStatus: typeof $Enums.SessionPaymentStatus + +export type BillPaymentStatus = $Enums.BillPaymentStatus + +export const BillPaymentStatus: typeof $Enums.BillPaymentStatus + +export type Unit = $Enums.Unit + +export const Unit: typeof $Enums.Unit + +/** + * ## Prisma Client สฒหข + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Commissioners + * const commissioners = await prisma.commissioner.findMany() + * ``` + * + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). + */ +export class PrismaClient< + ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, + ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs +> { + [K: symbol]: { types: Prisma.TypeMap['other'] } + + /** + * ## Prisma Client สฒหข + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Commissioners + * const commissioners = await prisma.commissioner.findMany() + * ``` + * + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). + */ + + constructor(optionsArg ?: Prisma.Subset); + $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient; + + /** + * Connect with the database + */ + $connect(): $Utils.JsPromise; + + /** + * Disconnect from the database + */ + $disconnect(): $Utils.JsPromise; + + /** + * Add a middleware + * @deprecated since 4.16.0. For new code, prefer client extensions instead. + * @see https://pris.ly/d/extensions + */ + $use(cb: Prisma.Middleware): void + +/** + * Executes a prepared raw query and returns the number of affected rows. + * @example + * ``` + * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};` + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; + + /** + * Executes a raw query and returns the number of affected rows. + * Susceptible to SQL injections, see documentation. + * @example + * ``` + * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com') + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + + /** + * Performs a prepared raw query and returns the `SELECT` data. + * @example + * ``` + * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};` + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; + + /** + * Performs a raw query and returns the `SELECT` data. + * Susceptible to SQL injections, see documentation. + * @example + * ``` + * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com') + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + + + /** + * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. + * @example + * ``` + * const [george, bob, alice] = await prisma.$transaction([ + * prisma.user.create({ data: { name: 'George' } }), + * prisma.user.create({ data: { name: 'Bob' } }), + * prisma.user.create({ data: { name: 'Alice' } }), + * ]) + * ``` + * + * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). + */ + $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> + + $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise + + + $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, { + extArgs: ExtArgs + }>> + + /** + * `prisma.commissioner`: Exposes CRUD operations for the **Commissioner** model. + * Example usage: + * ```ts + * // Fetch zero or more Commissioners + * const commissioners = await prisma.commissioner.findMany() + * ``` + */ + get commissioner(): Prisma.CommissionerDelegate; + + /** + * `prisma.passwordReset`: Exposes CRUD operations for the **PasswordReset** model. + * Example usage: + * ```ts + * // Fetch zero or more PasswordResets + * const passwordResets = await prisma.passwordReset.findMany() + * ``` + */ + get passwordReset(): Prisma.PasswordResetDelegate; + + /** + * `prisma.farmer`: Exposes CRUD operations for the **Farmer** model. + * Example usage: + * ```ts + * // Fetch zero or more Farmers + * const farmers = await prisma.farmer.findMany() + * ``` + */ + get farmer(): Prisma.FarmerDelegate; + + /** + * `prisma.buyer`: Exposes CRUD operations for the **Buyer** model. + * Example usage: + * ```ts + * // Fetch zero or more Buyers + * const buyers = await prisma.buyer.findMany() + * ``` + */ + get buyer(): Prisma.BuyerDelegate; + + /** + * `prisma.category`: Exposes CRUD operations for the **Category** model. + * Example usage: + * ```ts + * // Fetch zero or more Categories + * const categories = await prisma.category.findMany() + * ``` + */ + get category(): Prisma.CategoryDelegate; + + /** + * `prisma.product`: Exposes CRUD operations for the **Product** model. + * Example usage: + * ```ts + * // Fetch zero or more Products + * const products = await prisma.product.findMany() + * ``` + */ + get product(): Prisma.ProductDelegate; + + /** + * `prisma.auctionSession`: Exposes CRUD operations for the **AuctionSession** model. + * Example usage: + * ```ts + * // Fetch zero or more AuctionSessions + * const auctionSessions = await prisma.auctionSession.findMany() + * ``` + */ + get auctionSession(): Prisma.AuctionSessionDelegate; + + /** + * `prisma.auctionItem`: Exposes CRUD operations for the **AuctionItem** model. + * Example usage: + * ```ts + * // Fetch zero or more AuctionItems + * const auctionItems = await prisma.auctionItem.findMany() + * ``` + */ + get auctionItem(): Prisma.AuctionItemDelegate; + + /** + * `prisma.bill`: Exposes CRUD operations for the **Bill** model. + * Example usage: + * ```ts + * // Fetch zero or more Bills + * const bills = await prisma.bill.findMany() + * ``` + */ + get bill(): Prisma.BillDelegate; +} + +export namespace Prisma { + export import DMMF = runtime.DMMF + + export type PrismaPromise = $Public.PrismaPromise + + /** + * Validator + */ + export import validator = runtime.Public.validator + + /** + * Prisma Errors + */ + export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError + export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError + export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError + export import PrismaClientInitializationError = runtime.PrismaClientInitializationError + export import PrismaClientValidationError = runtime.PrismaClientValidationError + + /** + * Re-export of sql-template-tag + */ + export import sql = runtime.sqltag + export import empty = runtime.empty + export import join = runtime.join + export import raw = runtime.raw + export import Sql = runtime.Sql + + + + /** + * Decimal.js + */ + export import Decimal = runtime.Decimal + + export type DecimalJsLike = runtime.DecimalJsLike + + /** + * Metrics + */ + export type Metrics = runtime.Metrics + export type Metric = runtime.Metric + export type MetricHistogram = runtime.MetricHistogram + export type MetricHistogramBucket = runtime.MetricHistogramBucket + + /** + * Extensions + */ + export import Extension = $Extensions.UserArgs + export import getExtensionContext = runtime.Extensions.getExtensionContext + export import Args = $Public.Args + export import Payload = $Public.Payload + export import Result = $Public.Result + export import Exact = $Public.Exact + + /** + * Prisma Client JS version: 6.11.1 + * Query Engine version: f40f79ec31188888a2e33acda0ecc8fd10a853a9 + */ + export type PrismaVersion = { + client: string + } + + export const prismaVersion: PrismaVersion + + /** + * Utility Types + */ + + + export import JsonObject = runtime.JsonObject + export import JsonArray = runtime.JsonArray + export import JsonValue = runtime.JsonValue + export import InputJsonObject = runtime.InputJsonObject + export import InputJsonArray = runtime.InputJsonArray + export import InputJsonValue = runtime.InputJsonValue + + /** + * Types of the values used to represent different kinds of `null` values when working with JSON fields. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + namespace NullTypes { + /** + * Type of `Prisma.DbNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class DbNull { + private DbNull: never + private constructor() + } + + /** + * Type of `Prisma.JsonNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class JsonNull { + private JsonNull: never + private constructor() + } + + /** + * Type of `Prisma.AnyNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class AnyNull { + private AnyNull: never + private constructor() + } + } + + /** + * Helper for filtering JSON entries that have `null` on the database (empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + export const DbNull: NullTypes.DbNull + + /** + * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + export const JsonNull: NullTypes.JsonNull + + /** + * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + export const AnyNull: NullTypes.AnyNull + + type SelectAndInclude = { + select: any + include: any + } + + type SelectAndOmit = { + select: any + omit: any + } + + /** + * Get the type of the value, that the Promise holds. + */ + export type PromiseType> = T extends PromiseLike ? U : T; + + /** + * Get the return type of a function which returns a Promise. + */ + export type PromiseReturnType $Utils.JsPromise> = PromiseType> + + /** + * From T, pick a set of properties whose keys are in the union K + */ + type Prisma__Pick = { + [P in K]: T[P]; + }; + + + export type Enumerable = T | Array; + + export type RequiredKeys = { + [K in keyof T]-?: {} extends Prisma__Pick ? never : K + }[keyof T] + + export type TruthyKeys = keyof { + [K in keyof T as T[K] extends false | undefined | null ? never : K]: K + } + + export type TrueKeys = TruthyKeys>> + + /** + * Subset + * @desc From `T` pick properties that exist in `U`. Simple version of Intersection + */ + export type Subset = { + [key in keyof T]: key extends keyof U ? T[key] : never; + }; + + /** + * SelectSubset + * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. + * Additionally, it validates, if both select and include are present. If the case, it errors. + */ + export type SelectSubset = { + [key in keyof T]: key extends keyof U ? T[key] : never + } & + (T extends SelectAndInclude + ? 'Please either choose `select` or `include`.' + : T extends SelectAndOmit + ? 'Please either choose `select` or `omit`.' + : {}) + + /** + * Subset + Intersection + * @desc From `T` pick properties that exist in `U` and intersect `K` + */ + export type SubsetIntersection = { + [key in keyof T]: key extends keyof U ? T[key] : never + } & + K + + type Without = { [P in Exclude]?: never }; + + /** + * XOR is needed to have a real mutually exclusive union type + * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types + */ + type XOR = + T extends object ? + U extends object ? + (Without & U) | (Without & T) + : U : T + + + /** + * Is T a Record? + */ + type IsObject = T extends Array + ? False + : T extends Date + ? False + : T extends Uint8Array + ? False + : T extends BigInt + ? False + : T extends object + ? True + : False + + + /** + * If it's T[], return T + */ + export type UnEnumerate = T extends Array ? U : T + + /** + * From ts-toolbelt + */ + + type __Either = Omit & + { + // Merge all but K + [P in K]: Prisma__Pick // With K possibilities + }[K] + + type EitherStrict = Strict<__Either> + + type EitherLoose = ComputeRaw<__Either> + + type _Either< + O extends object, + K extends Key, + strict extends Boolean + > = { + 1: EitherStrict + 0: EitherLoose + }[strict] + + type Either< + O extends object, + K extends Key, + strict extends Boolean = 1 + > = O extends unknown ? _Either : never + + export type Union = any + + type PatchUndefined = { + [K in keyof O]: O[K] extends undefined ? At : O[K] + } & {} + + /** Helper Types for "Merge" **/ + export type IntersectOf = ( + U extends unknown ? (k: U) => void : never + ) extends (k: infer I) => void + ? I + : never + + export type Overwrite = { + [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; + } & {}; + + type _Merge = IntersectOf; + }>>; + + type Key = string | number | symbol; + type AtBasic = K extends keyof O ? O[K] : never; + type AtStrict = O[K & keyof O]; + type AtLoose = O extends unknown ? AtStrict : never; + export type At = { + 1: AtStrict; + 0: AtLoose; + }[strict]; + + export type ComputeRaw = A extends Function ? A : { + [K in keyof A]: A[K]; + } & {}; + + export type OptionalFlat = { + [K in keyof O]?: O[K]; + } & {}; + + type _Record = { + [P in K]: T; + }; + + // cause typescript not to expand types and preserve names + type NoExpand = T extends unknown ? T : never; + + // this type assumes the passed object is entirely optional + type AtLeast = NoExpand< + O extends unknown + ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) + | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O + : never>; + + type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; + + export type Strict = ComputeRaw<_Strict>; + /** End Helper Types for "Merge" **/ + + export type Merge = ComputeRaw<_Merge>>; + + /** + A [[Boolean]] + */ + export type Boolean = True | False + + // /** + // 1 + // */ + export type True = 1 + + /** + 0 + */ + export type False = 0 + + export type Not = { + 0: 1 + 1: 0 + }[B] + + export type Extends = [A1] extends [never] + ? 0 // anything `never` is false + : A1 extends A2 + ? 1 + : 0 + + export type Has = Not< + Extends, U1> + > + + export type Or = { + 0: { + 0: 0 + 1: 1 + } + 1: { + 0: 1 + 1: 1 + } + }[B1][B2] + + export type Keys = U extends unknown ? keyof U : never + + type Cast = A extends B ? A : B; + + export const type: unique symbol; + + + + /** + * Used by group by + */ + + export type GetScalarType = O extends object ? { + [P in keyof T]: P extends keyof O + ? O[P] + : never + } : never + + type FieldPaths< + T, + U = Omit + > = IsObject extends True ? U : T + + type GetHavingFields = { + [K in keyof T]: Or< + Or, Extends<'AND', K>>, + Extends<'NOT', K> + > extends True + ? // infer is only needed to not hit TS limit + // based on the brilliant idea of Pierre-Antoine Mills + // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 + T[K] extends infer TK + ? GetHavingFields extends object ? Merge> : never> + : never + : {} extends FieldPaths + ? never + : K + }[keyof T] + + /** + * Convert tuple to union + */ + type _TupleToUnion = T extends (infer E)[] ? E : never + type TupleToUnion = _TupleToUnion + type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T + + /** + * Like `Pick`, but additionally can also accept an array of keys + */ + type PickEnumerable | keyof T> = Prisma__Pick> + + /** + * Exclude all keys with underscores + */ + type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T + + + export type FieldRef = runtime.FieldRef + + type FieldRefInputType = Model extends never ? never : FieldRef + + + export const ModelName: { + Commissioner: 'Commissioner', + PasswordReset: 'PasswordReset', + Farmer: 'Farmer', + Buyer: 'Buyer', + Category: 'Category', + Product: 'Product', + AuctionSession: 'AuctionSession', + AuctionItem: 'AuctionItem', + Bill: 'Bill' + }; + + export type ModelName = (typeof ModelName)[keyof typeof ModelName] + + + export type Datasources = { + db?: Datasource + } + + interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record> { + returns: Prisma.TypeMap + } + + export type TypeMap = { + globalOmitOptions: { + omit: GlobalOmitOptions + } + meta: { + modelProps: "commissioner" | "passwordReset" | "farmer" | "buyer" | "category" | "product" | "auctionSession" | "auctionItem" | "bill" + txIsolationLevel: Prisma.TransactionIsolationLevel + } + model: { + Commissioner: { + payload: Prisma.$CommissionerPayload + fields: Prisma.CommissionerFieldRefs + operations: { + findUnique: { + args: Prisma.CommissionerFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.CommissionerFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.CommissionerFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.CommissionerFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.CommissionerFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.CommissionerCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.CommissionerCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.CommissionerCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.CommissionerDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.CommissionerUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.CommissionerDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.CommissionerUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.CommissionerUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.CommissionerUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.CommissionerAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.CommissionerGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.CommissionerCountArgs + result: $Utils.Optional | number + } + } + } + PasswordReset: { + payload: Prisma.$PasswordResetPayload + fields: Prisma.PasswordResetFieldRefs + operations: { + findUnique: { + args: Prisma.PasswordResetFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.PasswordResetFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.PasswordResetFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.PasswordResetFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.PasswordResetFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.PasswordResetCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.PasswordResetCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.PasswordResetCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.PasswordResetDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.PasswordResetUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.PasswordResetDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.PasswordResetUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.PasswordResetUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.PasswordResetUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.PasswordResetAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.PasswordResetGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.PasswordResetCountArgs + result: $Utils.Optional | number + } + } + } + Farmer: { + payload: Prisma.$FarmerPayload + fields: Prisma.FarmerFieldRefs + operations: { + findUnique: { + args: Prisma.FarmerFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.FarmerFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.FarmerFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.FarmerFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.FarmerFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.FarmerCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.FarmerCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.FarmerCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.FarmerDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.FarmerUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.FarmerDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.FarmerUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.FarmerUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.FarmerUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.FarmerAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.FarmerGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.FarmerCountArgs + result: $Utils.Optional | number + } + } + } + Buyer: { + payload: Prisma.$BuyerPayload + fields: Prisma.BuyerFieldRefs + operations: { + findUnique: { + args: Prisma.BuyerFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.BuyerFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.BuyerFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.BuyerFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.BuyerFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.BuyerCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.BuyerCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.BuyerCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.BuyerDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.BuyerUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.BuyerDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.BuyerUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.BuyerUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.BuyerUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.BuyerAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.BuyerGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.BuyerCountArgs + result: $Utils.Optional | number + } + } + } + Category: { + payload: Prisma.$CategoryPayload + fields: Prisma.CategoryFieldRefs + operations: { + findUnique: { + args: Prisma.CategoryFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.CategoryFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.CategoryFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.CategoryFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.CategoryFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.CategoryCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.CategoryCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.CategoryCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.CategoryDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.CategoryUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.CategoryDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.CategoryUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.CategoryUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.CategoryUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.CategoryAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.CategoryGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.CategoryCountArgs + result: $Utils.Optional | number + } + } + } + Product: { + payload: Prisma.$ProductPayload + fields: Prisma.ProductFieldRefs + operations: { + findUnique: { + args: Prisma.ProductFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.ProductFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.ProductFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.ProductFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.ProductFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.ProductCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.ProductCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.ProductCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.ProductDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.ProductUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.ProductDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.ProductUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.ProductUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.ProductUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.ProductAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.ProductGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.ProductCountArgs + result: $Utils.Optional | number + } + } + } + AuctionSession: { + payload: Prisma.$AuctionSessionPayload + fields: Prisma.AuctionSessionFieldRefs + operations: { + findUnique: { + args: Prisma.AuctionSessionFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.AuctionSessionFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.AuctionSessionFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.AuctionSessionFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.AuctionSessionFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.AuctionSessionCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.AuctionSessionCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.AuctionSessionCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.AuctionSessionDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.AuctionSessionUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.AuctionSessionDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.AuctionSessionUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.AuctionSessionUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.AuctionSessionUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.AuctionSessionAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.AuctionSessionGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.AuctionSessionCountArgs + result: $Utils.Optional | number + } + } + } + AuctionItem: { + payload: Prisma.$AuctionItemPayload + fields: Prisma.AuctionItemFieldRefs + operations: { + findUnique: { + args: Prisma.AuctionItemFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.AuctionItemFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.AuctionItemFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.AuctionItemFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.AuctionItemFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.AuctionItemCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.AuctionItemCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.AuctionItemCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.AuctionItemDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.AuctionItemUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.AuctionItemDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.AuctionItemUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.AuctionItemUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.AuctionItemUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.AuctionItemAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.AuctionItemGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.AuctionItemCountArgs + result: $Utils.Optional | number + } + } + } + Bill: { + payload: Prisma.$BillPayload + fields: Prisma.BillFieldRefs + operations: { + findUnique: { + args: Prisma.BillFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.BillFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.BillFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.BillFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.BillFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.BillCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.BillCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.BillCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.BillDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.BillUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.BillDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.BillUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.BillUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.BillUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.BillAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.BillGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.BillCountArgs + result: $Utils.Optional | number + } + } + } + } + } & { + other: { + payload: any + operations: { + $executeRaw: { + args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], + result: any + } + $executeRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + $queryRaw: { + args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], + result: any + } + $queryRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + } + } + } + export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> + export type DefaultPrismaClient = PrismaClient + export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' + export interface PrismaClientOptions { + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasources?: Datasources + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasourceUrl?: string + /** + * @default "colorless" + */ + errorFormat?: ErrorFormat + /** + * @example + * ``` + * // Defaults to stdout + * log: ['query', 'info', 'warn', 'error'] + * + * // Emit as events + * log: [ + * { emit: 'stdout', level: 'query' }, + * { emit: 'stdout', level: 'info' }, + * { emit: 'stdout', level: 'warn' } + * { emit: 'stdout', level: 'error' } + * ] + * ``` + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). + */ + log?: (LogLevel | LogDefinition)[] + /** + * The default values for transactionOptions + * maxWait ?= 2000 + * timeout ?= 5000 + */ + transactionOptions?: { + maxWait?: number + timeout?: number + isolationLevel?: Prisma.TransactionIsolationLevel + } + /** + * Global configuration for omitting model fields by default. + * + * @example + * ``` + * const prisma = new PrismaClient({ + * omit: { + * user: { + * password: true + * } + * } + * }) + * ``` + */ + omit?: Prisma.GlobalOmitConfig + } + export type GlobalOmitConfig = { + commissioner?: CommissionerOmit + passwordReset?: PasswordResetOmit + farmer?: FarmerOmit + buyer?: BuyerOmit + category?: CategoryOmit + product?: ProductOmit + auctionSession?: AuctionSessionOmit + auctionItem?: AuctionItemOmit + bill?: BillOmit + } + + /* Types for Logging */ + export type LogLevel = 'info' | 'query' | 'warn' | 'error' + export type LogDefinition = { + level: LogLevel + emit: 'stdout' | 'event' + } + + export type GetLogType = T extends LogDefinition ? T['emit'] extends 'event' ? T['level'] : never : never + export type GetEvents = T extends Array ? + GetLogType | GetLogType | GetLogType | GetLogType + : never + + export type QueryEvent = { + timestamp: Date + query: string + params: string + duration: number + target: string + } + + export type LogEvent = { + timestamp: Date + message: string + target: string + } + /* End Types for Logging */ + + + export type PrismaAction = + | 'findUnique' + | 'findUniqueOrThrow' + | 'findMany' + | 'findFirst' + | 'findFirstOrThrow' + | 'create' + | 'createMany' + | 'createManyAndReturn' + | 'update' + | 'updateMany' + | 'updateManyAndReturn' + | 'upsert' + | 'delete' + | 'deleteMany' + | 'executeRaw' + | 'queryRaw' + | 'aggregate' + | 'count' + | 'runCommandRaw' + | 'findRaw' + | 'groupBy' + + /** + * These options are being passed into the middleware as "params" + */ + export type MiddlewareParams = { + model?: ModelName + action: PrismaAction + args: any + dataPath: string[] + runInTransaction: boolean + } + + /** + * The `T` type makes sure, that the `return proceed` is not forgotten in the middleware implementation + */ + export type Middleware = ( + params: MiddlewareParams, + next: (params: MiddlewareParams) => $Utils.JsPromise, + ) => $Utils.JsPromise + + // tested in getLogLevel.test.ts + export function getLogLevel(log: Array): LogLevel | undefined; + + /** + * `PrismaClient` proxy available in interactive transactions. + */ + export type TransactionClient = Omit + + export type Datasource = { + url?: string + } + + /** + * Count Types + */ + + + /** + * Count Type CommissionerCountOutputType + */ + + export type CommissionerCountOutputType = { + auction_sessions: number + bills: number + buyers: number + farmers: number + password_resets: number + } + + export type CommissionerCountOutputTypeSelect = { + auction_sessions?: boolean | CommissionerCountOutputTypeCountAuction_sessionsArgs + bills?: boolean | CommissionerCountOutputTypeCountBillsArgs + buyers?: boolean | CommissionerCountOutputTypeCountBuyersArgs + farmers?: boolean | CommissionerCountOutputTypeCountFarmersArgs + password_resets?: boolean | CommissionerCountOutputTypeCountPassword_resetsArgs + } + + // Custom InputTypes + /** + * CommissionerCountOutputType without action + */ + export type CommissionerCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the CommissionerCountOutputType + */ + select?: CommissionerCountOutputTypeSelect | null + } + + /** + * CommissionerCountOutputType without action + */ + export type CommissionerCountOutputTypeCountAuction_sessionsArgs = { + where?: AuctionSessionWhereInput + } + + /** + * CommissionerCountOutputType without action + */ + export type CommissionerCountOutputTypeCountBillsArgs = { + where?: BillWhereInput + } + + /** + * CommissionerCountOutputType without action + */ + export type CommissionerCountOutputTypeCountBuyersArgs = { + where?: BuyerWhereInput + } + + /** + * CommissionerCountOutputType without action + */ + export type CommissionerCountOutputTypeCountFarmersArgs = { + where?: FarmerWhereInput + } + + /** + * CommissionerCountOutputType without action + */ + export type CommissionerCountOutputTypeCountPassword_resetsArgs = { + where?: PasswordResetWhereInput + } + + + /** + * Count Type FarmerCountOutputType + */ + + export type FarmerCountOutputType = { + auction_items: number + bills: number + } + + export type FarmerCountOutputTypeSelect = { + auction_items?: boolean | FarmerCountOutputTypeCountAuction_itemsArgs + bills?: boolean | FarmerCountOutputTypeCountBillsArgs + } + + // Custom InputTypes + /** + * FarmerCountOutputType without action + */ + export type FarmerCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the FarmerCountOutputType + */ + select?: FarmerCountOutputTypeSelect | null + } + + /** + * FarmerCountOutputType without action + */ + export type FarmerCountOutputTypeCountAuction_itemsArgs = { + where?: AuctionItemWhereInput + } + + /** + * FarmerCountOutputType without action + */ + export type FarmerCountOutputTypeCountBillsArgs = { + where?: BillWhereInput + } + + + /** + * Count Type BuyerCountOutputType + */ + + export type BuyerCountOutputType = { + auction_items: number + } + + export type BuyerCountOutputTypeSelect = { + auction_items?: boolean | BuyerCountOutputTypeCountAuction_itemsArgs + } + + // Custom InputTypes + /** + * BuyerCountOutputType without action + */ + export type BuyerCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the BuyerCountOutputType + */ + select?: BuyerCountOutputTypeSelect | null + } + + /** + * BuyerCountOutputType without action + */ + export type BuyerCountOutputTypeCountAuction_itemsArgs = { + where?: AuctionItemWhereInput + } + + + /** + * Count Type CategoryCountOutputType + */ + + export type CategoryCountOutputType = { + products: number + } + + export type CategoryCountOutputTypeSelect = { + products?: boolean | CategoryCountOutputTypeCountProductsArgs + } + + // Custom InputTypes + /** + * CategoryCountOutputType without action + */ + export type CategoryCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the CategoryCountOutputType + */ + select?: CategoryCountOutputTypeSelect | null + } + + /** + * CategoryCountOutputType without action + */ + export type CategoryCountOutputTypeCountProductsArgs = { + where?: ProductWhereInput + } + + + /** + * Count Type ProductCountOutputType + */ + + export type ProductCountOutputType = { + auction_items: number + bills: number + } + + export type ProductCountOutputTypeSelect = { + auction_items?: boolean | ProductCountOutputTypeCountAuction_itemsArgs + bills?: boolean | ProductCountOutputTypeCountBillsArgs + } + + // Custom InputTypes + /** + * ProductCountOutputType without action + */ + export type ProductCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the ProductCountOutputType + */ + select?: ProductCountOutputTypeSelect | null + } + + /** + * ProductCountOutputType without action + */ + export type ProductCountOutputTypeCountAuction_itemsArgs = { + where?: AuctionItemWhereInput + } + + /** + * ProductCountOutputType without action + */ + export type ProductCountOutputTypeCountBillsArgs = { + where?: BillWhereInput + } + + + /** + * Count Type AuctionSessionCountOutputType + */ + + export type AuctionSessionCountOutputType = { + auction_items: number + } + + export type AuctionSessionCountOutputTypeSelect = { + auction_items?: boolean | AuctionSessionCountOutputTypeCountAuction_itemsArgs + } + + // Custom InputTypes + /** + * AuctionSessionCountOutputType without action + */ + export type AuctionSessionCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the AuctionSessionCountOutputType + */ + select?: AuctionSessionCountOutputTypeSelect | null + } + + /** + * AuctionSessionCountOutputType without action + */ + export type AuctionSessionCountOutputTypeCountAuction_itemsArgs = { + where?: AuctionItemWhereInput + } + + + /** + * Count Type BillCountOutputType + */ + + export type BillCountOutputType = { + auction_items: number + } + + export type BillCountOutputTypeSelect = { + auction_items?: boolean | BillCountOutputTypeCountAuction_itemsArgs + } + + // Custom InputTypes + /** + * BillCountOutputType without action + */ + export type BillCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the BillCountOutputType + */ + select?: BillCountOutputTypeSelect | null + } + + /** + * BillCountOutputType without action + */ + export type BillCountOutputTypeCountAuction_itemsArgs = { + where?: AuctionItemWhereInput + } + + + /** + * Models + */ + + /** + * Model Commissioner + */ + + export type AggregateCommissioner = { + _count: CommissionerCountAggregateOutputType | null + _avg: CommissionerAvgAggregateOutputType | null + _sum: CommissionerSumAggregateOutputType | null + _min: CommissionerMinAggregateOutputType | null + _max: CommissionerMaxAggregateOutputType | null + } + + export type CommissionerAvgAggregateOutputType = { + commission_rate: number | null + } + + export type CommissionerSumAggregateOutputType = { + commission_rate: number | null + } + + export type CommissionerMinAggregateOutputType = { + id: string | null + name: string | null + location: string | null + phone: string | null + email: string | null + password: string | null + commission_rate: number | null + created_at: Date | null + updated_at: Date | null + } + + export type CommissionerMaxAggregateOutputType = { + id: string | null + name: string | null + location: string | null + phone: string | null + email: string | null + password: string | null + commission_rate: number | null + created_at: Date | null + updated_at: Date | null + } + + export type CommissionerCountAggregateOutputType = { + id: number + name: number + location: number + phone: number + email: number + password: number + commission_rate: number + created_at: number + updated_at: number + _all: number + } + + + export type CommissionerAvgAggregateInputType = { + commission_rate?: true + } + + export type CommissionerSumAggregateInputType = { + commission_rate?: true + } + + export type CommissionerMinAggregateInputType = { + id?: true + name?: true + location?: true + phone?: true + email?: true + password?: true + commission_rate?: true + created_at?: true + updated_at?: true + } + + export type CommissionerMaxAggregateInputType = { + id?: true + name?: true + location?: true + phone?: true + email?: true + password?: true + commission_rate?: true + created_at?: true + updated_at?: true + } + + export type CommissionerCountAggregateInputType = { + id?: true + name?: true + location?: true + phone?: true + email?: true + password?: true + commission_rate?: true + created_at?: true + updated_at?: true + _all?: true + } + + export type CommissionerAggregateArgs = { + /** + * Filter which Commissioner to aggregate. + */ + where?: CommissionerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Commissioners to fetch. + */ + orderBy?: CommissionerOrderByWithRelationInput | CommissionerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: CommissionerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Commissioners from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Commissioners. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Commissioners + **/ + _count?: true | CommissionerCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: CommissionerAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: CommissionerSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: CommissionerMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: CommissionerMaxAggregateInputType + } + + export type GetCommissionerAggregateType = { + [P in keyof T & keyof AggregateCommissioner]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type CommissionerGroupByArgs = { + where?: CommissionerWhereInput + orderBy?: CommissionerOrderByWithAggregationInput | CommissionerOrderByWithAggregationInput[] + by: CommissionerScalarFieldEnum[] | CommissionerScalarFieldEnum + having?: CommissionerScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: CommissionerCountAggregateInputType | true + _avg?: CommissionerAvgAggregateInputType + _sum?: CommissionerSumAggregateInputType + _min?: CommissionerMinAggregateInputType + _max?: CommissionerMaxAggregateInputType + } + + export type CommissionerGroupByOutputType = { + id: string + name: string + location: string + phone: string + email: string + password: string + commission_rate: number + created_at: Date + updated_at: Date + _count: CommissionerCountAggregateOutputType | null + _avg: CommissionerAvgAggregateOutputType | null + _sum: CommissionerSumAggregateOutputType | null + _min: CommissionerMinAggregateOutputType | null + _max: CommissionerMaxAggregateOutputType | null + } + + type GetCommissionerGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof CommissionerGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type CommissionerSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + location?: boolean + phone?: boolean + email?: boolean + password?: boolean + commission_rate?: boolean + created_at?: boolean + updated_at?: boolean + auction_sessions?: boolean | Commissioner$auction_sessionsArgs + bills?: boolean | Commissioner$billsArgs + buyers?: boolean | Commissioner$buyersArgs + farmers?: boolean | Commissioner$farmersArgs + password_resets?: boolean | Commissioner$password_resetsArgs + _count?: boolean | CommissionerCountOutputTypeDefaultArgs + }, ExtArgs["result"]["commissioner"]> + + export type CommissionerSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + location?: boolean + phone?: boolean + email?: boolean + password?: boolean + commission_rate?: boolean + created_at?: boolean + updated_at?: boolean + }, ExtArgs["result"]["commissioner"]> + + export type CommissionerSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + location?: boolean + phone?: boolean + email?: boolean + password?: boolean + commission_rate?: boolean + created_at?: boolean + updated_at?: boolean + }, ExtArgs["result"]["commissioner"]> + + export type CommissionerSelectScalar = { + id?: boolean + name?: boolean + location?: boolean + phone?: boolean + email?: boolean + password?: boolean + commission_rate?: boolean + created_at?: boolean + updated_at?: boolean + } + + export type CommissionerOmit = $Extensions.GetOmit<"id" | "name" | "location" | "phone" | "email" | "password" | "commission_rate" | "created_at" | "updated_at", ExtArgs["result"]["commissioner"]> + export type CommissionerInclude = { + auction_sessions?: boolean | Commissioner$auction_sessionsArgs + bills?: boolean | Commissioner$billsArgs + buyers?: boolean | Commissioner$buyersArgs + farmers?: boolean | Commissioner$farmersArgs + password_resets?: boolean | Commissioner$password_resetsArgs + _count?: boolean | CommissionerCountOutputTypeDefaultArgs + } + export type CommissionerIncludeCreateManyAndReturn = {} + export type CommissionerIncludeUpdateManyAndReturn = {} + + export type $CommissionerPayload = { + name: "Commissioner" + objects: { + auction_sessions: Prisma.$AuctionSessionPayload[] + bills: Prisma.$BillPayload[] + buyers: Prisma.$BuyerPayload[] + farmers: Prisma.$FarmerPayload[] + password_resets: Prisma.$PasswordResetPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + location: string + phone: string + email: string + password: string + commission_rate: number + created_at: Date + updated_at: Date + }, ExtArgs["result"]["commissioner"]> + composites: {} + } + + type CommissionerGetPayload = $Result.GetResult + + type CommissionerCountArgs = + Omit & { + select?: CommissionerCountAggregateInputType | true + } + + export interface CommissionerDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Commissioner'], meta: { name: 'Commissioner' } } + /** + * Find zero or one Commissioner that matches the filter. + * @param {CommissionerFindUniqueArgs} args - Arguments to find a Commissioner + * @example + * // Get one Commissioner + * const commissioner = await prisma.commissioner.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__CommissionerClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Commissioner that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {CommissionerFindUniqueOrThrowArgs} args - Arguments to find a Commissioner + * @example + * // Get one Commissioner + * const commissioner = await prisma.commissioner.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__CommissionerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Commissioner that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CommissionerFindFirstArgs} args - Arguments to find a Commissioner + * @example + * // Get one Commissioner + * const commissioner = await prisma.commissioner.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__CommissionerClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Commissioner that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CommissionerFindFirstOrThrowArgs} args - Arguments to find a Commissioner + * @example + * // Get one Commissioner + * const commissioner = await prisma.commissioner.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__CommissionerClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Commissioners that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CommissionerFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Commissioners + * const commissioners = await prisma.commissioner.findMany() + * + * // Get first 10 Commissioners + * const commissioners = await prisma.commissioner.findMany({ take: 10 }) + * + * // Only select the `id` + * const commissionerWithIdOnly = await prisma.commissioner.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Commissioner. + * @param {CommissionerCreateArgs} args - Arguments to create a Commissioner. + * @example + * // Create one Commissioner + * const Commissioner = await prisma.commissioner.create({ + * data: { + * // ... data to create a Commissioner + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__CommissionerClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Commissioners. + * @param {CommissionerCreateManyArgs} args - Arguments to create many Commissioners. + * @example + * // Create many Commissioners + * const commissioner = await prisma.commissioner.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Commissioners and returns the data saved in the database. + * @param {CommissionerCreateManyAndReturnArgs} args - Arguments to create many Commissioners. + * @example + * // Create many Commissioners + * const commissioner = await prisma.commissioner.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Commissioners and only return the `id` + * const commissionerWithIdOnly = await prisma.commissioner.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Commissioner. + * @param {CommissionerDeleteArgs} args - Arguments to delete one Commissioner. + * @example + * // Delete one Commissioner + * const Commissioner = await prisma.commissioner.delete({ + * where: { + * // ... filter to delete one Commissioner + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__CommissionerClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Commissioner. + * @param {CommissionerUpdateArgs} args - Arguments to update one Commissioner. + * @example + * // Update one Commissioner + * const commissioner = await prisma.commissioner.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__CommissionerClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Commissioners. + * @param {CommissionerDeleteManyArgs} args - Arguments to filter Commissioners to delete. + * @example + * // Delete a few Commissioners + * const { count } = await prisma.commissioner.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Commissioners. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CommissionerUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Commissioners + * const commissioner = await prisma.commissioner.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Commissioners and returns the data updated in the database. + * @param {CommissionerUpdateManyAndReturnArgs} args - Arguments to update many Commissioners. + * @example + * // Update many Commissioners + * const commissioner = await prisma.commissioner.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Commissioners and only return the `id` + * const commissionerWithIdOnly = await prisma.commissioner.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Commissioner. + * @param {CommissionerUpsertArgs} args - Arguments to update or create a Commissioner. + * @example + * // Update or create a Commissioner + * const commissioner = await prisma.commissioner.upsert({ + * create: { + * // ... data to create a Commissioner + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Commissioner we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__CommissionerClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Commissioners. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CommissionerCountArgs} args - Arguments to filter Commissioners to count. + * @example + * // Count the number of Commissioners + * const count = await prisma.commissioner.count({ + * where: { + * // ... the filter for the Commissioners we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Commissioner. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CommissionerAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Commissioner. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CommissionerGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends CommissionerGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: CommissionerGroupByArgs['orderBy'] } + : { orderBy?: CommissionerGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCommissionerGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Commissioner model + */ + readonly fields: CommissionerFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Commissioner. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__CommissionerClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + auction_sessions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + bills = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + buyers = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + farmers = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + password_resets = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Commissioner model + */ + interface CommissionerFieldRefs { + readonly id: FieldRef<"Commissioner", 'String'> + readonly name: FieldRef<"Commissioner", 'String'> + readonly location: FieldRef<"Commissioner", 'String'> + readonly phone: FieldRef<"Commissioner", 'String'> + readonly email: FieldRef<"Commissioner", 'String'> + readonly password: FieldRef<"Commissioner", 'String'> + readonly commission_rate: FieldRef<"Commissioner", 'Float'> + readonly created_at: FieldRef<"Commissioner", 'DateTime'> + readonly updated_at: FieldRef<"Commissioner", 'DateTime'> + } + + + // Custom InputTypes + /** + * Commissioner findUnique + */ + export type CommissionerFindUniqueArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + /** + * Filter, which Commissioner to fetch. + */ + where: CommissionerWhereUniqueInput + } + + /** + * Commissioner findUniqueOrThrow + */ + export type CommissionerFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + /** + * Filter, which Commissioner to fetch. + */ + where: CommissionerWhereUniqueInput + } + + /** + * Commissioner findFirst + */ + export type CommissionerFindFirstArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + /** + * Filter, which Commissioner to fetch. + */ + where?: CommissionerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Commissioners to fetch. + */ + orderBy?: CommissionerOrderByWithRelationInput | CommissionerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Commissioners. + */ + cursor?: CommissionerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Commissioners from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Commissioners. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Commissioners. + */ + distinct?: CommissionerScalarFieldEnum | CommissionerScalarFieldEnum[] + } + + /** + * Commissioner findFirstOrThrow + */ + export type CommissionerFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + /** + * Filter, which Commissioner to fetch. + */ + where?: CommissionerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Commissioners to fetch. + */ + orderBy?: CommissionerOrderByWithRelationInput | CommissionerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Commissioners. + */ + cursor?: CommissionerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Commissioners from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Commissioners. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Commissioners. + */ + distinct?: CommissionerScalarFieldEnum | CommissionerScalarFieldEnum[] + } + + /** + * Commissioner findMany + */ + export type CommissionerFindManyArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + /** + * Filter, which Commissioners to fetch. + */ + where?: CommissionerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Commissioners to fetch. + */ + orderBy?: CommissionerOrderByWithRelationInput | CommissionerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Commissioners. + */ + cursor?: CommissionerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Commissioners from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Commissioners. + */ + skip?: number + distinct?: CommissionerScalarFieldEnum | CommissionerScalarFieldEnum[] + } + + /** + * Commissioner create + */ + export type CommissionerCreateArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + /** + * The data needed to create a Commissioner. + */ + data: XOR + } + + /** + * Commissioner createMany + */ + export type CommissionerCreateManyArgs = { + /** + * The data used to create many Commissioners. + */ + data: CommissionerCreateManyInput | CommissionerCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Commissioner createManyAndReturn + */ + export type CommissionerCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * The data used to create many Commissioners. + */ + data: CommissionerCreateManyInput | CommissionerCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Commissioner update + */ + export type CommissionerUpdateArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + /** + * The data needed to update a Commissioner. + */ + data: XOR + /** + * Choose, which Commissioner to update. + */ + where: CommissionerWhereUniqueInput + } + + /** + * Commissioner updateMany + */ + export type CommissionerUpdateManyArgs = { + /** + * The data used to update Commissioners. + */ + data: XOR + /** + * Filter which Commissioners to update + */ + where?: CommissionerWhereInput + /** + * Limit how many Commissioners to update. + */ + limit?: number + } + + /** + * Commissioner updateManyAndReturn + */ + export type CommissionerUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * The data used to update Commissioners. + */ + data: XOR + /** + * Filter which Commissioners to update + */ + where?: CommissionerWhereInput + /** + * Limit how many Commissioners to update. + */ + limit?: number + } + + /** + * Commissioner upsert + */ + export type CommissionerUpsertArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + /** + * The filter to search for the Commissioner to update in case it exists. + */ + where: CommissionerWhereUniqueInput + /** + * In case the Commissioner found by the `where` argument doesn't exist, create a new Commissioner with this data. + */ + create: XOR + /** + * In case the Commissioner was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Commissioner delete + */ + export type CommissionerDeleteArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + /** + * Filter which Commissioner to delete. + */ + where: CommissionerWhereUniqueInput + } + + /** + * Commissioner deleteMany + */ + export type CommissionerDeleteManyArgs = { + /** + * Filter which Commissioners to delete + */ + where?: CommissionerWhereInput + /** + * Limit how many Commissioners to delete. + */ + limit?: number + } + + /** + * Commissioner.auction_sessions + */ + export type Commissioner$auction_sessionsArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + where?: AuctionSessionWhereInput + orderBy?: AuctionSessionOrderByWithRelationInput | AuctionSessionOrderByWithRelationInput[] + cursor?: AuctionSessionWhereUniqueInput + take?: number + skip?: number + distinct?: AuctionSessionScalarFieldEnum | AuctionSessionScalarFieldEnum[] + } + + /** + * Commissioner.bills + */ + export type Commissioner$billsArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + where?: BillWhereInput + orderBy?: BillOrderByWithRelationInput | BillOrderByWithRelationInput[] + cursor?: BillWhereUniqueInput + take?: number + skip?: number + distinct?: BillScalarFieldEnum | BillScalarFieldEnum[] + } + + /** + * Commissioner.buyers + */ + export type Commissioner$buyersArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + where?: BuyerWhereInput + orderBy?: BuyerOrderByWithRelationInput | BuyerOrderByWithRelationInput[] + cursor?: BuyerWhereUniqueInput + take?: number + skip?: number + distinct?: BuyerScalarFieldEnum | BuyerScalarFieldEnum[] + } + + /** + * Commissioner.farmers + */ + export type Commissioner$farmersArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + where?: FarmerWhereInput + orderBy?: FarmerOrderByWithRelationInput | FarmerOrderByWithRelationInput[] + cursor?: FarmerWhereUniqueInput + take?: number + skip?: number + distinct?: FarmerScalarFieldEnum | FarmerScalarFieldEnum[] + } + + /** + * Commissioner.password_resets + */ + export type Commissioner$password_resetsArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + where?: PasswordResetWhereInput + orderBy?: PasswordResetOrderByWithRelationInput | PasswordResetOrderByWithRelationInput[] + cursor?: PasswordResetWhereUniqueInput + take?: number + skip?: number + distinct?: PasswordResetScalarFieldEnum | PasswordResetScalarFieldEnum[] + } + + /** + * Commissioner without action + */ + export type CommissionerDefaultArgs = { + /** + * Select specific fields to fetch from the Commissioner + */ + select?: CommissionerSelect | null + /** + * Omit specific fields from the Commissioner + */ + omit?: CommissionerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CommissionerInclude | null + } + + + /** + * Model PasswordReset + */ + + export type AggregatePasswordReset = { + _count: PasswordResetCountAggregateOutputType | null + _min: PasswordResetMinAggregateOutputType | null + _max: PasswordResetMaxAggregateOutputType | null + } + + export type PasswordResetMinAggregateOutputType = { + id: string | null + commissioner_id: string | null + token: string | null + expires_at: Date | null + used: boolean | null + created_at: Date | null + used_at: Date | null + } + + export type PasswordResetMaxAggregateOutputType = { + id: string | null + commissioner_id: string | null + token: string | null + expires_at: Date | null + used: boolean | null + created_at: Date | null + used_at: Date | null + } + + export type PasswordResetCountAggregateOutputType = { + id: number + commissioner_id: number + token: number + expires_at: number + used: number + created_at: number + used_at: number + _all: number + } + + + export type PasswordResetMinAggregateInputType = { + id?: true + commissioner_id?: true + token?: true + expires_at?: true + used?: true + created_at?: true + used_at?: true + } + + export type PasswordResetMaxAggregateInputType = { + id?: true + commissioner_id?: true + token?: true + expires_at?: true + used?: true + created_at?: true + used_at?: true + } + + export type PasswordResetCountAggregateInputType = { + id?: true + commissioner_id?: true + token?: true + expires_at?: true + used?: true + created_at?: true + used_at?: true + _all?: true + } + + export type PasswordResetAggregateArgs = { + /** + * Filter which PasswordReset to aggregate. + */ + where?: PasswordResetWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PasswordResets to fetch. + */ + orderBy?: PasswordResetOrderByWithRelationInput | PasswordResetOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: PasswordResetWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` PasswordResets from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` PasswordResets. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned PasswordResets + **/ + _count?: true | PasswordResetCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: PasswordResetMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: PasswordResetMaxAggregateInputType + } + + export type GetPasswordResetAggregateType = { + [P in keyof T & keyof AggregatePasswordReset]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type PasswordResetGroupByArgs = { + where?: PasswordResetWhereInput + orderBy?: PasswordResetOrderByWithAggregationInput | PasswordResetOrderByWithAggregationInput[] + by: PasswordResetScalarFieldEnum[] | PasswordResetScalarFieldEnum + having?: PasswordResetScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: PasswordResetCountAggregateInputType | true + _min?: PasswordResetMinAggregateInputType + _max?: PasswordResetMaxAggregateInputType + } + + export type PasswordResetGroupByOutputType = { + id: string + commissioner_id: string + token: string + expires_at: Date + used: boolean + created_at: Date + used_at: Date | null + _count: PasswordResetCountAggregateOutputType | null + _min: PasswordResetMinAggregateOutputType | null + _max: PasswordResetMaxAggregateOutputType | null + } + + type GetPasswordResetGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof PasswordResetGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type PasswordResetSelect = $Extensions.GetSelect<{ + id?: boolean + commissioner_id?: boolean + token?: boolean + expires_at?: boolean + used?: boolean + created_at?: boolean + used_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + }, ExtArgs["result"]["passwordReset"]> + + export type PasswordResetSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + commissioner_id?: boolean + token?: boolean + expires_at?: boolean + used?: boolean + created_at?: boolean + used_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + }, ExtArgs["result"]["passwordReset"]> + + export type PasswordResetSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + commissioner_id?: boolean + token?: boolean + expires_at?: boolean + used?: boolean + created_at?: boolean + used_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + }, ExtArgs["result"]["passwordReset"]> + + export type PasswordResetSelectScalar = { + id?: boolean + commissioner_id?: boolean + token?: boolean + expires_at?: boolean + used?: boolean + created_at?: boolean + used_at?: boolean + } + + export type PasswordResetOmit = $Extensions.GetOmit<"id" | "commissioner_id" | "token" | "expires_at" | "used" | "created_at" | "used_at", ExtArgs["result"]["passwordReset"]> + export type PasswordResetInclude = { + commissioner?: boolean | CommissionerDefaultArgs + } + export type PasswordResetIncludeCreateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + } + export type PasswordResetIncludeUpdateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + } + + export type $PasswordResetPayload = { + name: "PasswordReset" + objects: { + commissioner: Prisma.$CommissionerPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + commissioner_id: string + token: string + expires_at: Date + used: boolean + created_at: Date + used_at: Date | null + }, ExtArgs["result"]["passwordReset"]> + composites: {} + } + + type PasswordResetGetPayload = $Result.GetResult + + type PasswordResetCountArgs = + Omit & { + select?: PasswordResetCountAggregateInputType | true + } + + export interface PasswordResetDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['PasswordReset'], meta: { name: 'PasswordReset' } } + /** + * Find zero or one PasswordReset that matches the filter. + * @param {PasswordResetFindUniqueArgs} args - Arguments to find a PasswordReset + * @example + * // Get one PasswordReset + * const passwordReset = await prisma.passwordReset.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__PasswordResetClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one PasswordReset that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {PasswordResetFindUniqueOrThrowArgs} args - Arguments to find a PasswordReset + * @example + * // Get one PasswordReset + * const passwordReset = await prisma.passwordReset.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__PasswordResetClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first PasswordReset that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PasswordResetFindFirstArgs} args - Arguments to find a PasswordReset + * @example + * // Get one PasswordReset + * const passwordReset = await prisma.passwordReset.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__PasswordResetClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first PasswordReset that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PasswordResetFindFirstOrThrowArgs} args - Arguments to find a PasswordReset + * @example + * // Get one PasswordReset + * const passwordReset = await prisma.passwordReset.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__PasswordResetClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more PasswordResets that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PasswordResetFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all PasswordResets + * const passwordResets = await prisma.passwordReset.findMany() + * + * // Get first 10 PasswordResets + * const passwordResets = await prisma.passwordReset.findMany({ take: 10 }) + * + * // Only select the `id` + * const passwordResetWithIdOnly = await prisma.passwordReset.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a PasswordReset. + * @param {PasswordResetCreateArgs} args - Arguments to create a PasswordReset. + * @example + * // Create one PasswordReset + * const PasswordReset = await prisma.passwordReset.create({ + * data: { + * // ... data to create a PasswordReset + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__PasswordResetClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many PasswordResets. + * @param {PasswordResetCreateManyArgs} args - Arguments to create many PasswordResets. + * @example + * // Create many PasswordResets + * const passwordReset = await prisma.passwordReset.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many PasswordResets and returns the data saved in the database. + * @param {PasswordResetCreateManyAndReturnArgs} args - Arguments to create many PasswordResets. + * @example + * // Create many PasswordResets + * const passwordReset = await prisma.passwordReset.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many PasswordResets and only return the `id` + * const passwordResetWithIdOnly = await prisma.passwordReset.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a PasswordReset. + * @param {PasswordResetDeleteArgs} args - Arguments to delete one PasswordReset. + * @example + * // Delete one PasswordReset + * const PasswordReset = await prisma.passwordReset.delete({ + * where: { + * // ... filter to delete one PasswordReset + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__PasswordResetClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one PasswordReset. + * @param {PasswordResetUpdateArgs} args - Arguments to update one PasswordReset. + * @example + * // Update one PasswordReset + * const passwordReset = await prisma.passwordReset.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__PasswordResetClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more PasswordResets. + * @param {PasswordResetDeleteManyArgs} args - Arguments to filter PasswordResets to delete. + * @example + * // Delete a few PasswordResets + * const { count } = await prisma.passwordReset.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more PasswordResets. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PasswordResetUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many PasswordResets + * const passwordReset = await prisma.passwordReset.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more PasswordResets and returns the data updated in the database. + * @param {PasswordResetUpdateManyAndReturnArgs} args - Arguments to update many PasswordResets. + * @example + * // Update many PasswordResets + * const passwordReset = await prisma.passwordReset.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more PasswordResets and only return the `id` + * const passwordResetWithIdOnly = await prisma.passwordReset.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one PasswordReset. + * @param {PasswordResetUpsertArgs} args - Arguments to update or create a PasswordReset. + * @example + * // Update or create a PasswordReset + * const passwordReset = await prisma.passwordReset.upsert({ + * create: { + * // ... data to create a PasswordReset + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the PasswordReset we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__PasswordResetClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of PasswordResets. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PasswordResetCountArgs} args - Arguments to filter PasswordResets to count. + * @example + * // Count the number of PasswordResets + * const count = await prisma.passwordReset.count({ + * where: { + * // ... the filter for the PasswordResets we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a PasswordReset. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PasswordResetAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by PasswordReset. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PasswordResetGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends PasswordResetGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: PasswordResetGroupByArgs['orderBy'] } + : { orderBy?: PasswordResetGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPasswordResetGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the PasswordReset model + */ + readonly fields: PasswordResetFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for PasswordReset. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__PasswordResetClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + commissioner = {}>(args?: Subset>): Prisma__CommissionerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the PasswordReset model + */ + interface PasswordResetFieldRefs { + readonly id: FieldRef<"PasswordReset", 'String'> + readonly commissioner_id: FieldRef<"PasswordReset", 'String'> + readonly token: FieldRef<"PasswordReset", 'String'> + readonly expires_at: FieldRef<"PasswordReset", 'DateTime'> + readonly used: FieldRef<"PasswordReset", 'Boolean'> + readonly created_at: FieldRef<"PasswordReset", 'DateTime'> + readonly used_at: FieldRef<"PasswordReset", 'DateTime'> + } + + + // Custom InputTypes + /** + * PasswordReset findUnique + */ + export type PasswordResetFindUniqueArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + /** + * Filter, which PasswordReset to fetch. + */ + where: PasswordResetWhereUniqueInput + } + + /** + * PasswordReset findUniqueOrThrow + */ + export type PasswordResetFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + /** + * Filter, which PasswordReset to fetch. + */ + where: PasswordResetWhereUniqueInput + } + + /** + * PasswordReset findFirst + */ + export type PasswordResetFindFirstArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + /** + * Filter, which PasswordReset to fetch. + */ + where?: PasswordResetWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PasswordResets to fetch. + */ + orderBy?: PasswordResetOrderByWithRelationInput | PasswordResetOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for PasswordResets. + */ + cursor?: PasswordResetWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` PasswordResets from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` PasswordResets. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of PasswordResets. + */ + distinct?: PasswordResetScalarFieldEnum | PasswordResetScalarFieldEnum[] + } + + /** + * PasswordReset findFirstOrThrow + */ + export type PasswordResetFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + /** + * Filter, which PasswordReset to fetch. + */ + where?: PasswordResetWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PasswordResets to fetch. + */ + orderBy?: PasswordResetOrderByWithRelationInput | PasswordResetOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for PasswordResets. + */ + cursor?: PasswordResetWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` PasswordResets from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` PasswordResets. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of PasswordResets. + */ + distinct?: PasswordResetScalarFieldEnum | PasswordResetScalarFieldEnum[] + } + + /** + * PasswordReset findMany + */ + export type PasswordResetFindManyArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + /** + * Filter, which PasswordResets to fetch. + */ + where?: PasswordResetWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PasswordResets to fetch. + */ + orderBy?: PasswordResetOrderByWithRelationInput | PasswordResetOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing PasswordResets. + */ + cursor?: PasswordResetWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` PasswordResets from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` PasswordResets. + */ + skip?: number + distinct?: PasswordResetScalarFieldEnum | PasswordResetScalarFieldEnum[] + } + + /** + * PasswordReset create + */ + export type PasswordResetCreateArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + /** + * The data needed to create a PasswordReset. + */ + data: XOR + } + + /** + * PasswordReset createMany + */ + export type PasswordResetCreateManyArgs = { + /** + * The data used to create many PasswordResets. + */ + data: PasswordResetCreateManyInput | PasswordResetCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * PasswordReset createManyAndReturn + */ + export type PasswordResetCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelectCreateManyAndReturn | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * The data used to create many PasswordResets. + */ + data: PasswordResetCreateManyInput | PasswordResetCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetIncludeCreateManyAndReturn | null + } + + /** + * PasswordReset update + */ + export type PasswordResetUpdateArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + /** + * The data needed to update a PasswordReset. + */ + data: XOR + /** + * Choose, which PasswordReset to update. + */ + where: PasswordResetWhereUniqueInput + } + + /** + * PasswordReset updateMany + */ + export type PasswordResetUpdateManyArgs = { + /** + * The data used to update PasswordResets. + */ + data: XOR + /** + * Filter which PasswordResets to update + */ + where?: PasswordResetWhereInput + /** + * Limit how many PasswordResets to update. + */ + limit?: number + } + + /** + * PasswordReset updateManyAndReturn + */ + export type PasswordResetUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * The data used to update PasswordResets. + */ + data: XOR + /** + * Filter which PasswordResets to update + */ + where?: PasswordResetWhereInput + /** + * Limit how many PasswordResets to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetIncludeUpdateManyAndReturn | null + } + + /** + * PasswordReset upsert + */ + export type PasswordResetUpsertArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + /** + * The filter to search for the PasswordReset to update in case it exists. + */ + where: PasswordResetWhereUniqueInput + /** + * In case the PasswordReset found by the `where` argument doesn't exist, create a new PasswordReset with this data. + */ + create: XOR + /** + * In case the PasswordReset was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * PasswordReset delete + */ + export type PasswordResetDeleteArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + /** + * Filter which PasswordReset to delete. + */ + where: PasswordResetWhereUniqueInput + } + + /** + * PasswordReset deleteMany + */ + export type PasswordResetDeleteManyArgs = { + /** + * Filter which PasswordResets to delete + */ + where?: PasswordResetWhereInput + /** + * Limit how many PasswordResets to delete. + */ + limit?: number + } + + /** + * PasswordReset without action + */ + export type PasswordResetDefaultArgs = { + /** + * Select specific fields to fetch from the PasswordReset + */ + select?: PasswordResetSelect | null + /** + * Omit specific fields from the PasswordReset + */ + omit?: PasswordResetOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PasswordResetInclude | null + } + + + /** + * Model Farmer + */ + + export type AggregateFarmer = { + _count: FarmerCountAggregateOutputType | null + _min: FarmerMinAggregateOutputType | null + _max: FarmerMaxAggregateOutputType | null + } + + export type FarmerMinAggregateOutputType = { + id: string | null + name: string | null + phone: string | null + village: string | null + commissioner_id: string | null + is_active: boolean | null + created_at: Date | null + updated_at: Date | null + } + + export type FarmerMaxAggregateOutputType = { + id: string | null + name: string | null + phone: string | null + village: string | null + commissioner_id: string | null + is_active: boolean | null + created_at: Date | null + updated_at: Date | null + } + + export type FarmerCountAggregateOutputType = { + id: number + name: number + phone: number + village: number + commissioner_id: number + is_active: number + created_at: number + updated_at: number + _all: number + } + + + export type FarmerMinAggregateInputType = { + id?: true + name?: true + phone?: true + village?: true + commissioner_id?: true + is_active?: true + created_at?: true + updated_at?: true + } + + export type FarmerMaxAggregateInputType = { + id?: true + name?: true + phone?: true + village?: true + commissioner_id?: true + is_active?: true + created_at?: true + updated_at?: true + } + + export type FarmerCountAggregateInputType = { + id?: true + name?: true + phone?: true + village?: true + commissioner_id?: true + is_active?: true + created_at?: true + updated_at?: true + _all?: true + } + + export type FarmerAggregateArgs = { + /** + * Filter which Farmer to aggregate. + */ + where?: FarmerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Farmers to fetch. + */ + orderBy?: FarmerOrderByWithRelationInput | FarmerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: FarmerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Farmers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Farmers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Farmers + **/ + _count?: true | FarmerCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: FarmerMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: FarmerMaxAggregateInputType + } + + export type GetFarmerAggregateType = { + [P in keyof T & keyof AggregateFarmer]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type FarmerGroupByArgs = { + where?: FarmerWhereInput + orderBy?: FarmerOrderByWithAggregationInput | FarmerOrderByWithAggregationInput[] + by: FarmerScalarFieldEnum[] | FarmerScalarFieldEnum + having?: FarmerScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: FarmerCountAggregateInputType | true + _min?: FarmerMinAggregateInputType + _max?: FarmerMaxAggregateInputType + } + + export type FarmerGroupByOutputType = { + id: string + name: string + phone: string + village: string + commissioner_id: string + is_active: boolean + created_at: Date + updated_at: Date + _count: FarmerCountAggregateOutputType | null + _min: FarmerMinAggregateOutputType | null + _max: FarmerMaxAggregateOutputType | null + } + + type GetFarmerGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof FarmerGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type FarmerSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + phone?: boolean + village?: boolean + commissioner_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + auction_items?: boolean | Farmer$auction_itemsArgs + bills?: boolean | Farmer$billsArgs + commissioner?: boolean | CommissionerDefaultArgs + _count?: boolean | FarmerCountOutputTypeDefaultArgs + }, ExtArgs["result"]["farmer"]> + + export type FarmerSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + phone?: boolean + village?: boolean + commissioner_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + }, ExtArgs["result"]["farmer"]> + + export type FarmerSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + phone?: boolean + village?: boolean + commissioner_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + }, ExtArgs["result"]["farmer"]> + + export type FarmerSelectScalar = { + id?: boolean + name?: boolean + phone?: boolean + village?: boolean + commissioner_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + } + + export type FarmerOmit = $Extensions.GetOmit<"id" | "name" | "phone" | "village" | "commissioner_id" | "is_active" | "created_at" | "updated_at", ExtArgs["result"]["farmer"]> + export type FarmerInclude = { + auction_items?: boolean | Farmer$auction_itemsArgs + bills?: boolean | Farmer$billsArgs + commissioner?: boolean | CommissionerDefaultArgs + _count?: boolean | FarmerCountOutputTypeDefaultArgs + } + export type FarmerIncludeCreateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + } + export type FarmerIncludeUpdateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + } + + export type $FarmerPayload = { + name: "Farmer" + objects: { + auction_items: Prisma.$AuctionItemPayload[] + bills: Prisma.$BillPayload[] + commissioner: Prisma.$CommissionerPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + phone: string + village: string + commissioner_id: string + is_active: boolean + created_at: Date + updated_at: Date + }, ExtArgs["result"]["farmer"]> + composites: {} + } + + type FarmerGetPayload = $Result.GetResult + + type FarmerCountArgs = + Omit & { + select?: FarmerCountAggregateInputType | true + } + + export interface FarmerDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Farmer'], meta: { name: 'Farmer' } } + /** + * Find zero or one Farmer that matches the filter. + * @param {FarmerFindUniqueArgs} args - Arguments to find a Farmer + * @example + * // Get one Farmer + * const farmer = await prisma.farmer.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__FarmerClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Farmer that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {FarmerFindUniqueOrThrowArgs} args - Arguments to find a Farmer + * @example + * // Get one Farmer + * const farmer = await prisma.farmer.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__FarmerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Farmer that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FarmerFindFirstArgs} args - Arguments to find a Farmer + * @example + * // Get one Farmer + * const farmer = await prisma.farmer.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__FarmerClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Farmer that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FarmerFindFirstOrThrowArgs} args - Arguments to find a Farmer + * @example + * // Get one Farmer + * const farmer = await prisma.farmer.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__FarmerClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Farmers that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FarmerFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Farmers + * const farmers = await prisma.farmer.findMany() + * + * // Get first 10 Farmers + * const farmers = await prisma.farmer.findMany({ take: 10 }) + * + * // Only select the `id` + * const farmerWithIdOnly = await prisma.farmer.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Farmer. + * @param {FarmerCreateArgs} args - Arguments to create a Farmer. + * @example + * // Create one Farmer + * const Farmer = await prisma.farmer.create({ + * data: { + * // ... data to create a Farmer + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__FarmerClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Farmers. + * @param {FarmerCreateManyArgs} args - Arguments to create many Farmers. + * @example + * // Create many Farmers + * const farmer = await prisma.farmer.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Farmers and returns the data saved in the database. + * @param {FarmerCreateManyAndReturnArgs} args - Arguments to create many Farmers. + * @example + * // Create many Farmers + * const farmer = await prisma.farmer.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Farmers and only return the `id` + * const farmerWithIdOnly = await prisma.farmer.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Farmer. + * @param {FarmerDeleteArgs} args - Arguments to delete one Farmer. + * @example + * // Delete one Farmer + * const Farmer = await prisma.farmer.delete({ + * where: { + * // ... filter to delete one Farmer + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__FarmerClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Farmer. + * @param {FarmerUpdateArgs} args - Arguments to update one Farmer. + * @example + * // Update one Farmer + * const farmer = await prisma.farmer.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__FarmerClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Farmers. + * @param {FarmerDeleteManyArgs} args - Arguments to filter Farmers to delete. + * @example + * // Delete a few Farmers + * const { count } = await prisma.farmer.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Farmers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FarmerUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Farmers + * const farmer = await prisma.farmer.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Farmers and returns the data updated in the database. + * @param {FarmerUpdateManyAndReturnArgs} args - Arguments to update many Farmers. + * @example + * // Update many Farmers + * const farmer = await prisma.farmer.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Farmers and only return the `id` + * const farmerWithIdOnly = await prisma.farmer.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Farmer. + * @param {FarmerUpsertArgs} args - Arguments to update or create a Farmer. + * @example + * // Update or create a Farmer + * const farmer = await prisma.farmer.upsert({ + * create: { + * // ... data to create a Farmer + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Farmer we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__FarmerClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Farmers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FarmerCountArgs} args - Arguments to filter Farmers to count. + * @example + * // Count the number of Farmers + * const count = await prisma.farmer.count({ + * where: { + * // ... the filter for the Farmers we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Farmer. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FarmerAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Farmer. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FarmerGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends FarmerGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: FarmerGroupByArgs['orderBy'] } + : { orderBy?: FarmerGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetFarmerGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Farmer model + */ + readonly fields: FarmerFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Farmer. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__FarmerClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + auction_items = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + bills = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + commissioner = {}>(args?: Subset>): Prisma__CommissionerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Farmer model + */ + interface FarmerFieldRefs { + readonly id: FieldRef<"Farmer", 'String'> + readonly name: FieldRef<"Farmer", 'String'> + readonly phone: FieldRef<"Farmer", 'String'> + readonly village: FieldRef<"Farmer", 'String'> + readonly commissioner_id: FieldRef<"Farmer", 'String'> + readonly is_active: FieldRef<"Farmer", 'Boolean'> + readonly created_at: FieldRef<"Farmer", 'DateTime'> + readonly updated_at: FieldRef<"Farmer", 'DateTime'> + } + + + // Custom InputTypes + /** + * Farmer findUnique + */ + export type FarmerFindUniqueArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + /** + * Filter, which Farmer to fetch. + */ + where: FarmerWhereUniqueInput + } + + /** + * Farmer findUniqueOrThrow + */ + export type FarmerFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + /** + * Filter, which Farmer to fetch. + */ + where: FarmerWhereUniqueInput + } + + /** + * Farmer findFirst + */ + export type FarmerFindFirstArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + /** + * Filter, which Farmer to fetch. + */ + where?: FarmerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Farmers to fetch. + */ + orderBy?: FarmerOrderByWithRelationInput | FarmerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Farmers. + */ + cursor?: FarmerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Farmers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Farmers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Farmers. + */ + distinct?: FarmerScalarFieldEnum | FarmerScalarFieldEnum[] + } + + /** + * Farmer findFirstOrThrow + */ + export type FarmerFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + /** + * Filter, which Farmer to fetch. + */ + where?: FarmerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Farmers to fetch. + */ + orderBy?: FarmerOrderByWithRelationInput | FarmerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Farmers. + */ + cursor?: FarmerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Farmers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Farmers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Farmers. + */ + distinct?: FarmerScalarFieldEnum | FarmerScalarFieldEnum[] + } + + /** + * Farmer findMany + */ + export type FarmerFindManyArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + /** + * Filter, which Farmers to fetch. + */ + where?: FarmerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Farmers to fetch. + */ + orderBy?: FarmerOrderByWithRelationInput | FarmerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Farmers. + */ + cursor?: FarmerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Farmers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Farmers. + */ + skip?: number + distinct?: FarmerScalarFieldEnum | FarmerScalarFieldEnum[] + } + + /** + * Farmer create + */ + export type FarmerCreateArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + /** + * The data needed to create a Farmer. + */ + data: XOR + } + + /** + * Farmer createMany + */ + export type FarmerCreateManyArgs = { + /** + * The data used to create many Farmers. + */ + data: FarmerCreateManyInput | FarmerCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Farmer createManyAndReturn + */ + export type FarmerCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * The data used to create many Farmers. + */ + data: FarmerCreateManyInput | FarmerCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerIncludeCreateManyAndReturn | null + } + + /** + * Farmer update + */ + export type FarmerUpdateArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + /** + * The data needed to update a Farmer. + */ + data: XOR + /** + * Choose, which Farmer to update. + */ + where: FarmerWhereUniqueInput + } + + /** + * Farmer updateMany + */ + export type FarmerUpdateManyArgs = { + /** + * The data used to update Farmers. + */ + data: XOR + /** + * Filter which Farmers to update + */ + where?: FarmerWhereInput + /** + * Limit how many Farmers to update. + */ + limit?: number + } + + /** + * Farmer updateManyAndReturn + */ + export type FarmerUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * The data used to update Farmers. + */ + data: XOR + /** + * Filter which Farmers to update + */ + where?: FarmerWhereInput + /** + * Limit how many Farmers to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerIncludeUpdateManyAndReturn | null + } + + /** + * Farmer upsert + */ + export type FarmerUpsertArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + /** + * The filter to search for the Farmer to update in case it exists. + */ + where: FarmerWhereUniqueInput + /** + * In case the Farmer found by the `where` argument doesn't exist, create a new Farmer with this data. + */ + create: XOR + /** + * In case the Farmer was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Farmer delete + */ + export type FarmerDeleteArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + /** + * Filter which Farmer to delete. + */ + where: FarmerWhereUniqueInput + } + + /** + * Farmer deleteMany + */ + export type FarmerDeleteManyArgs = { + /** + * Filter which Farmers to delete + */ + where?: FarmerWhereInput + /** + * Limit how many Farmers to delete. + */ + limit?: number + } + + /** + * Farmer.auction_items + */ + export type Farmer$auction_itemsArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + where?: AuctionItemWhereInput + orderBy?: AuctionItemOrderByWithRelationInput | AuctionItemOrderByWithRelationInput[] + cursor?: AuctionItemWhereUniqueInput + take?: number + skip?: number + distinct?: AuctionItemScalarFieldEnum | AuctionItemScalarFieldEnum[] + } + + /** + * Farmer.bills + */ + export type Farmer$billsArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + where?: BillWhereInput + orderBy?: BillOrderByWithRelationInput | BillOrderByWithRelationInput[] + cursor?: BillWhereUniqueInput + take?: number + skip?: number + distinct?: BillScalarFieldEnum | BillScalarFieldEnum[] + } + + /** + * Farmer without action + */ + export type FarmerDefaultArgs = { + /** + * Select specific fields to fetch from the Farmer + */ + select?: FarmerSelect | null + /** + * Omit specific fields from the Farmer + */ + omit?: FarmerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: FarmerInclude | null + } + + + /** + * Model Buyer + */ + + export type AggregateBuyer = { + _count: BuyerCountAggregateOutputType | null + _min: BuyerMinAggregateOutputType | null + _max: BuyerMaxAggregateOutputType | null + } + + export type BuyerMinAggregateOutputType = { + id: string | null + name: string | null + phone: string | null + commissioner_id: string | null + is_active: boolean | null + created_at: Date | null + updated_at: Date | null + } + + export type BuyerMaxAggregateOutputType = { + id: string | null + name: string | null + phone: string | null + commissioner_id: string | null + is_active: boolean | null + created_at: Date | null + updated_at: Date | null + } + + export type BuyerCountAggregateOutputType = { + id: number + name: number + phone: number + commissioner_id: number + is_active: number + created_at: number + updated_at: number + _all: number + } + + + export type BuyerMinAggregateInputType = { + id?: true + name?: true + phone?: true + commissioner_id?: true + is_active?: true + created_at?: true + updated_at?: true + } + + export type BuyerMaxAggregateInputType = { + id?: true + name?: true + phone?: true + commissioner_id?: true + is_active?: true + created_at?: true + updated_at?: true + } + + export type BuyerCountAggregateInputType = { + id?: true + name?: true + phone?: true + commissioner_id?: true + is_active?: true + created_at?: true + updated_at?: true + _all?: true + } + + export type BuyerAggregateArgs = { + /** + * Filter which Buyer to aggregate. + */ + where?: BuyerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Buyers to fetch. + */ + orderBy?: BuyerOrderByWithRelationInput | BuyerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: BuyerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Buyers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Buyers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Buyers + **/ + _count?: true | BuyerCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: BuyerMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: BuyerMaxAggregateInputType + } + + export type GetBuyerAggregateType = { + [P in keyof T & keyof AggregateBuyer]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type BuyerGroupByArgs = { + where?: BuyerWhereInput + orderBy?: BuyerOrderByWithAggregationInput | BuyerOrderByWithAggregationInput[] + by: BuyerScalarFieldEnum[] | BuyerScalarFieldEnum + having?: BuyerScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: BuyerCountAggregateInputType | true + _min?: BuyerMinAggregateInputType + _max?: BuyerMaxAggregateInputType + } + + export type BuyerGroupByOutputType = { + id: string + name: string + phone: string + commissioner_id: string + is_active: boolean + created_at: Date + updated_at: Date + _count: BuyerCountAggregateOutputType | null + _min: BuyerMinAggregateOutputType | null + _max: BuyerMaxAggregateOutputType | null + } + + type GetBuyerGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof BuyerGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type BuyerSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + phone?: boolean + commissioner_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + auction_items?: boolean | Buyer$auction_itemsArgs + commissioner?: boolean | CommissionerDefaultArgs + _count?: boolean | BuyerCountOutputTypeDefaultArgs + }, ExtArgs["result"]["buyer"]> + + export type BuyerSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + phone?: boolean + commissioner_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + }, ExtArgs["result"]["buyer"]> + + export type BuyerSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + phone?: boolean + commissioner_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + }, ExtArgs["result"]["buyer"]> + + export type BuyerSelectScalar = { + id?: boolean + name?: boolean + phone?: boolean + commissioner_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + } + + export type BuyerOmit = $Extensions.GetOmit<"id" | "name" | "phone" | "commissioner_id" | "is_active" | "created_at" | "updated_at", ExtArgs["result"]["buyer"]> + export type BuyerInclude = { + auction_items?: boolean | Buyer$auction_itemsArgs + commissioner?: boolean | CommissionerDefaultArgs + _count?: boolean | BuyerCountOutputTypeDefaultArgs + } + export type BuyerIncludeCreateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + } + export type BuyerIncludeUpdateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + } + + export type $BuyerPayload = { + name: "Buyer" + objects: { + auction_items: Prisma.$AuctionItemPayload[] + commissioner: Prisma.$CommissionerPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + phone: string + commissioner_id: string + is_active: boolean + created_at: Date + updated_at: Date + }, ExtArgs["result"]["buyer"]> + composites: {} + } + + type BuyerGetPayload = $Result.GetResult + + type BuyerCountArgs = + Omit & { + select?: BuyerCountAggregateInputType | true + } + + export interface BuyerDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Buyer'], meta: { name: 'Buyer' } } + /** + * Find zero or one Buyer that matches the filter. + * @param {BuyerFindUniqueArgs} args - Arguments to find a Buyer + * @example + * // Get one Buyer + * const buyer = await prisma.buyer.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__BuyerClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Buyer that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {BuyerFindUniqueOrThrowArgs} args - Arguments to find a Buyer + * @example + * // Get one Buyer + * const buyer = await prisma.buyer.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__BuyerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Buyer that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BuyerFindFirstArgs} args - Arguments to find a Buyer + * @example + * // Get one Buyer + * const buyer = await prisma.buyer.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__BuyerClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Buyer that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BuyerFindFirstOrThrowArgs} args - Arguments to find a Buyer + * @example + * // Get one Buyer + * const buyer = await prisma.buyer.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__BuyerClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Buyers that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BuyerFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Buyers + * const buyers = await prisma.buyer.findMany() + * + * // Get first 10 Buyers + * const buyers = await prisma.buyer.findMany({ take: 10 }) + * + * // Only select the `id` + * const buyerWithIdOnly = await prisma.buyer.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Buyer. + * @param {BuyerCreateArgs} args - Arguments to create a Buyer. + * @example + * // Create one Buyer + * const Buyer = await prisma.buyer.create({ + * data: { + * // ... data to create a Buyer + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__BuyerClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Buyers. + * @param {BuyerCreateManyArgs} args - Arguments to create many Buyers. + * @example + * // Create many Buyers + * const buyer = await prisma.buyer.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Buyers and returns the data saved in the database. + * @param {BuyerCreateManyAndReturnArgs} args - Arguments to create many Buyers. + * @example + * // Create many Buyers + * const buyer = await prisma.buyer.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Buyers and only return the `id` + * const buyerWithIdOnly = await prisma.buyer.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Buyer. + * @param {BuyerDeleteArgs} args - Arguments to delete one Buyer. + * @example + * // Delete one Buyer + * const Buyer = await prisma.buyer.delete({ + * where: { + * // ... filter to delete one Buyer + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__BuyerClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Buyer. + * @param {BuyerUpdateArgs} args - Arguments to update one Buyer. + * @example + * // Update one Buyer + * const buyer = await prisma.buyer.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__BuyerClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Buyers. + * @param {BuyerDeleteManyArgs} args - Arguments to filter Buyers to delete. + * @example + * // Delete a few Buyers + * const { count } = await prisma.buyer.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Buyers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BuyerUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Buyers + * const buyer = await prisma.buyer.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Buyers and returns the data updated in the database. + * @param {BuyerUpdateManyAndReturnArgs} args - Arguments to update many Buyers. + * @example + * // Update many Buyers + * const buyer = await prisma.buyer.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Buyers and only return the `id` + * const buyerWithIdOnly = await prisma.buyer.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Buyer. + * @param {BuyerUpsertArgs} args - Arguments to update or create a Buyer. + * @example + * // Update or create a Buyer + * const buyer = await prisma.buyer.upsert({ + * create: { + * // ... data to create a Buyer + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Buyer we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__BuyerClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Buyers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BuyerCountArgs} args - Arguments to filter Buyers to count. + * @example + * // Count the number of Buyers + * const count = await prisma.buyer.count({ + * where: { + * // ... the filter for the Buyers we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Buyer. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BuyerAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Buyer. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BuyerGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends BuyerGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: BuyerGroupByArgs['orderBy'] } + : { orderBy?: BuyerGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetBuyerGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Buyer model + */ + readonly fields: BuyerFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Buyer. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__BuyerClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + auction_items = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + commissioner = {}>(args?: Subset>): Prisma__CommissionerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Buyer model + */ + interface BuyerFieldRefs { + readonly id: FieldRef<"Buyer", 'String'> + readonly name: FieldRef<"Buyer", 'String'> + readonly phone: FieldRef<"Buyer", 'String'> + readonly commissioner_id: FieldRef<"Buyer", 'String'> + readonly is_active: FieldRef<"Buyer", 'Boolean'> + readonly created_at: FieldRef<"Buyer", 'DateTime'> + readonly updated_at: FieldRef<"Buyer", 'DateTime'> + } + + + // Custom InputTypes + /** + * Buyer findUnique + */ + export type BuyerFindUniqueArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + /** + * Filter, which Buyer to fetch. + */ + where: BuyerWhereUniqueInput + } + + /** + * Buyer findUniqueOrThrow + */ + export type BuyerFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + /** + * Filter, which Buyer to fetch. + */ + where: BuyerWhereUniqueInput + } + + /** + * Buyer findFirst + */ + export type BuyerFindFirstArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + /** + * Filter, which Buyer to fetch. + */ + where?: BuyerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Buyers to fetch. + */ + orderBy?: BuyerOrderByWithRelationInput | BuyerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Buyers. + */ + cursor?: BuyerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Buyers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Buyers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Buyers. + */ + distinct?: BuyerScalarFieldEnum | BuyerScalarFieldEnum[] + } + + /** + * Buyer findFirstOrThrow + */ + export type BuyerFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + /** + * Filter, which Buyer to fetch. + */ + where?: BuyerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Buyers to fetch. + */ + orderBy?: BuyerOrderByWithRelationInput | BuyerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Buyers. + */ + cursor?: BuyerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Buyers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Buyers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Buyers. + */ + distinct?: BuyerScalarFieldEnum | BuyerScalarFieldEnum[] + } + + /** + * Buyer findMany + */ + export type BuyerFindManyArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + /** + * Filter, which Buyers to fetch. + */ + where?: BuyerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Buyers to fetch. + */ + orderBy?: BuyerOrderByWithRelationInput | BuyerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Buyers. + */ + cursor?: BuyerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Buyers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Buyers. + */ + skip?: number + distinct?: BuyerScalarFieldEnum | BuyerScalarFieldEnum[] + } + + /** + * Buyer create + */ + export type BuyerCreateArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + /** + * The data needed to create a Buyer. + */ + data: XOR + } + + /** + * Buyer createMany + */ + export type BuyerCreateManyArgs = { + /** + * The data used to create many Buyers. + */ + data: BuyerCreateManyInput | BuyerCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Buyer createManyAndReturn + */ + export type BuyerCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * The data used to create many Buyers. + */ + data: BuyerCreateManyInput | BuyerCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerIncludeCreateManyAndReturn | null + } + + /** + * Buyer update + */ + export type BuyerUpdateArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + /** + * The data needed to update a Buyer. + */ + data: XOR + /** + * Choose, which Buyer to update. + */ + where: BuyerWhereUniqueInput + } + + /** + * Buyer updateMany + */ + export type BuyerUpdateManyArgs = { + /** + * The data used to update Buyers. + */ + data: XOR + /** + * Filter which Buyers to update + */ + where?: BuyerWhereInput + /** + * Limit how many Buyers to update. + */ + limit?: number + } + + /** + * Buyer updateManyAndReturn + */ + export type BuyerUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * The data used to update Buyers. + */ + data: XOR + /** + * Filter which Buyers to update + */ + where?: BuyerWhereInput + /** + * Limit how many Buyers to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerIncludeUpdateManyAndReturn | null + } + + /** + * Buyer upsert + */ + export type BuyerUpsertArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + /** + * The filter to search for the Buyer to update in case it exists. + */ + where: BuyerWhereUniqueInput + /** + * In case the Buyer found by the `where` argument doesn't exist, create a new Buyer with this data. + */ + create: XOR + /** + * In case the Buyer was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Buyer delete + */ + export type BuyerDeleteArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + /** + * Filter which Buyer to delete. + */ + where: BuyerWhereUniqueInput + } + + /** + * Buyer deleteMany + */ + export type BuyerDeleteManyArgs = { + /** + * Filter which Buyers to delete + */ + where?: BuyerWhereInput + /** + * Limit how many Buyers to delete. + */ + limit?: number + } + + /** + * Buyer.auction_items + */ + export type Buyer$auction_itemsArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + where?: AuctionItemWhereInput + orderBy?: AuctionItemOrderByWithRelationInput | AuctionItemOrderByWithRelationInput[] + cursor?: AuctionItemWhereUniqueInput + take?: number + skip?: number + distinct?: AuctionItemScalarFieldEnum | AuctionItemScalarFieldEnum[] + } + + /** + * Buyer without action + */ + export type BuyerDefaultArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + } + + + /** + * Model Category + */ + + export type AggregateCategory = { + _count: CategoryCountAggregateOutputType | null + _min: CategoryMinAggregateOutputType | null + _max: CategoryMaxAggregateOutputType | null + } + + export type CategoryMinAggregateOutputType = { + id: string | null + name: string | null + created_at: Date | null + updated_at: Date | null + } + + export type CategoryMaxAggregateOutputType = { + id: string | null + name: string | null + created_at: Date | null + updated_at: Date | null + } + + export type CategoryCountAggregateOutputType = { + id: number + name: number + created_at: number + updated_at: number + _all: number + } + + + export type CategoryMinAggregateInputType = { + id?: true + name?: true + created_at?: true + updated_at?: true + } + + export type CategoryMaxAggregateInputType = { + id?: true + name?: true + created_at?: true + updated_at?: true + } + + export type CategoryCountAggregateInputType = { + id?: true + name?: true + created_at?: true + updated_at?: true + _all?: true + } + + export type CategoryAggregateArgs = { + /** + * Filter which Category to aggregate. + */ + where?: CategoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Categories to fetch. + */ + orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: CategoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Categories from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Categories. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Categories + **/ + _count?: true | CategoryCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: CategoryMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: CategoryMaxAggregateInputType + } + + export type GetCategoryAggregateType = { + [P in keyof T & keyof AggregateCategory]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type CategoryGroupByArgs = { + where?: CategoryWhereInput + orderBy?: CategoryOrderByWithAggregationInput | CategoryOrderByWithAggregationInput[] + by: CategoryScalarFieldEnum[] | CategoryScalarFieldEnum + having?: CategoryScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: CategoryCountAggregateInputType | true + _min?: CategoryMinAggregateInputType + _max?: CategoryMaxAggregateInputType + } + + export type CategoryGroupByOutputType = { + id: string + name: string + created_at: Date + updated_at: Date + _count: CategoryCountAggregateOutputType | null + _min: CategoryMinAggregateOutputType | null + _max: CategoryMaxAggregateOutputType | null + } + + type GetCategoryGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof CategoryGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type CategorySelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + created_at?: boolean + updated_at?: boolean + products?: boolean | Category$productsArgs + _count?: boolean | CategoryCountOutputTypeDefaultArgs + }, ExtArgs["result"]["category"]> + + export type CategorySelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + created_at?: boolean + updated_at?: boolean + }, ExtArgs["result"]["category"]> + + export type CategorySelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + created_at?: boolean + updated_at?: boolean + }, ExtArgs["result"]["category"]> + + export type CategorySelectScalar = { + id?: boolean + name?: boolean + created_at?: boolean + updated_at?: boolean + } + + export type CategoryOmit = $Extensions.GetOmit<"id" | "name" | "created_at" | "updated_at", ExtArgs["result"]["category"]> + export type CategoryInclude = { + products?: boolean | Category$productsArgs + _count?: boolean | CategoryCountOutputTypeDefaultArgs + } + export type CategoryIncludeCreateManyAndReturn = {} + export type CategoryIncludeUpdateManyAndReturn = {} + + export type $CategoryPayload = { + name: "Category" + objects: { + products: Prisma.$ProductPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + created_at: Date + updated_at: Date + }, ExtArgs["result"]["category"]> + composites: {} + } + + type CategoryGetPayload = $Result.GetResult + + type CategoryCountArgs = + Omit & { + select?: CategoryCountAggregateInputType | true + } + + export interface CategoryDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Category'], meta: { name: 'Category' } } + /** + * Find zero or one Category that matches the filter. + * @param {CategoryFindUniqueArgs} args - Arguments to find a Category + * @example + * // Get one Category + * const category = await prisma.category.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Category that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {CategoryFindUniqueOrThrowArgs} args - Arguments to find a Category + * @example + * // Get one Category + * const category = await prisma.category.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Category that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CategoryFindFirstArgs} args - Arguments to find a Category + * @example + * // Get one Category + * const category = await prisma.category.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Category that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CategoryFindFirstOrThrowArgs} args - Arguments to find a Category + * @example + * // Get one Category + * const category = await prisma.category.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Categories that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CategoryFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Categories + * const categories = await prisma.category.findMany() + * + * // Get first 10 Categories + * const categories = await prisma.category.findMany({ take: 10 }) + * + * // Only select the `id` + * const categoryWithIdOnly = await prisma.category.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Category. + * @param {CategoryCreateArgs} args - Arguments to create a Category. + * @example + * // Create one Category + * const Category = await prisma.category.create({ + * data: { + * // ... data to create a Category + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Categories. + * @param {CategoryCreateManyArgs} args - Arguments to create many Categories. + * @example + * // Create many Categories + * const category = await prisma.category.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Categories and returns the data saved in the database. + * @param {CategoryCreateManyAndReturnArgs} args - Arguments to create many Categories. + * @example + * // Create many Categories + * const category = await prisma.category.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Categories and only return the `id` + * const categoryWithIdOnly = await prisma.category.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Category. + * @param {CategoryDeleteArgs} args - Arguments to delete one Category. + * @example + * // Delete one Category + * const Category = await prisma.category.delete({ + * where: { + * // ... filter to delete one Category + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Category. + * @param {CategoryUpdateArgs} args - Arguments to update one Category. + * @example + * // Update one Category + * const category = await prisma.category.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Categories. + * @param {CategoryDeleteManyArgs} args - Arguments to filter Categories to delete. + * @example + * // Delete a few Categories + * const { count } = await prisma.category.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Categories. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CategoryUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Categories + * const category = await prisma.category.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Categories and returns the data updated in the database. + * @param {CategoryUpdateManyAndReturnArgs} args - Arguments to update many Categories. + * @example + * // Update many Categories + * const category = await prisma.category.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Categories and only return the `id` + * const categoryWithIdOnly = await prisma.category.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Category. + * @param {CategoryUpsertArgs} args - Arguments to update or create a Category. + * @example + * // Update or create a Category + * const category = await prisma.category.upsert({ + * create: { + * // ... data to create a Category + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Category we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__CategoryClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Categories. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CategoryCountArgs} args - Arguments to filter Categories to count. + * @example + * // Count the number of Categories + * const count = await prisma.category.count({ + * where: { + * // ... the filter for the Categories we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Category. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CategoryAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Category. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CategoryGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends CategoryGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: CategoryGroupByArgs['orderBy'] } + : { orderBy?: CategoryGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCategoryGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Category model + */ + readonly fields: CategoryFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Category. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__CategoryClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + products = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Category model + */ + interface CategoryFieldRefs { + readonly id: FieldRef<"Category", 'String'> + readonly name: FieldRef<"Category", 'String'> + readonly created_at: FieldRef<"Category", 'DateTime'> + readonly updated_at: FieldRef<"Category", 'DateTime'> + } + + + // Custom InputTypes + /** + * Category findUnique + */ + export type CategoryFindUniqueArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + /** + * Filter, which Category to fetch. + */ + where: CategoryWhereUniqueInput + } + + /** + * Category findUniqueOrThrow + */ + export type CategoryFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + /** + * Filter, which Category to fetch. + */ + where: CategoryWhereUniqueInput + } + + /** + * Category findFirst + */ + export type CategoryFindFirstArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + /** + * Filter, which Category to fetch. + */ + where?: CategoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Categories to fetch. + */ + orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Categories. + */ + cursor?: CategoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Categories from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Categories. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Categories. + */ + distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] + } + + /** + * Category findFirstOrThrow + */ + export type CategoryFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + /** + * Filter, which Category to fetch. + */ + where?: CategoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Categories to fetch. + */ + orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Categories. + */ + cursor?: CategoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Categories from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Categories. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Categories. + */ + distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] + } + + /** + * Category findMany + */ + export type CategoryFindManyArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + /** + * Filter, which Categories to fetch. + */ + where?: CategoryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Categories to fetch. + */ + orderBy?: CategoryOrderByWithRelationInput | CategoryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Categories. + */ + cursor?: CategoryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Categories from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Categories. + */ + skip?: number + distinct?: CategoryScalarFieldEnum | CategoryScalarFieldEnum[] + } + + /** + * Category create + */ + export type CategoryCreateArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + /** + * The data needed to create a Category. + */ + data: XOR + } + + /** + * Category createMany + */ + export type CategoryCreateManyArgs = { + /** + * The data used to create many Categories. + */ + data: CategoryCreateManyInput | CategoryCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Category createManyAndReturn + */ + export type CategoryCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelectCreateManyAndReturn | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * The data used to create many Categories. + */ + data: CategoryCreateManyInput | CategoryCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Category update + */ + export type CategoryUpdateArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + /** + * The data needed to update a Category. + */ + data: XOR + /** + * Choose, which Category to update. + */ + where: CategoryWhereUniqueInput + } + + /** + * Category updateMany + */ + export type CategoryUpdateManyArgs = { + /** + * The data used to update Categories. + */ + data: XOR + /** + * Filter which Categories to update + */ + where?: CategoryWhereInput + /** + * Limit how many Categories to update. + */ + limit?: number + } + + /** + * Category updateManyAndReturn + */ + export type CategoryUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * The data used to update Categories. + */ + data: XOR + /** + * Filter which Categories to update + */ + where?: CategoryWhereInput + /** + * Limit how many Categories to update. + */ + limit?: number + } + + /** + * Category upsert + */ + export type CategoryUpsertArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + /** + * The filter to search for the Category to update in case it exists. + */ + where: CategoryWhereUniqueInput + /** + * In case the Category found by the `where` argument doesn't exist, create a new Category with this data. + */ + create: XOR + /** + * In case the Category was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Category delete + */ + export type CategoryDeleteArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + /** + * Filter which Category to delete. + */ + where: CategoryWhereUniqueInput + } + + /** + * Category deleteMany + */ + export type CategoryDeleteManyArgs = { + /** + * Filter which Categories to delete + */ + where?: CategoryWhereInput + /** + * Limit how many Categories to delete. + */ + limit?: number + } + + /** + * Category.products + */ + export type Category$productsArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + where?: ProductWhereInput + orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] + cursor?: ProductWhereUniqueInput + take?: number + skip?: number + distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] + } + + /** + * Category without action + */ + export type CategoryDefaultArgs = { + /** + * Select specific fields to fetch from the Category + */ + select?: CategorySelect | null + /** + * Omit specific fields from the Category + */ + omit?: CategoryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CategoryInclude | null + } + + + /** + * Model Product + */ + + export type AggregateProduct = { + _count: ProductCountAggregateOutputType | null + _min: ProductMinAggregateOutputType | null + _max: ProductMaxAggregateOutputType | null + } + + export type ProductMinAggregateOutputType = { + id: string | null + name: string | null + category_id: string | null + is_active: boolean | null + created_at: Date | null + updated_at: Date | null + } + + export type ProductMaxAggregateOutputType = { + id: string | null + name: string | null + category_id: string | null + is_active: boolean | null + created_at: Date | null + updated_at: Date | null + } + + export type ProductCountAggregateOutputType = { + id: number + name: number + category_id: number + is_active: number + created_at: number + updated_at: number + _all: number + } + + + export type ProductMinAggregateInputType = { + id?: true + name?: true + category_id?: true + is_active?: true + created_at?: true + updated_at?: true + } + + export type ProductMaxAggregateInputType = { + id?: true + name?: true + category_id?: true + is_active?: true + created_at?: true + updated_at?: true + } + + export type ProductCountAggregateInputType = { + id?: true + name?: true + category_id?: true + is_active?: true + created_at?: true + updated_at?: true + _all?: true + } + + export type ProductAggregateArgs = { + /** + * Filter which Product to aggregate. + */ + where?: ProductWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Products to fetch. + */ + orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: ProductWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Products from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Products. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Products + **/ + _count?: true | ProductCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ProductMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ProductMaxAggregateInputType + } + + export type GetProductAggregateType = { + [P in keyof T & keyof AggregateProduct]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type ProductGroupByArgs = { + where?: ProductWhereInput + orderBy?: ProductOrderByWithAggregationInput | ProductOrderByWithAggregationInput[] + by: ProductScalarFieldEnum[] | ProductScalarFieldEnum + having?: ProductScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ProductCountAggregateInputType | true + _min?: ProductMinAggregateInputType + _max?: ProductMaxAggregateInputType + } + + export type ProductGroupByOutputType = { + id: string + name: string + category_id: string + is_active: boolean + created_at: Date + updated_at: Date + _count: ProductCountAggregateOutputType | null + _min: ProductMinAggregateOutputType | null + _max: ProductMaxAggregateOutputType | null + } + + type GetProductGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof ProductGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type ProductSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + category_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + auction_items?: boolean | Product$auction_itemsArgs + bills?: boolean | Product$billsArgs + category?: boolean | CategoryDefaultArgs + _count?: boolean | ProductCountOutputTypeDefaultArgs + }, ExtArgs["result"]["product"]> + + export type ProductSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + category_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + category?: boolean | CategoryDefaultArgs + }, ExtArgs["result"]["product"]> + + export type ProductSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + category_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + category?: boolean | CategoryDefaultArgs + }, ExtArgs["result"]["product"]> + + export type ProductSelectScalar = { + id?: boolean + name?: boolean + category_id?: boolean + is_active?: boolean + created_at?: boolean + updated_at?: boolean + } + + export type ProductOmit = $Extensions.GetOmit<"id" | "name" | "category_id" | "is_active" | "created_at" | "updated_at", ExtArgs["result"]["product"]> + export type ProductInclude = { + auction_items?: boolean | Product$auction_itemsArgs + bills?: boolean | Product$billsArgs + category?: boolean | CategoryDefaultArgs + _count?: boolean | ProductCountOutputTypeDefaultArgs + } + export type ProductIncludeCreateManyAndReturn = { + category?: boolean | CategoryDefaultArgs + } + export type ProductIncludeUpdateManyAndReturn = { + category?: boolean | CategoryDefaultArgs + } + + export type $ProductPayload = { + name: "Product" + objects: { + auction_items: Prisma.$AuctionItemPayload[] + bills: Prisma.$BillPayload[] + category: Prisma.$CategoryPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + category_id: string + is_active: boolean + created_at: Date + updated_at: Date + }, ExtArgs["result"]["product"]> + composites: {} + } + + type ProductGetPayload = $Result.GetResult + + type ProductCountArgs = + Omit & { + select?: ProductCountAggregateInputType | true + } + + export interface ProductDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Product'], meta: { name: 'Product' } } + /** + * Find zero or one Product that matches the filter. + * @param {ProductFindUniqueArgs} args - Arguments to find a Product + * @example + * // Get one Product + * const product = await prisma.product.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Product that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ProductFindUniqueOrThrowArgs} args - Arguments to find a Product + * @example + * // Get one Product + * const product = await prisma.product.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Product that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProductFindFirstArgs} args - Arguments to find a Product + * @example + * // Get one Product + * const product = await prisma.product.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Product that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProductFindFirstOrThrowArgs} args - Arguments to find a Product + * @example + * // Get one Product + * const product = await prisma.product.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Products that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProductFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Products + * const products = await prisma.product.findMany() + * + * // Get first 10 Products + * const products = await prisma.product.findMany({ take: 10 }) + * + * // Only select the `id` + * const productWithIdOnly = await prisma.product.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Product. + * @param {ProductCreateArgs} args - Arguments to create a Product. + * @example + * // Create one Product + * const Product = await prisma.product.create({ + * data: { + * // ... data to create a Product + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Products. + * @param {ProductCreateManyArgs} args - Arguments to create many Products. + * @example + * // Create many Products + * const product = await prisma.product.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Products and returns the data saved in the database. + * @param {ProductCreateManyAndReturnArgs} args - Arguments to create many Products. + * @example + * // Create many Products + * const product = await prisma.product.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Products and only return the `id` + * const productWithIdOnly = await prisma.product.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Product. + * @param {ProductDeleteArgs} args - Arguments to delete one Product. + * @example + * // Delete one Product + * const Product = await prisma.product.delete({ + * where: { + * // ... filter to delete one Product + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Product. + * @param {ProductUpdateArgs} args - Arguments to update one Product. + * @example + * // Update one Product + * const product = await prisma.product.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Products. + * @param {ProductDeleteManyArgs} args - Arguments to filter Products to delete. + * @example + * // Delete a few Products + * const { count } = await prisma.product.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Products. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProductUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Products + * const product = await prisma.product.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Products and returns the data updated in the database. + * @param {ProductUpdateManyAndReturnArgs} args - Arguments to update many Products. + * @example + * // Update many Products + * const product = await prisma.product.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Products and only return the `id` + * const productWithIdOnly = await prisma.product.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Product. + * @param {ProductUpsertArgs} args - Arguments to update or create a Product. + * @example + * // Update or create a Product + * const product = await prisma.product.upsert({ + * create: { + * // ... data to create a Product + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Product we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__ProductClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Products. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProductCountArgs} args - Arguments to filter Products to count. + * @example + * // Count the number of Products + * const count = await prisma.product.count({ + * where: { + * // ... the filter for the Products we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Product. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProductAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Product. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProductGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends ProductGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: ProductGroupByArgs['orderBy'] } + : { orderBy?: ProductGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetProductGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Product model + */ + readonly fields: ProductFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Product. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__ProductClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + auction_items = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + bills = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + category = {}>(args?: Subset>): Prisma__CategoryClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Product model + */ + interface ProductFieldRefs { + readonly id: FieldRef<"Product", 'String'> + readonly name: FieldRef<"Product", 'String'> + readonly category_id: FieldRef<"Product", 'String'> + readonly is_active: FieldRef<"Product", 'Boolean'> + readonly created_at: FieldRef<"Product", 'DateTime'> + readonly updated_at: FieldRef<"Product", 'DateTime'> + } + + + // Custom InputTypes + /** + * Product findUnique + */ + export type ProductFindUniqueArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + /** + * Filter, which Product to fetch. + */ + where: ProductWhereUniqueInput + } + + /** + * Product findUniqueOrThrow + */ + export type ProductFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + /** + * Filter, which Product to fetch. + */ + where: ProductWhereUniqueInput + } + + /** + * Product findFirst + */ + export type ProductFindFirstArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + /** + * Filter, which Product to fetch. + */ + where?: ProductWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Products to fetch. + */ + orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Products. + */ + cursor?: ProductWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Products from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Products. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Products. + */ + distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] + } + + /** + * Product findFirstOrThrow + */ + export type ProductFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + /** + * Filter, which Product to fetch. + */ + where?: ProductWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Products to fetch. + */ + orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Products. + */ + cursor?: ProductWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Products from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Products. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Products. + */ + distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] + } + + /** + * Product findMany + */ + export type ProductFindManyArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + /** + * Filter, which Products to fetch. + */ + where?: ProductWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Products to fetch. + */ + orderBy?: ProductOrderByWithRelationInput | ProductOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Products. + */ + cursor?: ProductWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Products from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Products. + */ + skip?: number + distinct?: ProductScalarFieldEnum | ProductScalarFieldEnum[] + } + + /** + * Product create + */ + export type ProductCreateArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + /** + * The data needed to create a Product. + */ + data: XOR + } + + /** + * Product createMany + */ + export type ProductCreateManyArgs = { + /** + * The data used to create many Products. + */ + data: ProductCreateManyInput | ProductCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Product createManyAndReturn + */ + export type ProductCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * The data used to create many Products. + */ + data: ProductCreateManyInput | ProductCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductIncludeCreateManyAndReturn | null + } + + /** + * Product update + */ + export type ProductUpdateArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + /** + * The data needed to update a Product. + */ + data: XOR + /** + * Choose, which Product to update. + */ + where: ProductWhereUniqueInput + } + + /** + * Product updateMany + */ + export type ProductUpdateManyArgs = { + /** + * The data used to update Products. + */ + data: XOR + /** + * Filter which Products to update + */ + where?: ProductWhereInput + /** + * Limit how many Products to update. + */ + limit?: number + } + + /** + * Product updateManyAndReturn + */ + export type ProductUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * The data used to update Products. + */ + data: XOR + /** + * Filter which Products to update + */ + where?: ProductWhereInput + /** + * Limit how many Products to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductIncludeUpdateManyAndReturn | null + } + + /** + * Product upsert + */ + export type ProductUpsertArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + /** + * The filter to search for the Product to update in case it exists. + */ + where: ProductWhereUniqueInput + /** + * In case the Product found by the `where` argument doesn't exist, create a new Product with this data. + */ + create: XOR + /** + * In case the Product was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Product delete + */ + export type ProductDeleteArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + /** + * Filter which Product to delete. + */ + where: ProductWhereUniqueInput + } + + /** + * Product deleteMany + */ + export type ProductDeleteManyArgs = { + /** + * Filter which Products to delete + */ + where?: ProductWhereInput + /** + * Limit how many Products to delete. + */ + limit?: number + } + + /** + * Product.auction_items + */ + export type Product$auction_itemsArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + where?: AuctionItemWhereInput + orderBy?: AuctionItemOrderByWithRelationInput | AuctionItemOrderByWithRelationInput[] + cursor?: AuctionItemWhereUniqueInput + take?: number + skip?: number + distinct?: AuctionItemScalarFieldEnum | AuctionItemScalarFieldEnum[] + } + + /** + * Product.bills + */ + export type Product$billsArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + where?: BillWhereInput + orderBy?: BillOrderByWithRelationInput | BillOrderByWithRelationInput[] + cursor?: BillWhereUniqueInput + take?: number + skip?: number + distinct?: BillScalarFieldEnum | BillScalarFieldEnum[] + } + + /** + * Product without action + */ + export type ProductDefaultArgs = { + /** + * Select specific fields to fetch from the Product + */ + select?: ProductSelect | null + /** + * Omit specific fields from the Product + */ + omit?: ProductOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ProductInclude | null + } + + + /** + * Model AuctionSession + */ + + export type AggregateAuctionSession = { + _count: AuctionSessionCountAggregateOutputType | null + _min: AuctionSessionMinAggregateOutputType | null + _max: AuctionSessionMaxAggregateOutputType | null + } + + export type AuctionSessionMinAggregateOutputType = { + id: string | null + date: Date | null + commissioner_id: string | null + status: $Enums.SessionStatus | null + payment_status: $Enums.SessionPaymentStatus | null + created_at: Date | null + updated_at: Date | null + } + + export type AuctionSessionMaxAggregateOutputType = { + id: string | null + date: Date | null + commissioner_id: string | null + status: $Enums.SessionStatus | null + payment_status: $Enums.SessionPaymentStatus | null + created_at: Date | null + updated_at: Date | null + } + + export type AuctionSessionCountAggregateOutputType = { + id: number + date: number + commissioner_id: number + status: number + payment_status: number + created_at: number + updated_at: number + _all: number + } + + + export type AuctionSessionMinAggregateInputType = { + id?: true + date?: true + commissioner_id?: true + status?: true + payment_status?: true + created_at?: true + updated_at?: true + } + + export type AuctionSessionMaxAggregateInputType = { + id?: true + date?: true + commissioner_id?: true + status?: true + payment_status?: true + created_at?: true + updated_at?: true + } + + export type AuctionSessionCountAggregateInputType = { + id?: true + date?: true + commissioner_id?: true + status?: true + payment_status?: true + created_at?: true + updated_at?: true + _all?: true + } + + export type AuctionSessionAggregateArgs = { + /** + * Filter which AuctionSession to aggregate. + */ + where?: AuctionSessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AuctionSessions to fetch. + */ + orderBy?: AuctionSessionOrderByWithRelationInput | AuctionSessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: AuctionSessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` AuctionSessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AuctionSessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned AuctionSessions + **/ + _count?: true | AuctionSessionCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: AuctionSessionMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: AuctionSessionMaxAggregateInputType + } + + export type GetAuctionSessionAggregateType = { + [P in keyof T & keyof AggregateAuctionSession]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type AuctionSessionGroupByArgs = { + where?: AuctionSessionWhereInput + orderBy?: AuctionSessionOrderByWithAggregationInput | AuctionSessionOrderByWithAggregationInput[] + by: AuctionSessionScalarFieldEnum[] | AuctionSessionScalarFieldEnum + having?: AuctionSessionScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: AuctionSessionCountAggregateInputType | true + _min?: AuctionSessionMinAggregateInputType + _max?: AuctionSessionMaxAggregateInputType + } + + export type AuctionSessionGroupByOutputType = { + id: string + date: Date + commissioner_id: string + status: $Enums.SessionStatus + payment_status: $Enums.SessionPaymentStatus + created_at: Date + updated_at: Date + _count: AuctionSessionCountAggregateOutputType | null + _min: AuctionSessionMinAggregateOutputType | null + _max: AuctionSessionMaxAggregateOutputType | null + } + + type GetAuctionSessionGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof AuctionSessionGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type AuctionSessionSelect = $Extensions.GetSelect<{ + id?: boolean + date?: boolean + commissioner_id?: boolean + status?: boolean + payment_status?: boolean + created_at?: boolean + updated_at?: boolean + auction_items?: boolean | AuctionSession$auction_itemsArgs + commissioner?: boolean | CommissionerDefaultArgs + _count?: boolean | AuctionSessionCountOutputTypeDefaultArgs + }, ExtArgs["result"]["auctionSession"]> + + export type AuctionSessionSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + date?: boolean + commissioner_id?: boolean + status?: boolean + payment_status?: boolean + created_at?: boolean + updated_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + }, ExtArgs["result"]["auctionSession"]> + + export type AuctionSessionSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + date?: boolean + commissioner_id?: boolean + status?: boolean + payment_status?: boolean + created_at?: boolean + updated_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + }, ExtArgs["result"]["auctionSession"]> + + export type AuctionSessionSelectScalar = { + id?: boolean + date?: boolean + commissioner_id?: boolean + status?: boolean + payment_status?: boolean + created_at?: boolean + updated_at?: boolean + } + + export type AuctionSessionOmit = $Extensions.GetOmit<"id" | "date" | "commissioner_id" | "status" | "payment_status" | "created_at" | "updated_at", ExtArgs["result"]["auctionSession"]> + export type AuctionSessionInclude = { + auction_items?: boolean | AuctionSession$auction_itemsArgs + commissioner?: boolean | CommissionerDefaultArgs + _count?: boolean | AuctionSessionCountOutputTypeDefaultArgs + } + export type AuctionSessionIncludeCreateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + } + export type AuctionSessionIncludeUpdateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + } + + export type $AuctionSessionPayload = { + name: "AuctionSession" + objects: { + auction_items: Prisma.$AuctionItemPayload[] + commissioner: Prisma.$CommissionerPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + date: Date + commissioner_id: string + status: $Enums.SessionStatus + payment_status: $Enums.SessionPaymentStatus + created_at: Date + updated_at: Date + }, ExtArgs["result"]["auctionSession"]> + composites: {} + } + + type AuctionSessionGetPayload = $Result.GetResult + + type AuctionSessionCountArgs = + Omit & { + select?: AuctionSessionCountAggregateInputType | true + } + + export interface AuctionSessionDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['AuctionSession'], meta: { name: 'AuctionSession' } } + /** + * Find zero or one AuctionSession that matches the filter. + * @param {AuctionSessionFindUniqueArgs} args - Arguments to find a AuctionSession + * @example + * // Get one AuctionSession + * const auctionSession = await prisma.auctionSession.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__AuctionSessionClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one AuctionSession that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {AuctionSessionFindUniqueOrThrowArgs} args - Arguments to find a AuctionSession + * @example + * // Get one AuctionSession + * const auctionSession = await prisma.auctionSession.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__AuctionSessionClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first AuctionSession that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionSessionFindFirstArgs} args - Arguments to find a AuctionSession + * @example + * // Get one AuctionSession + * const auctionSession = await prisma.auctionSession.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__AuctionSessionClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first AuctionSession that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionSessionFindFirstOrThrowArgs} args - Arguments to find a AuctionSession + * @example + * // Get one AuctionSession + * const auctionSession = await prisma.auctionSession.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__AuctionSessionClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more AuctionSessions that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionSessionFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all AuctionSessions + * const auctionSessions = await prisma.auctionSession.findMany() + * + * // Get first 10 AuctionSessions + * const auctionSessions = await prisma.auctionSession.findMany({ take: 10 }) + * + * // Only select the `id` + * const auctionSessionWithIdOnly = await prisma.auctionSession.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a AuctionSession. + * @param {AuctionSessionCreateArgs} args - Arguments to create a AuctionSession. + * @example + * // Create one AuctionSession + * const AuctionSession = await prisma.auctionSession.create({ + * data: { + * // ... data to create a AuctionSession + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__AuctionSessionClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many AuctionSessions. + * @param {AuctionSessionCreateManyArgs} args - Arguments to create many AuctionSessions. + * @example + * // Create many AuctionSessions + * const auctionSession = await prisma.auctionSession.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many AuctionSessions and returns the data saved in the database. + * @param {AuctionSessionCreateManyAndReturnArgs} args - Arguments to create many AuctionSessions. + * @example + * // Create many AuctionSessions + * const auctionSession = await prisma.auctionSession.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many AuctionSessions and only return the `id` + * const auctionSessionWithIdOnly = await prisma.auctionSession.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a AuctionSession. + * @param {AuctionSessionDeleteArgs} args - Arguments to delete one AuctionSession. + * @example + * // Delete one AuctionSession + * const AuctionSession = await prisma.auctionSession.delete({ + * where: { + * // ... filter to delete one AuctionSession + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__AuctionSessionClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one AuctionSession. + * @param {AuctionSessionUpdateArgs} args - Arguments to update one AuctionSession. + * @example + * // Update one AuctionSession + * const auctionSession = await prisma.auctionSession.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__AuctionSessionClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more AuctionSessions. + * @param {AuctionSessionDeleteManyArgs} args - Arguments to filter AuctionSessions to delete. + * @example + * // Delete a few AuctionSessions + * const { count } = await prisma.auctionSession.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more AuctionSessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionSessionUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many AuctionSessions + * const auctionSession = await prisma.auctionSession.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more AuctionSessions and returns the data updated in the database. + * @param {AuctionSessionUpdateManyAndReturnArgs} args - Arguments to update many AuctionSessions. + * @example + * // Update many AuctionSessions + * const auctionSession = await prisma.auctionSession.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more AuctionSessions and only return the `id` + * const auctionSessionWithIdOnly = await prisma.auctionSession.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one AuctionSession. + * @param {AuctionSessionUpsertArgs} args - Arguments to update or create a AuctionSession. + * @example + * // Update or create a AuctionSession + * const auctionSession = await prisma.auctionSession.upsert({ + * create: { + * // ... data to create a AuctionSession + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the AuctionSession we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__AuctionSessionClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of AuctionSessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionSessionCountArgs} args - Arguments to filter AuctionSessions to count. + * @example + * // Count the number of AuctionSessions + * const count = await prisma.auctionSession.count({ + * where: { + * // ... the filter for the AuctionSessions we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a AuctionSession. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionSessionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by AuctionSession. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionSessionGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends AuctionSessionGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: AuctionSessionGroupByArgs['orderBy'] } + : { orderBy?: AuctionSessionGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetAuctionSessionGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the AuctionSession model + */ + readonly fields: AuctionSessionFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for AuctionSession. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__AuctionSessionClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + auction_items = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + commissioner = {}>(args?: Subset>): Prisma__CommissionerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the AuctionSession model + */ + interface AuctionSessionFieldRefs { + readonly id: FieldRef<"AuctionSession", 'String'> + readonly date: FieldRef<"AuctionSession", 'DateTime'> + readonly commissioner_id: FieldRef<"AuctionSession", 'String'> + readonly status: FieldRef<"AuctionSession", 'SessionStatus'> + readonly payment_status: FieldRef<"AuctionSession", 'SessionPaymentStatus'> + readonly created_at: FieldRef<"AuctionSession", 'DateTime'> + readonly updated_at: FieldRef<"AuctionSession", 'DateTime'> + } + + + // Custom InputTypes + /** + * AuctionSession findUnique + */ + export type AuctionSessionFindUniqueArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + /** + * Filter, which AuctionSession to fetch. + */ + where: AuctionSessionWhereUniqueInput + } + + /** + * AuctionSession findUniqueOrThrow + */ + export type AuctionSessionFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + /** + * Filter, which AuctionSession to fetch. + */ + where: AuctionSessionWhereUniqueInput + } + + /** + * AuctionSession findFirst + */ + export type AuctionSessionFindFirstArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + /** + * Filter, which AuctionSession to fetch. + */ + where?: AuctionSessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AuctionSessions to fetch. + */ + orderBy?: AuctionSessionOrderByWithRelationInput | AuctionSessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for AuctionSessions. + */ + cursor?: AuctionSessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` AuctionSessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AuctionSessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of AuctionSessions. + */ + distinct?: AuctionSessionScalarFieldEnum | AuctionSessionScalarFieldEnum[] + } + + /** + * AuctionSession findFirstOrThrow + */ + export type AuctionSessionFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + /** + * Filter, which AuctionSession to fetch. + */ + where?: AuctionSessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AuctionSessions to fetch. + */ + orderBy?: AuctionSessionOrderByWithRelationInput | AuctionSessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for AuctionSessions. + */ + cursor?: AuctionSessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` AuctionSessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AuctionSessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of AuctionSessions. + */ + distinct?: AuctionSessionScalarFieldEnum | AuctionSessionScalarFieldEnum[] + } + + /** + * AuctionSession findMany + */ + export type AuctionSessionFindManyArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + /** + * Filter, which AuctionSessions to fetch. + */ + where?: AuctionSessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AuctionSessions to fetch. + */ + orderBy?: AuctionSessionOrderByWithRelationInput | AuctionSessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing AuctionSessions. + */ + cursor?: AuctionSessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` AuctionSessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AuctionSessions. + */ + skip?: number + distinct?: AuctionSessionScalarFieldEnum | AuctionSessionScalarFieldEnum[] + } + + /** + * AuctionSession create + */ + export type AuctionSessionCreateArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + /** + * The data needed to create a AuctionSession. + */ + data: XOR + } + + /** + * AuctionSession createMany + */ + export type AuctionSessionCreateManyArgs = { + /** + * The data used to create many AuctionSessions. + */ + data: AuctionSessionCreateManyInput | AuctionSessionCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * AuctionSession createManyAndReturn + */ + export type AuctionSessionCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelectCreateManyAndReturn | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * The data used to create many AuctionSessions. + */ + data: AuctionSessionCreateManyInput | AuctionSessionCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionIncludeCreateManyAndReturn | null + } + + /** + * AuctionSession update + */ + export type AuctionSessionUpdateArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + /** + * The data needed to update a AuctionSession. + */ + data: XOR + /** + * Choose, which AuctionSession to update. + */ + where: AuctionSessionWhereUniqueInput + } + + /** + * AuctionSession updateMany + */ + export type AuctionSessionUpdateManyArgs = { + /** + * The data used to update AuctionSessions. + */ + data: XOR + /** + * Filter which AuctionSessions to update + */ + where?: AuctionSessionWhereInput + /** + * Limit how many AuctionSessions to update. + */ + limit?: number + } + + /** + * AuctionSession updateManyAndReturn + */ + export type AuctionSessionUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * The data used to update AuctionSessions. + */ + data: XOR + /** + * Filter which AuctionSessions to update + */ + where?: AuctionSessionWhereInput + /** + * Limit how many AuctionSessions to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionIncludeUpdateManyAndReturn | null + } + + /** + * AuctionSession upsert + */ + export type AuctionSessionUpsertArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + /** + * The filter to search for the AuctionSession to update in case it exists. + */ + where: AuctionSessionWhereUniqueInput + /** + * In case the AuctionSession found by the `where` argument doesn't exist, create a new AuctionSession with this data. + */ + create: XOR + /** + * In case the AuctionSession was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * AuctionSession delete + */ + export type AuctionSessionDeleteArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + /** + * Filter which AuctionSession to delete. + */ + where: AuctionSessionWhereUniqueInput + } + + /** + * AuctionSession deleteMany + */ + export type AuctionSessionDeleteManyArgs = { + /** + * Filter which AuctionSessions to delete + */ + where?: AuctionSessionWhereInput + /** + * Limit how many AuctionSessions to delete. + */ + limit?: number + } + + /** + * AuctionSession.auction_items + */ + export type AuctionSession$auction_itemsArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + where?: AuctionItemWhereInput + orderBy?: AuctionItemOrderByWithRelationInput | AuctionItemOrderByWithRelationInput[] + cursor?: AuctionItemWhereUniqueInput + take?: number + skip?: number + distinct?: AuctionItemScalarFieldEnum | AuctionItemScalarFieldEnum[] + } + + /** + * AuctionSession without action + */ + export type AuctionSessionDefaultArgs = { + /** + * Select specific fields to fetch from the AuctionSession + */ + select?: AuctionSessionSelect | null + /** + * Omit specific fields from the AuctionSession + */ + omit?: AuctionSessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionSessionInclude | null + } + + + /** + * Model AuctionItem + */ + + export type AggregateAuctionItem = { + _count: AuctionItemCountAggregateOutputType | null + _avg: AuctionItemAvgAggregateOutputType | null + _sum: AuctionItemSumAggregateOutputType | null + _min: AuctionItemMinAggregateOutputType | null + _max: AuctionItemMaxAggregateOutputType | null + } + + export type AuctionItemAvgAggregateOutputType = { + quantity: number | null + rate: number | null + } + + export type AuctionItemSumAggregateOutputType = { + quantity: number | null + rate: number | null + } + + export type AuctionItemMinAggregateOutputType = { + id: string | null + session_id: string | null + farmer_id: string | null + product_id: string | null + unit: $Enums.Unit | null + quantity: number | null + buyer_id: string | null + bill_id: string | null + created_at: Date | null + updated_at: Date | null + rate: number | null + } + + export type AuctionItemMaxAggregateOutputType = { + id: string | null + session_id: string | null + farmer_id: string | null + product_id: string | null + unit: $Enums.Unit | null + quantity: number | null + buyer_id: string | null + bill_id: string | null + created_at: Date | null + updated_at: Date | null + rate: number | null + } + + export type AuctionItemCountAggregateOutputType = { + id: number + session_id: number + farmer_id: number + product_id: number + unit: number + quantity: number + buyer_id: number + bill_id: number + created_at: number + updated_at: number + rate: number + _all: number + } + + + export type AuctionItemAvgAggregateInputType = { + quantity?: true + rate?: true + } + + export type AuctionItemSumAggregateInputType = { + quantity?: true + rate?: true + } + + export type AuctionItemMinAggregateInputType = { + id?: true + session_id?: true + farmer_id?: true + product_id?: true + unit?: true + quantity?: true + buyer_id?: true + bill_id?: true + created_at?: true + updated_at?: true + rate?: true + } + + export type AuctionItemMaxAggregateInputType = { + id?: true + session_id?: true + farmer_id?: true + product_id?: true + unit?: true + quantity?: true + buyer_id?: true + bill_id?: true + created_at?: true + updated_at?: true + rate?: true + } + + export type AuctionItemCountAggregateInputType = { + id?: true + session_id?: true + farmer_id?: true + product_id?: true + unit?: true + quantity?: true + buyer_id?: true + bill_id?: true + created_at?: true + updated_at?: true + rate?: true + _all?: true + } + + export type AuctionItemAggregateArgs = { + /** + * Filter which AuctionItem to aggregate. + */ + where?: AuctionItemWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AuctionItems to fetch. + */ + orderBy?: AuctionItemOrderByWithRelationInput | AuctionItemOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: AuctionItemWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` AuctionItems from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AuctionItems. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned AuctionItems + **/ + _count?: true | AuctionItemCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: AuctionItemAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: AuctionItemSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: AuctionItemMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: AuctionItemMaxAggregateInputType + } + + export type GetAuctionItemAggregateType = { + [P in keyof T & keyof AggregateAuctionItem]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type AuctionItemGroupByArgs = { + where?: AuctionItemWhereInput + orderBy?: AuctionItemOrderByWithAggregationInput | AuctionItemOrderByWithAggregationInput[] + by: AuctionItemScalarFieldEnum[] | AuctionItemScalarFieldEnum + having?: AuctionItemScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: AuctionItemCountAggregateInputType | true + _avg?: AuctionItemAvgAggregateInputType + _sum?: AuctionItemSumAggregateInputType + _min?: AuctionItemMinAggregateInputType + _max?: AuctionItemMaxAggregateInputType + } + + export type AuctionItemGroupByOutputType = { + id: string + session_id: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id: string | null + bill_id: string | null + created_at: Date + updated_at: Date + rate: number | null + _count: AuctionItemCountAggregateOutputType | null + _avg: AuctionItemAvgAggregateOutputType | null + _sum: AuctionItemSumAggregateOutputType | null + _min: AuctionItemMinAggregateOutputType | null + _max: AuctionItemMaxAggregateOutputType | null + } + + type GetAuctionItemGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof AuctionItemGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type AuctionItemSelect = $Extensions.GetSelect<{ + id?: boolean + session_id?: boolean + farmer_id?: boolean + product_id?: boolean + unit?: boolean + quantity?: boolean + buyer_id?: boolean + bill_id?: boolean + created_at?: boolean + updated_at?: boolean + rate?: boolean + bill?: boolean | AuctionItem$billArgs + buyer?: boolean | AuctionItem$buyerArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + session?: boolean | AuctionSessionDefaultArgs + }, ExtArgs["result"]["auctionItem"]> + + export type AuctionItemSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + session_id?: boolean + farmer_id?: boolean + product_id?: boolean + unit?: boolean + quantity?: boolean + buyer_id?: boolean + bill_id?: boolean + created_at?: boolean + updated_at?: boolean + rate?: boolean + bill?: boolean | AuctionItem$billArgs + buyer?: boolean | AuctionItem$buyerArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + session?: boolean | AuctionSessionDefaultArgs + }, ExtArgs["result"]["auctionItem"]> + + export type AuctionItemSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + session_id?: boolean + farmer_id?: boolean + product_id?: boolean + unit?: boolean + quantity?: boolean + buyer_id?: boolean + bill_id?: boolean + created_at?: boolean + updated_at?: boolean + rate?: boolean + bill?: boolean | AuctionItem$billArgs + buyer?: boolean | AuctionItem$buyerArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + session?: boolean | AuctionSessionDefaultArgs + }, ExtArgs["result"]["auctionItem"]> + + export type AuctionItemSelectScalar = { + id?: boolean + session_id?: boolean + farmer_id?: boolean + product_id?: boolean + unit?: boolean + quantity?: boolean + buyer_id?: boolean + bill_id?: boolean + created_at?: boolean + updated_at?: boolean + rate?: boolean + } + + export type AuctionItemOmit = $Extensions.GetOmit<"id" | "session_id" | "farmer_id" | "product_id" | "unit" | "quantity" | "buyer_id" | "bill_id" | "created_at" | "updated_at" | "rate", ExtArgs["result"]["auctionItem"]> + export type AuctionItemInclude = { + bill?: boolean | AuctionItem$billArgs + buyer?: boolean | AuctionItem$buyerArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + session?: boolean | AuctionSessionDefaultArgs + } + export type AuctionItemIncludeCreateManyAndReturn = { + bill?: boolean | AuctionItem$billArgs + buyer?: boolean | AuctionItem$buyerArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + session?: boolean | AuctionSessionDefaultArgs + } + export type AuctionItemIncludeUpdateManyAndReturn = { + bill?: boolean | AuctionItem$billArgs + buyer?: boolean | AuctionItem$buyerArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + session?: boolean | AuctionSessionDefaultArgs + } + + export type $AuctionItemPayload = { + name: "AuctionItem" + objects: { + bill: Prisma.$BillPayload | null + buyer: Prisma.$BuyerPayload | null + farmer: Prisma.$FarmerPayload + product: Prisma.$ProductPayload + session: Prisma.$AuctionSessionPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + session_id: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id: string | null + bill_id: string | null + created_at: Date + updated_at: Date + rate: number | null + }, ExtArgs["result"]["auctionItem"]> + composites: {} + } + + type AuctionItemGetPayload = $Result.GetResult + + type AuctionItemCountArgs = + Omit & { + select?: AuctionItemCountAggregateInputType | true + } + + export interface AuctionItemDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['AuctionItem'], meta: { name: 'AuctionItem' } } + /** + * Find zero or one AuctionItem that matches the filter. + * @param {AuctionItemFindUniqueArgs} args - Arguments to find a AuctionItem + * @example + * // Get one AuctionItem + * const auctionItem = await prisma.auctionItem.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__AuctionItemClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one AuctionItem that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {AuctionItemFindUniqueOrThrowArgs} args - Arguments to find a AuctionItem + * @example + * // Get one AuctionItem + * const auctionItem = await prisma.auctionItem.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__AuctionItemClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first AuctionItem that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionItemFindFirstArgs} args - Arguments to find a AuctionItem + * @example + * // Get one AuctionItem + * const auctionItem = await prisma.auctionItem.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__AuctionItemClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first AuctionItem that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionItemFindFirstOrThrowArgs} args - Arguments to find a AuctionItem + * @example + * // Get one AuctionItem + * const auctionItem = await prisma.auctionItem.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__AuctionItemClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more AuctionItems that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionItemFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all AuctionItems + * const auctionItems = await prisma.auctionItem.findMany() + * + * // Get first 10 AuctionItems + * const auctionItems = await prisma.auctionItem.findMany({ take: 10 }) + * + * // Only select the `id` + * const auctionItemWithIdOnly = await prisma.auctionItem.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a AuctionItem. + * @param {AuctionItemCreateArgs} args - Arguments to create a AuctionItem. + * @example + * // Create one AuctionItem + * const AuctionItem = await prisma.auctionItem.create({ + * data: { + * // ... data to create a AuctionItem + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__AuctionItemClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many AuctionItems. + * @param {AuctionItemCreateManyArgs} args - Arguments to create many AuctionItems. + * @example + * // Create many AuctionItems + * const auctionItem = await prisma.auctionItem.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many AuctionItems and returns the data saved in the database. + * @param {AuctionItemCreateManyAndReturnArgs} args - Arguments to create many AuctionItems. + * @example + * // Create many AuctionItems + * const auctionItem = await prisma.auctionItem.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many AuctionItems and only return the `id` + * const auctionItemWithIdOnly = await prisma.auctionItem.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a AuctionItem. + * @param {AuctionItemDeleteArgs} args - Arguments to delete one AuctionItem. + * @example + * // Delete one AuctionItem + * const AuctionItem = await prisma.auctionItem.delete({ + * where: { + * // ... filter to delete one AuctionItem + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__AuctionItemClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one AuctionItem. + * @param {AuctionItemUpdateArgs} args - Arguments to update one AuctionItem. + * @example + * // Update one AuctionItem + * const auctionItem = await prisma.auctionItem.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__AuctionItemClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more AuctionItems. + * @param {AuctionItemDeleteManyArgs} args - Arguments to filter AuctionItems to delete. + * @example + * // Delete a few AuctionItems + * const { count } = await prisma.auctionItem.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more AuctionItems. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionItemUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many AuctionItems + * const auctionItem = await prisma.auctionItem.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more AuctionItems and returns the data updated in the database. + * @param {AuctionItemUpdateManyAndReturnArgs} args - Arguments to update many AuctionItems. + * @example + * // Update many AuctionItems + * const auctionItem = await prisma.auctionItem.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more AuctionItems and only return the `id` + * const auctionItemWithIdOnly = await prisma.auctionItem.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one AuctionItem. + * @param {AuctionItemUpsertArgs} args - Arguments to update or create a AuctionItem. + * @example + * // Update or create a AuctionItem + * const auctionItem = await prisma.auctionItem.upsert({ + * create: { + * // ... data to create a AuctionItem + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the AuctionItem we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__AuctionItemClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of AuctionItems. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionItemCountArgs} args - Arguments to filter AuctionItems to count. + * @example + * // Count the number of AuctionItems + * const count = await prisma.auctionItem.count({ + * where: { + * // ... the filter for the AuctionItems we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a AuctionItem. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionItemAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by AuctionItem. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {AuctionItemGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends AuctionItemGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: AuctionItemGroupByArgs['orderBy'] } + : { orderBy?: AuctionItemGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetAuctionItemGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the AuctionItem model + */ + readonly fields: AuctionItemFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for AuctionItem. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__AuctionItemClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + bill = {}>(args?: Subset>): Prisma__BillClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + buyer = {}>(args?: Subset>): Prisma__BuyerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + farmer = {}>(args?: Subset>): Prisma__FarmerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + product = {}>(args?: Subset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + session = {}>(args?: Subset>): Prisma__AuctionSessionClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the AuctionItem model + */ + interface AuctionItemFieldRefs { + readonly id: FieldRef<"AuctionItem", 'String'> + readonly session_id: FieldRef<"AuctionItem", 'String'> + readonly farmer_id: FieldRef<"AuctionItem", 'String'> + readonly product_id: FieldRef<"AuctionItem", 'String'> + readonly unit: FieldRef<"AuctionItem", 'Unit'> + readonly quantity: FieldRef<"AuctionItem", 'Float'> + readonly buyer_id: FieldRef<"AuctionItem", 'String'> + readonly bill_id: FieldRef<"AuctionItem", 'String'> + readonly created_at: FieldRef<"AuctionItem", 'DateTime'> + readonly updated_at: FieldRef<"AuctionItem", 'DateTime'> + readonly rate: FieldRef<"AuctionItem", 'Float'> + } + + + // Custom InputTypes + /** + * AuctionItem findUnique + */ + export type AuctionItemFindUniqueArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + /** + * Filter, which AuctionItem to fetch. + */ + where: AuctionItemWhereUniqueInput + } + + /** + * AuctionItem findUniqueOrThrow + */ + export type AuctionItemFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + /** + * Filter, which AuctionItem to fetch. + */ + where: AuctionItemWhereUniqueInput + } + + /** + * AuctionItem findFirst + */ + export type AuctionItemFindFirstArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + /** + * Filter, which AuctionItem to fetch. + */ + where?: AuctionItemWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AuctionItems to fetch. + */ + orderBy?: AuctionItemOrderByWithRelationInput | AuctionItemOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for AuctionItems. + */ + cursor?: AuctionItemWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` AuctionItems from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AuctionItems. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of AuctionItems. + */ + distinct?: AuctionItemScalarFieldEnum | AuctionItemScalarFieldEnum[] + } + + /** + * AuctionItem findFirstOrThrow + */ + export type AuctionItemFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + /** + * Filter, which AuctionItem to fetch. + */ + where?: AuctionItemWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AuctionItems to fetch. + */ + orderBy?: AuctionItemOrderByWithRelationInput | AuctionItemOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for AuctionItems. + */ + cursor?: AuctionItemWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` AuctionItems from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AuctionItems. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of AuctionItems. + */ + distinct?: AuctionItemScalarFieldEnum | AuctionItemScalarFieldEnum[] + } + + /** + * AuctionItem findMany + */ + export type AuctionItemFindManyArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + /** + * Filter, which AuctionItems to fetch. + */ + where?: AuctionItemWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of AuctionItems to fetch. + */ + orderBy?: AuctionItemOrderByWithRelationInput | AuctionItemOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing AuctionItems. + */ + cursor?: AuctionItemWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` AuctionItems from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` AuctionItems. + */ + skip?: number + distinct?: AuctionItemScalarFieldEnum | AuctionItemScalarFieldEnum[] + } + + /** + * AuctionItem create + */ + export type AuctionItemCreateArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + /** + * The data needed to create a AuctionItem. + */ + data: XOR + } + + /** + * AuctionItem createMany + */ + export type AuctionItemCreateManyArgs = { + /** + * The data used to create many AuctionItems. + */ + data: AuctionItemCreateManyInput | AuctionItemCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * AuctionItem createManyAndReturn + */ + export type AuctionItemCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelectCreateManyAndReturn | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * The data used to create many AuctionItems. + */ + data: AuctionItemCreateManyInput | AuctionItemCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemIncludeCreateManyAndReturn | null + } + + /** + * AuctionItem update + */ + export type AuctionItemUpdateArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + /** + * The data needed to update a AuctionItem. + */ + data: XOR + /** + * Choose, which AuctionItem to update. + */ + where: AuctionItemWhereUniqueInput + } + + /** + * AuctionItem updateMany + */ + export type AuctionItemUpdateManyArgs = { + /** + * The data used to update AuctionItems. + */ + data: XOR + /** + * Filter which AuctionItems to update + */ + where?: AuctionItemWhereInput + /** + * Limit how many AuctionItems to update. + */ + limit?: number + } + + /** + * AuctionItem updateManyAndReturn + */ + export type AuctionItemUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * The data used to update AuctionItems. + */ + data: XOR + /** + * Filter which AuctionItems to update + */ + where?: AuctionItemWhereInput + /** + * Limit how many AuctionItems to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemIncludeUpdateManyAndReturn | null + } + + /** + * AuctionItem upsert + */ + export type AuctionItemUpsertArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + /** + * The filter to search for the AuctionItem to update in case it exists. + */ + where: AuctionItemWhereUniqueInput + /** + * In case the AuctionItem found by the `where` argument doesn't exist, create a new AuctionItem with this data. + */ + create: XOR + /** + * In case the AuctionItem was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * AuctionItem delete + */ + export type AuctionItemDeleteArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + /** + * Filter which AuctionItem to delete. + */ + where: AuctionItemWhereUniqueInput + } + + /** + * AuctionItem deleteMany + */ + export type AuctionItemDeleteManyArgs = { + /** + * Filter which AuctionItems to delete + */ + where?: AuctionItemWhereInput + /** + * Limit how many AuctionItems to delete. + */ + limit?: number + } + + /** + * AuctionItem.bill + */ + export type AuctionItem$billArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + where?: BillWhereInput + } + + /** + * AuctionItem.buyer + */ + export type AuctionItem$buyerArgs = { + /** + * Select specific fields to fetch from the Buyer + */ + select?: BuyerSelect | null + /** + * Omit specific fields from the Buyer + */ + omit?: BuyerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BuyerInclude | null + where?: BuyerWhereInput + } + + /** + * AuctionItem without action + */ + export type AuctionItemDefaultArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + } + + + /** + * Model Bill + */ + + export type AggregateBill = { + _count: BillCountAggregateOutputType | null + _avg: BillAvgAggregateOutputType | null + _sum: BillSumAggregateOutputType | null + _min: BillMinAggregateOutputType | null + _max: BillMaxAggregateOutputType | null + } + + export type BillAvgAggregateOutputType = { + total_quantity: number | null + gross_amount: number | null + commission_rate: number | null + commission_amount: number | null + net_payable: number | null + } + + export type BillSumAggregateOutputType = { + total_quantity: number | null + gross_amount: number | null + commission_rate: number | null + commission_amount: number | null + net_payable: number | null + } + + export type BillMinAggregateOutputType = { + id: string | null + bill_number: string | null + farmer_id: string | null + commissioner_id: string | null + product_id: string | null + session_id: string | null + total_quantity: number | null + gross_amount: number | null + commission_rate: number | null + commission_amount: number | null + net_payable: number | null + payment_status: $Enums.BillPaymentStatus | null + payment_method: string | null + payment_date: Date | null + notes: string | null + created_at: Date | null + updated_at: Date | null + } + + export type BillMaxAggregateOutputType = { + id: string | null + bill_number: string | null + farmer_id: string | null + commissioner_id: string | null + product_id: string | null + session_id: string | null + total_quantity: number | null + gross_amount: number | null + commission_rate: number | null + commission_amount: number | null + net_payable: number | null + payment_status: $Enums.BillPaymentStatus | null + payment_method: string | null + payment_date: Date | null + notes: string | null + created_at: Date | null + updated_at: Date | null + } + + export type BillCountAggregateOutputType = { + id: number + bill_number: number + farmer_id: number + commissioner_id: number + product_id: number + session_id: number + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges: number + net_payable: number + payment_status: number + payment_method: number + payment_date: number + notes: number + created_at: number + updated_at: number + _all: number + } + + + export type BillAvgAggregateInputType = { + total_quantity?: true + gross_amount?: true + commission_rate?: true + commission_amount?: true + net_payable?: true + } + + export type BillSumAggregateInputType = { + total_quantity?: true + gross_amount?: true + commission_rate?: true + commission_amount?: true + net_payable?: true + } + + export type BillMinAggregateInputType = { + id?: true + bill_number?: true + farmer_id?: true + commissioner_id?: true + product_id?: true + session_id?: true + total_quantity?: true + gross_amount?: true + commission_rate?: true + commission_amount?: true + net_payable?: true + payment_status?: true + payment_method?: true + payment_date?: true + notes?: true + created_at?: true + updated_at?: true + } + + export type BillMaxAggregateInputType = { + id?: true + bill_number?: true + farmer_id?: true + commissioner_id?: true + product_id?: true + session_id?: true + total_quantity?: true + gross_amount?: true + commission_rate?: true + commission_amount?: true + net_payable?: true + payment_status?: true + payment_method?: true + payment_date?: true + notes?: true + created_at?: true + updated_at?: true + } + + export type BillCountAggregateInputType = { + id?: true + bill_number?: true + farmer_id?: true + commissioner_id?: true + product_id?: true + session_id?: true + total_quantity?: true + gross_amount?: true + commission_rate?: true + commission_amount?: true + other_charges?: true + net_payable?: true + payment_status?: true + payment_method?: true + payment_date?: true + notes?: true + created_at?: true + updated_at?: true + _all?: true + } + + export type BillAggregateArgs = { + /** + * Filter which Bill to aggregate. + */ + where?: BillWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Bills to fetch. + */ + orderBy?: BillOrderByWithRelationInput | BillOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: BillWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Bills from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Bills. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Bills + **/ + _count?: true | BillCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: BillAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: BillSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: BillMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: BillMaxAggregateInputType + } + + export type GetBillAggregateType = { + [P in keyof T & keyof AggregateBill]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type BillGroupByArgs = { + where?: BillWhereInput + orderBy?: BillOrderByWithAggregationInput | BillOrderByWithAggregationInput[] + by: BillScalarFieldEnum[] | BillScalarFieldEnum + having?: BillScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: BillCountAggregateInputType | true + _avg?: BillAvgAggregateInputType + _sum?: BillSumAggregateInputType + _min?: BillMinAggregateInputType + _max?: BillMaxAggregateInputType + } + + export type BillGroupByOutputType = { + id: string + bill_number: string + farmer_id: string + commissioner_id: string + product_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges: JsonValue + net_payable: number + payment_status: $Enums.BillPaymentStatus + payment_method: string | null + payment_date: Date | null + notes: string | null + created_at: Date + updated_at: Date + _count: BillCountAggregateOutputType | null + _avg: BillAvgAggregateOutputType | null + _sum: BillSumAggregateOutputType | null + _min: BillMinAggregateOutputType | null + _max: BillMaxAggregateOutputType | null + } + + type GetBillGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof BillGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type BillSelect = $Extensions.GetSelect<{ + id?: boolean + bill_number?: boolean + farmer_id?: boolean + commissioner_id?: boolean + product_id?: boolean + session_id?: boolean + total_quantity?: boolean + gross_amount?: boolean + commission_rate?: boolean + commission_amount?: boolean + other_charges?: boolean + net_payable?: boolean + payment_status?: boolean + payment_method?: boolean + payment_date?: boolean + notes?: boolean + created_at?: boolean + updated_at?: boolean + auction_items?: boolean | Bill$auction_itemsArgs + commissioner?: boolean | CommissionerDefaultArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + _count?: boolean | BillCountOutputTypeDefaultArgs + }, ExtArgs["result"]["bill"]> + + export type BillSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + bill_number?: boolean + farmer_id?: boolean + commissioner_id?: boolean + product_id?: boolean + session_id?: boolean + total_quantity?: boolean + gross_amount?: boolean + commission_rate?: boolean + commission_amount?: boolean + other_charges?: boolean + net_payable?: boolean + payment_status?: boolean + payment_method?: boolean + payment_date?: boolean + notes?: boolean + created_at?: boolean + updated_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + }, ExtArgs["result"]["bill"]> + + export type BillSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + bill_number?: boolean + farmer_id?: boolean + commissioner_id?: boolean + product_id?: boolean + session_id?: boolean + total_quantity?: boolean + gross_amount?: boolean + commission_rate?: boolean + commission_amount?: boolean + other_charges?: boolean + net_payable?: boolean + payment_status?: boolean + payment_method?: boolean + payment_date?: boolean + notes?: boolean + created_at?: boolean + updated_at?: boolean + commissioner?: boolean | CommissionerDefaultArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + }, ExtArgs["result"]["bill"]> + + export type BillSelectScalar = { + id?: boolean + bill_number?: boolean + farmer_id?: boolean + commissioner_id?: boolean + product_id?: boolean + session_id?: boolean + total_quantity?: boolean + gross_amount?: boolean + commission_rate?: boolean + commission_amount?: boolean + other_charges?: boolean + net_payable?: boolean + payment_status?: boolean + payment_method?: boolean + payment_date?: boolean + notes?: boolean + created_at?: boolean + updated_at?: boolean + } + + export type BillOmit = $Extensions.GetOmit<"id" | "bill_number" | "farmer_id" | "commissioner_id" | "product_id" | "session_id" | "total_quantity" | "gross_amount" | "commission_rate" | "commission_amount" | "other_charges" | "net_payable" | "payment_status" | "payment_method" | "payment_date" | "notes" | "created_at" | "updated_at", ExtArgs["result"]["bill"]> + export type BillInclude = { + auction_items?: boolean | Bill$auction_itemsArgs + commissioner?: boolean | CommissionerDefaultArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + _count?: boolean | BillCountOutputTypeDefaultArgs + } + export type BillIncludeCreateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + } + export type BillIncludeUpdateManyAndReturn = { + commissioner?: boolean | CommissionerDefaultArgs + farmer?: boolean | FarmerDefaultArgs + product?: boolean | ProductDefaultArgs + } + + export type $BillPayload = { + name: "Bill" + objects: { + auction_items: Prisma.$AuctionItemPayload[] + commissioner: Prisma.$CommissionerPayload + farmer: Prisma.$FarmerPayload + product: Prisma.$ProductPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + bill_number: string + farmer_id: string + commissioner_id: string + product_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges: Prisma.JsonValue + net_payable: number + payment_status: $Enums.BillPaymentStatus + payment_method: string | null + payment_date: Date | null + notes: string | null + created_at: Date + updated_at: Date + }, ExtArgs["result"]["bill"]> + composites: {} + } + + type BillGetPayload = $Result.GetResult + + type BillCountArgs = + Omit & { + select?: BillCountAggregateInputType | true + } + + export interface BillDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Bill'], meta: { name: 'Bill' } } + /** + * Find zero or one Bill that matches the filter. + * @param {BillFindUniqueArgs} args - Arguments to find a Bill + * @example + * // Get one Bill + * const bill = await prisma.bill.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__BillClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Bill that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {BillFindUniqueOrThrowArgs} args - Arguments to find a Bill + * @example + * // Get one Bill + * const bill = await prisma.bill.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__BillClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Bill that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BillFindFirstArgs} args - Arguments to find a Bill + * @example + * // Get one Bill + * const bill = await prisma.bill.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__BillClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Bill that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BillFindFirstOrThrowArgs} args - Arguments to find a Bill + * @example + * // Get one Bill + * const bill = await prisma.bill.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__BillClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Bills that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BillFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Bills + * const bills = await prisma.bill.findMany() + * + * // Get first 10 Bills + * const bills = await prisma.bill.findMany({ take: 10 }) + * + * // Only select the `id` + * const billWithIdOnly = await prisma.bill.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Bill. + * @param {BillCreateArgs} args - Arguments to create a Bill. + * @example + * // Create one Bill + * const Bill = await prisma.bill.create({ + * data: { + * // ... data to create a Bill + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__BillClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Bills. + * @param {BillCreateManyArgs} args - Arguments to create many Bills. + * @example + * // Create many Bills + * const bill = await prisma.bill.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Bills and returns the data saved in the database. + * @param {BillCreateManyAndReturnArgs} args - Arguments to create many Bills. + * @example + * // Create many Bills + * const bill = await prisma.bill.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Bills and only return the `id` + * const billWithIdOnly = await prisma.bill.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Bill. + * @param {BillDeleteArgs} args - Arguments to delete one Bill. + * @example + * // Delete one Bill + * const Bill = await prisma.bill.delete({ + * where: { + * // ... filter to delete one Bill + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__BillClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Bill. + * @param {BillUpdateArgs} args - Arguments to update one Bill. + * @example + * // Update one Bill + * const bill = await prisma.bill.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__BillClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Bills. + * @param {BillDeleteManyArgs} args - Arguments to filter Bills to delete. + * @example + * // Delete a few Bills + * const { count } = await prisma.bill.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Bills. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BillUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Bills + * const bill = await prisma.bill.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Bills and returns the data updated in the database. + * @param {BillUpdateManyAndReturnArgs} args - Arguments to update many Bills. + * @example + * // Update many Bills + * const bill = await prisma.bill.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Bills and only return the `id` + * const billWithIdOnly = await prisma.bill.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Bill. + * @param {BillUpsertArgs} args - Arguments to update or create a Bill. + * @example + * // Update or create a Bill + * const bill = await prisma.bill.upsert({ + * create: { + * // ... data to create a Bill + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Bill we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__BillClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Bills. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BillCountArgs} args - Arguments to filter Bills to count. + * @example + * // Count the number of Bills + * const count = await prisma.bill.count({ + * where: { + * // ... the filter for the Bills we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Bill. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BillAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Bill. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BillGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends BillGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: BillGroupByArgs['orderBy'] } + : { orderBy?: BillGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetBillGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Bill model + */ + readonly fields: BillFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Bill. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__BillClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + auction_items = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + commissioner = {}>(args?: Subset>): Prisma__CommissionerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + farmer = {}>(args?: Subset>): Prisma__FarmerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + product = {}>(args?: Subset>): Prisma__ProductClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Bill model + */ + interface BillFieldRefs { + readonly id: FieldRef<"Bill", 'String'> + readonly bill_number: FieldRef<"Bill", 'String'> + readonly farmer_id: FieldRef<"Bill", 'String'> + readonly commissioner_id: FieldRef<"Bill", 'String'> + readonly product_id: FieldRef<"Bill", 'String'> + readonly session_id: FieldRef<"Bill", 'String'> + readonly total_quantity: FieldRef<"Bill", 'Float'> + readonly gross_amount: FieldRef<"Bill", 'Float'> + readonly commission_rate: FieldRef<"Bill", 'Float'> + readonly commission_amount: FieldRef<"Bill", 'Float'> + readonly other_charges: FieldRef<"Bill", 'Json'> + readonly net_payable: FieldRef<"Bill", 'Float'> + readonly payment_status: FieldRef<"Bill", 'BillPaymentStatus'> + readonly payment_method: FieldRef<"Bill", 'String'> + readonly payment_date: FieldRef<"Bill", 'DateTime'> + readonly notes: FieldRef<"Bill", 'String'> + readonly created_at: FieldRef<"Bill", 'DateTime'> + readonly updated_at: FieldRef<"Bill", 'DateTime'> + } + + + // Custom InputTypes + /** + * Bill findUnique + */ + export type BillFindUniqueArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + /** + * Filter, which Bill to fetch. + */ + where: BillWhereUniqueInput + } + + /** + * Bill findUniqueOrThrow + */ + export type BillFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + /** + * Filter, which Bill to fetch. + */ + where: BillWhereUniqueInput + } + + /** + * Bill findFirst + */ + export type BillFindFirstArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + /** + * Filter, which Bill to fetch. + */ + where?: BillWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Bills to fetch. + */ + orderBy?: BillOrderByWithRelationInput | BillOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Bills. + */ + cursor?: BillWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Bills from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Bills. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Bills. + */ + distinct?: BillScalarFieldEnum | BillScalarFieldEnum[] + } + + /** + * Bill findFirstOrThrow + */ + export type BillFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + /** + * Filter, which Bill to fetch. + */ + where?: BillWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Bills to fetch. + */ + orderBy?: BillOrderByWithRelationInput | BillOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Bills. + */ + cursor?: BillWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Bills from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Bills. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Bills. + */ + distinct?: BillScalarFieldEnum | BillScalarFieldEnum[] + } + + /** + * Bill findMany + */ + export type BillFindManyArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + /** + * Filter, which Bills to fetch. + */ + where?: BillWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Bills to fetch. + */ + orderBy?: BillOrderByWithRelationInput | BillOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Bills. + */ + cursor?: BillWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `ยฑn` Bills from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Bills. + */ + skip?: number + distinct?: BillScalarFieldEnum | BillScalarFieldEnum[] + } + + /** + * Bill create + */ + export type BillCreateArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + /** + * The data needed to create a Bill. + */ + data: XOR + } + + /** + * Bill createMany + */ + export type BillCreateManyArgs = { + /** + * The data used to create many Bills. + */ + data: BillCreateManyInput | BillCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Bill createManyAndReturn + */ + export type BillCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * The data used to create many Bills. + */ + data: BillCreateManyInput | BillCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: BillIncludeCreateManyAndReturn | null + } + + /** + * Bill update + */ + export type BillUpdateArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + /** + * The data needed to update a Bill. + */ + data: XOR + /** + * Choose, which Bill to update. + */ + where: BillWhereUniqueInput + } + + /** + * Bill updateMany + */ + export type BillUpdateManyArgs = { + /** + * The data used to update Bills. + */ + data: XOR + /** + * Filter which Bills to update + */ + where?: BillWhereInput + /** + * Limit how many Bills to update. + */ + limit?: number + } + + /** + * Bill updateManyAndReturn + */ + export type BillUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * The data used to update Bills. + */ + data: XOR + /** + * Filter which Bills to update + */ + where?: BillWhereInput + /** + * Limit how many Bills to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: BillIncludeUpdateManyAndReturn | null + } + + /** + * Bill upsert + */ + export type BillUpsertArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + /** + * The filter to search for the Bill to update in case it exists. + */ + where: BillWhereUniqueInput + /** + * In case the Bill found by the `where` argument doesn't exist, create a new Bill with this data. + */ + create: XOR + /** + * In case the Bill was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Bill delete + */ + export type BillDeleteArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + /** + * Filter which Bill to delete. + */ + where: BillWhereUniqueInput + } + + /** + * Bill deleteMany + */ + export type BillDeleteManyArgs = { + /** + * Filter which Bills to delete + */ + where?: BillWhereInput + /** + * Limit how many Bills to delete. + */ + limit?: number + } + + /** + * Bill.auction_items + */ + export type Bill$auction_itemsArgs = { + /** + * Select specific fields to fetch from the AuctionItem + */ + select?: AuctionItemSelect | null + /** + * Omit specific fields from the AuctionItem + */ + omit?: AuctionItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: AuctionItemInclude | null + where?: AuctionItemWhereInput + orderBy?: AuctionItemOrderByWithRelationInput | AuctionItemOrderByWithRelationInput[] + cursor?: AuctionItemWhereUniqueInput + take?: number + skip?: number + distinct?: AuctionItemScalarFieldEnum | AuctionItemScalarFieldEnum[] + } + + /** + * Bill without action + */ + export type BillDefaultArgs = { + /** + * Select specific fields to fetch from the Bill + */ + select?: BillSelect | null + /** + * Omit specific fields from the Bill + */ + omit?: BillOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: BillInclude | null + } + + + /** + * Enums + */ + + export const TransactionIsolationLevel: { + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' + }; + + export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + + + export const CommissionerScalarFieldEnum: { + id: 'id', + name: 'name', + location: 'location', + phone: 'phone', + email: 'email', + password: 'password', + commission_rate: 'commission_rate', + created_at: 'created_at', + updated_at: 'updated_at' + }; + + export type CommissionerScalarFieldEnum = (typeof CommissionerScalarFieldEnum)[keyof typeof CommissionerScalarFieldEnum] + + + export const PasswordResetScalarFieldEnum: { + id: 'id', + commissioner_id: 'commissioner_id', + token: 'token', + expires_at: 'expires_at', + used: 'used', + created_at: 'created_at', + used_at: 'used_at' + }; + + export type PasswordResetScalarFieldEnum = (typeof PasswordResetScalarFieldEnum)[keyof typeof PasswordResetScalarFieldEnum] + + + export const FarmerScalarFieldEnum: { + id: 'id', + name: 'name', + phone: 'phone', + village: 'village', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' + }; + + export type FarmerScalarFieldEnum = (typeof FarmerScalarFieldEnum)[keyof typeof FarmerScalarFieldEnum] + + + export const BuyerScalarFieldEnum: { + id: 'id', + name: 'name', + phone: 'phone', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' + }; + + export type BuyerScalarFieldEnum = (typeof BuyerScalarFieldEnum)[keyof typeof BuyerScalarFieldEnum] + + + export const CategoryScalarFieldEnum: { + id: 'id', + name: 'name', + created_at: 'created_at', + updated_at: 'updated_at' + }; + + export type CategoryScalarFieldEnum = (typeof CategoryScalarFieldEnum)[keyof typeof CategoryScalarFieldEnum] + + + export const ProductScalarFieldEnum: { + id: 'id', + name: 'name', + category_id: 'category_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' + }; + + export type ProductScalarFieldEnum = (typeof ProductScalarFieldEnum)[keyof typeof ProductScalarFieldEnum] + + + export const AuctionSessionScalarFieldEnum: { + id: 'id', + date: 'date', + commissioner_id: 'commissioner_id', + status: 'status', + payment_status: 'payment_status', + created_at: 'created_at', + updated_at: 'updated_at' + }; + + export type AuctionSessionScalarFieldEnum = (typeof AuctionSessionScalarFieldEnum)[keyof typeof AuctionSessionScalarFieldEnum] + + + export const AuctionItemScalarFieldEnum: { + id: 'id', + session_id: 'session_id', + farmer_id: 'farmer_id', + product_id: 'product_id', + unit: 'unit', + quantity: 'quantity', + buyer_id: 'buyer_id', + bill_id: 'bill_id', + created_at: 'created_at', + updated_at: 'updated_at', + rate: 'rate' + }; + + export type AuctionItemScalarFieldEnum = (typeof AuctionItemScalarFieldEnum)[keyof typeof AuctionItemScalarFieldEnum] + + + export const BillScalarFieldEnum: { + id: 'id', + bill_number: 'bill_number', + farmer_id: 'farmer_id', + commissioner_id: 'commissioner_id', + product_id: 'product_id', + session_id: 'session_id', + total_quantity: 'total_quantity', + gross_amount: 'gross_amount', + commission_rate: 'commission_rate', + commission_amount: 'commission_amount', + other_charges: 'other_charges', + net_payable: 'net_payable', + payment_status: 'payment_status', + payment_method: 'payment_method', + payment_date: 'payment_date', + notes: 'notes', + created_at: 'created_at', + updated_at: 'updated_at' + }; + + export type BillScalarFieldEnum = (typeof BillScalarFieldEnum)[keyof typeof BillScalarFieldEnum] + + + export const SortOrder: { + asc: 'asc', + desc: 'desc' + }; + + export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + + + export const JsonNullValueInput: { + JsonNull: typeof JsonNull + }; + + export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput] + + + export const QueryMode: { + default: 'default', + insensitive: 'insensitive' + }; + + export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] + + + export const NullsOrder: { + first: 'first', + last: 'last' + }; + + export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] + + + export const JsonNullValueFilter: { + DbNull: typeof DbNull, + JsonNull: typeof JsonNull, + AnyNull: typeof AnyNull + }; + + export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter] + + + /** + * Field references + */ + + + /** + * Reference to a field of type 'String' + */ + export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'> + + + + /** + * Reference to a field of type 'String[]' + */ + export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'> + + + + /** + * Reference to a field of type 'Float' + */ + export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> + + + + /** + * Reference to a field of type 'Float[]' + */ + export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'> + + + + /** + * Reference to a field of type 'DateTime' + */ + export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> + + + + /** + * Reference to a field of type 'DateTime[]' + */ + export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'> + + + + /** + * Reference to a field of type 'Boolean' + */ + export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> + + + + /** + * Reference to a field of type 'SessionStatus' + */ + export type EnumSessionStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SessionStatus'> + + + + /** + * Reference to a field of type 'SessionStatus[]' + */ + export type ListEnumSessionStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SessionStatus[]'> + + + + /** + * Reference to a field of type 'SessionPaymentStatus' + */ + export type EnumSessionPaymentStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SessionPaymentStatus'> + + + + /** + * Reference to a field of type 'SessionPaymentStatus[]' + */ + export type ListEnumSessionPaymentStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SessionPaymentStatus[]'> + + + + /** + * Reference to a field of type 'Unit' + */ + export type EnumUnitFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Unit'> + + + + /** + * Reference to a field of type 'Unit[]' + */ + export type ListEnumUnitFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Unit[]'> + + + + /** + * Reference to a field of type 'Json' + */ + export type JsonFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Json'> + + + + /** + * Reference to a field of type 'QueryMode' + */ + export type EnumQueryModeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'QueryMode'> + + + + /** + * Reference to a field of type 'BillPaymentStatus' + */ + export type EnumBillPaymentStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BillPaymentStatus'> + + + + /** + * Reference to a field of type 'BillPaymentStatus[]' + */ + export type ListEnumBillPaymentStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BillPaymentStatus[]'> + + + + /** + * Reference to a field of type 'Int' + */ + export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> + + + + /** + * Reference to a field of type 'Int[]' + */ + export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'> + + /** + * Deep Input Types + */ + + + export type CommissionerWhereInput = { + AND?: CommissionerWhereInput | CommissionerWhereInput[] + OR?: CommissionerWhereInput[] + NOT?: CommissionerWhereInput | CommissionerWhereInput[] + id?: StringFilter<"Commissioner"> | string + name?: StringFilter<"Commissioner"> | string + location?: StringFilter<"Commissioner"> | string + phone?: StringFilter<"Commissioner"> | string + email?: StringFilter<"Commissioner"> | string + password?: StringFilter<"Commissioner"> | string + commission_rate?: FloatFilter<"Commissioner"> | number + created_at?: DateTimeFilter<"Commissioner"> | Date | string + updated_at?: DateTimeFilter<"Commissioner"> | Date | string + auction_sessions?: AuctionSessionListRelationFilter + bills?: BillListRelationFilter + buyers?: BuyerListRelationFilter + farmers?: FarmerListRelationFilter + password_resets?: PasswordResetListRelationFilter + } + + export type CommissionerOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + location?: SortOrder + phone?: SortOrder + email?: SortOrder + password?: SortOrder + commission_rate?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + auction_sessions?: AuctionSessionOrderByRelationAggregateInput + bills?: BillOrderByRelationAggregateInput + buyers?: BuyerOrderByRelationAggregateInput + farmers?: FarmerOrderByRelationAggregateInput + password_resets?: PasswordResetOrderByRelationAggregateInput + } + + export type CommissionerWhereUniqueInput = Prisma.AtLeast<{ + id?: string + email?: string + AND?: CommissionerWhereInput | CommissionerWhereInput[] + OR?: CommissionerWhereInput[] + NOT?: CommissionerWhereInput | CommissionerWhereInput[] + name?: StringFilter<"Commissioner"> | string + location?: StringFilter<"Commissioner"> | string + phone?: StringFilter<"Commissioner"> | string + password?: StringFilter<"Commissioner"> | string + commission_rate?: FloatFilter<"Commissioner"> | number + created_at?: DateTimeFilter<"Commissioner"> | Date | string + updated_at?: DateTimeFilter<"Commissioner"> | Date | string + auction_sessions?: AuctionSessionListRelationFilter + bills?: BillListRelationFilter + buyers?: BuyerListRelationFilter + farmers?: FarmerListRelationFilter + password_resets?: PasswordResetListRelationFilter + }, "id" | "email"> + + export type CommissionerOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + location?: SortOrder + phone?: SortOrder + email?: SortOrder + password?: SortOrder + commission_rate?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + _count?: CommissionerCountOrderByAggregateInput + _avg?: CommissionerAvgOrderByAggregateInput + _max?: CommissionerMaxOrderByAggregateInput + _min?: CommissionerMinOrderByAggregateInput + _sum?: CommissionerSumOrderByAggregateInput + } + + export type CommissionerScalarWhereWithAggregatesInput = { + AND?: CommissionerScalarWhereWithAggregatesInput | CommissionerScalarWhereWithAggregatesInput[] + OR?: CommissionerScalarWhereWithAggregatesInput[] + NOT?: CommissionerScalarWhereWithAggregatesInput | CommissionerScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Commissioner"> | string + name?: StringWithAggregatesFilter<"Commissioner"> | string + location?: StringWithAggregatesFilter<"Commissioner"> | string + phone?: StringWithAggregatesFilter<"Commissioner"> | string + email?: StringWithAggregatesFilter<"Commissioner"> | string + password?: StringWithAggregatesFilter<"Commissioner"> | string + commission_rate?: FloatWithAggregatesFilter<"Commissioner"> | number + created_at?: DateTimeWithAggregatesFilter<"Commissioner"> | Date | string + updated_at?: DateTimeWithAggregatesFilter<"Commissioner"> | Date | string + } + + export type PasswordResetWhereInput = { + AND?: PasswordResetWhereInput | PasswordResetWhereInput[] + OR?: PasswordResetWhereInput[] + NOT?: PasswordResetWhereInput | PasswordResetWhereInput[] + id?: StringFilter<"PasswordReset"> | string + commissioner_id?: StringFilter<"PasswordReset"> | string + token?: StringFilter<"PasswordReset"> | string + expires_at?: DateTimeFilter<"PasswordReset"> | Date | string + used?: BoolFilter<"PasswordReset"> | boolean + created_at?: DateTimeFilter<"PasswordReset"> | Date | string + used_at?: DateTimeNullableFilter<"PasswordReset"> | Date | string | null + commissioner?: XOR + } + + export type PasswordResetOrderByWithRelationInput = { + id?: SortOrder + commissioner_id?: SortOrder + token?: SortOrder + expires_at?: SortOrder + used?: SortOrder + created_at?: SortOrder + used_at?: SortOrderInput | SortOrder + commissioner?: CommissionerOrderByWithRelationInput + } + + export type PasswordResetWhereUniqueInput = Prisma.AtLeast<{ + id?: string + token?: string + AND?: PasswordResetWhereInput | PasswordResetWhereInput[] + OR?: PasswordResetWhereInput[] + NOT?: PasswordResetWhereInput | PasswordResetWhereInput[] + commissioner_id?: StringFilter<"PasswordReset"> | string + expires_at?: DateTimeFilter<"PasswordReset"> | Date | string + used?: BoolFilter<"PasswordReset"> | boolean + created_at?: DateTimeFilter<"PasswordReset"> | Date | string + used_at?: DateTimeNullableFilter<"PasswordReset"> | Date | string | null + commissioner?: XOR + }, "id" | "token"> + + export type PasswordResetOrderByWithAggregationInput = { + id?: SortOrder + commissioner_id?: SortOrder + token?: SortOrder + expires_at?: SortOrder + used?: SortOrder + created_at?: SortOrder + used_at?: SortOrderInput | SortOrder + _count?: PasswordResetCountOrderByAggregateInput + _max?: PasswordResetMaxOrderByAggregateInput + _min?: PasswordResetMinOrderByAggregateInput + } + + export type PasswordResetScalarWhereWithAggregatesInput = { + AND?: PasswordResetScalarWhereWithAggregatesInput | PasswordResetScalarWhereWithAggregatesInput[] + OR?: PasswordResetScalarWhereWithAggregatesInput[] + NOT?: PasswordResetScalarWhereWithAggregatesInput | PasswordResetScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"PasswordReset"> | string + commissioner_id?: StringWithAggregatesFilter<"PasswordReset"> | string + token?: StringWithAggregatesFilter<"PasswordReset"> | string + expires_at?: DateTimeWithAggregatesFilter<"PasswordReset"> | Date | string + used?: BoolWithAggregatesFilter<"PasswordReset"> | boolean + created_at?: DateTimeWithAggregatesFilter<"PasswordReset"> | Date | string + used_at?: DateTimeNullableWithAggregatesFilter<"PasswordReset"> | Date | string | null + } + + export type FarmerWhereInput = { + AND?: FarmerWhereInput | FarmerWhereInput[] + OR?: FarmerWhereInput[] + NOT?: FarmerWhereInput | FarmerWhereInput[] + id?: StringFilter<"Farmer"> | string + name?: StringFilter<"Farmer"> | string + phone?: StringFilter<"Farmer"> | string + village?: StringFilter<"Farmer"> | string + commissioner_id?: StringFilter<"Farmer"> | string + is_active?: BoolFilter<"Farmer"> | boolean + created_at?: DateTimeFilter<"Farmer"> | Date | string + updated_at?: DateTimeFilter<"Farmer"> | Date | string + auction_items?: AuctionItemListRelationFilter + bills?: BillListRelationFilter + commissioner?: XOR + } + + export type FarmerOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + village?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + auction_items?: AuctionItemOrderByRelationAggregateInput + bills?: BillOrderByRelationAggregateInput + commissioner?: CommissionerOrderByWithRelationInput + } + + export type FarmerWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: FarmerWhereInput | FarmerWhereInput[] + OR?: FarmerWhereInput[] + NOT?: FarmerWhereInput | FarmerWhereInput[] + name?: StringFilter<"Farmer"> | string + phone?: StringFilter<"Farmer"> | string + village?: StringFilter<"Farmer"> | string + commissioner_id?: StringFilter<"Farmer"> | string + is_active?: BoolFilter<"Farmer"> | boolean + created_at?: DateTimeFilter<"Farmer"> | Date | string + updated_at?: DateTimeFilter<"Farmer"> | Date | string + auction_items?: AuctionItemListRelationFilter + bills?: BillListRelationFilter + commissioner?: XOR + }, "id"> + + export type FarmerOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + village?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + _count?: FarmerCountOrderByAggregateInput + _max?: FarmerMaxOrderByAggregateInput + _min?: FarmerMinOrderByAggregateInput + } + + export type FarmerScalarWhereWithAggregatesInput = { + AND?: FarmerScalarWhereWithAggregatesInput | FarmerScalarWhereWithAggregatesInput[] + OR?: FarmerScalarWhereWithAggregatesInput[] + NOT?: FarmerScalarWhereWithAggregatesInput | FarmerScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Farmer"> | string + name?: StringWithAggregatesFilter<"Farmer"> | string + phone?: StringWithAggregatesFilter<"Farmer"> | string + village?: StringWithAggregatesFilter<"Farmer"> | string + commissioner_id?: StringWithAggregatesFilter<"Farmer"> | string + is_active?: BoolWithAggregatesFilter<"Farmer"> | boolean + created_at?: DateTimeWithAggregatesFilter<"Farmer"> | Date | string + updated_at?: DateTimeWithAggregatesFilter<"Farmer"> | Date | string + } + + export type BuyerWhereInput = { + AND?: BuyerWhereInput | BuyerWhereInput[] + OR?: BuyerWhereInput[] + NOT?: BuyerWhereInput | BuyerWhereInput[] + id?: StringFilter<"Buyer"> | string + name?: StringFilter<"Buyer"> | string + phone?: StringFilter<"Buyer"> | string + commissioner_id?: StringFilter<"Buyer"> | string + is_active?: BoolFilter<"Buyer"> | boolean + created_at?: DateTimeFilter<"Buyer"> | Date | string + updated_at?: DateTimeFilter<"Buyer"> | Date | string + auction_items?: AuctionItemListRelationFilter + commissioner?: XOR + } + + export type BuyerOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + auction_items?: AuctionItemOrderByRelationAggregateInput + commissioner?: CommissionerOrderByWithRelationInput + } + + export type BuyerWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: BuyerWhereInput | BuyerWhereInput[] + OR?: BuyerWhereInput[] + NOT?: BuyerWhereInput | BuyerWhereInput[] + name?: StringFilter<"Buyer"> | string + phone?: StringFilter<"Buyer"> | string + commissioner_id?: StringFilter<"Buyer"> | string + is_active?: BoolFilter<"Buyer"> | boolean + created_at?: DateTimeFilter<"Buyer"> | Date | string + updated_at?: DateTimeFilter<"Buyer"> | Date | string + auction_items?: AuctionItemListRelationFilter + commissioner?: XOR + }, "id"> + + export type BuyerOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + _count?: BuyerCountOrderByAggregateInput + _max?: BuyerMaxOrderByAggregateInput + _min?: BuyerMinOrderByAggregateInput + } + + export type BuyerScalarWhereWithAggregatesInput = { + AND?: BuyerScalarWhereWithAggregatesInput | BuyerScalarWhereWithAggregatesInput[] + OR?: BuyerScalarWhereWithAggregatesInput[] + NOT?: BuyerScalarWhereWithAggregatesInput | BuyerScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Buyer"> | string + name?: StringWithAggregatesFilter<"Buyer"> | string + phone?: StringWithAggregatesFilter<"Buyer"> | string + commissioner_id?: StringWithAggregatesFilter<"Buyer"> | string + is_active?: BoolWithAggregatesFilter<"Buyer"> | boolean + created_at?: DateTimeWithAggregatesFilter<"Buyer"> | Date | string + updated_at?: DateTimeWithAggregatesFilter<"Buyer"> | Date | string + } + + export type CategoryWhereInput = { + AND?: CategoryWhereInput | CategoryWhereInput[] + OR?: CategoryWhereInput[] + NOT?: CategoryWhereInput | CategoryWhereInput[] + id?: StringFilter<"Category"> | string + name?: StringFilter<"Category"> | string + created_at?: DateTimeFilter<"Category"> | Date | string + updated_at?: DateTimeFilter<"Category"> | Date | string + products?: ProductListRelationFilter + } + + export type CategoryOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + products?: ProductOrderByRelationAggregateInput + } + + export type CategoryWhereUniqueInput = Prisma.AtLeast<{ + id?: string + name?: string + AND?: CategoryWhereInput | CategoryWhereInput[] + OR?: CategoryWhereInput[] + NOT?: CategoryWhereInput | CategoryWhereInput[] + created_at?: DateTimeFilter<"Category"> | Date | string + updated_at?: DateTimeFilter<"Category"> | Date | string + products?: ProductListRelationFilter + }, "id" | "name"> + + export type CategoryOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + _count?: CategoryCountOrderByAggregateInput + _max?: CategoryMaxOrderByAggregateInput + _min?: CategoryMinOrderByAggregateInput + } + + export type CategoryScalarWhereWithAggregatesInput = { + AND?: CategoryScalarWhereWithAggregatesInput | CategoryScalarWhereWithAggregatesInput[] + OR?: CategoryScalarWhereWithAggregatesInput[] + NOT?: CategoryScalarWhereWithAggregatesInput | CategoryScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Category"> | string + name?: StringWithAggregatesFilter<"Category"> | string + created_at?: DateTimeWithAggregatesFilter<"Category"> | Date | string + updated_at?: DateTimeWithAggregatesFilter<"Category"> | Date | string + } + + export type ProductWhereInput = { + AND?: ProductWhereInput | ProductWhereInput[] + OR?: ProductWhereInput[] + NOT?: ProductWhereInput | ProductWhereInput[] + id?: StringFilter<"Product"> | string + name?: StringFilter<"Product"> | string + category_id?: StringFilter<"Product"> | string + is_active?: BoolFilter<"Product"> | boolean + created_at?: DateTimeFilter<"Product"> | Date | string + updated_at?: DateTimeFilter<"Product"> | Date | string + auction_items?: AuctionItemListRelationFilter + bills?: BillListRelationFilter + category?: XOR + } + + export type ProductOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + category_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + auction_items?: AuctionItemOrderByRelationAggregateInput + bills?: BillOrderByRelationAggregateInput + category?: CategoryOrderByWithRelationInput + } + + export type ProductWhereUniqueInput = Prisma.AtLeast<{ + id?: string + name?: string + AND?: ProductWhereInput | ProductWhereInput[] + OR?: ProductWhereInput[] + NOT?: ProductWhereInput | ProductWhereInput[] + category_id?: StringFilter<"Product"> | string + is_active?: BoolFilter<"Product"> | boolean + created_at?: DateTimeFilter<"Product"> | Date | string + updated_at?: DateTimeFilter<"Product"> | Date | string + auction_items?: AuctionItemListRelationFilter + bills?: BillListRelationFilter + category?: XOR + }, "id" | "name"> + + export type ProductOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + category_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + _count?: ProductCountOrderByAggregateInput + _max?: ProductMaxOrderByAggregateInput + _min?: ProductMinOrderByAggregateInput + } + + export type ProductScalarWhereWithAggregatesInput = { + AND?: ProductScalarWhereWithAggregatesInput | ProductScalarWhereWithAggregatesInput[] + OR?: ProductScalarWhereWithAggregatesInput[] + NOT?: ProductScalarWhereWithAggregatesInput | ProductScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Product"> | string + name?: StringWithAggregatesFilter<"Product"> | string + category_id?: StringWithAggregatesFilter<"Product"> | string + is_active?: BoolWithAggregatesFilter<"Product"> | boolean + created_at?: DateTimeWithAggregatesFilter<"Product"> | Date | string + updated_at?: DateTimeWithAggregatesFilter<"Product"> | Date | string + } + + export type AuctionSessionWhereInput = { + AND?: AuctionSessionWhereInput | AuctionSessionWhereInput[] + OR?: AuctionSessionWhereInput[] + NOT?: AuctionSessionWhereInput | AuctionSessionWhereInput[] + id?: StringFilter<"AuctionSession"> | string + date?: DateTimeFilter<"AuctionSession"> | Date | string + commissioner_id?: StringFilter<"AuctionSession"> | string + status?: EnumSessionStatusFilter<"AuctionSession"> | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFilter<"AuctionSession"> | $Enums.SessionPaymentStatus + created_at?: DateTimeFilter<"AuctionSession"> | Date | string + updated_at?: DateTimeFilter<"AuctionSession"> | Date | string + auction_items?: AuctionItemListRelationFilter + commissioner?: XOR + } + + export type AuctionSessionOrderByWithRelationInput = { + id?: SortOrder + date?: SortOrder + commissioner_id?: SortOrder + status?: SortOrder + payment_status?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + auction_items?: AuctionItemOrderByRelationAggregateInput + commissioner?: CommissionerOrderByWithRelationInput + } + + export type AuctionSessionWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: AuctionSessionWhereInput | AuctionSessionWhereInput[] + OR?: AuctionSessionWhereInput[] + NOT?: AuctionSessionWhereInput | AuctionSessionWhereInput[] + date?: DateTimeFilter<"AuctionSession"> | Date | string + commissioner_id?: StringFilter<"AuctionSession"> | string + status?: EnumSessionStatusFilter<"AuctionSession"> | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFilter<"AuctionSession"> | $Enums.SessionPaymentStatus + created_at?: DateTimeFilter<"AuctionSession"> | Date | string + updated_at?: DateTimeFilter<"AuctionSession"> | Date | string + auction_items?: AuctionItemListRelationFilter + commissioner?: XOR + }, "id"> + + export type AuctionSessionOrderByWithAggregationInput = { + id?: SortOrder + date?: SortOrder + commissioner_id?: SortOrder + status?: SortOrder + payment_status?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + _count?: AuctionSessionCountOrderByAggregateInput + _max?: AuctionSessionMaxOrderByAggregateInput + _min?: AuctionSessionMinOrderByAggregateInput + } + + export type AuctionSessionScalarWhereWithAggregatesInput = { + AND?: AuctionSessionScalarWhereWithAggregatesInput | AuctionSessionScalarWhereWithAggregatesInput[] + OR?: AuctionSessionScalarWhereWithAggregatesInput[] + NOT?: AuctionSessionScalarWhereWithAggregatesInput | AuctionSessionScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"AuctionSession"> | string + date?: DateTimeWithAggregatesFilter<"AuctionSession"> | Date | string + commissioner_id?: StringWithAggregatesFilter<"AuctionSession"> | string + status?: EnumSessionStatusWithAggregatesFilter<"AuctionSession"> | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusWithAggregatesFilter<"AuctionSession"> | $Enums.SessionPaymentStatus + created_at?: DateTimeWithAggregatesFilter<"AuctionSession"> | Date | string + updated_at?: DateTimeWithAggregatesFilter<"AuctionSession"> | Date | string + } + + export type AuctionItemWhereInput = { + AND?: AuctionItemWhereInput | AuctionItemWhereInput[] + OR?: AuctionItemWhereInput[] + NOT?: AuctionItemWhereInput | AuctionItemWhereInput[] + id?: StringFilter<"AuctionItem"> | string + session_id?: StringFilter<"AuctionItem"> | string + farmer_id?: StringFilter<"AuctionItem"> | string + product_id?: StringFilter<"AuctionItem"> | string + unit?: EnumUnitFilter<"AuctionItem"> | $Enums.Unit + quantity?: FloatFilter<"AuctionItem"> | number + buyer_id?: StringNullableFilter<"AuctionItem"> | string | null + bill_id?: StringNullableFilter<"AuctionItem"> | string | null + created_at?: DateTimeFilter<"AuctionItem"> | Date | string + updated_at?: DateTimeFilter<"AuctionItem"> | Date | string + rate?: FloatNullableFilter<"AuctionItem"> | number | null + bill?: XOR | null + buyer?: XOR | null + farmer?: XOR + product?: XOR + session?: XOR + } + + export type AuctionItemOrderByWithRelationInput = { + id?: SortOrder + session_id?: SortOrder + farmer_id?: SortOrder + product_id?: SortOrder + unit?: SortOrder + quantity?: SortOrder + buyer_id?: SortOrderInput | SortOrder + bill_id?: SortOrderInput | SortOrder + created_at?: SortOrder + updated_at?: SortOrder + rate?: SortOrderInput | SortOrder + bill?: BillOrderByWithRelationInput + buyer?: BuyerOrderByWithRelationInput + farmer?: FarmerOrderByWithRelationInput + product?: ProductOrderByWithRelationInput + session?: AuctionSessionOrderByWithRelationInput + } + + export type AuctionItemWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: AuctionItemWhereInput | AuctionItemWhereInput[] + OR?: AuctionItemWhereInput[] + NOT?: AuctionItemWhereInput | AuctionItemWhereInput[] + session_id?: StringFilter<"AuctionItem"> | string + farmer_id?: StringFilter<"AuctionItem"> | string + product_id?: StringFilter<"AuctionItem"> | string + unit?: EnumUnitFilter<"AuctionItem"> | $Enums.Unit + quantity?: FloatFilter<"AuctionItem"> | number + buyer_id?: StringNullableFilter<"AuctionItem"> | string | null + bill_id?: StringNullableFilter<"AuctionItem"> | string | null + created_at?: DateTimeFilter<"AuctionItem"> | Date | string + updated_at?: DateTimeFilter<"AuctionItem"> | Date | string + rate?: FloatNullableFilter<"AuctionItem"> | number | null + bill?: XOR | null + buyer?: XOR | null + farmer?: XOR + product?: XOR + session?: XOR + }, "id"> + + export type AuctionItemOrderByWithAggregationInput = { + id?: SortOrder + session_id?: SortOrder + farmer_id?: SortOrder + product_id?: SortOrder + unit?: SortOrder + quantity?: SortOrder + buyer_id?: SortOrderInput | SortOrder + bill_id?: SortOrderInput | SortOrder + created_at?: SortOrder + updated_at?: SortOrder + rate?: SortOrderInput | SortOrder + _count?: AuctionItemCountOrderByAggregateInput + _avg?: AuctionItemAvgOrderByAggregateInput + _max?: AuctionItemMaxOrderByAggregateInput + _min?: AuctionItemMinOrderByAggregateInput + _sum?: AuctionItemSumOrderByAggregateInput + } + + export type AuctionItemScalarWhereWithAggregatesInput = { + AND?: AuctionItemScalarWhereWithAggregatesInput | AuctionItemScalarWhereWithAggregatesInput[] + OR?: AuctionItemScalarWhereWithAggregatesInput[] + NOT?: AuctionItemScalarWhereWithAggregatesInput | AuctionItemScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"AuctionItem"> | string + session_id?: StringWithAggregatesFilter<"AuctionItem"> | string + farmer_id?: StringWithAggregatesFilter<"AuctionItem"> | string + product_id?: StringWithAggregatesFilter<"AuctionItem"> | string + unit?: EnumUnitWithAggregatesFilter<"AuctionItem"> | $Enums.Unit + quantity?: FloatWithAggregatesFilter<"AuctionItem"> | number + buyer_id?: StringNullableWithAggregatesFilter<"AuctionItem"> | string | null + bill_id?: StringNullableWithAggregatesFilter<"AuctionItem"> | string | null + created_at?: DateTimeWithAggregatesFilter<"AuctionItem"> | Date | string + updated_at?: DateTimeWithAggregatesFilter<"AuctionItem"> | Date | string + rate?: FloatNullableWithAggregatesFilter<"AuctionItem"> | number | null + } + + export type BillWhereInput = { + AND?: BillWhereInput | BillWhereInput[] + OR?: BillWhereInput[] + NOT?: BillWhereInput | BillWhereInput[] + id?: StringFilter<"Bill"> | string + bill_number?: StringFilter<"Bill"> | string + farmer_id?: StringFilter<"Bill"> | string + commissioner_id?: StringFilter<"Bill"> | string + product_id?: StringFilter<"Bill"> | string + session_id?: StringFilter<"Bill"> | string + total_quantity?: FloatFilter<"Bill"> | number + gross_amount?: FloatFilter<"Bill"> | number + commission_rate?: FloatFilter<"Bill"> | number + commission_amount?: FloatFilter<"Bill"> | number + other_charges?: JsonFilter<"Bill"> + net_payable?: FloatFilter<"Bill"> | number + payment_status?: EnumBillPaymentStatusFilter<"Bill"> | $Enums.BillPaymentStatus + payment_method?: StringNullableFilter<"Bill"> | string | null + payment_date?: DateTimeNullableFilter<"Bill"> | Date | string | null + notes?: StringNullableFilter<"Bill"> | string | null + created_at?: DateTimeFilter<"Bill"> | Date | string + updated_at?: DateTimeFilter<"Bill"> | Date | string + auction_items?: AuctionItemListRelationFilter + commissioner?: XOR + farmer?: XOR + product?: XOR + } + + export type BillOrderByWithRelationInput = { + id?: SortOrder + bill_number?: SortOrder + farmer_id?: SortOrder + commissioner_id?: SortOrder + product_id?: SortOrder + session_id?: SortOrder + total_quantity?: SortOrder + gross_amount?: SortOrder + commission_rate?: SortOrder + commission_amount?: SortOrder + other_charges?: SortOrder + net_payable?: SortOrder + payment_status?: SortOrder + payment_method?: SortOrderInput | SortOrder + payment_date?: SortOrderInput | SortOrder + notes?: SortOrderInput | SortOrder + created_at?: SortOrder + updated_at?: SortOrder + auction_items?: AuctionItemOrderByRelationAggregateInput + commissioner?: CommissionerOrderByWithRelationInput + farmer?: FarmerOrderByWithRelationInput + product?: ProductOrderByWithRelationInput + } + + export type BillWhereUniqueInput = Prisma.AtLeast<{ + id?: string + bill_number?: string + farmer_id_product_id_session_id?: BillFarmer_idProduct_idSession_idCompoundUniqueInput + AND?: BillWhereInput | BillWhereInput[] + OR?: BillWhereInput[] + NOT?: BillWhereInput | BillWhereInput[] + farmer_id?: StringFilter<"Bill"> | string + commissioner_id?: StringFilter<"Bill"> | string + product_id?: StringFilter<"Bill"> | string + session_id?: StringFilter<"Bill"> | string + total_quantity?: FloatFilter<"Bill"> | number + gross_amount?: FloatFilter<"Bill"> | number + commission_rate?: FloatFilter<"Bill"> | number + commission_amount?: FloatFilter<"Bill"> | number + other_charges?: JsonFilter<"Bill"> + net_payable?: FloatFilter<"Bill"> | number + payment_status?: EnumBillPaymentStatusFilter<"Bill"> | $Enums.BillPaymentStatus + payment_method?: StringNullableFilter<"Bill"> | string | null + payment_date?: DateTimeNullableFilter<"Bill"> | Date | string | null + notes?: StringNullableFilter<"Bill"> | string | null + created_at?: DateTimeFilter<"Bill"> | Date | string + updated_at?: DateTimeFilter<"Bill"> | Date | string + auction_items?: AuctionItemListRelationFilter + commissioner?: XOR + farmer?: XOR + product?: XOR + }, "id" | "bill_number" | "farmer_id_product_id_session_id"> + + export type BillOrderByWithAggregationInput = { + id?: SortOrder + bill_number?: SortOrder + farmer_id?: SortOrder + commissioner_id?: SortOrder + product_id?: SortOrder + session_id?: SortOrder + total_quantity?: SortOrder + gross_amount?: SortOrder + commission_rate?: SortOrder + commission_amount?: SortOrder + other_charges?: SortOrder + net_payable?: SortOrder + payment_status?: SortOrder + payment_method?: SortOrderInput | SortOrder + payment_date?: SortOrderInput | SortOrder + notes?: SortOrderInput | SortOrder + created_at?: SortOrder + updated_at?: SortOrder + _count?: BillCountOrderByAggregateInput + _avg?: BillAvgOrderByAggregateInput + _max?: BillMaxOrderByAggregateInput + _min?: BillMinOrderByAggregateInput + _sum?: BillSumOrderByAggregateInput + } + + export type BillScalarWhereWithAggregatesInput = { + AND?: BillScalarWhereWithAggregatesInput | BillScalarWhereWithAggregatesInput[] + OR?: BillScalarWhereWithAggregatesInput[] + NOT?: BillScalarWhereWithAggregatesInput | BillScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Bill"> | string + bill_number?: StringWithAggregatesFilter<"Bill"> | string + farmer_id?: StringWithAggregatesFilter<"Bill"> | string + commissioner_id?: StringWithAggregatesFilter<"Bill"> | string + product_id?: StringWithAggregatesFilter<"Bill"> | string + session_id?: StringWithAggregatesFilter<"Bill"> | string + total_quantity?: FloatWithAggregatesFilter<"Bill"> | number + gross_amount?: FloatWithAggregatesFilter<"Bill"> | number + commission_rate?: FloatWithAggregatesFilter<"Bill"> | number + commission_amount?: FloatWithAggregatesFilter<"Bill"> | number + other_charges?: JsonWithAggregatesFilter<"Bill"> + net_payable?: FloatWithAggregatesFilter<"Bill"> | number + payment_status?: EnumBillPaymentStatusWithAggregatesFilter<"Bill"> | $Enums.BillPaymentStatus + payment_method?: StringNullableWithAggregatesFilter<"Bill"> | string | null + payment_date?: DateTimeNullableWithAggregatesFilter<"Bill"> | Date | string | null + notes?: StringNullableWithAggregatesFilter<"Bill"> | string | null + created_at?: DateTimeWithAggregatesFilter<"Bill"> | Date | string + updated_at?: DateTimeWithAggregatesFilter<"Bill"> | Date | string + } + + export type CommissionerCreateInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionCreateNestedManyWithoutCommissionerInput + bills?: BillCreateNestedManyWithoutCommissionerInput + buyers?: BuyerCreateNestedManyWithoutCommissionerInput + farmers?: FarmerCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerUncheckedCreateInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionUncheckedCreateNestedManyWithoutCommissionerInput + bills?: BillUncheckedCreateNestedManyWithoutCommissionerInput + buyers?: BuyerUncheckedCreateNestedManyWithoutCommissionerInput + farmers?: FarmerUncheckedCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetUncheckedCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUpdateManyWithoutCommissionerNestedInput + bills?: BillUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUpdateManyWithoutCommissionerNestedInput + } + + export type CommissionerUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUncheckedUpdateManyWithoutCommissionerNestedInput + bills?: BillUncheckedUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUncheckedUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUncheckedUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUncheckedUpdateManyWithoutCommissionerNestedInput + } + + export type CommissionerCreateManyInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + } + + export type CommissionerUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type CommissionerUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PasswordResetCreateInput = { + id?: string + token: string + expires_at: Date | string + used?: boolean + created_at?: Date | string + used_at?: Date | string | null + commissioner: CommissionerCreateNestedOneWithoutPassword_resetsInput + } + + export type PasswordResetUncheckedCreateInput = { + id?: string + commissioner_id: string + token: string + expires_at: Date | string + used?: boolean + created_at?: Date | string + used_at?: Date | string | null + } + + export type PasswordResetUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + token?: StringFieldUpdateOperationsInput | string + expires_at?: DateTimeFieldUpdateOperationsInput | Date | string + used?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + used_at?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + commissioner?: CommissionerUpdateOneRequiredWithoutPassword_resetsNestedInput + } + + export type PasswordResetUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + token?: StringFieldUpdateOperationsInput | string + expires_at?: DateTimeFieldUpdateOperationsInput | Date | string + used?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + used_at?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type PasswordResetCreateManyInput = { + id?: string + commissioner_id: string + token: string + expires_at: Date | string + used?: boolean + created_at?: Date | string + used_at?: Date | string | null + } + + export type PasswordResetUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + token?: StringFieldUpdateOperationsInput | string + expires_at?: DateTimeFieldUpdateOperationsInput | Date | string + used?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + used_at?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type PasswordResetUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + token?: StringFieldUpdateOperationsInput | string + expires_at?: DateTimeFieldUpdateOperationsInput | Date | string + used?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + used_at?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type FarmerCreateInput = { + id?: string + name: string + phone: string + village: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutFarmerInput + bills?: BillCreateNestedManyWithoutFarmerInput + commissioner: CommissionerCreateNestedOneWithoutFarmersInput + } + + export type FarmerUncheckedCreateInput = { + id?: string + name: string + phone: string + village: string + commissioner_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutFarmerInput + bills?: BillUncheckedCreateNestedManyWithoutFarmerInput + } + + export type FarmerUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutFarmerNestedInput + bills?: BillUpdateManyWithoutFarmerNestedInput + commissioner?: CommissionerUpdateOneRequiredWithoutFarmersNestedInput + } + + export type FarmerUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutFarmerNestedInput + bills?: BillUncheckedUpdateManyWithoutFarmerNestedInput + } + + export type FarmerCreateManyInput = { + id?: string + name: string + phone: string + village: string + commissioner_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + } + + export type FarmerUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type FarmerUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type BuyerCreateInput = { + id?: string + name: string + phone: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutBuyerInput + commissioner: CommissionerCreateNestedOneWithoutBuyersInput + } + + export type BuyerUncheckedCreateInput = { + id?: string + name: string + phone: string + commissioner_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutBuyerInput + } + + export type BuyerUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutBuyerNestedInput + commissioner?: CommissionerUpdateOneRequiredWithoutBuyersNestedInput + } + + export type BuyerUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutBuyerNestedInput + } + + export type BuyerCreateManyInput = { + id?: string + name: string + phone: string + commissioner_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + } + + export type BuyerUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type BuyerUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type CategoryCreateInput = { + id?: string + name: string + created_at?: Date | string + updated_at?: Date | string + products?: ProductCreateNestedManyWithoutCategoryInput + } + + export type CategoryUncheckedCreateInput = { + id?: string + name: string + created_at?: Date | string + updated_at?: Date | string + products?: ProductUncheckedCreateNestedManyWithoutCategoryInput + } + + export type CategoryUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + products?: ProductUpdateManyWithoutCategoryNestedInput + } + + export type CategoryUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + products?: ProductUncheckedUpdateManyWithoutCategoryNestedInput + } + + export type CategoryCreateManyInput = { + id?: string + name: string + created_at?: Date | string + updated_at?: Date | string + } + + export type CategoryUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type CategoryUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type ProductCreateInput = { + id?: string + name: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutProductInput + bills?: BillCreateNestedManyWithoutProductInput + category: CategoryCreateNestedOneWithoutProductsInput + } + + export type ProductUncheckedCreateInput = { + id?: string + name: string + category_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutProductInput + bills?: BillUncheckedCreateNestedManyWithoutProductInput + } + + export type ProductUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutProductNestedInput + bills?: BillUpdateManyWithoutProductNestedInput + category?: CategoryUpdateOneRequiredWithoutProductsNestedInput + } + + export type ProductUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + category_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutProductNestedInput + bills?: BillUncheckedUpdateManyWithoutProductNestedInput + } + + export type ProductCreateManyInput = { + id?: string + name: string + category_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + } + + export type ProductUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type ProductUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + category_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type AuctionSessionCreateInput = { + id?: string + date?: Date | string + status?: $Enums.SessionStatus + payment_status?: $Enums.SessionPaymentStatus + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutSessionInput + commissioner: CommissionerCreateNestedOneWithoutAuction_sessionsInput + } + + export type AuctionSessionUncheckedCreateInput = { + id?: string + date?: Date | string + commissioner_id: string + status?: $Enums.SessionStatus + payment_status?: $Enums.SessionPaymentStatus + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutSessionInput + } + + export type AuctionSessionUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + status?: EnumSessionStatusFieldUpdateOperationsInput | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFieldUpdateOperationsInput | $Enums.SessionPaymentStatus + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutSessionNestedInput + commissioner?: CommissionerUpdateOneRequiredWithoutAuction_sessionsNestedInput + } + + export type AuctionSessionUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + commissioner_id?: StringFieldUpdateOperationsInput | string + status?: EnumSessionStatusFieldUpdateOperationsInput | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFieldUpdateOperationsInput | $Enums.SessionPaymentStatus + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutSessionNestedInput + } + + export type AuctionSessionCreateManyInput = { + id?: string + date?: Date | string + commissioner_id: string + status?: $Enums.SessionStatus + payment_status?: $Enums.SessionPaymentStatus + created_at?: Date | string + updated_at?: Date | string + } + + export type AuctionSessionUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + status?: EnumSessionStatusFieldUpdateOperationsInput | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFieldUpdateOperationsInput | $Enums.SessionPaymentStatus + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type AuctionSessionUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + commissioner_id?: StringFieldUpdateOperationsInput | string + status?: EnumSessionStatusFieldUpdateOperationsInput | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFieldUpdateOperationsInput | $Enums.SessionPaymentStatus + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type AuctionItemCreateInput = { + id?: string + unit: $Enums.Unit + quantity: number + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + bill?: BillCreateNestedOneWithoutAuction_itemsInput + buyer?: BuyerCreateNestedOneWithoutAuction_itemsInput + farmer: FarmerCreateNestedOneWithoutAuction_itemsInput + product: ProductCreateNestedOneWithoutAuction_itemsInput + session: AuctionSessionCreateNestedOneWithoutAuction_itemsInput + } + + export type AuctionItemUncheckedCreateInput = { + id?: string + session_id: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + bill?: BillUpdateOneWithoutAuction_itemsNestedInput + buyer?: BuyerUpdateOneWithoutAuction_itemsNestedInput + farmer?: FarmerUpdateOneRequiredWithoutAuction_itemsNestedInput + product?: ProductUpdateOneRequiredWithoutAuction_itemsNestedInput + session?: AuctionSessionUpdateOneRequiredWithoutAuction_itemsNestedInput + } + + export type AuctionItemUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type AuctionItemCreateManyInput = { + id?: string + session_id: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type AuctionItemUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type BillCreateInput = { + id?: string + bill_number: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutBillInput + commissioner: CommissionerCreateNestedOneWithoutBillsInput + farmer: FarmerCreateNestedOneWithoutBillsInput + product: ProductCreateNestedOneWithoutBillsInput + } + + export type BillUncheckedCreateInput = { + id?: string + bill_number: string + farmer_id: string + commissioner_id: string + product_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutBillInput + } + + export type BillUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutBillNestedInput + commissioner?: CommissionerUpdateOneRequiredWithoutBillsNestedInput + farmer?: FarmerUpdateOneRequiredWithoutBillsNestedInput + product?: ProductUpdateOneRequiredWithoutBillsNestedInput + } + + export type BillUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutBillNestedInput + } + + export type BillCreateManyInput = { + id?: string + bill_number: string + farmer_id: string + commissioner_id: string + product_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + } + + export type BillUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type BillUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type StringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringFilter<$PrismaModel> | string + } + + export type FloatFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatFilter<$PrismaModel> | number + } + + export type DateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + + export type AuctionSessionListRelationFilter = { + every?: AuctionSessionWhereInput + some?: AuctionSessionWhereInput + none?: AuctionSessionWhereInput + } + + export type BillListRelationFilter = { + every?: BillWhereInput + some?: BillWhereInput + none?: BillWhereInput + } + + export type BuyerListRelationFilter = { + every?: BuyerWhereInput + some?: BuyerWhereInput + none?: BuyerWhereInput + } + + export type FarmerListRelationFilter = { + every?: FarmerWhereInput + some?: FarmerWhereInput + none?: FarmerWhereInput + } + + export type PasswordResetListRelationFilter = { + every?: PasswordResetWhereInput + some?: PasswordResetWhereInput + none?: PasswordResetWhereInput + } + + export type AuctionSessionOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type BillOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type BuyerOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type FarmerOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type PasswordResetOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type CommissionerCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + location?: SortOrder + phone?: SortOrder + email?: SortOrder + password?: SortOrder + commission_rate?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type CommissionerAvgOrderByAggregateInput = { + commission_rate?: SortOrder + } + + export type CommissionerMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + location?: SortOrder + phone?: SortOrder + email?: SortOrder + password?: SortOrder + commission_rate?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type CommissionerMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + location?: SortOrder + phone?: SortOrder + email?: SortOrder + password?: SortOrder + commission_rate?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type CommissionerSumOrderByAggregateInput = { + commission_rate?: SortOrder + } + + export type StringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + + export type FloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedFloatFilter<$PrismaModel> + _min?: NestedFloatFilter<$PrismaModel> + _max?: NestedFloatFilter<$PrismaModel> + } + + export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + + export type BoolFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolFilter<$PrismaModel> | boolean + } + + export type DateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + + export type CommissionerScalarRelationFilter = { + is?: CommissionerWhereInput + isNot?: CommissionerWhereInput + } + + export type SortOrderInput = { + sort: SortOrder + nulls?: NullsOrder + } + + export type PasswordResetCountOrderByAggregateInput = { + id?: SortOrder + commissioner_id?: SortOrder + token?: SortOrder + expires_at?: SortOrder + used?: SortOrder + created_at?: SortOrder + used_at?: SortOrder + } + + export type PasswordResetMaxOrderByAggregateInput = { + id?: SortOrder + commissioner_id?: SortOrder + token?: SortOrder + expires_at?: SortOrder + used?: SortOrder + created_at?: SortOrder + used_at?: SortOrder + } + + export type PasswordResetMinOrderByAggregateInput = { + id?: SortOrder + commissioner_id?: SortOrder + token?: SortOrder + expires_at?: SortOrder + used?: SortOrder + created_at?: SortOrder + used_at?: SortOrder + } + + export type BoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedBoolFilter<$PrismaModel> + _max?: NestedBoolFilter<$PrismaModel> + } + + export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> + } + + export type AuctionItemListRelationFilter = { + every?: AuctionItemWhereInput + some?: AuctionItemWhereInput + none?: AuctionItemWhereInput + } + + export type AuctionItemOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type FarmerCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + village?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type FarmerMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + village?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type FarmerMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + village?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type BuyerCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type BuyerMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type BuyerMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + phone?: SortOrder + commissioner_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type ProductListRelationFilter = { + every?: ProductWhereInput + some?: ProductWhereInput + none?: ProductWhereInput + } + + export type ProductOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type CategoryCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type CategoryMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type CategoryMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type CategoryScalarRelationFilter = { + is?: CategoryWhereInput + isNot?: CategoryWhereInput + } + + export type ProductCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + category_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type ProductMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + category_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type ProductMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + category_id?: SortOrder + is_active?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type EnumSessionStatusFilter<$PrismaModel = never> = { + equals?: $Enums.SessionStatus | EnumSessionStatusFieldRefInput<$PrismaModel> + in?: $Enums.SessionStatus[] | ListEnumSessionStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.SessionStatus[] | ListEnumSessionStatusFieldRefInput<$PrismaModel> + not?: NestedEnumSessionStatusFilter<$PrismaModel> | $Enums.SessionStatus + } + + export type EnumSessionPaymentStatusFilter<$PrismaModel = never> = { + equals?: $Enums.SessionPaymentStatus | EnumSessionPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.SessionPaymentStatus[] | ListEnumSessionPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.SessionPaymentStatus[] | ListEnumSessionPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumSessionPaymentStatusFilter<$PrismaModel> | $Enums.SessionPaymentStatus + } + + export type AuctionSessionCountOrderByAggregateInput = { + id?: SortOrder + date?: SortOrder + commissioner_id?: SortOrder + status?: SortOrder + payment_status?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type AuctionSessionMaxOrderByAggregateInput = { + id?: SortOrder + date?: SortOrder + commissioner_id?: SortOrder + status?: SortOrder + payment_status?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type AuctionSessionMinOrderByAggregateInput = { + id?: SortOrder + date?: SortOrder + commissioner_id?: SortOrder + status?: SortOrder + payment_status?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type EnumSessionStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.SessionStatus | EnumSessionStatusFieldRefInput<$PrismaModel> + in?: $Enums.SessionStatus[] | ListEnumSessionStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.SessionStatus[] | ListEnumSessionStatusFieldRefInput<$PrismaModel> + not?: NestedEnumSessionStatusWithAggregatesFilter<$PrismaModel> | $Enums.SessionStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumSessionStatusFilter<$PrismaModel> + _max?: NestedEnumSessionStatusFilter<$PrismaModel> + } + + export type EnumSessionPaymentStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.SessionPaymentStatus | EnumSessionPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.SessionPaymentStatus[] | ListEnumSessionPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.SessionPaymentStatus[] | ListEnumSessionPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumSessionPaymentStatusWithAggregatesFilter<$PrismaModel> | $Enums.SessionPaymentStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumSessionPaymentStatusFilter<$PrismaModel> + _max?: NestedEnumSessionPaymentStatusFilter<$PrismaModel> + } + + export type EnumUnitFilter<$PrismaModel = never> = { + equals?: $Enums.Unit | EnumUnitFieldRefInput<$PrismaModel> + in?: $Enums.Unit[] | ListEnumUnitFieldRefInput<$PrismaModel> + notIn?: $Enums.Unit[] | ListEnumUnitFieldRefInput<$PrismaModel> + not?: NestedEnumUnitFilter<$PrismaModel> | $Enums.Unit + } + + export type StringNullableFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableFilter<$PrismaModel> | string | null + } + + export type FloatNullableFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableFilter<$PrismaModel> | number | null + } + + export type BillNullableScalarRelationFilter = { + is?: BillWhereInput | null + isNot?: BillWhereInput | null + } + + export type BuyerNullableScalarRelationFilter = { + is?: BuyerWhereInput | null + isNot?: BuyerWhereInput | null + } + + export type FarmerScalarRelationFilter = { + is?: FarmerWhereInput + isNot?: FarmerWhereInput + } + + export type ProductScalarRelationFilter = { + is?: ProductWhereInput + isNot?: ProductWhereInput + } + + export type AuctionSessionScalarRelationFilter = { + is?: AuctionSessionWhereInput + isNot?: AuctionSessionWhereInput + } + + export type AuctionItemCountOrderByAggregateInput = { + id?: SortOrder + session_id?: SortOrder + farmer_id?: SortOrder + product_id?: SortOrder + unit?: SortOrder + quantity?: SortOrder + buyer_id?: SortOrder + bill_id?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + rate?: SortOrder + } + + export type AuctionItemAvgOrderByAggregateInput = { + quantity?: SortOrder + rate?: SortOrder + } + + export type AuctionItemMaxOrderByAggregateInput = { + id?: SortOrder + session_id?: SortOrder + farmer_id?: SortOrder + product_id?: SortOrder + unit?: SortOrder + quantity?: SortOrder + buyer_id?: SortOrder + bill_id?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + rate?: SortOrder + } + + export type AuctionItemMinOrderByAggregateInput = { + id?: SortOrder + session_id?: SortOrder + farmer_id?: SortOrder + product_id?: SortOrder + unit?: SortOrder + quantity?: SortOrder + buyer_id?: SortOrder + bill_id?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + rate?: SortOrder + } + + export type AuctionItemSumOrderByAggregateInput = { + quantity?: SortOrder + rate?: SortOrder + } + + export type EnumUnitWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Unit | EnumUnitFieldRefInput<$PrismaModel> + in?: $Enums.Unit[] | ListEnumUnitFieldRefInput<$PrismaModel> + notIn?: $Enums.Unit[] | ListEnumUnitFieldRefInput<$PrismaModel> + not?: NestedEnumUnitWithAggregatesFilter<$PrismaModel> | $Enums.Unit + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumUnitFilter<$PrismaModel> + _max?: NestedEnumUnitFilter<$PrismaModel> + } + + export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedStringNullableFilter<$PrismaModel> + _max?: NestedStringNullableFilter<$PrismaModel> + } + + export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedFloatNullableFilter<$PrismaModel> + _min?: NestedFloatNullableFilter<$PrismaModel> + _max?: NestedFloatNullableFilter<$PrismaModel> + } + export type JsonFilter<$PrismaModel = never> = + | PatchUndefined< + Either>, Exclude>, 'path'>>, + Required> + > + | OptionalFlat>, 'path'>> + + export type JsonFilterBase<$PrismaModel = never> = { + equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + path?: string[] + mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | StringFieldRefInput<$PrismaModel> + string_starts_with?: string | StringFieldRefInput<$PrismaModel> + string_ends_with?: string | StringFieldRefInput<$PrismaModel> + array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + } + + export type EnumBillPaymentStatusFilter<$PrismaModel = never> = { + equals?: $Enums.BillPaymentStatus | EnumBillPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.BillPaymentStatus[] | ListEnumBillPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.BillPaymentStatus[] | ListEnumBillPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumBillPaymentStatusFilter<$PrismaModel> | $Enums.BillPaymentStatus + } + + export type BillFarmer_idProduct_idSession_idCompoundUniqueInput = { + farmer_id: string + product_id: string + session_id: string + } + + export type BillCountOrderByAggregateInput = { + id?: SortOrder + bill_number?: SortOrder + farmer_id?: SortOrder + commissioner_id?: SortOrder + product_id?: SortOrder + session_id?: SortOrder + total_quantity?: SortOrder + gross_amount?: SortOrder + commission_rate?: SortOrder + commission_amount?: SortOrder + other_charges?: SortOrder + net_payable?: SortOrder + payment_status?: SortOrder + payment_method?: SortOrder + payment_date?: SortOrder + notes?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type BillAvgOrderByAggregateInput = { + total_quantity?: SortOrder + gross_amount?: SortOrder + commission_rate?: SortOrder + commission_amount?: SortOrder + net_payable?: SortOrder + } + + export type BillMaxOrderByAggregateInput = { + id?: SortOrder + bill_number?: SortOrder + farmer_id?: SortOrder + commissioner_id?: SortOrder + product_id?: SortOrder + session_id?: SortOrder + total_quantity?: SortOrder + gross_amount?: SortOrder + commission_rate?: SortOrder + commission_amount?: SortOrder + net_payable?: SortOrder + payment_status?: SortOrder + payment_method?: SortOrder + payment_date?: SortOrder + notes?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type BillMinOrderByAggregateInput = { + id?: SortOrder + bill_number?: SortOrder + farmer_id?: SortOrder + commissioner_id?: SortOrder + product_id?: SortOrder + session_id?: SortOrder + total_quantity?: SortOrder + gross_amount?: SortOrder + commission_rate?: SortOrder + commission_amount?: SortOrder + net_payable?: SortOrder + payment_status?: SortOrder + payment_method?: SortOrder + payment_date?: SortOrder + notes?: SortOrder + created_at?: SortOrder + updated_at?: SortOrder + } + + export type BillSumOrderByAggregateInput = { + total_quantity?: SortOrder + gross_amount?: SortOrder + commission_rate?: SortOrder + commission_amount?: SortOrder + net_payable?: SortOrder + } + export type JsonWithAggregatesFilter<$PrismaModel = never> = + | PatchUndefined< + Either>, Exclude>, 'path'>>, + Required> + > + | OptionalFlat>, 'path'>> + + export type JsonWithAggregatesFilterBase<$PrismaModel = never> = { + equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + path?: string[] + mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | StringFieldRefInput<$PrismaModel> + string_starts_with?: string | StringFieldRefInput<$PrismaModel> + string_ends_with?: string | StringFieldRefInput<$PrismaModel> + array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedJsonFilter<$PrismaModel> + _max?: NestedJsonFilter<$PrismaModel> + } + + export type EnumBillPaymentStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.BillPaymentStatus | EnumBillPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.BillPaymentStatus[] | ListEnumBillPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.BillPaymentStatus[] | ListEnumBillPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumBillPaymentStatusWithAggregatesFilter<$PrismaModel> | $Enums.BillPaymentStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumBillPaymentStatusFilter<$PrismaModel> + _max?: NestedEnumBillPaymentStatusFilter<$PrismaModel> + } + + export type AuctionSessionCreateNestedManyWithoutCommissionerInput = { + create?: XOR | AuctionSessionCreateWithoutCommissionerInput[] | AuctionSessionUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: AuctionSessionCreateOrConnectWithoutCommissionerInput | AuctionSessionCreateOrConnectWithoutCommissionerInput[] + createMany?: AuctionSessionCreateManyCommissionerInputEnvelope + connect?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + } + + export type BillCreateNestedManyWithoutCommissionerInput = { + create?: XOR | BillCreateWithoutCommissionerInput[] | BillUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: BillCreateOrConnectWithoutCommissionerInput | BillCreateOrConnectWithoutCommissionerInput[] + createMany?: BillCreateManyCommissionerInputEnvelope + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + } + + export type BuyerCreateNestedManyWithoutCommissionerInput = { + create?: XOR | BuyerCreateWithoutCommissionerInput[] | BuyerUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: BuyerCreateOrConnectWithoutCommissionerInput | BuyerCreateOrConnectWithoutCommissionerInput[] + createMany?: BuyerCreateManyCommissionerInputEnvelope + connect?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + } + + export type FarmerCreateNestedManyWithoutCommissionerInput = { + create?: XOR | FarmerCreateWithoutCommissionerInput[] | FarmerUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: FarmerCreateOrConnectWithoutCommissionerInput | FarmerCreateOrConnectWithoutCommissionerInput[] + createMany?: FarmerCreateManyCommissionerInputEnvelope + connect?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + } + + export type PasswordResetCreateNestedManyWithoutCommissionerInput = { + create?: XOR | PasswordResetCreateWithoutCommissionerInput[] | PasswordResetUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: PasswordResetCreateOrConnectWithoutCommissionerInput | PasswordResetCreateOrConnectWithoutCommissionerInput[] + createMany?: PasswordResetCreateManyCommissionerInputEnvelope + connect?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + } + + export type AuctionSessionUncheckedCreateNestedManyWithoutCommissionerInput = { + create?: XOR | AuctionSessionCreateWithoutCommissionerInput[] | AuctionSessionUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: AuctionSessionCreateOrConnectWithoutCommissionerInput | AuctionSessionCreateOrConnectWithoutCommissionerInput[] + createMany?: AuctionSessionCreateManyCommissionerInputEnvelope + connect?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + } + + export type BillUncheckedCreateNestedManyWithoutCommissionerInput = { + create?: XOR | BillCreateWithoutCommissionerInput[] | BillUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: BillCreateOrConnectWithoutCommissionerInput | BillCreateOrConnectWithoutCommissionerInput[] + createMany?: BillCreateManyCommissionerInputEnvelope + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + } + + export type BuyerUncheckedCreateNestedManyWithoutCommissionerInput = { + create?: XOR | BuyerCreateWithoutCommissionerInput[] | BuyerUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: BuyerCreateOrConnectWithoutCommissionerInput | BuyerCreateOrConnectWithoutCommissionerInput[] + createMany?: BuyerCreateManyCommissionerInputEnvelope + connect?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + } + + export type FarmerUncheckedCreateNestedManyWithoutCommissionerInput = { + create?: XOR | FarmerCreateWithoutCommissionerInput[] | FarmerUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: FarmerCreateOrConnectWithoutCommissionerInput | FarmerCreateOrConnectWithoutCommissionerInput[] + createMany?: FarmerCreateManyCommissionerInputEnvelope + connect?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + } + + export type PasswordResetUncheckedCreateNestedManyWithoutCommissionerInput = { + create?: XOR | PasswordResetCreateWithoutCommissionerInput[] | PasswordResetUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: PasswordResetCreateOrConnectWithoutCommissionerInput | PasswordResetCreateOrConnectWithoutCommissionerInput[] + createMany?: PasswordResetCreateManyCommissionerInputEnvelope + connect?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + } + + export type StringFieldUpdateOperationsInput = { + set?: string + } + + export type FloatFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type DateTimeFieldUpdateOperationsInput = { + set?: Date | string + } + + export type AuctionSessionUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | AuctionSessionCreateWithoutCommissionerInput[] | AuctionSessionUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: AuctionSessionCreateOrConnectWithoutCommissionerInput | AuctionSessionCreateOrConnectWithoutCommissionerInput[] + upsert?: AuctionSessionUpsertWithWhereUniqueWithoutCommissionerInput | AuctionSessionUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: AuctionSessionCreateManyCommissionerInputEnvelope + set?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + disconnect?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + delete?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + connect?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + update?: AuctionSessionUpdateWithWhereUniqueWithoutCommissionerInput | AuctionSessionUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: AuctionSessionUpdateManyWithWhereWithoutCommissionerInput | AuctionSessionUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: AuctionSessionScalarWhereInput | AuctionSessionScalarWhereInput[] + } + + export type BillUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | BillCreateWithoutCommissionerInput[] | BillUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: BillCreateOrConnectWithoutCommissionerInput | BillCreateOrConnectWithoutCommissionerInput[] + upsert?: BillUpsertWithWhereUniqueWithoutCommissionerInput | BillUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: BillCreateManyCommissionerInputEnvelope + set?: BillWhereUniqueInput | BillWhereUniqueInput[] + disconnect?: BillWhereUniqueInput | BillWhereUniqueInput[] + delete?: BillWhereUniqueInput | BillWhereUniqueInput[] + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + update?: BillUpdateWithWhereUniqueWithoutCommissionerInput | BillUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: BillUpdateManyWithWhereWithoutCommissionerInput | BillUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: BillScalarWhereInput | BillScalarWhereInput[] + } + + export type BuyerUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | BuyerCreateWithoutCommissionerInput[] | BuyerUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: BuyerCreateOrConnectWithoutCommissionerInput | BuyerCreateOrConnectWithoutCommissionerInput[] + upsert?: BuyerUpsertWithWhereUniqueWithoutCommissionerInput | BuyerUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: BuyerCreateManyCommissionerInputEnvelope + set?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + disconnect?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + delete?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + connect?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + update?: BuyerUpdateWithWhereUniqueWithoutCommissionerInput | BuyerUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: BuyerUpdateManyWithWhereWithoutCommissionerInput | BuyerUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: BuyerScalarWhereInput | BuyerScalarWhereInput[] + } + + export type FarmerUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | FarmerCreateWithoutCommissionerInput[] | FarmerUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: FarmerCreateOrConnectWithoutCommissionerInput | FarmerCreateOrConnectWithoutCommissionerInput[] + upsert?: FarmerUpsertWithWhereUniqueWithoutCommissionerInput | FarmerUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: FarmerCreateManyCommissionerInputEnvelope + set?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + disconnect?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + delete?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + connect?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + update?: FarmerUpdateWithWhereUniqueWithoutCommissionerInput | FarmerUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: FarmerUpdateManyWithWhereWithoutCommissionerInput | FarmerUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: FarmerScalarWhereInput | FarmerScalarWhereInput[] + } + + export type PasswordResetUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | PasswordResetCreateWithoutCommissionerInput[] | PasswordResetUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: PasswordResetCreateOrConnectWithoutCommissionerInput | PasswordResetCreateOrConnectWithoutCommissionerInput[] + upsert?: PasswordResetUpsertWithWhereUniqueWithoutCommissionerInput | PasswordResetUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: PasswordResetCreateManyCommissionerInputEnvelope + set?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + disconnect?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + delete?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + connect?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + update?: PasswordResetUpdateWithWhereUniqueWithoutCommissionerInput | PasswordResetUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: PasswordResetUpdateManyWithWhereWithoutCommissionerInput | PasswordResetUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: PasswordResetScalarWhereInput | PasswordResetScalarWhereInput[] + } + + export type AuctionSessionUncheckedUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | AuctionSessionCreateWithoutCommissionerInput[] | AuctionSessionUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: AuctionSessionCreateOrConnectWithoutCommissionerInput | AuctionSessionCreateOrConnectWithoutCommissionerInput[] + upsert?: AuctionSessionUpsertWithWhereUniqueWithoutCommissionerInput | AuctionSessionUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: AuctionSessionCreateManyCommissionerInputEnvelope + set?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + disconnect?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + delete?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + connect?: AuctionSessionWhereUniqueInput | AuctionSessionWhereUniqueInput[] + update?: AuctionSessionUpdateWithWhereUniqueWithoutCommissionerInput | AuctionSessionUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: AuctionSessionUpdateManyWithWhereWithoutCommissionerInput | AuctionSessionUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: AuctionSessionScalarWhereInput | AuctionSessionScalarWhereInput[] + } + + export type BillUncheckedUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | BillCreateWithoutCommissionerInput[] | BillUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: BillCreateOrConnectWithoutCommissionerInput | BillCreateOrConnectWithoutCommissionerInput[] + upsert?: BillUpsertWithWhereUniqueWithoutCommissionerInput | BillUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: BillCreateManyCommissionerInputEnvelope + set?: BillWhereUniqueInput | BillWhereUniqueInput[] + disconnect?: BillWhereUniqueInput | BillWhereUniqueInput[] + delete?: BillWhereUniqueInput | BillWhereUniqueInput[] + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + update?: BillUpdateWithWhereUniqueWithoutCommissionerInput | BillUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: BillUpdateManyWithWhereWithoutCommissionerInput | BillUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: BillScalarWhereInput | BillScalarWhereInput[] + } + + export type BuyerUncheckedUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | BuyerCreateWithoutCommissionerInput[] | BuyerUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: BuyerCreateOrConnectWithoutCommissionerInput | BuyerCreateOrConnectWithoutCommissionerInput[] + upsert?: BuyerUpsertWithWhereUniqueWithoutCommissionerInput | BuyerUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: BuyerCreateManyCommissionerInputEnvelope + set?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + disconnect?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + delete?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + connect?: BuyerWhereUniqueInput | BuyerWhereUniqueInput[] + update?: BuyerUpdateWithWhereUniqueWithoutCommissionerInput | BuyerUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: BuyerUpdateManyWithWhereWithoutCommissionerInput | BuyerUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: BuyerScalarWhereInput | BuyerScalarWhereInput[] + } + + export type FarmerUncheckedUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | FarmerCreateWithoutCommissionerInput[] | FarmerUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: FarmerCreateOrConnectWithoutCommissionerInput | FarmerCreateOrConnectWithoutCommissionerInput[] + upsert?: FarmerUpsertWithWhereUniqueWithoutCommissionerInput | FarmerUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: FarmerCreateManyCommissionerInputEnvelope + set?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + disconnect?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + delete?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + connect?: FarmerWhereUniqueInput | FarmerWhereUniqueInput[] + update?: FarmerUpdateWithWhereUniqueWithoutCommissionerInput | FarmerUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: FarmerUpdateManyWithWhereWithoutCommissionerInput | FarmerUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: FarmerScalarWhereInput | FarmerScalarWhereInput[] + } + + export type PasswordResetUncheckedUpdateManyWithoutCommissionerNestedInput = { + create?: XOR | PasswordResetCreateWithoutCommissionerInput[] | PasswordResetUncheckedCreateWithoutCommissionerInput[] + connectOrCreate?: PasswordResetCreateOrConnectWithoutCommissionerInput | PasswordResetCreateOrConnectWithoutCommissionerInput[] + upsert?: PasswordResetUpsertWithWhereUniqueWithoutCommissionerInput | PasswordResetUpsertWithWhereUniqueWithoutCommissionerInput[] + createMany?: PasswordResetCreateManyCommissionerInputEnvelope + set?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + disconnect?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + delete?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + connect?: PasswordResetWhereUniqueInput | PasswordResetWhereUniqueInput[] + update?: PasswordResetUpdateWithWhereUniqueWithoutCommissionerInput | PasswordResetUpdateWithWhereUniqueWithoutCommissionerInput[] + updateMany?: PasswordResetUpdateManyWithWhereWithoutCommissionerInput | PasswordResetUpdateManyWithWhereWithoutCommissionerInput[] + deleteMany?: PasswordResetScalarWhereInput | PasswordResetScalarWhereInput[] + } + + export type CommissionerCreateNestedOneWithoutPassword_resetsInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutPassword_resetsInput + connect?: CommissionerWhereUniqueInput + } + + export type BoolFieldUpdateOperationsInput = { + set?: boolean + } + + export type NullableDateTimeFieldUpdateOperationsInput = { + set?: Date | string | null + } + + export type CommissionerUpdateOneRequiredWithoutPassword_resetsNestedInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutPassword_resetsInput + upsert?: CommissionerUpsertWithoutPassword_resetsInput + connect?: CommissionerWhereUniqueInput + update?: XOR, CommissionerUncheckedUpdateWithoutPassword_resetsInput> + } + + export type AuctionItemCreateNestedManyWithoutFarmerInput = { + create?: XOR | AuctionItemCreateWithoutFarmerInput[] | AuctionItemUncheckedCreateWithoutFarmerInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutFarmerInput | AuctionItemCreateOrConnectWithoutFarmerInput[] + createMany?: AuctionItemCreateManyFarmerInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type BillCreateNestedManyWithoutFarmerInput = { + create?: XOR | BillCreateWithoutFarmerInput[] | BillUncheckedCreateWithoutFarmerInput[] + connectOrCreate?: BillCreateOrConnectWithoutFarmerInput | BillCreateOrConnectWithoutFarmerInput[] + createMany?: BillCreateManyFarmerInputEnvelope + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + } + + export type CommissionerCreateNestedOneWithoutFarmersInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutFarmersInput + connect?: CommissionerWhereUniqueInput + } + + export type AuctionItemUncheckedCreateNestedManyWithoutFarmerInput = { + create?: XOR | AuctionItemCreateWithoutFarmerInput[] | AuctionItemUncheckedCreateWithoutFarmerInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutFarmerInput | AuctionItemCreateOrConnectWithoutFarmerInput[] + createMany?: AuctionItemCreateManyFarmerInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type BillUncheckedCreateNestedManyWithoutFarmerInput = { + create?: XOR | BillCreateWithoutFarmerInput[] | BillUncheckedCreateWithoutFarmerInput[] + connectOrCreate?: BillCreateOrConnectWithoutFarmerInput | BillCreateOrConnectWithoutFarmerInput[] + createMany?: BillCreateManyFarmerInputEnvelope + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + } + + export type AuctionItemUpdateManyWithoutFarmerNestedInput = { + create?: XOR | AuctionItemCreateWithoutFarmerInput[] | AuctionItemUncheckedCreateWithoutFarmerInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutFarmerInput | AuctionItemCreateOrConnectWithoutFarmerInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutFarmerInput | AuctionItemUpsertWithWhereUniqueWithoutFarmerInput[] + createMany?: AuctionItemCreateManyFarmerInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutFarmerInput | AuctionItemUpdateWithWhereUniqueWithoutFarmerInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutFarmerInput | AuctionItemUpdateManyWithWhereWithoutFarmerInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type BillUpdateManyWithoutFarmerNestedInput = { + create?: XOR | BillCreateWithoutFarmerInput[] | BillUncheckedCreateWithoutFarmerInput[] + connectOrCreate?: BillCreateOrConnectWithoutFarmerInput | BillCreateOrConnectWithoutFarmerInput[] + upsert?: BillUpsertWithWhereUniqueWithoutFarmerInput | BillUpsertWithWhereUniqueWithoutFarmerInput[] + createMany?: BillCreateManyFarmerInputEnvelope + set?: BillWhereUniqueInput | BillWhereUniqueInput[] + disconnect?: BillWhereUniqueInput | BillWhereUniqueInput[] + delete?: BillWhereUniqueInput | BillWhereUniqueInput[] + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + update?: BillUpdateWithWhereUniqueWithoutFarmerInput | BillUpdateWithWhereUniqueWithoutFarmerInput[] + updateMany?: BillUpdateManyWithWhereWithoutFarmerInput | BillUpdateManyWithWhereWithoutFarmerInput[] + deleteMany?: BillScalarWhereInput | BillScalarWhereInput[] + } + + export type CommissionerUpdateOneRequiredWithoutFarmersNestedInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutFarmersInput + upsert?: CommissionerUpsertWithoutFarmersInput + connect?: CommissionerWhereUniqueInput + update?: XOR, CommissionerUncheckedUpdateWithoutFarmersInput> + } + + export type AuctionItemUncheckedUpdateManyWithoutFarmerNestedInput = { + create?: XOR | AuctionItemCreateWithoutFarmerInput[] | AuctionItemUncheckedCreateWithoutFarmerInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutFarmerInput | AuctionItemCreateOrConnectWithoutFarmerInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutFarmerInput | AuctionItemUpsertWithWhereUniqueWithoutFarmerInput[] + createMany?: AuctionItemCreateManyFarmerInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutFarmerInput | AuctionItemUpdateWithWhereUniqueWithoutFarmerInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutFarmerInput | AuctionItemUpdateManyWithWhereWithoutFarmerInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type BillUncheckedUpdateManyWithoutFarmerNestedInput = { + create?: XOR | BillCreateWithoutFarmerInput[] | BillUncheckedCreateWithoutFarmerInput[] + connectOrCreate?: BillCreateOrConnectWithoutFarmerInput | BillCreateOrConnectWithoutFarmerInput[] + upsert?: BillUpsertWithWhereUniqueWithoutFarmerInput | BillUpsertWithWhereUniqueWithoutFarmerInput[] + createMany?: BillCreateManyFarmerInputEnvelope + set?: BillWhereUniqueInput | BillWhereUniqueInput[] + disconnect?: BillWhereUniqueInput | BillWhereUniqueInput[] + delete?: BillWhereUniqueInput | BillWhereUniqueInput[] + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + update?: BillUpdateWithWhereUniqueWithoutFarmerInput | BillUpdateWithWhereUniqueWithoutFarmerInput[] + updateMany?: BillUpdateManyWithWhereWithoutFarmerInput | BillUpdateManyWithWhereWithoutFarmerInput[] + deleteMany?: BillScalarWhereInput | BillScalarWhereInput[] + } + + export type AuctionItemCreateNestedManyWithoutBuyerInput = { + create?: XOR | AuctionItemCreateWithoutBuyerInput[] | AuctionItemUncheckedCreateWithoutBuyerInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutBuyerInput | AuctionItemCreateOrConnectWithoutBuyerInput[] + createMany?: AuctionItemCreateManyBuyerInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type CommissionerCreateNestedOneWithoutBuyersInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutBuyersInput + connect?: CommissionerWhereUniqueInput + } + + export type AuctionItemUncheckedCreateNestedManyWithoutBuyerInput = { + create?: XOR | AuctionItemCreateWithoutBuyerInput[] | AuctionItemUncheckedCreateWithoutBuyerInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutBuyerInput | AuctionItemCreateOrConnectWithoutBuyerInput[] + createMany?: AuctionItemCreateManyBuyerInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type AuctionItemUpdateManyWithoutBuyerNestedInput = { + create?: XOR | AuctionItemCreateWithoutBuyerInput[] | AuctionItemUncheckedCreateWithoutBuyerInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutBuyerInput | AuctionItemCreateOrConnectWithoutBuyerInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutBuyerInput | AuctionItemUpsertWithWhereUniqueWithoutBuyerInput[] + createMany?: AuctionItemCreateManyBuyerInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutBuyerInput | AuctionItemUpdateWithWhereUniqueWithoutBuyerInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutBuyerInput | AuctionItemUpdateManyWithWhereWithoutBuyerInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type CommissionerUpdateOneRequiredWithoutBuyersNestedInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutBuyersInput + upsert?: CommissionerUpsertWithoutBuyersInput + connect?: CommissionerWhereUniqueInput + update?: XOR, CommissionerUncheckedUpdateWithoutBuyersInput> + } + + export type AuctionItemUncheckedUpdateManyWithoutBuyerNestedInput = { + create?: XOR | AuctionItemCreateWithoutBuyerInput[] | AuctionItemUncheckedCreateWithoutBuyerInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutBuyerInput | AuctionItemCreateOrConnectWithoutBuyerInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutBuyerInput | AuctionItemUpsertWithWhereUniqueWithoutBuyerInput[] + createMany?: AuctionItemCreateManyBuyerInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutBuyerInput | AuctionItemUpdateWithWhereUniqueWithoutBuyerInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutBuyerInput | AuctionItemUpdateManyWithWhereWithoutBuyerInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type ProductCreateNestedManyWithoutCategoryInput = { + create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] + createMany?: ProductCreateManyCategoryInputEnvelope + connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + } + + export type ProductUncheckedCreateNestedManyWithoutCategoryInput = { + create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] + createMany?: ProductCreateManyCategoryInputEnvelope + connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + } + + export type ProductUpdateManyWithoutCategoryNestedInput = { + create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] + upsert?: ProductUpsertWithWhereUniqueWithoutCategoryInput | ProductUpsertWithWhereUniqueWithoutCategoryInput[] + createMany?: ProductCreateManyCategoryInputEnvelope + set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + update?: ProductUpdateWithWhereUniqueWithoutCategoryInput | ProductUpdateWithWhereUniqueWithoutCategoryInput[] + updateMany?: ProductUpdateManyWithWhereWithoutCategoryInput | ProductUpdateManyWithWhereWithoutCategoryInput[] + deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] + } + + export type ProductUncheckedUpdateManyWithoutCategoryNestedInput = { + create?: XOR | ProductCreateWithoutCategoryInput[] | ProductUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: ProductCreateOrConnectWithoutCategoryInput | ProductCreateOrConnectWithoutCategoryInput[] + upsert?: ProductUpsertWithWhereUniqueWithoutCategoryInput | ProductUpsertWithWhereUniqueWithoutCategoryInput[] + createMany?: ProductCreateManyCategoryInputEnvelope + set?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + disconnect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + delete?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + connect?: ProductWhereUniqueInput | ProductWhereUniqueInput[] + update?: ProductUpdateWithWhereUniqueWithoutCategoryInput | ProductUpdateWithWhereUniqueWithoutCategoryInput[] + updateMany?: ProductUpdateManyWithWhereWithoutCategoryInput | ProductUpdateManyWithWhereWithoutCategoryInput[] + deleteMany?: ProductScalarWhereInput | ProductScalarWhereInput[] + } + + export type AuctionItemCreateNestedManyWithoutProductInput = { + create?: XOR | AuctionItemCreateWithoutProductInput[] | AuctionItemUncheckedCreateWithoutProductInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutProductInput | AuctionItemCreateOrConnectWithoutProductInput[] + createMany?: AuctionItemCreateManyProductInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type BillCreateNestedManyWithoutProductInput = { + create?: XOR | BillCreateWithoutProductInput[] | BillUncheckedCreateWithoutProductInput[] + connectOrCreate?: BillCreateOrConnectWithoutProductInput | BillCreateOrConnectWithoutProductInput[] + createMany?: BillCreateManyProductInputEnvelope + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + } + + export type CategoryCreateNestedOneWithoutProductsInput = { + create?: XOR + connectOrCreate?: CategoryCreateOrConnectWithoutProductsInput + connect?: CategoryWhereUniqueInput + } + + export type AuctionItemUncheckedCreateNestedManyWithoutProductInput = { + create?: XOR | AuctionItemCreateWithoutProductInput[] | AuctionItemUncheckedCreateWithoutProductInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutProductInput | AuctionItemCreateOrConnectWithoutProductInput[] + createMany?: AuctionItemCreateManyProductInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type BillUncheckedCreateNestedManyWithoutProductInput = { + create?: XOR | BillCreateWithoutProductInput[] | BillUncheckedCreateWithoutProductInput[] + connectOrCreate?: BillCreateOrConnectWithoutProductInput | BillCreateOrConnectWithoutProductInput[] + createMany?: BillCreateManyProductInputEnvelope + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + } + + export type AuctionItemUpdateManyWithoutProductNestedInput = { + create?: XOR | AuctionItemCreateWithoutProductInput[] | AuctionItemUncheckedCreateWithoutProductInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutProductInput | AuctionItemCreateOrConnectWithoutProductInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutProductInput | AuctionItemUpsertWithWhereUniqueWithoutProductInput[] + createMany?: AuctionItemCreateManyProductInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutProductInput | AuctionItemUpdateWithWhereUniqueWithoutProductInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutProductInput | AuctionItemUpdateManyWithWhereWithoutProductInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type BillUpdateManyWithoutProductNestedInput = { + create?: XOR | BillCreateWithoutProductInput[] | BillUncheckedCreateWithoutProductInput[] + connectOrCreate?: BillCreateOrConnectWithoutProductInput | BillCreateOrConnectWithoutProductInput[] + upsert?: BillUpsertWithWhereUniqueWithoutProductInput | BillUpsertWithWhereUniqueWithoutProductInput[] + createMany?: BillCreateManyProductInputEnvelope + set?: BillWhereUniqueInput | BillWhereUniqueInput[] + disconnect?: BillWhereUniqueInput | BillWhereUniqueInput[] + delete?: BillWhereUniqueInput | BillWhereUniqueInput[] + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + update?: BillUpdateWithWhereUniqueWithoutProductInput | BillUpdateWithWhereUniqueWithoutProductInput[] + updateMany?: BillUpdateManyWithWhereWithoutProductInput | BillUpdateManyWithWhereWithoutProductInput[] + deleteMany?: BillScalarWhereInput | BillScalarWhereInput[] + } + + export type CategoryUpdateOneRequiredWithoutProductsNestedInput = { + create?: XOR + connectOrCreate?: CategoryCreateOrConnectWithoutProductsInput + upsert?: CategoryUpsertWithoutProductsInput + connect?: CategoryWhereUniqueInput + update?: XOR, CategoryUncheckedUpdateWithoutProductsInput> + } + + export type AuctionItemUncheckedUpdateManyWithoutProductNestedInput = { + create?: XOR | AuctionItemCreateWithoutProductInput[] | AuctionItemUncheckedCreateWithoutProductInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutProductInput | AuctionItemCreateOrConnectWithoutProductInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutProductInput | AuctionItemUpsertWithWhereUniqueWithoutProductInput[] + createMany?: AuctionItemCreateManyProductInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutProductInput | AuctionItemUpdateWithWhereUniqueWithoutProductInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutProductInput | AuctionItemUpdateManyWithWhereWithoutProductInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type BillUncheckedUpdateManyWithoutProductNestedInput = { + create?: XOR | BillCreateWithoutProductInput[] | BillUncheckedCreateWithoutProductInput[] + connectOrCreate?: BillCreateOrConnectWithoutProductInput | BillCreateOrConnectWithoutProductInput[] + upsert?: BillUpsertWithWhereUniqueWithoutProductInput | BillUpsertWithWhereUniqueWithoutProductInput[] + createMany?: BillCreateManyProductInputEnvelope + set?: BillWhereUniqueInput | BillWhereUniqueInput[] + disconnect?: BillWhereUniqueInput | BillWhereUniqueInput[] + delete?: BillWhereUniqueInput | BillWhereUniqueInput[] + connect?: BillWhereUniqueInput | BillWhereUniqueInput[] + update?: BillUpdateWithWhereUniqueWithoutProductInput | BillUpdateWithWhereUniqueWithoutProductInput[] + updateMany?: BillUpdateManyWithWhereWithoutProductInput | BillUpdateManyWithWhereWithoutProductInput[] + deleteMany?: BillScalarWhereInput | BillScalarWhereInput[] + } + + export type AuctionItemCreateNestedManyWithoutSessionInput = { + create?: XOR | AuctionItemCreateWithoutSessionInput[] | AuctionItemUncheckedCreateWithoutSessionInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutSessionInput | AuctionItemCreateOrConnectWithoutSessionInput[] + createMany?: AuctionItemCreateManySessionInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type CommissionerCreateNestedOneWithoutAuction_sessionsInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutAuction_sessionsInput + connect?: CommissionerWhereUniqueInput + } + + export type AuctionItemUncheckedCreateNestedManyWithoutSessionInput = { + create?: XOR | AuctionItemCreateWithoutSessionInput[] | AuctionItemUncheckedCreateWithoutSessionInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutSessionInput | AuctionItemCreateOrConnectWithoutSessionInput[] + createMany?: AuctionItemCreateManySessionInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type EnumSessionStatusFieldUpdateOperationsInput = { + set?: $Enums.SessionStatus + } + + export type EnumSessionPaymentStatusFieldUpdateOperationsInput = { + set?: $Enums.SessionPaymentStatus + } + + export type AuctionItemUpdateManyWithoutSessionNestedInput = { + create?: XOR | AuctionItemCreateWithoutSessionInput[] | AuctionItemUncheckedCreateWithoutSessionInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutSessionInput | AuctionItemCreateOrConnectWithoutSessionInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutSessionInput | AuctionItemUpsertWithWhereUniqueWithoutSessionInput[] + createMany?: AuctionItemCreateManySessionInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutSessionInput | AuctionItemUpdateWithWhereUniqueWithoutSessionInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutSessionInput | AuctionItemUpdateManyWithWhereWithoutSessionInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type CommissionerUpdateOneRequiredWithoutAuction_sessionsNestedInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutAuction_sessionsInput + upsert?: CommissionerUpsertWithoutAuction_sessionsInput + connect?: CommissionerWhereUniqueInput + update?: XOR, CommissionerUncheckedUpdateWithoutAuction_sessionsInput> + } + + export type AuctionItemUncheckedUpdateManyWithoutSessionNestedInput = { + create?: XOR | AuctionItemCreateWithoutSessionInput[] | AuctionItemUncheckedCreateWithoutSessionInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutSessionInput | AuctionItemCreateOrConnectWithoutSessionInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutSessionInput | AuctionItemUpsertWithWhereUniqueWithoutSessionInput[] + createMany?: AuctionItemCreateManySessionInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutSessionInput | AuctionItemUpdateWithWhereUniqueWithoutSessionInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutSessionInput | AuctionItemUpdateManyWithWhereWithoutSessionInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type BillCreateNestedOneWithoutAuction_itemsInput = { + create?: XOR + connectOrCreate?: BillCreateOrConnectWithoutAuction_itemsInput + connect?: BillWhereUniqueInput + } + + export type BuyerCreateNestedOneWithoutAuction_itemsInput = { + create?: XOR + connectOrCreate?: BuyerCreateOrConnectWithoutAuction_itemsInput + connect?: BuyerWhereUniqueInput + } + + export type FarmerCreateNestedOneWithoutAuction_itemsInput = { + create?: XOR + connectOrCreate?: FarmerCreateOrConnectWithoutAuction_itemsInput + connect?: FarmerWhereUniqueInput + } + + export type ProductCreateNestedOneWithoutAuction_itemsInput = { + create?: XOR + connectOrCreate?: ProductCreateOrConnectWithoutAuction_itemsInput + connect?: ProductWhereUniqueInput + } + + export type AuctionSessionCreateNestedOneWithoutAuction_itemsInput = { + create?: XOR + connectOrCreate?: AuctionSessionCreateOrConnectWithoutAuction_itemsInput + connect?: AuctionSessionWhereUniqueInput + } + + export type EnumUnitFieldUpdateOperationsInput = { + set?: $Enums.Unit + } + + export type NullableFloatFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type BillUpdateOneWithoutAuction_itemsNestedInput = { + create?: XOR + connectOrCreate?: BillCreateOrConnectWithoutAuction_itemsInput + upsert?: BillUpsertWithoutAuction_itemsInput + disconnect?: BillWhereInput | boolean + delete?: BillWhereInput | boolean + connect?: BillWhereUniqueInput + update?: XOR, BillUncheckedUpdateWithoutAuction_itemsInput> + } + + export type BuyerUpdateOneWithoutAuction_itemsNestedInput = { + create?: XOR + connectOrCreate?: BuyerCreateOrConnectWithoutAuction_itemsInput + upsert?: BuyerUpsertWithoutAuction_itemsInput + disconnect?: BuyerWhereInput | boolean + delete?: BuyerWhereInput | boolean + connect?: BuyerWhereUniqueInput + update?: XOR, BuyerUncheckedUpdateWithoutAuction_itemsInput> + } + + export type FarmerUpdateOneRequiredWithoutAuction_itemsNestedInput = { + create?: XOR + connectOrCreate?: FarmerCreateOrConnectWithoutAuction_itemsInput + upsert?: FarmerUpsertWithoutAuction_itemsInput + connect?: FarmerWhereUniqueInput + update?: XOR, FarmerUncheckedUpdateWithoutAuction_itemsInput> + } + + export type ProductUpdateOneRequiredWithoutAuction_itemsNestedInput = { + create?: XOR + connectOrCreate?: ProductCreateOrConnectWithoutAuction_itemsInput + upsert?: ProductUpsertWithoutAuction_itemsInput + connect?: ProductWhereUniqueInput + update?: XOR, ProductUncheckedUpdateWithoutAuction_itemsInput> + } + + export type AuctionSessionUpdateOneRequiredWithoutAuction_itemsNestedInput = { + create?: XOR + connectOrCreate?: AuctionSessionCreateOrConnectWithoutAuction_itemsInput + upsert?: AuctionSessionUpsertWithoutAuction_itemsInput + connect?: AuctionSessionWhereUniqueInput + update?: XOR, AuctionSessionUncheckedUpdateWithoutAuction_itemsInput> + } + + export type NullableStringFieldUpdateOperationsInput = { + set?: string | null + } + + export type AuctionItemCreateNestedManyWithoutBillInput = { + create?: XOR | AuctionItemCreateWithoutBillInput[] | AuctionItemUncheckedCreateWithoutBillInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutBillInput | AuctionItemCreateOrConnectWithoutBillInput[] + createMany?: AuctionItemCreateManyBillInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type CommissionerCreateNestedOneWithoutBillsInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutBillsInput + connect?: CommissionerWhereUniqueInput + } + + export type FarmerCreateNestedOneWithoutBillsInput = { + create?: XOR + connectOrCreate?: FarmerCreateOrConnectWithoutBillsInput + connect?: FarmerWhereUniqueInput + } + + export type ProductCreateNestedOneWithoutBillsInput = { + create?: XOR + connectOrCreate?: ProductCreateOrConnectWithoutBillsInput + connect?: ProductWhereUniqueInput + } + + export type AuctionItemUncheckedCreateNestedManyWithoutBillInput = { + create?: XOR | AuctionItemCreateWithoutBillInput[] | AuctionItemUncheckedCreateWithoutBillInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutBillInput | AuctionItemCreateOrConnectWithoutBillInput[] + createMany?: AuctionItemCreateManyBillInputEnvelope + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + } + + export type EnumBillPaymentStatusFieldUpdateOperationsInput = { + set?: $Enums.BillPaymentStatus + } + + export type AuctionItemUpdateManyWithoutBillNestedInput = { + create?: XOR | AuctionItemCreateWithoutBillInput[] | AuctionItemUncheckedCreateWithoutBillInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutBillInput | AuctionItemCreateOrConnectWithoutBillInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutBillInput | AuctionItemUpsertWithWhereUniqueWithoutBillInput[] + createMany?: AuctionItemCreateManyBillInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutBillInput | AuctionItemUpdateWithWhereUniqueWithoutBillInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutBillInput | AuctionItemUpdateManyWithWhereWithoutBillInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type CommissionerUpdateOneRequiredWithoutBillsNestedInput = { + create?: XOR + connectOrCreate?: CommissionerCreateOrConnectWithoutBillsInput + upsert?: CommissionerUpsertWithoutBillsInput + connect?: CommissionerWhereUniqueInput + update?: XOR, CommissionerUncheckedUpdateWithoutBillsInput> + } + + export type FarmerUpdateOneRequiredWithoutBillsNestedInput = { + create?: XOR + connectOrCreate?: FarmerCreateOrConnectWithoutBillsInput + upsert?: FarmerUpsertWithoutBillsInput + connect?: FarmerWhereUniqueInput + update?: XOR, FarmerUncheckedUpdateWithoutBillsInput> + } + + export type ProductUpdateOneRequiredWithoutBillsNestedInput = { + create?: XOR + connectOrCreate?: ProductCreateOrConnectWithoutBillsInput + upsert?: ProductUpsertWithoutBillsInput + connect?: ProductWhereUniqueInput + update?: XOR, ProductUncheckedUpdateWithoutBillsInput> + } + + export type AuctionItemUncheckedUpdateManyWithoutBillNestedInput = { + create?: XOR | AuctionItemCreateWithoutBillInput[] | AuctionItemUncheckedCreateWithoutBillInput[] + connectOrCreate?: AuctionItemCreateOrConnectWithoutBillInput | AuctionItemCreateOrConnectWithoutBillInput[] + upsert?: AuctionItemUpsertWithWhereUniqueWithoutBillInput | AuctionItemUpsertWithWhereUniqueWithoutBillInput[] + createMany?: AuctionItemCreateManyBillInputEnvelope + set?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + disconnect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + delete?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + connect?: AuctionItemWhereUniqueInput | AuctionItemWhereUniqueInput[] + update?: AuctionItemUpdateWithWhereUniqueWithoutBillInput | AuctionItemUpdateWithWhereUniqueWithoutBillInput[] + updateMany?: AuctionItemUpdateManyWithWhereWithoutBillInput | AuctionItemUpdateManyWithWhereWithoutBillInput[] + deleteMany?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + } + + export type NestedStringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringFilter<$PrismaModel> | string + } + + export type NestedFloatFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatFilter<$PrismaModel> | number + } + + export type NestedDateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + + export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + + export type NestedIntFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntFilter<$PrismaModel> | number + } + + export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedFloatFilter<$PrismaModel> + _min?: NestedFloatFilter<$PrismaModel> + _max?: NestedFloatFilter<$PrismaModel> + } + + export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + + export type NestedBoolFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolFilter<$PrismaModel> | boolean + } + + export type NestedDateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + + export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedBoolFilter<$PrismaModel> + _max?: NestedBoolFilter<$PrismaModel> + } + + export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> + } + + export type NestedIntNullableFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableFilter<$PrismaModel> | number | null + } + + export type NestedEnumSessionStatusFilter<$PrismaModel = never> = { + equals?: $Enums.SessionStatus | EnumSessionStatusFieldRefInput<$PrismaModel> + in?: $Enums.SessionStatus[] | ListEnumSessionStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.SessionStatus[] | ListEnumSessionStatusFieldRefInput<$PrismaModel> + not?: NestedEnumSessionStatusFilter<$PrismaModel> | $Enums.SessionStatus + } + + export type NestedEnumSessionPaymentStatusFilter<$PrismaModel = never> = { + equals?: $Enums.SessionPaymentStatus | EnumSessionPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.SessionPaymentStatus[] | ListEnumSessionPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.SessionPaymentStatus[] | ListEnumSessionPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumSessionPaymentStatusFilter<$PrismaModel> | $Enums.SessionPaymentStatus + } + + export type NestedEnumSessionStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.SessionStatus | EnumSessionStatusFieldRefInput<$PrismaModel> + in?: $Enums.SessionStatus[] | ListEnumSessionStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.SessionStatus[] | ListEnumSessionStatusFieldRefInput<$PrismaModel> + not?: NestedEnumSessionStatusWithAggregatesFilter<$PrismaModel> | $Enums.SessionStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumSessionStatusFilter<$PrismaModel> + _max?: NestedEnumSessionStatusFilter<$PrismaModel> + } + + export type NestedEnumSessionPaymentStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.SessionPaymentStatus | EnumSessionPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.SessionPaymentStatus[] | ListEnumSessionPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.SessionPaymentStatus[] | ListEnumSessionPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumSessionPaymentStatusWithAggregatesFilter<$PrismaModel> | $Enums.SessionPaymentStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumSessionPaymentStatusFilter<$PrismaModel> + _max?: NestedEnumSessionPaymentStatusFilter<$PrismaModel> + } + + export type NestedEnumUnitFilter<$PrismaModel = never> = { + equals?: $Enums.Unit | EnumUnitFieldRefInput<$PrismaModel> + in?: $Enums.Unit[] | ListEnumUnitFieldRefInput<$PrismaModel> + notIn?: $Enums.Unit[] | ListEnumUnitFieldRefInput<$PrismaModel> + not?: NestedEnumUnitFilter<$PrismaModel> | $Enums.Unit + } + + export type NestedStringNullableFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringNullableFilter<$PrismaModel> | string | null + } + + export type NestedFloatNullableFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableFilter<$PrismaModel> | number | null + } + + export type NestedEnumUnitWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Unit | EnumUnitFieldRefInput<$PrismaModel> + in?: $Enums.Unit[] | ListEnumUnitFieldRefInput<$PrismaModel> + notIn?: $Enums.Unit[] | ListEnumUnitFieldRefInput<$PrismaModel> + not?: NestedEnumUnitWithAggregatesFilter<$PrismaModel> | $Enums.Unit + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumUnitFilter<$PrismaModel> + _max?: NestedEnumUnitFilter<$PrismaModel> + } + + export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedStringNullableFilter<$PrismaModel> + _max?: NestedStringNullableFilter<$PrismaModel> + } + + export type NestedFloatNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedFloatNullableFilter<$PrismaModel> + _min?: NestedFloatNullableFilter<$PrismaModel> + _max?: NestedFloatNullableFilter<$PrismaModel> + } + + export type NestedEnumBillPaymentStatusFilter<$PrismaModel = never> = { + equals?: $Enums.BillPaymentStatus | EnumBillPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.BillPaymentStatus[] | ListEnumBillPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.BillPaymentStatus[] | ListEnumBillPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumBillPaymentStatusFilter<$PrismaModel> | $Enums.BillPaymentStatus + } + export type NestedJsonFilter<$PrismaModel = never> = + | PatchUndefined< + Either>, Exclude>, 'path'>>, + Required> + > + | OptionalFlat>, 'path'>> + + export type NestedJsonFilterBase<$PrismaModel = never> = { + equals?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + path?: string[] + mode?: QueryMode | EnumQueryModeFieldRefInput<$PrismaModel> + string_contains?: string | StringFieldRefInput<$PrismaModel> + string_starts_with?: string | StringFieldRefInput<$PrismaModel> + string_ends_with?: string | StringFieldRefInput<$PrismaModel> + array_starts_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_ends_with?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + array_contains?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | null + lt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + lte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gt?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + gte?: InputJsonValue | JsonFieldRefInput<$PrismaModel> + not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter + } + + export type NestedEnumBillPaymentStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.BillPaymentStatus | EnumBillPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.BillPaymentStatus[] | ListEnumBillPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.BillPaymentStatus[] | ListEnumBillPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumBillPaymentStatusWithAggregatesFilter<$PrismaModel> | $Enums.BillPaymentStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumBillPaymentStatusFilter<$PrismaModel> + _max?: NestedEnumBillPaymentStatusFilter<$PrismaModel> + } + + export type AuctionSessionCreateWithoutCommissionerInput = { + id?: string + date?: Date | string + status?: $Enums.SessionStatus + payment_status?: $Enums.SessionPaymentStatus + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutSessionInput + } + + export type AuctionSessionUncheckedCreateWithoutCommissionerInput = { + id?: string + date?: Date | string + status?: $Enums.SessionStatus + payment_status?: $Enums.SessionPaymentStatus + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutSessionInput + } + + export type AuctionSessionCreateOrConnectWithoutCommissionerInput = { + where: AuctionSessionWhereUniqueInput + create: XOR + } + + export type AuctionSessionCreateManyCommissionerInputEnvelope = { + data: AuctionSessionCreateManyCommissionerInput | AuctionSessionCreateManyCommissionerInput[] + skipDuplicates?: boolean + } + + export type BillCreateWithoutCommissionerInput = { + id?: string + bill_number: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutBillInput + farmer: FarmerCreateNestedOneWithoutBillsInput + product: ProductCreateNestedOneWithoutBillsInput + } + + export type BillUncheckedCreateWithoutCommissionerInput = { + id?: string + bill_number: string + farmer_id: string + product_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutBillInput + } + + export type BillCreateOrConnectWithoutCommissionerInput = { + where: BillWhereUniqueInput + create: XOR + } + + export type BillCreateManyCommissionerInputEnvelope = { + data: BillCreateManyCommissionerInput | BillCreateManyCommissionerInput[] + skipDuplicates?: boolean + } + + export type BuyerCreateWithoutCommissionerInput = { + id?: string + name: string + phone: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutBuyerInput + } + + export type BuyerUncheckedCreateWithoutCommissionerInput = { + id?: string + name: string + phone: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutBuyerInput + } + + export type BuyerCreateOrConnectWithoutCommissionerInput = { + where: BuyerWhereUniqueInput + create: XOR + } + + export type BuyerCreateManyCommissionerInputEnvelope = { + data: BuyerCreateManyCommissionerInput | BuyerCreateManyCommissionerInput[] + skipDuplicates?: boolean + } + + export type FarmerCreateWithoutCommissionerInput = { + id?: string + name: string + phone: string + village: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutFarmerInput + bills?: BillCreateNestedManyWithoutFarmerInput + } + + export type FarmerUncheckedCreateWithoutCommissionerInput = { + id?: string + name: string + phone: string + village: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutFarmerInput + bills?: BillUncheckedCreateNestedManyWithoutFarmerInput + } + + export type FarmerCreateOrConnectWithoutCommissionerInput = { + where: FarmerWhereUniqueInput + create: XOR + } + + export type FarmerCreateManyCommissionerInputEnvelope = { + data: FarmerCreateManyCommissionerInput | FarmerCreateManyCommissionerInput[] + skipDuplicates?: boolean + } + + export type PasswordResetCreateWithoutCommissionerInput = { + id?: string + token: string + expires_at: Date | string + used?: boolean + created_at?: Date | string + used_at?: Date | string | null + } + + export type PasswordResetUncheckedCreateWithoutCommissionerInput = { + id?: string + token: string + expires_at: Date | string + used?: boolean + created_at?: Date | string + used_at?: Date | string | null + } + + export type PasswordResetCreateOrConnectWithoutCommissionerInput = { + where: PasswordResetWhereUniqueInput + create: XOR + } + + export type PasswordResetCreateManyCommissionerInputEnvelope = { + data: PasswordResetCreateManyCommissionerInput | PasswordResetCreateManyCommissionerInput[] + skipDuplicates?: boolean + } + + export type AuctionSessionUpsertWithWhereUniqueWithoutCommissionerInput = { + where: AuctionSessionWhereUniqueInput + update: XOR + create: XOR + } + + export type AuctionSessionUpdateWithWhereUniqueWithoutCommissionerInput = { + where: AuctionSessionWhereUniqueInput + data: XOR + } + + export type AuctionSessionUpdateManyWithWhereWithoutCommissionerInput = { + where: AuctionSessionScalarWhereInput + data: XOR + } + + export type AuctionSessionScalarWhereInput = { + AND?: AuctionSessionScalarWhereInput | AuctionSessionScalarWhereInput[] + OR?: AuctionSessionScalarWhereInput[] + NOT?: AuctionSessionScalarWhereInput | AuctionSessionScalarWhereInput[] + id?: StringFilter<"AuctionSession"> | string + date?: DateTimeFilter<"AuctionSession"> | Date | string + commissioner_id?: StringFilter<"AuctionSession"> | string + status?: EnumSessionStatusFilter<"AuctionSession"> | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFilter<"AuctionSession"> | $Enums.SessionPaymentStatus + created_at?: DateTimeFilter<"AuctionSession"> | Date | string + updated_at?: DateTimeFilter<"AuctionSession"> | Date | string + } + + export type BillUpsertWithWhereUniqueWithoutCommissionerInput = { + where: BillWhereUniqueInput + update: XOR + create: XOR + } + + export type BillUpdateWithWhereUniqueWithoutCommissionerInput = { + where: BillWhereUniqueInput + data: XOR + } + + export type BillUpdateManyWithWhereWithoutCommissionerInput = { + where: BillScalarWhereInput + data: XOR + } + + export type BillScalarWhereInput = { + AND?: BillScalarWhereInput | BillScalarWhereInput[] + OR?: BillScalarWhereInput[] + NOT?: BillScalarWhereInput | BillScalarWhereInput[] + id?: StringFilter<"Bill"> | string + bill_number?: StringFilter<"Bill"> | string + farmer_id?: StringFilter<"Bill"> | string + commissioner_id?: StringFilter<"Bill"> | string + product_id?: StringFilter<"Bill"> | string + session_id?: StringFilter<"Bill"> | string + total_quantity?: FloatFilter<"Bill"> | number + gross_amount?: FloatFilter<"Bill"> | number + commission_rate?: FloatFilter<"Bill"> | number + commission_amount?: FloatFilter<"Bill"> | number + other_charges?: JsonFilter<"Bill"> + net_payable?: FloatFilter<"Bill"> | number + payment_status?: EnumBillPaymentStatusFilter<"Bill"> | $Enums.BillPaymentStatus + payment_method?: StringNullableFilter<"Bill"> | string | null + payment_date?: DateTimeNullableFilter<"Bill"> | Date | string | null + notes?: StringNullableFilter<"Bill"> | string | null + created_at?: DateTimeFilter<"Bill"> | Date | string + updated_at?: DateTimeFilter<"Bill"> | Date | string + } + + export type BuyerUpsertWithWhereUniqueWithoutCommissionerInput = { + where: BuyerWhereUniqueInput + update: XOR + create: XOR + } + + export type BuyerUpdateWithWhereUniqueWithoutCommissionerInput = { + where: BuyerWhereUniqueInput + data: XOR + } + + export type BuyerUpdateManyWithWhereWithoutCommissionerInput = { + where: BuyerScalarWhereInput + data: XOR + } + + export type BuyerScalarWhereInput = { + AND?: BuyerScalarWhereInput | BuyerScalarWhereInput[] + OR?: BuyerScalarWhereInput[] + NOT?: BuyerScalarWhereInput | BuyerScalarWhereInput[] + id?: StringFilter<"Buyer"> | string + name?: StringFilter<"Buyer"> | string + phone?: StringFilter<"Buyer"> | string + commissioner_id?: StringFilter<"Buyer"> | string + is_active?: BoolFilter<"Buyer"> | boolean + created_at?: DateTimeFilter<"Buyer"> | Date | string + updated_at?: DateTimeFilter<"Buyer"> | Date | string + } + + export type FarmerUpsertWithWhereUniqueWithoutCommissionerInput = { + where: FarmerWhereUniqueInput + update: XOR + create: XOR + } + + export type FarmerUpdateWithWhereUniqueWithoutCommissionerInput = { + where: FarmerWhereUniqueInput + data: XOR + } + + export type FarmerUpdateManyWithWhereWithoutCommissionerInput = { + where: FarmerScalarWhereInput + data: XOR + } + + export type FarmerScalarWhereInput = { + AND?: FarmerScalarWhereInput | FarmerScalarWhereInput[] + OR?: FarmerScalarWhereInput[] + NOT?: FarmerScalarWhereInput | FarmerScalarWhereInput[] + id?: StringFilter<"Farmer"> | string + name?: StringFilter<"Farmer"> | string + phone?: StringFilter<"Farmer"> | string + village?: StringFilter<"Farmer"> | string + commissioner_id?: StringFilter<"Farmer"> | string + is_active?: BoolFilter<"Farmer"> | boolean + created_at?: DateTimeFilter<"Farmer"> | Date | string + updated_at?: DateTimeFilter<"Farmer"> | Date | string + } + + export type PasswordResetUpsertWithWhereUniqueWithoutCommissionerInput = { + where: PasswordResetWhereUniqueInput + update: XOR + create: XOR + } + + export type PasswordResetUpdateWithWhereUniqueWithoutCommissionerInput = { + where: PasswordResetWhereUniqueInput + data: XOR + } + + export type PasswordResetUpdateManyWithWhereWithoutCommissionerInput = { + where: PasswordResetScalarWhereInput + data: XOR + } + + export type PasswordResetScalarWhereInput = { + AND?: PasswordResetScalarWhereInput | PasswordResetScalarWhereInput[] + OR?: PasswordResetScalarWhereInput[] + NOT?: PasswordResetScalarWhereInput | PasswordResetScalarWhereInput[] + id?: StringFilter<"PasswordReset"> | string + commissioner_id?: StringFilter<"PasswordReset"> | string + token?: StringFilter<"PasswordReset"> | string + expires_at?: DateTimeFilter<"PasswordReset"> | Date | string + used?: BoolFilter<"PasswordReset"> | boolean + created_at?: DateTimeFilter<"PasswordReset"> | Date | string + used_at?: DateTimeNullableFilter<"PasswordReset"> | Date | string | null + } + + export type CommissionerCreateWithoutPassword_resetsInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionCreateNestedManyWithoutCommissionerInput + bills?: BillCreateNestedManyWithoutCommissionerInput + buyers?: BuyerCreateNestedManyWithoutCommissionerInput + farmers?: FarmerCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerUncheckedCreateWithoutPassword_resetsInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionUncheckedCreateNestedManyWithoutCommissionerInput + bills?: BillUncheckedCreateNestedManyWithoutCommissionerInput + buyers?: BuyerUncheckedCreateNestedManyWithoutCommissionerInput + farmers?: FarmerUncheckedCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerCreateOrConnectWithoutPassword_resetsInput = { + where: CommissionerWhereUniqueInput + create: XOR + } + + export type CommissionerUpsertWithoutPassword_resetsInput = { + update: XOR + create: XOR + where?: CommissionerWhereInput + } + + export type CommissionerUpdateToOneWithWhereWithoutPassword_resetsInput = { + where?: CommissionerWhereInput + data: XOR + } + + export type CommissionerUpdateWithoutPassword_resetsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUpdateManyWithoutCommissionerNestedInput + bills?: BillUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUpdateManyWithoutCommissionerNestedInput + } + + export type CommissionerUncheckedUpdateWithoutPassword_resetsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUncheckedUpdateManyWithoutCommissionerNestedInput + bills?: BillUncheckedUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUncheckedUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUncheckedUpdateManyWithoutCommissionerNestedInput + } + + export type AuctionItemCreateWithoutFarmerInput = { + id?: string + unit: $Enums.Unit + quantity: number + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + bill?: BillCreateNestedOneWithoutAuction_itemsInput + buyer?: BuyerCreateNestedOneWithoutAuction_itemsInput + product: ProductCreateNestedOneWithoutAuction_itemsInput + session: AuctionSessionCreateNestedOneWithoutAuction_itemsInput + } + + export type AuctionItemUncheckedCreateWithoutFarmerInput = { + id?: string + session_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemCreateOrConnectWithoutFarmerInput = { + where: AuctionItemWhereUniqueInput + create: XOR + } + + export type AuctionItemCreateManyFarmerInputEnvelope = { + data: AuctionItemCreateManyFarmerInput | AuctionItemCreateManyFarmerInput[] + skipDuplicates?: boolean + } + + export type BillCreateWithoutFarmerInput = { + id?: string + bill_number: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutBillInput + commissioner: CommissionerCreateNestedOneWithoutBillsInput + product: ProductCreateNestedOneWithoutBillsInput + } + + export type BillUncheckedCreateWithoutFarmerInput = { + id?: string + bill_number: string + commissioner_id: string + product_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutBillInput + } + + export type BillCreateOrConnectWithoutFarmerInput = { + where: BillWhereUniqueInput + create: XOR + } + + export type BillCreateManyFarmerInputEnvelope = { + data: BillCreateManyFarmerInput | BillCreateManyFarmerInput[] + skipDuplicates?: boolean + } + + export type CommissionerCreateWithoutFarmersInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionCreateNestedManyWithoutCommissionerInput + bills?: BillCreateNestedManyWithoutCommissionerInput + buyers?: BuyerCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerUncheckedCreateWithoutFarmersInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionUncheckedCreateNestedManyWithoutCommissionerInput + bills?: BillUncheckedCreateNestedManyWithoutCommissionerInput + buyers?: BuyerUncheckedCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetUncheckedCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerCreateOrConnectWithoutFarmersInput = { + where: CommissionerWhereUniqueInput + create: XOR + } + + export type AuctionItemUpsertWithWhereUniqueWithoutFarmerInput = { + where: AuctionItemWhereUniqueInput + update: XOR + create: XOR + } + + export type AuctionItemUpdateWithWhereUniqueWithoutFarmerInput = { + where: AuctionItemWhereUniqueInput + data: XOR + } + + export type AuctionItemUpdateManyWithWhereWithoutFarmerInput = { + where: AuctionItemScalarWhereInput + data: XOR + } + + export type AuctionItemScalarWhereInput = { + AND?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + OR?: AuctionItemScalarWhereInput[] + NOT?: AuctionItemScalarWhereInput | AuctionItemScalarWhereInput[] + id?: StringFilter<"AuctionItem"> | string + session_id?: StringFilter<"AuctionItem"> | string + farmer_id?: StringFilter<"AuctionItem"> | string + product_id?: StringFilter<"AuctionItem"> | string + unit?: EnumUnitFilter<"AuctionItem"> | $Enums.Unit + quantity?: FloatFilter<"AuctionItem"> | number + buyer_id?: StringNullableFilter<"AuctionItem"> | string | null + bill_id?: StringNullableFilter<"AuctionItem"> | string | null + created_at?: DateTimeFilter<"AuctionItem"> | Date | string + updated_at?: DateTimeFilter<"AuctionItem"> | Date | string + rate?: FloatNullableFilter<"AuctionItem"> | number | null + } + + export type BillUpsertWithWhereUniqueWithoutFarmerInput = { + where: BillWhereUniqueInput + update: XOR + create: XOR + } + + export type BillUpdateWithWhereUniqueWithoutFarmerInput = { + where: BillWhereUniqueInput + data: XOR + } + + export type BillUpdateManyWithWhereWithoutFarmerInput = { + where: BillScalarWhereInput + data: XOR + } + + export type CommissionerUpsertWithoutFarmersInput = { + update: XOR + create: XOR + where?: CommissionerWhereInput + } + + export type CommissionerUpdateToOneWithWhereWithoutFarmersInput = { + where?: CommissionerWhereInput + data: XOR + } + + export type CommissionerUpdateWithoutFarmersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUpdateManyWithoutCommissionerNestedInput + bills?: BillUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUpdateManyWithoutCommissionerNestedInput + } + + export type CommissionerUncheckedUpdateWithoutFarmersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUncheckedUpdateManyWithoutCommissionerNestedInput + bills?: BillUncheckedUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUncheckedUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUncheckedUpdateManyWithoutCommissionerNestedInput + } + + export type AuctionItemCreateWithoutBuyerInput = { + id?: string + unit: $Enums.Unit + quantity: number + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + bill?: BillCreateNestedOneWithoutAuction_itemsInput + farmer: FarmerCreateNestedOneWithoutAuction_itemsInput + product: ProductCreateNestedOneWithoutAuction_itemsInput + session: AuctionSessionCreateNestedOneWithoutAuction_itemsInput + } + + export type AuctionItemUncheckedCreateWithoutBuyerInput = { + id?: string + session_id: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemCreateOrConnectWithoutBuyerInput = { + where: AuctionItemWhereUniqueInput + create: XOR + } + + export type AuctionItemCreateManyBuyerInputEnvelope = { + data: AuctionItemCreateManyBuyerInput | AuctionItemCreateManyBuyerInput[] + skipDuplicates?: boolean + } + + export type CommissionerCreateWithoutBuyersInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionCreateNestedManyWithoutCommissionerInput + bills?: BillCreateNestedManyWithoutCommissionerInput + farmers?: FarmerCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerUncheckedCreateWithoutBuyersInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionUncheckedCreateNestedManyWithoutCommissionerInput + bills?: BillUncheckedCreateNestedManyWithoutCommissionerInput + farmers?: FarmerUncheckedCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetUncheckedCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerCreateOrConnectWithoutBuyersInput = { + where: CommissionerWhereUniqueInput + create: XOR + } + + export type AuctionItemUpsertWithWhereUniqueWithoutBuyerInput = { + where: AuctionItemWhereUniqueInput + update: XOR + create: XOR + } + + export type AuctionItemUpdateWithWhereUniqueWithoutBuyerInput = { + where: AuctionItemWhereUniqueInput + data: XOR + } + + export type AuctionItemUpdateManyWithWhereWithoutBuyerInput = { + where: AuctionItemScalarWhereInput + data: XOR + } + + export type CommissionerUpsertWithoutBuyersInput = { + update: XOR + create: XOR + where?: CommissionerWhereInput + } + + export type CommissionerUpdateToOneWithWhereWithoutBuyersInput = { + where?: CommissionerWhereInput + data: XOR + } + + export type CommissionerUpdateWithoutBuyersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUpdateManyWithoutCommissionerNestedInput + bills?: BillUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUpdateManyWithoutCommissionerNestedInput + } + + export type CommissionerUncheckedUpdateWithoutBuyersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUncheckedUpdateManyWithoutCommissionerNestedInput + bills?: BillUncheckedUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUncheckedUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUncheckedUpdateManyWithoutCommissionerNestedInput + } + + export type ProductCreateWithoutCategoryInput = { + id?: string + name: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutProductInput + bills?: BillCreateNestedManyWithoutProductInput + } + + export type ProductUncheckedCreateWithoutCategoryInput = { + id?: string + name: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutProductInput + bills?: BillUncheckedCreateNestedManyWithoutProductInput + } + + export type ProductCreateOrConnectWithoutCategoryInput = { + where: ProductWhereUniqueInput + create: XOR + } + + export type ProductCreateManyCategoryInputEnvelope = { + data: ProductCreateManyCategoryInput | ProductCreateManyCategoryInput[] + skipDuplicates?: boolean + } + + export type ProductUpsertWithWhereUniqueWithoutCategoryInput = { + where: ProductWhereUniqueInput + update: XOR + create: XOR + } + + export type ProductUpdateWithWhereUniqueWithoutCategoryInput = { + where: ProductWhereUniqueInput + data: XOR + } + + export type ProductUpdateManyWithWhereWithoutCategoryInput = { + where: ProductScalarWhereInput + data: XOR + } + + export type ProductScalarWhereInput = { + AND?: ProductScalarWhereInput | ProductScalarWhereInput[] + OR?: ProductScalarWhereInput[] + NOT?: ProductScalarWhereInput | ProductScalarWhereInput[] + id?: StringFilter<"Product"> | string + name?: StringFilter<"Product"> | string + category_id?: StringFilter<"Product"> | string + is_active?: BoolFilter<"Product"> | boolean + created_at?: DateTimeFilter<"Product"> | Date | string + updated_at?: DateTimeFilter<"Product"> | Date | string + } + + export type AuctionItemCreateWithoutProductInput = { + id?: string + unit: $Enums.Unit + quantity: number + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + bill?: BillCreateNestedOneWithoutAuction_itemsInput + buyer?: BuyerCreateNestedOneWithoutAuction_itemsInput + farmer: FarmerCreateNestedOneWithoutAuction_itemsInput + session: AuctionSessionCreateNestedOneWithoutAuction_itemsInput + } + + export type AuctionItemUncheckedCreateWithoutProductInput = { + id?: string + session_id: string + farmer_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemCreateOrConnectWithoutProductInput = { + where: AuctionItemWhereUniqueInput + create: XOR + } + + export type AuctionItemCreateManyProductInputEnvelope = { + data: AuctionItemCreateManyProductInput | AuctionItemCreateManyProductInput[] + skipDuplicates?: boolean + } + + export type BillCreateWithoutProductInput = { + id?: string + bill_number: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutBillInput + commissioner: CommissionerCreateNestedOneWithoutBillsInput + farmer: FarmerCreateNestedOneWithoutBillsInput + } + + export type BillUncheckedCreateWithoutProductInput = { + id?: string + bill_number: string + farmer_id: string + commissioner_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutBillInput + } + + export type BillCreateOrConnectWithoutProductInput = { + where: BillWhereUniqueInput + create: XOR + } + + export type BillCreateManyProductInputEnvelope = { + data: BillCreateManyProductInput | BillCreateManyProductInput[] + skipDuplicates?: boolean + } + + export type CategoryCreateWithoutProductsInput = { + id?: string + name: string + created_at?: Date | string + updated_at?: Date | string + } + + export type CategoryUncheckedCreateWithoutProductsInput = { + id?: string + name: string + created_at?: Date | string + updated_at?: Date | string + } + + export type CategoryCreateOrConnectWithoutProductsInput = { + where: CategoryWhereUniqueInput + create: XOR + } + + export type AuctionItemUpsertWithWhereUniqueWithoutProductInput = { + where: AuctionItemWhereUniqueInput + update: XOR + create: XOR + } + + export type AuctionItemUpdateWithWhereUniqueWithoutProductInput = { + where: AuctionItemWhereUniqueInput + data: XOR + } + + export type AuctionItemUpdateManyWithWhereWithoutProductInput = { + where: AuctionItemScalarWhereInput + data: XOR + } + + export type BillUpsertWithWhereUniqueWithoutProductInput = { + where: BillWhereUniqueInput + update: XOR + create: XOR + } + + export type BillUpdateWithWhereUniqueWithoutProductInput = { + where: BillWhereUniqueInput + data: XOR + } + + export type BillUpdateManyWithWhereWithoutProductInput = { + where: BillScalarWhereInput + data: XOR + } + + export type CategoryUpsertWithoutProductsInput = { + update: XOR + create: XOR + where?: CategoryWhereInput + } + + export type CategoryUpdateToOneWithWhereWithoutProductsInput = { + where?: CategoryWhereInput + data: XOR + } + + export type CategoryUpdateWithoutProductsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type CategoryUncheckedUpdateWithoutProductsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type AuctionItemCreateWithoutSessionInput = { + id?: string + unit: $Enums.Unit + quantity: number + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + bill?: BillCreateNestedOneWithoutAuction_itemsInput + buyer?: BuyerCreateNestedOneWithoutAuction_itemsInput + farmer: FarmerCreateNestedOneWithoutAuction_itemsInput + product: ProductCreateNestedOneWithoutAuction_itemsInput + } + + export type AuctionItemUncheckedCreateWithoutSessionInput = { + id?: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemCreateOrConnectWithoutSessionInput = { + where: AuctionItemWhereUniqueInput + create: XOR + } + + export type AuctionItemCreateManySessionInputEnvelope = { + data: AuctionItemCreateManySessionInput | AuctionItemCreateManySessionInput[] + skipDuplicates?: boolean + } + + export type CommissionerCreateWithoutAuction_sessionsInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + bills?: BillCreateNestedManyWithoutCommissionerInput + buyers?: BuyerCreateNestedManyWithoutCommissionerInput + farmers?: FarmerCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerUncheckedCreateWithoutAuction_sessionsInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + bills?: BillUncheckedCreateNestedManyWithoutCommissionerInput + buyers?: BuyerUncheckedCreateNestedManyWithoutCommissionerInput + farmers?: FarmerUncheckedCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetUncheckedCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerCreateOrConnectWithoutAuction_sessionsInput = { + where: CommissionerWhereUniqueInput + create: XOR + } + + export type AuctionItemUpsertWithWhereUniqueWithoutSessionInput = { + where: AuctionItemWhereUniqueInput + update: XOR + create: XOR + } + + export type AuctionItemUpdateWithWhereUniqueWithoutSessionInput = { + where: AuctionItemWhereUniqueInput + data: XOR + } + + export type AuctionItemUpdateManyWithWhereWithoutSessionInput = { + where: AuctionItemScalarWhereInput + data: XOR + } + + export type CommissionerUpsertWithoutAuction_sessionsInput = { + update: XOR + create: XOR + where?: CommissionerWhereInput + } + + export type CommissionerUpdateToOneWithWhereWithoutAuction_sessionsInput = { + where?: CommissionerWhereInput + data: XOR + } + + export type CommissionerUpdateWithoutAuction_sessionsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + bills?: BillUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUpdateManyWithoutCommissionerNestedInput + } + + export type CommissionerUncheckedUpdateWithoutAuction_sessionsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + bills?: BillUncheckedUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUncheckedUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUncheckedUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUncheckedUpdateManyWithoutCommissionerNestedInput + } + + export type BillCreateWithoutAuction_itemsInput = { + id?: string + bill_number: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + commissioner: CommissionerCreateNestedOneWithoutBillsInput + farmer: FarmerCreateNestedOneWithoutBillsInput + product: ProductCreateNestedOneWithoutBillsInput + } + + export type BillUncheckedCreateWithoutAuction_itemsInput = { + id?: string + bill_number: string + farmer_id: string + commissioner_id: string + product_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + } + + export type BillCreateOrConnectWithoutAuction_itemsInput = { + where: BillWhereUniqueInput + create: XOR + } + + export type BuyerCreateWithoutAuction_itemsInput = { + id?: string + name: string + phone: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + commissioner: CommissionerCreateNestedOneWithoutBuyersInput + } + + export type BuyerUncheckedCreateWithoutAuction_itemsInput = { + id?: string + name: string + phone: string + commissioner_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + } + + export type BuyerCreateOrConnectWithoutAuction_itemsInput = { + where: BuyerWhereUniqueInput + create: XOR + } + + export type FarmerCreateWithoutAuction_itemsInput = { + id?: string + name: string + phone: string + village: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + bills?: BillCreateNestedManyWithoutFarmerInput + commissioner: CommissionerCreateNestedOneWithoutFarmersInput + } + + export type FarmerUncheckedCreateWithoutAuction_itemsInput = { + id?: string + name: string + phone: string + village: string + commissioner_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + bills?: BillUncheckedCreateNestedManyWithoutFarmerInput + } + + export type FarmerCreateOrConnectWithoutAuction_itemsInput = { + where: FarmerWhereUniqueInput + create: XOR + } + + export type ProductCreateWithoutAuction_itemsInput = { + id?: string + name: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + bills?: BillCreateNestedManyWithoutProductInput + category: CategoryCreateNestedOneWithoutProductsInput + } + + export type ProductUncheckedCreateWithoutAuction_itemsInput = { + id?: string + name: string + category_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + bills?: BillUncheckedCreateNestedManyWithoutProductInput + } + + export type ProductCreateOrConnectWithoutAuction_itemsInput = { + where: ProductWhereUniqueInput + create: XOR + } + + export type AuctionSessionCreateWithoutAuction_itemsInput = { + id?: string + date?: Date | string + status?: $Enums.SessionStatus + payment_status?: $Enums.SessionPaymentStatus + created_at?: Date | string + updated_at?: Date | string + commissioner: CommissionerCreateNestedOneWithoutAuction_sessionsInput + } + + export type AuctionSessionUncheckedCreateWithoutAuction_itemsInput = { + id?: string + date?: Date | string + commissioner_id: string + status?: $Enums.SessionStatus + payment_status?: $Enums.SessionPaymentStatus + created_at?: Date | string + updated_at?: Date | string + } + + export type AuctionSessionCreateOrConnectWithoutAuction_itemsInput = { + where: AuctionSessionWhereUniqueInput + create: XOR + } + + export type BillUpsertWithoutAuction_itemsInput = { + update: XOR + create: XOR + where?: BillWhereInput + } + + export type BillUpdateToOneWithWhereWithoutAuction_itemsInput = { + where?: BillWhereInput + data: XOR + } + + export type BillUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + commissioner?: CommissionerUpdateOneRequiredWithoutBillsNestedInput + farmer?: FarmerUpdateOneRequiredWithoutBillsNestedInput + product?: ProductUpdateOneRequiredWithoutBillsNestedInput + } + + export type BillUncheckedUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type BuyerUpsertWithoutAuction_itemsInput = { + update: XOR + create: XOR + where?: BuyerWhereInput + } + + export type BuyerUpdateToOneWithWhereWithoutAuction_itemsInput = { + where?: BuyerWhereInput + data: XOR + } + + export type BuyerUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + commissioner?: CommissionerUpdateOneRequiredWithoutBuyersNestedInput + } + + export type BuyerUncheckedUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type FarmerUpsertWithoutAuction_itemsInput = { + update: XOR + create: XOR + where?: FarmerWhereInput + } + + export type FarmerUpdateToOneWithWhereWithoutAuction_itemsInput = { + where?: FarmerWhereInput + data: XOR + } + + export type FarmerUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + bills?: BillUpdateManyWithoutFarmerNestedInput + commissioner?: CommissionerUpdateOneRequiredWithoutFarmersNestedInput + } + + export type FarmerUncheckedUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + bills?: BillUncheckedUpdateManyWithoutFarmerNestedInput + } + + export type ProductUpsertWithoutAuction_itemsInput = { + update: XOR + create: XOR + where?: ProductWhereInput + } + + export type ProductUpdateToOneWithWhereWithoutAuction_itemsInput = { + where?: ProductWhereInput + data: XOR + } + + export type ProductUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + bills?: BillUpdateManyWithoutProductNestedInput + category?: CategoryUpdateOneRequiredWithoutProductsNestedInput + } + + export type ProductUncheckedUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + category_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + bills?: BillUncheckedUpdateManyWithoutProductNestedInput + } + + export type AuctionSessionUpsertWithoutAuction_itemsInput = { + update: XOR + create: XOR + where?: AuctionSessionWhereInput + } + + export type AuctionSessionUpdateToOneWithWhereWithoutAuction_itemsInput = { + where?: AuctionSessionWhereInput + data: XOR + } + + export type AuctionSessionUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + status?: EnumSessionStatusFieldUpdateOperationsInput | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFieldUpdateOperationsInput | $Enums.SessionPaymentStatus + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + commissioner?: CommissionerUpdateOneRequiredWithoutAuction_sessionsNestedInput + } + + export type AuctionSessionUncheckedUpdateWithoutAuction_itemsInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + commissioner_id?: StringFieldUpdateOperationsInput | string + status?: EnumSessionStatusFieldUpdateOperationsInput | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFieldUpdateOperationsInput | $Enums.SessionPaymentStatus + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type AuctionItemCreateWithoutBillInput = { + id?: string + unit: $Enums.Unit + quantity: number + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + buyer?: BuyerCreateNestedOneWithoutAuction_itemsInput + farmer: FarmerCreateNestedOneWithoutAuction_itemsInput + product: ProductCreateNestedOneWithoutAuction_itemsInput + session: AuctionSessionCreateNestedOneWithoutAuction_itemsInput + } + + export type AuctionItemUncheckedCreateWithoutBillInput = { + id?: string + session_id: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemCreateOrConnectWithoutBillInput = { + where: AuctionItemWhereUniqueInput + create: XOR + } + + export type AuctionItemCreateManyBillInputEnvelope = { + data: AuctionItemCreateManyBillInput | AuctionItemCreateManyBillInput[] + skipDuplicates?: boolean + } + + export type CommissionerCreateWithoutBillsInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionCreateNestedManyWithoutCommissionerInput + buyers?: BuyerCreateNestedManyWithoutCommissionerInput + farmers?: FarmerCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerUncheckedCreateWithoutBillsInput = { + id?: string + name: string + location: string + phone: string + email: string + password: string + commission_rate?: number + created_at?: Date | string + updated_at?: Date | string + auction_sessions?: AuctionSessionUncheckedCreateNestedManyWithoutCommissionerInput + buyers?: BuyerUncheckedCreateNestedManyWithoutCommissionerInput + farmers?: FarmerUncheckedCreateNestedManyWithoutCommissionerInput + password_resets?: PasswordResetUncheckedCreateNestedManyWithoutCommissionerInput + } + + export type CommissionerCreateOrConnectWithoutBillsInput = { + where: CommissionerWhereUniqueInput + create: XOR + } + + export type FarmerCreateWithoutBillsInput = { + id?: string + name: string + phone: string + village: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutFarmerInput + commissioner: CommissionerCreateNestedOneWithoutFarmersInput + } + + export type FarmerUncheckedCreateWithoutBillsInput = { + id?: string + name: string + phone: string + village: string + commissioner_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutFarmerInput + } + + export type FarmerCreateOrConnectWithoutBillsInput = { + where: FarmerWhereUniqueInput + create: XOR + } + + export type ProductCreateWithoutBillsInput = { + id?: string + name: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemCreateNestedManyWithoutProductInput + category: CategoryCreateNestedOneWithoutProductsInput + } + + export type ProductUncheckedCreateWithoutBillsInput = { + id?: string + name: string + category_id: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + auction_items?: AuctionItemUncheckedCreateNestedManyWithoutProductInput + } + + export type ProductCreateOrConnectWithoutBillsInput = { + where: ProductWhereUniqueInput + create: XOR + } + + export type AuctionItemUpsertWithWhereUniqueWithoutBillInput = { + where: AuctionItemWhereUniqueInput + update: XOR + create: XOR + } + + export type AuctionItemUpdateWithWhereUniqueWithoutBillInput = { + where: AuctionItemWhereUniqueInput + data: XOR + } + + export type AuctionItemUpdateManyWithWhereWithoutBillInput = { + where: AuctionItemScalarWhereInput + data: XOR + } + + export type CommissionerUpsertWithoutBillsInput = { + update: XOR + create: XOR + where?: CommissionerWhereInput + } + + export type CommissionerUpdateToOneWithWhereWithoutBillsInput = { + where?: CommissionerWhereInput + data: XOR + } + + export type CommissionerUpdateWithoutBillsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUpdateManyWithoutCommissionerNestedInput + } + + export type CommissionerUncheckedUpdateWithoutBillsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + location?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + email?: StringFieldUpdateOperationsInput | string + password?: StringFieldUpdateOperationsInput | string + commission_rate?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_sessions?: AuctionSessionUncheckedUpdateManyWithoutCommissionerNestedInput + buyers?: BuyerUncheckedUpdateManyWithoutCommissionerNestedInput + farmers?: FarmerUncheckedUpdateManyWithoutCommissionerNestedInput + password_resets?: PasswordResetUncheckedUpdateManyWithoutCommissionerNestedInput + } + + export type FarmerUpsertWithoutBillsInput = { + update: XOR + create: XOR + where?: FarmerWhereInput + } + + export type FarmerUpdateToOneWithWhereWithoutBillsInput = { + where?: FarmerWhereInput + data: XOR + } + + export type FarmerUpdateWithoutBillsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutFarmerNestedInput + commissioner?: CommissionerUpdateOneRequiredWithoutFarmersNestedInput + } + + export type FarmerUncheckedUpdateWithoutBillsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutFarmerNestedInput + } + + export type ProductUpsertWithoutBillsInput = { + update: XOR + create: XOR + where?: ProductWhereInput + } + + export type ProductUpdateToOneWithWhereWithoutBillsInput = { + where?: ProductWhereInput + data: XOR + } + + export type ProductUpdateWithoutBillsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutProductNestedInput + category?: CategoryUpdateOneRequiredWithoutProductsNestedInput + } + + export type ProductUncheckedUpdateWithoutBillsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + category_id?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutProductNestedInput + } + + export type AuctionSessionCreateManyCommissionerInput = { + id?: string + date?: Date | string + status?: $Enums.SessionStatus + payment_status?: $Enums.SessionPaymentStatus + created_at?: Date | string + updated_at?: Date | string + } + + export type BillCreateManyCommissionerInput = { + id?: string + bill_number: string + farmer_id: string + product_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + } + + export type BuyerCreateManyCommissionerInput = { + id?: string + name: string + phone: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + } + + export type FarmerCreateManyCommissionerInput = { + id?: string + name: string + phone: string + village: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + } + + export type PasswordResetCreateManyCommissionerInput = { + id?: string + token: string + expires_at: Date | string + used?: boolean + created_at?: Date | string + used_at?: Date | string | null + } + + export type AuctionSessionUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + status?: EnumSessionStatusFieldUpdateOperationsInput | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFieldUpdateOperationsInput | $Enums.SessionPaymentStatus + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutSessionNestedInput + } + + export type AuctionSessionUncheckedUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + status?: EnumSessionStatusFieldUpdateOperationsInput | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFieldUpdateOperationsInput | $Enums.SessionPaymentStatus + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutSessionNestedInput + } + + export type AuctionSessionUncheckedUpdateManyWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + status?: EnumSessionStatusFieldUpdateOperationsInput | $Enums.SessionStatus + payment_status?: EnumSessionPaymentStatusFieldUpdateOperationsInput | $Enums.SessionPaymentStatus + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type BillUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutBillNestedInput + farmer?: FarmerUpdateOneRequiredWithoutBillsNestedInput + product?: ProductUpdateOneRequiredWithoutBillsNestedInput + } + + export type BillUncheckedUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutBillNestedInput + } + + export type BillUncheckedUpdateManyWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type BuyerUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutBuyerNestedInput + } + + export type BuyerUncheckedUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutBuyerNestedInput + } + + export type BuyerUncheckedUpdateManyWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type FarmerUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutFarmerNestedInput + bills?: BillUpdateManyWithoutFarmerNestedInput + } + + export type FarmerUncheckedUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutFarmerNestedInput + bills?: BillUncheckedUpdateManyWithoutFarmerNestedInput + } + + export type FarmerUncheckedUpdateManyWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + village?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PasswordResetUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + token?: StringFieldUpdateOperationsInput | string + expires_at?: DateTimeFieldUpdateOperationsInput | Date | string + used?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + used_at?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type PasswordResetUncheckedUpdateWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + token?: StringFieldUpdateOperationsInput | string + expires_at?: DateTimeFieldUpdateOperationsInput | Date | string + used?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + used_at?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type PasswordResetUncheckedUpdateManyWithoutCommissionerInput = { + id?: StringFieldUpdateOperationsInput | string + token?: StringFieldUpdateOperationsInput | string + expires_at?: DateTimeFieldUpdateOperationsInput | Date | string + used?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + used_at?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type AuctionItemCreateManyFarmerInput = { + id?: string + session_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type BillCreateManyFarmerInput = { + id?: string + bill_number: string + commissioner_id: string + product_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + } + + export type AuctionItemUpdateWithoutFarmerInput = { + id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + bill?: BillUpdateOneWithoutAuction_itemsNestedInput + buyer?: BuyerUpdateOneWithoutAuction_itemsNestedInput + product?: ProductUpdateOneRequiredWithoutAuction_itemsNestedInput + session?: AuctionSessionUpdateOneRequiredWithoutAuction_itemsNestedInput + } + + export type AuctionItemUncheckedUpdateWithoutFarmerInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type AuctionItemUncheckedUpdateManyWithoutFarmerInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type BillUpdateWithoutFarmerInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutBillNestedInput + commissioner?: CommissionerUpdateOneRequiredWithoutBillsNestedInput + product?: ProductUpdateOneRequiredWithoutBillsNestedInput + } + + export type BillUncheckedUpdateWithoutFarmerInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutBillNestedInput + } + + export type BillUncheckedUpdateManyWithoutFarmerInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type AuctionItemCreateManyBuyerInput = { + id?: string + session_id: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemUpdateWithoutBuyerInput = { + id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + bill?: BillUpdateOneWithoutAuction_itemsNestedInput + farmer?: FarmerUpdateOneRequiredWithoutAuction_itemsNestedInput + product?: ProductUpdateOneRequiredWithoutAuction_itemsNestedInput + session?: AuctionSessionUpdateOneRequiredWithoutAuction_itemsNestedInput + } + + export type AuctionItemUncheckedUpdateWithoutBuyerInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type AuctionItemUncheckedUpdateManyWithoutBuyerInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type ProductCreateManyCategoryInput = { + id?: string + name: string + is_active?: boolean + created_at?: Date | string + updated_at?: Date | string + } + + export type ProductUpdateWithoutCategoryInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutProductNestedInput + bills?: BillUpdateManyWithoutProductNestedInput + } + + export type ProductUncheckedUpdateWithoutCategoryInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutProductNestedInput + bills?: BillUncheckedUpdateManyWithoutProductNestedInput + } + + export type ProductUncheckedUpdateManyWithoutCategoryInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + is_active?: BoolFieldUpdateOperationsInput | boolean + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type AuctionItemCreateManyProductInput = { + id?: string + session_id: string + farmer_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type BillCreateManyProductInput = { + id?: string + bill_number: string + farmer_id: string + commissioner_id: string + session_id: string + total_quantity: number + gross_amount: number + commission_rate: number + commission_amount: number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable: number + payment_status?: $Enums.BillPaymentStatus + payment_method?: string | null + payment_date?: Date | string | null + notes?: string | null + created_at?: Date | string + updated_at?: Date | string + } + + export type AuctionItemUpdateWithoutProductInput = { + id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + bill?: BillUpdateOneWithoutAuction_itemsNestedInput + buyer?: BuyerUpdateOneWithoutAuction_itemsNestedInput + farmer?: FarmerUpdateOneRequiredWithoutAuction_itemsNestedInput + session?: AuctionSessionUpdateOneRequiredWithoutAuction_itemsNestedInput + } + + export type AuctionItemUncheckedUpdateWithoutProductInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type AuctionItemUncheckedUpdateManyWithoutProductInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type BillUpdateWithoutProductInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUpdateManyWithoutBillNestedInput + commissioner?: CommissionerUpdateOneRequiredWithoutBillsNestedInput + farmer?: FarmerUpdateOneRequiredWithoutBillsNestedInput + } + + export type BillUncheckedUpdateWithoutProductInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + auction_items?: AuctionItemUncheckedUpdateManyWithoutBillNestedInput + } + + export type BillUncheckedUpdateManyWithoutProductInput = { + id?: StringFieldUpdateOperationsInput | string + bill_number?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + commissioner_id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + total_quantity?: FloatFieldUpdateOperationsInput | number + gross_amount?: FloatFieldUpdateOperationsInput | number + commission_rate?: FloatFieldUpdateOperationsInput | number + commission_amount?: FloatFieldUpdateOperationsInput | number + other_charges?: JsonNullValueInput | InputJsonValue + net_payable?: FloatFieldUpdateOperationsInput | number + payment_status?: EnumBillPaymentStatusFieldUpdateOperationsInput | $Enums.BillPaymentStatus + payment_method?: NullableStringFieldUpdateOperationsInput | string | null + payment_date?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type AuctionItemCreateManySessionInput = { + id?: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + bill_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemUpdateWithoutSessionInput = { + id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + bill?: BillUpdateOneWithoutAuction_itemsNestedInput + buyer?: BuyerUpdateOneWithoutAuction_itemsNestedInput + farmer?: FarmerUpdateOneRequiredWithoutAuction_itemsNestedInput + product?: ProductUpdateOneRequiredWithoutAuction_itemsNestedInput + } + + export type AuctionItemUncheckedUpdateWithoutSessionInput = { + id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type AuctionItemUncheckedUpdateManyWithoutSessionInput = { + id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + bill_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type AuctionItemCreateManyBillInput = { + id?: string + session_id: string + farmer_id: string + product_id: string + unit: $Enums.Unit + quantity: number + buyer_id?: string | null + created_at?: Date | string + updated_at?: Date | string + rate?: number | null + } + + export type AuctionItemUpdateWithoutBillInput = { + id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + buyer?: BuyerUpdateOneWithoutAuction_itemsNestedInput + farmer?: FarmerUpdateOneRequiredWithoutAuction_itemsNestedInput + product?: ProductUpdateOneRequiredWithoutAuction_itemsNestedInput + session?: AuctionSessionUpdateOneRequiredWithoutAuction_itemsNestedInput + } + + export type AuctionItemUncheckedUpdateWithoutBillInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + export type AuctionItemUncheckedUpdateManyWithoutBillInput = { + id?: StringFieldUpdateOperationsInput | string + session_id?: StringFieldUpdateOperationsInput | string + farmer_id?: StringFieldUpdateOperationsInput | string + product_id?: StringFieldUpdateOperationsInput | string + unit?: EnumUnitFieldUpdateOperationsInput | $Enums.Unit + quantity?: FloatFieldUpdateOperationsInput | number + buyer_id?: NullableStringFieldUpdateOperationsInput | string | null + created_at?: DateTimeFieldUpdateOperationsInput | Date | string + updated_at?: DateTimeFieldUpdateOperationsInput | Date | string + rate?: NullableFloatFieldUpdateOperationsInput | number | null + } + + + + /** + * Batch Payload for updateMany & deleteMany & createMany + */ + + export type BatchPayload = { + count: number + } + + /** + * DMMF + */ + export const dmmf: runtime.BaseDMMF +} \ No newline at end of file diff --git a/generated/prisma/index.js b/generated/prisma/index.js new file mode 100644 index 0000000..11df59e --- /dev/null +++ b/generated/prisma/index.js @@ -0,0 +1,369 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + PrismaClientKnownRequestError, + PrismaClientUnknownRequestError, + PrismaClientRustPanicError, + PrismaClientInitializationError, + PrismaClientValidationError, + getPrismaClient, + sqltag, + empty, + join, + raw, + skip, + Decimal, + Debug, + objectEnumValues, + makeStrictEnum, + Extensions, + warnOnce, + defineDmmfProperty, + Public, + getRuntime, + createParam, +} = require('./runtime/library.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.11.1 + * Query Engine version: f40f79ec31188888a2e33acda0ecc8fd10a853a9 + */ +Prisma.prismaVersion = { + client: "6.11.1", + engine: "f40f79ec31188888a2e33acda0ecc8fd10a853a9" +} + +Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; +Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError +Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError +Prisma.PrismaClientInitializationError = PrismaClientInitializationError +Prisma.PrismaClientValidationError = PrismaClientValidationError +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = sqltag +Prisma.empty = empty +Prisma.join = join +Prisma.raw = raw +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = Extensions.getExtensionContext +Prisma.defineExtension = Extensions.defineExtension + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + + + const path = require('path') + +/** + * Enums + */ +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.CommissionerScalarFieldEnum = { + id: 'id', + name: 'name', + location: 'location', + phone: 'phone', + email: 'email', + password: 'password', + commission_rate: 'commission_rate', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.PasswordResetScalarFieldEnum = { + id: 'id', + commissioner_id: 'commissioner_id', + token: 'token', + expires_at: 'expires_at', + used: 'used', + created_at: 'created_at', + used_at: 'used_at' +}; + +exports.Prisma.FarmerScalarFieldEnum = { + id: 'id', + name: 'name', + phone: 'phone', + village: 'village', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.BuyerScalarFieldEnum = { + id: 'id', + name: 'name', + phone: 'phone', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.CategoryScalarFieldEnum = { + id: 'id', + name: 'name', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.ProductScalarFieldEnum = { + id: 'id', + name: 'name', + category_id: 'category_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.AuctionSessionScalarFieldEnum = { + id: 'id', + date: 'date', + commissioner_id: 'commissioner_id', + status: 'status', + payment_status: 'payment_status', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.AuctionItemScalarFieldEnum = { + id: 'id', + session_id: 'session_id', + farmer_id: 'farmer_id', + product_id: 'product_id', + unit: 'unit', + quantity: 'quantity', + buyer_id: 'buyer_id', + bill_id: 'bill_id', + created_at: 'created_at', + updated_at: 'updated_at', + rate: 'rate' +}; + +exports.Prisma.BillScalarFieldEnum = { + id: 'id', + bill_number: 'bill_number', + farmer_id: 'farmer_id', + commissioner_id: 'commissioner_id', + product_id: 'product_id', + session_id: 'session_id', + total_quantity: 'total_quantity', + gross_amount: 'gross_amount', + commission_rate: 'commission_rate', + commission_amount: 'commission_amount', + other_charges: 'other_charges', + net_payable: 'net_payable', + payment_status: 'payment_status', + payment_method: 'payment_method', + payment_date: 'payment_date', + notes: 'notes', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.JsonNullValueInput = { + JsonNull: Prisma.JsonNull +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; + +exports.Prisma.JsonNullValueFilter = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull, + AnyNull: Prisma.AnyNull +}; +exports.SessionStatus = exports.$Enums.SessionStatus = { + ACTIVE: 'ACTIVE', + COMPLETED: 'COMPLETED' +}; + +exports.SessionPaymentStatus = exports.$Enums.SessionPaymentStatus = { + PENDING: 'PENDING', + COMPLETED: 'COMPLETED' +}; + +exports.BillPaymentStatus = exports.$Enums.BillPaymentStatus = { + UNPAID: 'UNPAID', + PAID: 'PAID' +}; + +exports.Unit = exports.$Enums.Unit = { + KG: 'KG', + GRAM: 'GRAM', + QUINTAL: 'QUINTAL', + TON: 'TON', + BUNDLE: 'BUNDLE', + PIECE: 'PIECE', + LITRE: 'LITRE', + MILLILITRE: 'MILLILITRE', + GALLON: 'GALLON', + DOZEN: 'DOZEN', + BOX: 'BOX', + BAG: 'BAG', + OTHER: 'OTHER' +}; + +exports.Prisma.ModelName = { + Commissioner: 'Commissioner', + PasswordReset: 'PasswordReset', + Farmer: 'Farmer', + Buyer: 'Buyer', + Category: 'Category', + Product: 'Product', + AuctionSession: 'AuctionSession', + AuctionItem: 'AuctionItem', + Bill: 'Bill' +}; +/** + * Create the Client + */ +const config = { + "generator": { + "name": "client", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "/home/zoro/Projects/Personal/data-entry/generated/prisma", + "fromEnvVar": null + }, + "config": { + "engineType": "library" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "debian-openssl-1.1.x", + "native": true + }, + { + "fromEnvVar": null, + "value": "debian-openssl-1.1.x" + }, + { + "fromEnvVar": null, + "value": "debian-openssl-3.0.x" + } + ], + "previewFeatures": [], + "sourceFilePath": "/home/zoro/Projects/Personal/data-entry/prisma/schema.prisma", + "isCustomOutput": true + }, + "relativeEnvPaths": { + "rootEnvPath": null, + "schemaEnvPath": "../../.env" + }, + "relativePath": "../../prisma", + "clientVersion": "6.11.1", + "engineVersion": "f40f79ec31188888a2e33acda0ecc8fd10a853a9", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n binaryTargets = [\"native\", \"debian-openssl-1.1.x\", \"debian-openssl-3.0.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Commissioner {\n id String @id @default(cuid())\n name String\n location String\n phone String\n email String @unique\n password String\n commission_rate Float @default(10.0)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_sessions AuctionSession[]\n bills Bill[]\n buyers Buyer[]\n farmers Farmer[]\n password_resets PasswordReset[]\n\n @@map(\"commissioners\")\n}\n\nmodel PasswordReset {\n id String @id @default(cuid())\n commissioner_id String\n token String @unique\n expires_at DateTime\n used Boolean @default(false)\n created_at DateTime @default(now())\n used_at DateTime?\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade)\n\n @@map(\"password_resets\")\n}\n\nmodel Farmer {\n id String @id @default(cuid())\n name String\n phone String\n village String\n commissioner_id String\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n bills Bill[]\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade)\n\n @@map(\"farmers\")\n}\n\nmodel Buyer {\n id String @id @default(cuid())\n name String\n phone String\n commissioner_id String\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade)\n\n @@map(\"buyers\")\n}\n\nmodel Category {\n id String @id @default(cuid())\n name String @unique\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n products Product[]\n\n @@map(\"categories\")\n}\n\nmodel Product {\n id String @id @default(cuid())\n name String @unique\n category_id String\n is_active Boolean @default(true)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n bills Bill[]\n category Category @relation(fields: [category_id], references: [id])\n\n @@map(\"products\")\n}\n\nmodel AuctionSession {\n id String @id @default(cuid())\n date DateTime @default(now())\n commissioner_id String\n status SessionStatus @default(ACTIVE)\n payment_status SessionPaymentStatus @default(PENDING)\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade)\n\n @@index([payment_status, date])\n @@map(\"auction_sessions\")\n}\n\nmodel AuctionItem {\n id String @id @default(cuid())\n session_id String\n farmer_id String\n product_id String\n unit Unit\n quantity Float\n buyer_id String?\n bill_id String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n rate Float?\n bill Bill? @relation(fields: [bill_id], references: [id])\n buyer Buyer? @relation(fields: [buyer_id], references: [id], onDelete: Restrict)\n farmer Farmer @relation(fields: [farmer_id], references: [id])\n product Product @relation(fields: [product_id], references: [id])\n session AuctionSession @relation(fields: [session_id], references: [id], onDelete: Cascade)\n\n @@index([farmer_id, product_id, bill_id])\n @@index([session_id, farmer_id, product_id])\n @@map(\"auction_items\")\n}\n\nmodel Bill {\n id String @id @default(cuid())\n bill_number String @unique\n farmer_id String\n commissioner_id String\n product_id String\n session_id String\n total_quantity Float\n gross_amount Float\n commission_rate Float\n commission_amount Float\n other_charges Json @default(\"{}\")\n net_payable Float\n payment_status BillPaymentStatus @default(UNPAID)\n payment_method String?\n payment_date DateTime?\n notes String?\n created_at DateTime @default(now())\n updated_at DateTime @updatedAt\n auction_items AuctionItem[]\n commissioner Commissioner @relation(fields: [commissioner_id], references: [id])\n farmer Farmer @relation(fields: [farmer_id], references: [id])\n product Product @relation(fields: [product_id], references: [id])\n\n @@unique([farmer_id, product_id, session_id])\n @@index([commissioner_id, payment_status])\n @@index([farmer_id, payment_status])\n @@index([product_id, payment_status])\n @@index([session_id, payment_status])\n @@index([payment_status, created_at])\n @@map(\"bills\")\n}\n\nenum SessionStatus {\n ACTIVE\n COMPLETED\n}\n\nenum SessionPaymentStatus {\n PENDING\n COMPLETED\n}\n\nenum BillPaymentStatus {\n UNPAID\n PAID\n}\n\nenum Unit {\n KG\n GRAM\n QUINTAL\n TON\n BUNDLE\n PIECE\n LITRE\n MILLILITRE\n GALLON\n DOZEN\n BOX\n BAG\n OTHER\n}\n", + "inlineSchemaHash": "9ec098d41825a178108022188aedae07e84987cac356ee00eda95300ac0e960d", + "copyEngine": true +} + +const fs = require('fs') + +config.dirname = __dirname +if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { + const alternativePaths = [ + "generated/prisma", + "prisma", + ] + + const alternativePath = alternativePaths.find((altPath) => { + return fs.existsSync(path.join(process.cwd(), altPath, 'schema.prisma')) + }) ?? alternativePaths[0] + + config.dirname = path.join(process.cwd(), alternativePath) + config.isBundled = true +} + +config.runtimeDataModel = JSON.parse("{\"models\":{\"Commissioner\":{\"dbName\":\"commissioners\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission_rate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"nativeType\":null,\"default\":10,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_sessions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionSession\",\"nativeType\":null,\"relationName\":\"AuctionSessionToCommissioner\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bills\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Bill\",\"nativeType\":null,\"relationName\":\"BillToCommissioner\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"buyers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Buyer\",\"nativeType\":null,\"relationName\":\"BuyerToCommissioner\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Farmer\",\"nativeType\":null,\"relationName\":\"CommissionerToFarmer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password_resets\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PasswordReset\",\"nativeType\":null,\"relationName\":\"CommissionerToPasswordReset\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PasswordReset\":{\"dbName\":\"password_resets\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"token\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"used\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"used_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"CommissionerToPasswordReset\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Farmer\":{\"dbName\":\"farmers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"village\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToFarmer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bills\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Bill\",\"nativeType\":null,\"relationName\":\"BillToFarmer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"CommissionerToFarmer\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Buyer\":{\"dbName\":\"buyers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToBuyer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"BuyerToCommissioner\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Category\":{\"dbName\":\"categories\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"products\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Product\",\"nativeType\":null,\"relationName\":\"CategoryToProduct\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Product\":{\"dbName\":\"products\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"category_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"is_active\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToProduct\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bills\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Bill\",\"nativeType\":null,\"relationName\":\"BillToProduct\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"category\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Category\",\"nativeType\":null,\"relationName\":\"CategoryToProduct\",\"relationFromFields\":[\"category_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuctionSession\":{\"dbName\":\"auction_sessions\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"SessionStatus\",\"nativeType\":null,\"default\":\"ACTIVE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payment_status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"SessionPaymentStatus\",\"nativeType\":null,\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToAuctionSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"AuctionSessionToCommissioner\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuctionItem\":{\"dbName\":\"auction_items\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmer_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"product_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unit\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Unit\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quantity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"buyer_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bill_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"rate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bill\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Bill\",\"nativeType\":null,\"relationName\":\"AuctionItemToBill\",\"relationFromFields\":[\"bill_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"buyer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Buyer\",\"nativeType\":null,\"relationName\":\"AuctionItemToBuyer\",\"relationFromFields\":[\"buyer_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Farmer\",\"nativeType\":null,\"relationName\":\"AuctionItemToFarmer\",\"relationFromFields\":[\"farmer_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"product\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Product\",\"nativeType\":null,\"relationName\":\"AuctionItemToProduct\",\"relationFromFields\":[\"product_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionSession\",\"nativeType\":null,\"relationName\":\"AuctionItemToAuctionSession\",\"relationFromFields\":[\"session_id\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Bill\":{\"dbName\":\"bills\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bill_number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmer_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"product_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session_id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"total_quantity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gross_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission_rate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission_amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"other_charges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Json\",\"nativeType\":null,\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"net_payable\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payment_status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"BillPaymentStatus\",\"nativeType\":null,\"default\":\"UNPAID\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payment_method\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payment_date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"created_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updated_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"auction_items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuctionItem\",\"nativeType\":null,\"relationName\":\"AuctionItemToBill\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commissioner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Commissioner\",\"nativeType\":null,\"relationName\":\"BillToCommissioner\",\"relationFromFields\":[\"commissioner_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"farmer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Farmer\",\"nativeType\":null,\"relationName\":\"BillToFarmer\",\"relationFromFields\":[\"farmer_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"product\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Product\",\"nativeType\":null,\"relationName\":\"BillToProduct\",\"relationFromFields\":[\"product_id\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"farmer_id\",\"product_id\",\"session_id\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"farmer_id\",\"product_id\",\"session_id\"]}],\"isGenerated\":false}},\"enums\":{\"SessionStatus\":{\"values\":[{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"SessionPaymentStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"BillPaymentStatus\":{\"values\":[{\"name\":\"UNPAID\",\"dbName\":null},{\"name\":\"PAID\",\"dbName\":null}],\"dbName\":null},\"Unit\":{\"values\":[{\"name\":\"KG\",\"dbName\":null},{\"name\":\"GRAM\",\"dbName\":null},{\"name\":\"QUINTAL\",\"dbName\":null},{\"name\":\"TON\",\"dbName\":null},{\"name\":\"BUNDLE\",\"dbName\":null},{\"name\":\"PIECE\",\"dbName\":null},{\"name\":\"LITRE\",\"dbName\":null},{\"name\":\"MILLILITRE\",\"dbName\":null},{\"name\":\"GALLON\",\"dbName\":null},{\"name\":\"DOZEN\",\"dbName\":null},{\"name\":\"BOX\",\"dbName\":null},{\"name\":\"BAG\",\"dbName\":null},{\"name\":\"OTHER\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +defineDmmfProperty(exports.Prisma, config.runtimeDataModel) +config.engineWasm = undefined +config.compilerWasm = undefined + + +const { warnEnvConflicts } = require('./runtime/library.js') + +warnEnvConflicts({ + rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.rootEnvPath), + schemaEnvPath: config.relativeEnvPaths.schemaEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.schemaEnvPath) +}) + +const PrismaClient = getPrismaClient(config) +exports.PrismaClient = PrismaClient +Object.assign(exports, Prisma) + +// file annotations for bundling tools to include these files +path.join(__dirname, "libquery_engine-debian-openssl-1.1.x.so.node"); +path.join(process.cwd(), "generated/prisma/libquery_engine-debian-openssl-1.1.x.so.node") + +// file annotations for bundling tools to include these files +path.join(__dirname, "libquery_engine-debian-openssl-3.0.x.so.node"); +path.join(process.cwd(), "generated/prisma/libquery_engine-debian-openssl-3.0.x.so.node") +// file annotations for bundling tools to include these files +path.join(__dirname, "schema.prisma"); +path.join(process.cwd(), "generated/prisma/schema.prisma") diff --git a/generated/prisma/libquery_engine-debian-openssl-1.1.x.so.node b/generated/prisma/libquery_engine-debian-openssl-1.1.x.so.node new file mode 100755 index 0000000..b144908 Binary files /dev/null and b/generated/prisma/libquery_engine-debian-openssl-1.1.x.so.node differ diff --git a/generated/prisma/libquery_engine-debian-openssl-3.0.x.so.node b/generated/prisma/libquery_engine-debian-openssl-3.0.x.so.node new file mode 100755 index 0000000..c245d6c Binary files /dev/null and b/generated/prisma/libquery_engine-debian-openssl-3.0.x.so.node differ diff --git a/generated/prisma/package.json b/generated/prisma/package.json new file mode 100644 index 0000000..6d947bb --- /dev/null +++ b/generated/prisma/package.json @@ -0,0 +1,146 @@ +{ + "name": "prisma-client-f40098f9a7c9e1e10ee58e2d42c9cc1fe1102ef33afc090ca638b15c01f47ba8", + "main": "index.js", + "types": "index.d.ts", + "browser": "index-browser.js", + "exports": { + "./client": { + "require": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "import": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "default": "./index.js" + }, + "./package.json": "./package.json", + ".": { + "require": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "import": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "default": "./index.js" + }, + "./edge": { + "types": "./edge.d.ts", + "require": "./edge.js", + "import": "./edge.js", + "default": "./edge.js" + }, + "./react-native": { + "types": "./react-native.d.ts", + "require": "./react-native.js", + "import": "./react-native.js", + "default": "./react-native.js" + }, + "./extension": { + "types": "./extension.d.ts", + "require": "./extension.js", + "import": "./extension.js", + "default": "./extension.js" + }, + "./index-browser": { + "types": "./index.d.ts", + "require": "./index-browser.js", + "import": "./index-browser.js", + "default": "./index-browser.js" + }, + "./index": { + "types": "./index.d.ts", + "require": "./index.js", + "import": "./index.js", + "default": "./index.js" + }, + "./wasm": { + "types": "./wasm.d.ts", + "require": "./wasm.js", + "import": "./wasm.mjs", + "default": "./wasm.mjs" + }, + "./runtime/client": { + "types": "./runtime/client.d.ts", + "require": "./runtime/client.js", + "import": "./runtime/client.mjs", + "default": "./runtime/client.mjs" + }, + "./runtime/library": { + "types": "./runtime/library.d.ts", + "require": "./runtime/library.js", + "import": "./runtime/library.mjs", + "default": "./runtime/library.mjs" + }, + "./runtime/binary": { + "types": "./runtime/binary.d.ts", + "require": "./runtime/binary.js", + "import": "./runtime/binary.mjs", + "default": "./runtime/binary.mjs" + }, + "./runtime/wasm-engine-edge": { + "types": "./runtime/wasm-engine-edge.d.ts", + "require": "./runtime/wasm-engine-edge.js", + "import": "./runtime/wasm-engine-edge.mjs", + "default": "./runtime/wasm-engine-edge.mjs" + }, + "./runtime/wasm-compiler-edge": { + "types": "./runtime/wasm-compiler-edge.d.ts", + "require": "./runtime/wasm-compiler-edge.js", + "import": "./runtime/wasm-compiler-edge.mjs", + "default": "./runtime/wasm-compiler-edge.mjs" + }, + "./runtime/edge": { + "types": "./runtime/edge.d.ts", + "require": "./runtime/edge.js", + "import": "./runtime/edge-esm.js", + "default": "./runtime/edge-esm.js" + }, + "./runtime/react-native": { + "types": "./runtime/react-native.d.ts", + "require": "./runtime/react-native.js", + "import": "./runtime/react-native.js", + "default": "./runtime/react-native.js" + }, + "./generator-build": { + "require": "./generator-build/index.js", + "import": "./generator-build/index.js", + "default": "./generator-build/index.js" + }, + "./sql": { + "require": { + "types": "./sql.d.ts", + "node": "./sql.js", + "default": "./sql.js" + }, + "import": { + "types": "./sql.d.ts", + "node": "./sql.mjs", + "default": "./sql.mjs" + }, + "default": "./sql.js" + }, + "./*": "./*" + }, + "version": "6.11.1", + "sideEffects": false +} \ No newline at end of file diff --git a/generated/prisma/runtime/edge-esm.js b/generated/prisma/runtime/edge-esm.js new file mode 100644 index 0000000..4d5be4e --- /dev/null +++ b/generated/prisma/runtime/edge-esm.js @@ -0,0 +1,34 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +var la=Object.create;var tn=Object.defineProperty;var ua=Object.getOwnPropertyDescriptor;var ca=Object.getOwnPropertyNames;var pa=Object.getPrototypeOf,ma=Object.prototype.hasOwnProperty;var me=(e,t)=>()=>(e&&(t=e(e=0)),t);var Fe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),or=(e,t)=>{for(var r in t)tn(e,r,{get:t[r],enumerable:!0})},da=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ca(t))!ma.call(e,i)&&i!==r&&tn(e,i,{get:()=>t[i],enumerable:!(n=ua(t,i))||n.enumerable});return e};var Qe=(e,t,r)=>(r=e!=null?la(pa(e)):{},da(t||!e||!e.__esModule?tn(r,"default",{value:e,enumerable:!0}):r,e));var y,u=me(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4}});var b,c=me(()=>{"use strict";b=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,p=me(()=>{"use strict";E=()=>{};E.prototype=E});var m=me(()=>{"use strict"});var bi=Fe(Ke=>{"use strict";d();u();c();p();m();var si=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fa=si(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=S;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var D=C.indexOf("=");D===-1&&(D=R);var M=D===R?0:4-D%4;return[D,M]}function l(C){var R=a(C),D=R[0],M=R[1];return(D+M)*3/4-M}function f(C,R,D){return(R+D)*3/4-D}function g(C){var R,D=a(C),M=D[0],B=D[1],k=new n(f(C,M,B)),F=0,ie=B>0?M-4:M,G;for(G=0;G>16&255,k[F++]=R>>8&255,k[F++]=R&255;return B===2&&(R=r[C.charCodeAt(G)]<<2|r[C.charCodeAt(G+1)]>>4,k[F++]=R&255),B===1&&(R=r[C.charCodeAt(G)]<<10|r[C.charCodeAt(G+1)]<<4|r[C.charCodeAt(G+2)]>>2,k[F++]=R>>8&255,k[F++]=R&255),k}function h(C){return t[C>>18&63]+t[C>>12&63]+t[C>>6&63]+t[C&63]}function v(C,R,D){for(var M,B=[],k=R;kie?ie:F+k));return M===1?(R=C[D-1],B.push(t[R>>2]+t[R<<4&63]+"==")):M===2&&(R=(C[D-2]<<8)+C[D-1],B.push(t[R>>10]+t[R>>4&63]+t[R<<2&63]+"=")),B.join("")}}),ga=si(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,f=(1<>1,h=-7,v=n?o-1:0,S=n?-1:1,C=t[r+v];for(v+=S,s=C&(1<<-h)-1,C>>=-h,h+=l;h>0;s=s*256+t[r+v],v+=S,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+v],v+=S,h-=8);if(s===0)s=1-g;else{if(s===f)return a?NaN:(C?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(C?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,f,g=s*8-o-1,h=(1<>1,S=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,C=i?0:s-1,R=i?1:-1,D=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(f=Math.pow(2,-a))<1&&(a--,f*=2),a+v>=1?r+=S/f:r+=S*Math.pow(2,1-v),r*f>=2&&(a++,f/=2),a+v>=h?(l=0,a=h):a+v>=1?(l=(r*f-1)*Math.pow(2,o),a=a+v):(l=r*Math.pow(2,v-1)*Math.pow(2,o),a=0));o>=8;t[n+C]=l&255,C+=R,l/=256,o-=8);for(a=a<0;t[n+C]=a&255,C+=R,a/=256,g-=8);t[n+C-R]|=D*128}}),rn=fa(),We=ga(),ri=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ke.Buffer=T;Ke.SlowBuffer=xa;Ke.INSPECT_MAX_BYTES=50;var sr=2147483647;Ke.kMaxLength=sr;T.TYPED_ARRAY_SUPPORT=ha();!T.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function ha(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(T.prototype,"parent",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}});Object.defineProperty(T.prototype,"offset",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function be(e){if(e>sr)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,T.prototype),t}function T(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return sn(e)}return ai(e,t,r)}T.poolSize=8192;function ai(e,t,r){if(typeof e=="string")return wa(e,t);if(ArrayBuffer.isView(e))return Ea(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(de(e,ArrayBuffer)||e&&de(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(de(e,SharedArrayBuffer)||e&&de(e.buffer,SharedArrayBuffer)))return ui(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return T.from(n,t,r);let i=ba(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return T.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}T.from=function(e,t,r){return ai(e,t,r)};Object.setPrototypeOf(T.prototype,Uint8Array.prototype);Object.setPrototypeOf(T,Uint8Array);function li(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function ya(e,t,r){return li(e),e<=0?be(e):t!==void 0?typeof r=="string"?be(e).fill(t,r):be(e).fill(t):be(e)}T.alloc=function(e,t,r){return ya(e,t,r)};function sn(e){return li(e),be(e<0?0:an(e)|0)}T.allocUnsafe=function(e){return sn(e)};T.allocUnsafeSlow=function(e){return sn(e)};function wa(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!T.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=ci(e,t)|0,n=be(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function nn(e){let t=e.length<0?0:an(e.length)|0,r=be(t);for(let n=0;n=sr)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+sr.toString(16)+" bytes");return e|0}function xa(e){return+e!=e&&(e=0),T.alloc(+e)}T.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==T.prototype};T.compare=function(e,t){if(de(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),de(t,Uint8Array)&&(t=T.from(t,t.offset,t.byteLength)),!T.isBuffer(e)||!T.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(T.isBuffer(o)||(o=T.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(T.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function ci(e,t){if(T.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||de(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return on(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ei(e).length;default:if(i)return n?-1:on(e).length;t=(""+t).toLowerCase(),i=!0}}T.byteLength=ci;function Pa(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Da(this,t,r);case"utf8":case"utf-8":return mi(this,t,r);case"ascii":return Ia(this,t,r);case"latin1":case"binary":return Oa(this,t,r);case"base64":return Sa(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ma(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}T.prototype._isBuffer=!0;function Le(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}T.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ri&&(T.prototype[ri]=T.prototype.inspect);T.prototype.compare=function(e,t,r,n,i){if(de(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),!T.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),f=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,un(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=T.from(t,n)),T.isBuffer(t))return t.length===0?-1:ni(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):ni(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function ni(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let f;if(i){let g=-1;for(f=r;fs&&(r=s-a),f=r;f>=0;f--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return va(this,e,t,r);case"utf8":case"utf-8":return Ta(this,e,t,r);case"ascii":case"latin1":case"binary":return Ca(this,e,t,r);case"base64":return Aa(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ra(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Sa(e,t,r){return t===0&&r===e.length?rn.fromByteArray(e):rn.fromByteArray(e.slice(t,r))}function mi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,f,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],f=e[i+2],(l&192)===128&&(f&192)===128&&(h=(o&15)<<12|(l&63)<<6|f&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],f=e[i+2],g=e[i+3],(l&192)===128&&(f&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(f&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return ka(n)}var ii=4096;function ka(e){let t=e.length;if(t<=ii)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};T.prototype.readUint8=T.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};T.prototype.readUint16LE=T.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};T.prototype.readUint16BE=T.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};T.prototype.readUint32LE=T.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};T.prototype.readUint32BE=T.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};T.prototype.readBigUInt64LE=Ae(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};T.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};T.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};T.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};T.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};T.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};T.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};T.prototype.readBigInt64LE=Ae(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&bt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),We.read(this,e,!0,23,4)};T.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),We.read(this,e,!1,23,4)};T.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!0,52,8)};T.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!1,52,8)};function te(e,t,r,n,i,o){if(!T.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};T.prototype.writeUint8=T.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,255,0),this[t]=e&255,t+1};T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function di(e,t,r,n,i){wi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function fi(e,t,r,n,i){wi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}T.prototype.writeBigUInt64LE=Ae(function(e,t=0){return di(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeBigUInt64BE=Ae(function(e,t=0){return fi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};T.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};T.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};T.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};T.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};T.prototype.writeBigInt64LE=Ae(function(e,t=0){return di(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});T.prototype.writeBigInt64BE=Ae(function(e,t=0){return fi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function gi(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function hi(e,t,r,n,i){return t=+t,r=r>>>0,i||gi(e,t,r,4,34028234663852886e22,-34028234663852886e22),We.write(e,t,r,n,23,4),r+4}T.prototype.writeFloatLE=function(e,t,r){return hi(this,e,t,!0,r)};T.prototype.writeFloatBE=function(e,t,r){return hi(this,e,t,!1,r)};function yi(e,t,r,n,i){return t=+t,r=r>>>0,i||gi(e,t,r,8,17976931348623157e292,-17976931348623157e292),We.write(e,t,r,n,52,8),r+8}T.prototype.writeDoubleLE=function(e,t,r){return yi(this,e,t,!0,r)};T.prototype.writeDoubleBE=function(e,t,r){return yi(this,e,t,!1,r)};T.prototype.copy=function(e,t,r,n){if(!T.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=oi(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=oi(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function oi(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function _a(e,t,r){He(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&bt(t,e.length-(r+1))}function wi(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Je.ERR_OUT_OF_RANGE("value",a,e)}_a(n,i,o)}function He(e,t){if(typeof e!="number")throw new Je.ERR_INVALID_ARG_TYPE(t,"number",e)}function bt(e,t,r){throw Math.floor(e)!==e?(He(e,r),new Je.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Je.ERR_BUFFER_OUT_OF_BOUNDS:new Je.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Na=/[^+/0-9A-Za-z-_]/g;function Fa(e){if(e=e.split("=")[0],e=e.trim().replace(Na,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function on(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function La(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function Ei(e){return rn.toByteArray(Fa(e))}function ar(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function de(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function un(e){return e!==e}var Ua=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Ae(e){return typeof BigInt>"u"?qa:e}function qa(){throw new Error("BigInt not supported")}});var w,d=me(()=>{"use strict";w=Qe(bi())});function Ja(){return!1}function Ui(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function Wa(){return Ui()}function Ha(){return[]}function Ka(e){e(null,[])}function za(){return""}function Ya(){return""}function Za(){}function Xa(){}function el(){}function tl(){}function rl(){}function nl(){}var il,ol,qi,$i=me(()=>{"use strict";d();u();c();p();m();il={},ol={existsSync:Ja,lstatSync:Ui,statSync:Wa,readdirSync:Ha,readdir:Ka,readlinkSync:za,realpathSync:Ya,chmodSync:Za,renameSync:Xa,mkdirSync:el,rmdirSync:tl,rmSync:rl,unlinkSync:nl,promises:il},qi=ol});function sl(...e){return e.join("/")}function al(...e){return e.join("/")}function ll(e){let t=ji(e),r=Vi(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function ji(e){let t=e.split("/");return t[t.length-1]}function Vi(e){return e.split("/").slice(0,-1).join("/")}var Gi,ul,cl,pr,Qi=me(()=>{"use strict";d();u();c();p();m();Gi="/",ul={sep:Gi},cl={basename:ji,dirname:Vi,join:al,parse:ll,posix:ul,resolve:sl,sep:Gi},pr=cl});var Ji=Fe((ld,pl)=>{pl.exports={name:"@prisma/internals",version:"6.11.1",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-engine-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Ki=Fe((Rd,Hi)=>{"use strict";d();u();c();p();m();Hi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Zi=Fe((Ud,Yi)=>{"use strict";d();u();c();p();m();Yi.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var eo=Fe((Qd,Xi)=>{"use strict";d();u();c();p();m();var El=Zi();Xi.exports=e=>typeof e=="string"?e.replace(El(),""):e});var vn=Fe((_y,Eo)=>{"use strict";d();u();c();p();m();Eo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";d();u();c();p();m()});var Co=me(()=>{"use strict";d();u();c();p();m()});var Jo=Fe((r1,uc)=>{uc.exports={name:"@prisma/engines-version",version:"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"f40f79ec31188888a2e33acda0ecc8fd10a853a9"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Ur,Wo=me(()=>{"use strict";d();u();c();p();m();Ur=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});d();u();c();p();m();var vi={};or(vi,{defineExtension:()=>xi,getExtensionContext:()=>Pi});d();u();c();p();m();d();u();c();p();m();function xi(e){return typeof e=="function"?e:t=>t.$extends(e)}d();u();c();p();m();function Pi(e){return e}var Ci={};or(Ci,{validator:()=>Ti});d();u();c();p();m();d();u();c();p();m();function Ti(...e){return t=>t}d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();var cn,Ai,Ri,Si,ki=!0;typeof y<"u"&&({FORCE_COLOR:cn,NODE_DISABLE_COLORS:Ai,NO_COLOR:Ri,TERM:Si}=y.env||{},ki=y.stdout&&y.stdout.isTTY);var $a={enabled:!Ai&&Ri==null&&Si!=="dumb"&&(cn!=null&&cn!=="0"||ki)};function j(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!$a.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var pm=j(0,0),lr=j(1,22),ur=j(2,22),mm=j(3,23),Ii=j(4,24),dm=j(7,27),fm=j(8,28),gm=j(9,29),hm=j(30,39),ze=j(31,39),Oi=j(32,39),Di=j(33,39),Mi=j(34,39),ym=j(35,39),_i=j(36,39),wm=j(37,39),Ni=j(90,39),Em=j(90,39),bm=j(40,49),xm=j(41,49),Pm=j(42,49),vm=j(43,49),Tm=j(44,49),Cm=j(45,49),Am=j(46,49),Rm=j(47,49);d();u();c();p();m();var ja=100,Fi=["green","yellow","blue","magenta","cyan","red"],cr=[],Li=Date.now(),Va=0,pn=typeof y<"u"?y.env:{};globalThis.DEBUG??=pn.DEBUG??"";globalThis.DEBUG_COLORS??=pn.DEBUG_COLORS?pn.DEBUG_COLORS==="true":!0;var xt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function Ga(e){let t={color:Fi[Va++%Fi.length],enabled:xt.enabled(e),namespace:e,log:xt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&cr.push([o,...n]),cr.length>ja&&cr.shift(),xt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:Qa(g)),f=`+${Date.now()-Li}ms`;Li=Date.now(),a(o,...l,f)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var Y=new Proxy(Ga,{get:(e,t)=>xt[t],set:(e,t,r)=>xt[t]=r});function Qa(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function Bi(){cr.length=0}d();u();c();p();m();d();u();c();p();m();var ml=Ji(),mn=ml.version;d();u();c();p();m();function Ye(e){let t=dl();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":fl(e))}function dl(){let e=y.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function fl(e){return e?.previewFeatures.includes("queryCompiler")?"client":"library"}d();u();c();p();m();var Wi="prisma+postgres",mr=`${Wi}:`;function dr(e){return e?.toString().startsWith(`${mr}//`)??!1}function dn(e){if(!dr(e))return!1;let{host:t}=new URL(e);return t.includes("localhost")||t.includes("127.0.0.1")}var vt={};or(vt,{error:()=>yl,info:()=>hl,log:()=>gl,query:()=>wl,should:()=>zi,tags:()=>Pt,warn:()=>fn});d();u();c();p();m();var Pt={error:ze("prisma:error"),warn:Di("prisma:warn"),info:_i("prisma:info"),query:Mi("prisma:query")},zi={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function gl(...e){console.log(...e)}function fn(e,...t){zi.warn()&&console.warn(`${Pt.warn} ${e}`,...t)}function hl(e,...t){console.info(`${Pt.info} ${e}`,...t)}function yl(e,...t){console.error(`${Pt.error} ${e}`,...t)}function wl(e,...t){console.log(`${Pt.query} ${e}`,...t)}d();u();c();p();m();function xe(e,t){throw new Error(t)}d();u();c();p();m();function gn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}d();u();c();p();m();function Ze(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}d();u();c();p();m();function hn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{to.has(e)||(to.add(e),fn(t,...r))};var Q=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};N(Q,"PrismaClientInitializationError");d();u();c();p();m();var oe=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};N(oe,"PrismaClientKnownRequestError");d();u();c();p();m();var Re=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};N(Re,"PrismaClientRustPanicError");d();u();c();p();m();var se=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};N(se,"PrismaClientUnknownRequestError");d();u();c();p();m();var X=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};N(X,"PrismaClientValidationError");d();u();c();p();m();d();u();c();p();m();var Xe=9e15,Oe=1e9,yn="0123456789abcdef",yr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",wr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",wn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Xe,maxE:Xe,crypto:!1},so,Pe,_=!0,br="[DecimalError] ",Ie=br+"Invalid argument: ",ao=br+"Precision limit exceeded",lo=br+"crypto unavailable",uo="[object Decimal]",Z=Math.floor,J=Math.pow,bl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,xl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Pl=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,co=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ce=1e7,O=7,vl=9007199254740991,Tl=yr.length-1,En=wr.length-1,A={toStringTag:uo};A.absoluteValue=A.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};A.ceil=function(){return I(new this.constructor(this),this.e+1,2)};A.clampedTo=A.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(Ie+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};A.comparedTo=A.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,f=e.s;if(!s||!a)return!l||!f?NaN:l!==f?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-f:0;if(l!==f)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};A.cosine=A.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Cl(n,ho(n,r)),n.precision=e,n.rounding=t,I(Pe==2||Pe==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};A.cubeRoot=A.cbrt=function(){var e,t,r,n,i,o,s,a,l,f,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*J(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=K(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=J(r,1/3),e=Z((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),f=l.plus(g),n=q(f.plus(g).times(a),f.plus(l),s+2,1),K(a.d).slice(0,s)===(r=K(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(I(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,I(n,e,h.rounding,t)};A.decimalPlaces=A.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-Z(this.e/O))*O,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};A.dividedBy=A.div=function(e){return q(this,new this.constructor(e))};A.dividedToIntegerBy=A.divToInt=function(e){var t=this,r=t.constructor;return I(q(t,new r(e),0,1,1),r.precision,r.rounding)};A.equals=A.eq=function(e){return this.cmp(e)===0};A.floor=function(){return I(new this.constructor(this),this.e+1,3)};A.greaterThan=A.gt=function(e){return this.cmp(e)>0};A.greaterThanOrEqualTo=A.gte=function(e){var t=this.cmp(e);return t==1||t===0};A.hyperbolicCosine=A.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Pr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=et(s,1,o.times(t),new s(1),!0);for(var l,f=e,g=new s(8);f--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return I(o,s.precision=r,s.rounding=n,!0)};A.hyperbolicSine=A.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=et(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Pr(5,e)),i=et(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),f=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(f))))}return o.precision=t,o.rounding=r,I(i,t,r,!0)};A.hyperbolicTangent=A.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,q(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};A.inverseCosine=A.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?fe(t,n,i):new t(0):new t(NaN):e.isZero()?fe(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};A.inverseHyperbolicCosine=A.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};A.inverseHyperbolicSine=A.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};A.inverseHyperbolicTangent=A.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new o(i),e,t,!0):(o.precision=r=n-i.e,i=q(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};A.inverseSine=A.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=fe(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};A.inverseTangent=A.atan=function(){var e,t,r,n,i,o,s,a,l,f=this,g=f.constructor,h=g.precision,v=g.rounding;if(f.isFinite()){if(f.isZero())return new g(f);if(f.abs().eq(1)&&h+4<=En)return s=fe(g,h+4,v).times(.25),s.s=f.s,s}else{if(!f.s)return new g(NaN);if(h+4<=En)return s=fe(g,h+4,v).times(.5),s.s=f.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/O+2|0),e=r;e;--e)f=f.div(f.times(f).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/O),n=1,l=f.times(f),s=new g(f),i=f;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};A.isNaN=function(){return!this.s};A.isNegative=A.isNeg=function(){return this.s<0};A.isPositive=A.isPos=function(){return this.s>0};A.isZero=function(){return!!this.d&&this.d[0]===0};A.lessThan=A.lt=function(e){return this.cmp(e)<0};A.lessThanOrEqualTo=A.lte=function(e){return this.cmp(e)<1};A.logarithm=A.log=function(e){var t,r,n,i,o,s,a,l,f=this,g=f.constructor,h=g.precision,v=g.rounding,S=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=f.d,f.s<0||!r||!r[0]||f.eq(1))return new g(r&&!r[0]?-1/0:f.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+S,s=ke(f,a),n=t?Er(g,a+10):ke(e,a),l=q(s,n,a,1),Tt(l.d,i=h,v))do if(a+=10,s=ke(f,a),n=t?Er(g,a+10):ke(e,a),l=q(s,n,a,1),!o){+K(l.d).slice(i+1,i+15)+1==1e14&&(l=I(l,h+1,0));break}while(Tt(l.d,i+=10,v));return _=!0,I(l,h,v)};A.minus=A.sub=function(e){var t,r,n,i,o,s,a,l,f,g,h,v,S=this,C=S.constructor;if(e=new C(e),!S.d||!e.d)return!S.s||!e.s?e=new C(NaN):S.d?e.s=-e.s:e=new C(e.d||S.s!==e.s?S:NaN),e;if(S.s!=e.s)return e.s=-e.s,S.plus(e);if(f=S.d,v=e.d,a=C.precision,l=C.rounding,!f[0]||!v[0]){if(v[0])e.s=-e.s;else if(f[0])e=new C(S);else return new C(l===3?-0:0);return _?I(e,a,l):e}if(r=Z(e.e/O),g=Z(S.e/O),f=f.slice(),o=g-r,o){for(h=o<0,h?(t=f,o=-o,s=v.length):(t=v,r=g,s=f.length),n=Math.max(Math.ceil(a/O),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=f.length,s=v.length,h=n0;--n)f[s++]=0;for(n=v.length;n>o;){if(f[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=f.length,i=g.length,s-i<0&&(i=s,r=g,g=f,f=r),t=0;i;)t=(f[--i]=f[i]+g[i]+t)/ce|0,f[i]%=ce;for(t&&(f.unshift(t),++n),s=f.length;f[--s]==0;)f.pop();return e.d=f,e.e=xr(f,n),_?I(e,a,l):e};A.precision=A.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ie+e);return r.d?(t=po(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};A.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};A.sine=A.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Rl(n,ho(n,r)),n.precision=e,n.rounding=t,I(Pe>2?r.neg():r,e,t,!0)):new n(NaN)};A.squareRoot=A.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,f=s.s,g=s.constructor;if(f!==1||!a||!a[0])return new g(!f||f<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,f=Math.sqrt(+s),f==0||f==1/0?(t=K(a),(t.length+l)%2==0&&(t+="0"),f=Math.sqrt(t),l=Z((l+1)/2)-(l<0||l%2),f==1/0?t="5e"+l:(t=f.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(f.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(q(s,o,r+2,1)).times(.5),K(o.d).slice(0,r)===(t=K(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(I(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,I(n,l,g.rounding,e)};A.tangent=A.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=q(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(Pe==2||Pe==4?r.neg():r,e,t,!0)):new n(NaN)};A.times=A.mul=function(e){var t,r,n,i,o,s,a,l,f,g=this,h=g.constructor,v=g.d,S=(e=new h(e)).d;if(e.s*=g.s,!v||!v[0]||!S||!S[0])return new h(!e.s||v&&!v[0]&&!S||S&&!S[0]&&!v?NaN:!v||!S?e.s/0:e.s*0);for(r=Z(g.e/O)+Z(e.e/O),l=v.length,f=S.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+S[n]*v[i-n-1]+t,o[i--]=a%ce|0,t=a/ce|0;o[i]=(o[i]+t)%ce|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=xr(o,r),_?I(e,h.precision,h.rounding):e};A.toBinary=function(e,t){return xn(this,2,e,t)};A.toDecimalPlaces=A.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(re(e,0,Oe),t===void 0?t=n.rounding:re(t,0,8),I(r,e+r.e+1,t))};A.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,!0):(re(e,0,Oe),t===void 0?t=i.rounding:re(t,0,8),n=I(new i(n),e+1,t),r=ge(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};A.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=ge(i):(re(e,0,Oe),t===void 0?t=o.rounding:re(t,0,8),n=I(new o(i),e+i.e+1,t),r=ge(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};A.toFraction=function(e){var t,r,n,i,o,s,a,l,f,g,h,v,S=this,C=S.d,R=S.constructor;if(!C)return new R(S);if(f=r=new R(1),n=l=new R(0),t=new R(n),o=t.e=po(C)-S.e-1,s=o%O,t.d[0]=J(10,s<0?O+s:s),e==null)e=o>0?t:f;else{if(a=new R(e),!a.isInt()||a.lt(f))throw Error(Ie+a);e=a.gt(t)?o>0?t:f:a}for(_=!1,a=new R(K(C)),g=R.precision,R.precision=o=C.length*O*2;h=q(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=f,f=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=q(e.minus(r),n,0,1,1),l=l.plus(i.times(f)),r=r.plus(i.times(n)),l.s=f.s=S.s,v=q(f,n,o,1).minus(S).abs().cmp(q(l,r,o,1).minus(S).abs())<1?[f,n]:[l,r],R.precision=g,_=!0,v};A.toHexadecimal=A.toHex=function(e,t){return xn(this,16,e,t)};A.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:re(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=q(r,e,0,t,1).times(e),_=!0,I(r)):(e.s=r.s,r=e),r};A.toNumber=function(){return+this};A.toOctal=function(e,t){return xn(this,8,e,t)};A.toPower=A.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,f=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(J(+a,f));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return I(a,n,o);if(t=Z(e.e/O),t>=e.d.length-1&&(r=f<0?-f:f)<=vl)return i=mo(l,a,r,n),e.s<0?new l(1).div(i):I(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=bn(e.times(ke(a,n+r)),n),i.d&&(i=I(i,n+5,1),Tt(i.d,n,o)&&(t=n+10,i=I(bn(e.times(ke(a,t+r)),t),t+5,1),+K(i.d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,I(i,n,o))};A.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(re(e,1,Oe),t===void 0?t=i.rounding:re(t,0,8),n=I(new i(n),e,t),r=ge(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};A.toSignificantDigits=A.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(re(e,1,Oe),t===void 0?t=n.rounding:re(t,0,8)),I(new n(r),e,t)};A.toString=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};A.truncated=A.trunc=function(){return I(new this.constructor(this),this.e+1,1)};A.valueOf=A.toJSON=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function K(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(Ie+e)}function Tt(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=O,i=0):(i=Math.ceil((t+1)/O),t%=O),o=J(10,O-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==J(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==J(10,t-3)-1,s}function gr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function Cl(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Pr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=et(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var q=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var f,g,h,v,S,C,R,D,M,B,k,F,ie,G,Zr,rr,Et,Xr,ue,nr,ir=n.constructor,en=n.s==i.s?1:-1,z=n.d,$=i.d;if(!z||!z[0]||!$||!$[0])return new ir(!n.s||!i.s||(z?$&&z[0]==$[0]:!$)?NaN:z&&z[0]==0||!$?en*0:en/0);for(l?(S=1,g=n.e-i.e):(l=ce,S=O,g=Z(n.e/S)-Z(i.e/S)),ue=$.length,Et=z.length,M=new ir(en),B=M.d=[],h=0;$[h]==(z[h]||0);h++);if($[h]>(z[h]||0)&&g--,o==null?(G=o=ir.precision,s=ir.rounding):a?G=o+(n.e-i.e)+1:G=o,G<0)B.push(1),C=!0;else{if(G=G/S+2|0,h=0,ue==1){for(v=0,$=$[0],G++;(h1&&($=e($,v,l),z=e(z,v,l),ue=$.length,Et=z.length),rr=ue,k=z.slice(0,ue),F=k.length;F=l/2&&++Xr;do v=0,f=t($,k,ue,F),f<0?(ie=k[0],ue!=F&&(ie=ie*l+(k[1]||0)),v=ie/Xr|0,v>1?(v>=l&&(v=l-1),R=e($,v,l),D=R.length,F=k.length,f=t(R,k,D,F),f==1&&(v--,r(R,ue=10;v/=10)h++;M.e=h+g*S-1,I(M,a?o+M.e+1:o,s,C)}return M}}();function I(e,t,r,n){var i,o,s,a,l,f,g,h,v,S=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=O,s=t,g=h[v=0],l=g/J(10,i-s-1)%10|0;else if(v=Math.ceil((o+1)/O),a=h.length,v>=a)if(n){for(;a++<=v;)h.push(0);g=l=0,i=1,o%=O,s=o-O+1}else break e;else{for(g=a=h[v],i=1;a>=10;a/=10)i++;o%=O,s=o-O+i,l=s<0?0:g/J(10,i-s-1)%10|0}if(n=n||t<0||h[v+1]!==void 0||(s<0?g:g%J(10,i-s-1)),f=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/J(10,i-s):0:h[v-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,f?(t-=e.e+1,h[0]=J(10,(O-t%O)%O),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=v,a=1,v--):(h.length=v+1,a=J(10,O-o),h[v]=s>0?(g/J(10,i-s)%J(10,s)|0)*a:0),f)for(;;)if(v==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==ce&&(h[0]=1));break}else{if(h[v]+=a,h[v]!=ce)break;h[v--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>S.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Se(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Se(-i-1)+o,r&&(n=r-s)>0&&(o+=Se(n))):i>=s?(o+=Se(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Se(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Se(n))),o}function xr(e,t){var r=e[0];for(t*=O;r>=10;r/=10)t++;return t}function Er(e,t,r){if(t>Tl)throw _=!0,r&&(e.precision=r),Error(ao);return I(new e(yr),t,1,!0)}function fe(e,t,r){if(t>En)throw Error(ao);return I(new e(wr),t,r,!0)}function po(e){var t=e.length-1,r=t*O+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Se(e){for(var t="";e--;)t+="0";return t}function mo(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/O+4);for(_=!1;;){if(r%2&&(o=o.times(t),io(o.d,s)&&(i=!0)),r=Z(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),io(t.d,s)}return _=!0,o}function no(e){return e.d[e.d.length-1]&1}function fo(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=C):l=t,a=new v(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(J(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new v(1),v.precision=l;;){if(o=I(o.times(e),l,1),r=r.times(++g),a=s.plus(q(o,r,l,1)),K(a.d).slice(0,l)===K(s.d).slice(0,l)){for(i=h;i--;)s=I(s.times(s),l,1);if(t==null)if(f<3&&Tt(s.d,l-n,S,f))v.precision=l+=10,r=o=a=new v(1),g=0,f++;else return I(s,v.precision=C,S,_=!0);else return v.precision=C,s}s=a}}function ke(e,t){var r,n,i,o,s,a,l,f,g,h,v,S=1,C=10,R=e,D=R.d,M=R.constructor,B=M.rounding,k=M.precision;if(R.s<0||!D||!D[0]||!R.e&&D[0]==1&&D.length==1)return new M(D&&!D[0]?-1/0:R.s!=1?NaN:D?0:R);if(t==null?(_=!1,g=k):g=t,M.precision=g+=C,r=K(D),n=r.charAt(0),Math.abs(o=R.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)R=R.times(e),r=K(R.d),n=r.charAt(0),S++;o=R.e,n>1?(R=new M("0."+r),o++):R=new M(n+"."+r.slice(1))}else return f=Er(M,g+2,k).times(o+""),R=ke(new M(n+"."+r.slice(1)),g-C).plus(f),M.precision=k,t==null?I(R,k,B,_=!0):R;for(h=R,l=s=R=q(R.minus(1),R.plus(1),g,1),v=I(R.times(R),g,1),i=3;;){if(s=I(s.times(v),g,1),f=l.plus(q(s,new M(i),g,1)),K(f.d).slice(0,g)===K(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(Er(M,g+2,k).times(o+""))),l=q(l,new M(S),g,1),t==null)if(Tt(l.d,g-C,B,a))M.precision=g+=C,f=s=R=q(h.minus(1),h.plus(1),g,1),v=I(R.times(R),g,1),i=a=1;else return I(l,M.precision=k,B,_=!0);else return M.precision=k,l;l=f,i+=2}}function go(e){return String(e.s*e.s/0)}function hr(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%O,r<0&&(n+=O),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),co.test(t))return hr(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(xl.test(t))r=16,t=t.toLowerCase();else if(bl.test(t))r=2;else if(Pl.test(t))r=8;else throw Error(Ie+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=mo(n,new n(r),o,o*2)),f=gr(t,r,ce),g=f.length-1,o=g;f[o]===0;--o)f.pop();return o<0?new n(e.s*0):(e.e=xr(f,g),e.d=f,_=!1,s&&(e=q(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?J(2,l):Be.pow(2,l))),_=!0,e)}function Rl(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:et(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Pr(5,r)),t=et(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function et(e,t,r,n,i){var o,s,a,l,f=1,g=e.precision,h=Math.ceil(g/O);for(_=!1,l=r.times(r),a=new e(n);;){if(s=q(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=q(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,f++}return _=!0,s.d.length=h+1,s}function Pr(e,t){for(var r=e;--t;)r*=e;return r}function ho(e,t){var r,n=t.s<0,i=fe(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Pe=n?4:1,t;if(r=t.divToInt(i),r.isZero())Pe=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return Pe=no(r)?n?2:3:n?4:1,t;Pe=no(r)?n?1:4:n?3:2}return t.minus(i).abs()}function xn(e,t,r,n){var i,o,s,a,l,f,g,h,v,S=e.constructor,C=r!==void 0;if(C?(re(r,1,Oe),n===void 0?n=S.rounding:re(n,0,8)):(r=S.precision,n=S.rounding),!e.isFinite())g=go(e);else{for(g=ge(e),s=g.indexOf("."),C?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),v=new S(1),v.e=g.length-s,v.d=gr(ge(v),10,i),v.e=v.d.length),h=gr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=C?"0p+0":"0";else{if(s<0?o--:(e=new S(e),e.d=h,e.e=o,e=q(e,v,r,n,0,i),h=e.d,o=e.e,f=so),s=h[r],a=i/2,f=f||h[r+1]!==void 0,f=n<4?(s!==void 0||f)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||f||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,f)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=gr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function Sl(e){return new this(e).abs()}function kl(e){return new this(e).acos()}function Il(e){return new this(e).acosh()}function Ol(e,t){return new this(e).plus(t)}function Dl(e){return new this(e).asin()}function Ml(e){return new this(e).asinh()}function _l(e){return new this(e).atan()}function Nl(e){return new this(e).atanh()}function Fl(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=fe(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?fe(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=fe(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(q(e,t,o,1)),t=fe(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(q(e,t,o,1)),r}function Ll(e){return new this(e).cbrt()}function Bl(e){return I(e=new this(e),e.e+1,2)}function Ul(e,t,r){return new this(e).clamp(t,r)}function ql(e){if(!e||typeof e!="object")throw Error(br+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,Oe,"rounding",0,8,"toExpNeg",-Xe,0,"toExpPos",0,Xe,"maxE",0,Xe,"minE",-Xe,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(Ie+r+": "+n);if(r="crypto",i&&(this[r]=wn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(lo);else this[r]=!1;else throw Error(Ie+r+": "+n);return this}function $l(e){return new this(e).cos()}function jl(e){return new this(e).cosh()}function yo(e){var t,r,n;function i(o){var s,a,l,f=this;if(!(f instanceof i))return new i(o);if(f.constructor=i,oo(o)){f.s=o.s,_?!o.d||o.e>i.maxE?(f.e=NaN,f.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(f.e=NaN,f.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(lo);else for(;o=10;i/=10)n++;nRt,datamodelEnumToSchemaEnum:()=>hu});d();u();c();p();m();d();u();c();p();m();function hu(e){return{name:e.name,values:e.values.map(t=>t.name)}}d();u();c();p();m();var Rt=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(Rt||{});var yu=Qe(Ki());var wu={red:ze,gray:Ni,dim:ur,bold:lr,underline:Ii,highlightSource:e=>e.highlight()},Eu={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function bu({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function xu({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],l=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${l}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${l}`)),t&&a.push(s.underline(Pu(t))),i){a.push("");let f=[i.toString()];o&&(f.push(o),f.push(s.dim(")"))),a.push(f.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function Pu(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function Cr(e){let t=e.showColors?wu:Eu,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=bu(e),xu(r,t)}d();u();c();p();m();var Ro=Qe(vn());d();u();c();p();m();function Po(e,t,r){let n=vo(e),i=vu(n),o=Cu(i);o?Ar(o,t,r):t.addErrorMessage(()=>"Unknown error")}function vo(e){return e.errors.flatMap(t=>t.kind==="Union"?vo(t):[t])}function vu(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:Tu(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function Tu(e,t){return[...new Set(e.concat(t))]}function Cu(e){return hn(e,(t,r)=>{let n=bo(t),i=bo(r);return n!==i?n-i:xo(t)-xo(r)})}function bo(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function xo(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}d();u();c();p();m();var ae=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};d();u();c();p();m();d();u();c();p();m();Co();d();u();c();p();m();var nt=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};To();d();u();c();p();m();d();u();c();p();m();var Rr=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};d();u();c();p();m();var Sr=e=>e,kr={bold:Sr,red:Sr,green:Sr,dim:Sr,enabled:!1},Ao={bold:lr,red:ze,green:Oi,dim:ur,enabled:!0},it={write(e){e.writeLine(",")}};d();u();c();p();m();var ye=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};d();u();c();p();m();var Me=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var ot=class extends Me{items=[];addItem(t){return this.items.push(new Rr(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new ye("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(it,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var st=class e extends Me{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof ot&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new ye("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(it,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};d();u();c();p();m();var H=class extends Me{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new ye(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};d();u();c();p();m();var St=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(it,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Ar(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":Au(e,t);break;case"IncludeOnScalar":Ru(e,t);break;case"EmptySelection":Su(e,t,r);break;case"UnknownSelectionField":Du(e,t);break;case"InvalidSelectionValue":Mu(e,t);break;case"UnknownArgument":_u(e,t);break;case"UnknownInputField":Nu(e,t);break;case"RequiredArgumentMissing":Fu(e,t);break;case"InvalidArgumentType":Lu(e,t);break;case"InvalidArgumentValue":Bu(e,t);break;case"ValueTooLarge":Uu(e,t);break;case"SomeFieldsMissing":qu(e,t);break;case"TooManyFieldsGiven":$u(e,t);break;case"Union":Po(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function Au(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function Ru(e,t){let[r,n]=kt(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ae(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${It(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Su(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){ku(e,t,i);return}if(n.hasField("select")){Iu(e,t);return}}if(r?.[De(e.outputType.name)]){Ou(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function ku(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new ae(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Iu(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),Io(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${It(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function Ou(e,t){let r=new St;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new ae("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=kt(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new st;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function Du(e,t){let r=Oo(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":Io(n,e.outputType);break;case"include":ju(n,e.outputType);break;case"omit":Vu(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(It(n)),i.join(" ")})}function Mu(e,t){let r=Oo(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function _u(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Gu(n,e.arguments)),t.addErrorMessage(i=>So(i,r,e.arguments.map(o=>o.name)))}function Nu(e,t){let[r,n]=kt(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Do(o,e.inputType)}t.addErrorMessage(o=>So(o,n,e.inputType.fields.map(s=>s.name)))}function So(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=Ju(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(It(e)),n.join(" ")}function Fu(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=kt(e.argumentPath),s=new St,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new ae(o,s).makeRequired())}else{let l=e.inputTypes.map(ko).join(" | ");a.addSuggestion(new ae(o,l).makeRequired())}}function ko(e){return e.kind==="list"?`${ko(e.elementType)}[]`:e.name}function Lu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Ir("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function Bu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Ir("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Uu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function qu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Do(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Ir("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(It(i)),o.join(" ")})}function $u(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Ir("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function Io(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ae(r.name,"true"))}function ju(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new ae(r.name,"true"))}function Vu(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new ae(r.name,"true"))}function Gu(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new ae(r.name,r.typeNames.join(" | ")))}function Oo(e,t){let[r,n]=kt(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Do(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ae(r.name,r.typeNames.join(" | ")))}function kt(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function It({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Ir(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var Qu=3;function Ju(e,t){let r=1/0,n;for(let i of t){let o=(0,Ro.default)(e,i);o>Qu||o`}};function at(e){return e instanceof Ot}d();u();c();p();m();var Or=Symbol(),Cn=new WeakMap,Te=class{constructor(t){t===Or?Cn.set(this,`Prisma.${this._getName()}`):Cn.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Cn.get(this)}},Dt=class extends Te{_getNamespace(){return"NullTypes"}},Mt=class extends Dt{#e};Rn(Mt,"DbNull");var _t=class extends Dt{#e};Rn(_t,"JsonNull");var Nt=class extends Dt{#e};Rn(Nt,"AnyNull");var An={classes:{DbNull:Mt,JsonNull:_t,AnyNull:Nt},instances:{DbNull:new Mt(Or),JsonNull:new _t(Or),AnyNull:new Nt(Or)}};function Rn(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}d();u();c();p();m();var Mo=": ",Dr=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Mo.length}write(t){let r=new ye(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Mo).write(this.value)}};var Sn=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function lt(e){return new Sn(_o(e))}function _o(e){let t=new st;for(let[r,n]of Object.entries(e)){let i=new Dr(r,No(n));t.addField(i)}return t}function No(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(rt(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=vr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Te?new H(`Prisma.${e._getName()}`):at(e)?new H(`prisma.${De(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Wu(e):typeof e=="object"?_o(e):new H(Object.prototype.toString.call(e))}function Wu(e){let t=new ot;for(let r of e)t.addItem(No(r));return t}function Mr(e,t){let r=t==="pretty"?Ao:kr,n=e.renderAllMessages(r),i=new nt(0,{colors:r}).write(e).toString();return{message:n,args:i}}function _r({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=lt(e);for(let h of t)Ar(h,a,s);let{message:l,args:f}=Mr(a,r),g=Cr({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:f});throw new X(g,{clientVersion:o})}d();u();c();p();m();d();u();c();p();m();function we(e){return e.replace(/^./,t=>t.toLowerCase())}d();u();c();p();m();function Lo(e,t,r){let n=we(r);return!t.result||!(t.result.$allModels||t.result[n])?e:Hu({...e,...Fo(t.name,e,t.result.$allModels),...Fo(t.name,e,t.result[n])})}function Hu(e){let t=new he,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return Ze(e,n=>({...n,needs:r(n.name,new Set)}))}function Fo(e,t,r){return r?Ze(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Ku(t,o,i)})):{}}function Ku(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function Bo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Uo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Nr=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new he;modelExtensionsCache=new he;queryCallbacksCache=new he;clientExtensions=At(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=At(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>Lo(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=we(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ut=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Nr(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Nr(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};d();u();c();p();m();var Fr=class{constructor(t){this.name=t}};function qo(e){return e instanceof Fr}function zu(e){return new Fr(e)}d();u();c();p();m();d();u();c();p();m();var $o=Symbol(),Ft=class{constructor(t){if(t!==$o)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?kn:t}},kn=new Ft($o);function Ee(e){return e instanceof Ft}var Yu={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},jo="explicitly `undefined` values are not allowed";function On({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=ut.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:f,globalOmit:g}){let h=new In({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:f,globalOmit:g});return{modelName:e,action:Yu[t],query:Lt(r,h)}}function Lt({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Go(r,n),selection:Zu(e,t,i,n)}}function Zu(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),rc(e,n)):Xu(n,t,r)}function Xu(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&ec(n,t,e),tc(n,r,e),n}function ec(e,t,r){for(let[n,i]of Object.entries(t)){if(Ee(i))continue;let o=r.nestSelection(n);if(Dn(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=Lt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Lt(i,o)}}function tc(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Uo(i,n);for(let[s,a]of Object.entries(o)){if(Ee(a))continue;Dn(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function rc(e,t){let r={},n=t.getComputedFields(),i=Bo(e,n);for(let[o,s]of Object.entries(i)){if(Ee(s))continue;let a=t.nestSelection(o);Dn(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||Ee(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=Lt({},a):r[o]=!0;continue}r[o]=Lt(s,a)}}return r}function Vo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(tt(e)){if(vr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(qo(e))return{$type:"Param",value:e.name};if(at(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return nc(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(ic(e))return e.values;if(rt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Te){if(e!==An.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(oc(e))return e.toJSON();if(typeof e=="object")return Go(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Go(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);Ee(i)||(i!==void 0?r[n]=Vo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:jo}))}return r}function nc(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[De(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:xe(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};d();u();c();p();m();function Qo(e){if(!e._hasPreviewFlag("metrics"))throw new X("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var Bt=class{_client;constructor(t){this._client=t}prometheus(t){return Qo(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Qo(this._client),this._client._engine.metrics({format:"json",...t})}};d();u();c();p();m();function sc(e,t){let r=At(()=>ac(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function ac(e){return{datamodel:{models:Mn(e.models),enums:Mn(e.enums),types:Mn(e.types)}}}function Mn(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}d();u();c();p();m();var _n=new WeakMap,Lr="$$PrismaTypedSql",Ut=class{constructor(t,r){_n.set(this,{sql:t,values:r}),Object.defineProperty(this,Lr,{value:Lr})}get sql(){return _n.get(this).sql}get values(){return _n.get(this).values}};function lc(e){return(...t)=>new Ut(e,t)}function Br(e){return e!=null&&e[Lr]===Lr}d();u();c();p();m();var aa=Qe(Jo());d();u();c();p();m();Wo();$i();Qi();d();u();c();p();m();var le=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}d();u();c();p();m();d();u();c();p();m();var qr={enumerable:!0,configurable:!0,writable:!0};function $r(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>qr,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var zo=Symbol.for("nodejs.util.inspect.custom");function pe(e,t){let r=mc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=Yo(Reflect.ownKeys(o),r),a=Yo(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...qr,...l?.getPropertyDescriptor(s)}:qr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[zo]=function(){let o={...this};return delete o[zo],o},i}function mc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function Yo(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}d();u();c();p();m();function ct(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}d();u();c();p();m();function jr(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}d();u();c();p();m();function Zo(e){if(e===void 0)return"";let t=lt(e);return new nt(0,{colors:kr}).write(t).toString()}d();u();c();p();m();var dc="P2037";function Vr({error:e,user_facing_error:t},r,n){return t.error_code?new oe(fc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new se(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function fc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===dc&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();var Nn=class{getLocation(){return null}};function _e(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new Nn}d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();var Xo={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function pt(e={}){let t=hc(e);return Object.entries(t).reduce((n,[i,o])=>(Xo[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function hc(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Gr(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function es(e,t){let r=Gr(e);return t({action:"aggregate",unpacker:r,argsMapper:pt})(e)}d();u();c();p();m();function yc(e={}){let{select:t,...r}=e;return typeof t=="object"?pt({...r,_count:t}):pt({...r,_count:{_all:!0}})}function wc(e={}){return typeof e.select=="object"?t=>Gr(e)(t)._count:t=>Gr(e)(t)._count._all}function ts(e,t){return t({action:"count",unpacker:wc(e),argsMapper:yc})(e)}d();u();c();p();m();function Ec(e={}){let t=pt(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function bc(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function rs(e,t){return t({action:"groupBy",unpacker:bc(e),argsMapper:Ec})(e)}function ns(e,t,r){if(t==="aggregate")return n=>es(n,r);if(t==="count")return n=>ts(n,r);if(t==="groupBy")return n=>rs(n,r)}d();u();c();p();m();function is(e,t){let r=t.fields.filter(i=>!i.relationName),n=wo(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Ot(e,o,s.type,s.isList,s.kind==="enum")},...$r(Object.keys(n))})}d();u();c();p();m();d();u();c();p();m();var os=e=>Array.isArray(e)?e:e.split("."),Fn=(e,t)=>os(t).reduce((r,n)=>r&&r[n],e),ss=(e,t,r)=>os(t).reduceRight((n,i,o,s)=>Object.assign({},Fn(e,s.slice(0,o)),{[i]:n}),r);function xc(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function Pc(e,t,r){return t===void 0?e??{}:ss(t,r,e||!0)}function Ln(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,f)=>({...l,[f.name]:f}),{});return l=>{let f=_e(e._errorFormat),g=xc(n,i),h=Pc(l,o,g),v=r({dataPath:g,callsite:f})(h),S=vc(e,t);return new Proxy(v,{get(C,R){if(!S.includes(R))return C[R];let M=[a[R].type,r,R],B=[g,h];return Ln(e,...M,...B)},...$r([...S,...Object.getOwnPropertyNames(v)])})}}function vc(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Tc=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Cc=["aggregate","count","groupBy"];function Bn(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[Ac(e,t),Sc(e,t),qt(r),ee("name",()=>t),ee("$name",()=>t),ee("$parent",()=>e._appliedParent)];return pe({},n)}function Ac(e,t){let r=we(t),n=Object.keys(Rt).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let f=_e(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:f};return e._request({...h,...a})},{action:o,args:l,model:t})};return Tc.includes(o)?Ln(e,t,s):Rc(i)?ns(e,i,s):s({})}}}function Rc(e){return Cc.includes(e)}function Sc(e,t){return Ue(ee("fields",()=>{let r=e._runtimeDataModel.models[t];return is(t,r)}))}d();u();c();p();m();function as(e){return e.replace(/^./,t=>t.toUpperCase())}var Un=Symbol();function $t(e){let t=[kc(e),Ic(e),ee(Un,()=>e),ee("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(qt(r)),pe(e,t)}function kc(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function Ic(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(we),n=[...new Set(t.concat(r))];return Ue({getKeys(){return n},getPropertyValue(i){let o=as(i);if(e._runtimeDataModel.models[o]!==void 0)return Bn(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Bn(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function ls(e){return e[Un]?e[Un]:e}function us(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return $t(t)}d();u();c();p();m();d();u();c();p();m();function cs({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let f=l.needs.filter(g=>n[g]);f.length>0&&a.push(ct(f))}else if(r){if(!r[l.name])continue;let f=l.needs.filter(g=>!r[g]);f.length>0&&a.push(ct(f))}Oc(e,l.needs)&&s.push(Dc(l,pe(e,s)))}return s.length>0||a.length>0?pe(e,[...s,...a]):e}function Oc(e,t){return t.every(r=>gn(e,r))}function Dc(e,t){return Ue(ee(e.name,()=>e.compute(t)))}d();u();c();p();m();function Qr({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let f=typeof s=="object"?s:{};t[o]=Qr({visitor:i,result:t[o],args:f,modelName:l.type,runtimeDataModel:n})}}function ms({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Qr({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,f)=>{let g=we(l);return cs({result:a,modelName:g,select:f.select,omit:f.select?void 0:{...o?.[g],...f.omit},extensions:n})}})}d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();var Mc=["$connect","$disconnect","$on","$transaction","$use","$extends"],ds=Mc;function fs(e){if(e instanceof le)return _c(e);if(Br(e))return Nc(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:fs(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=bs(o,l),a.args=s,hs(e,a,r,n+1)}})})}function ys(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return hs(e,t,s)}function ws(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?Es(r,n,0,e):e(r)}}function Es(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=bs(i,l),Es(a,t,r+1,n)}})}var gs=e=>e;function bs(e=gs,t=gs){return r=>e(t(r))}d();u();c();p();m();var xs=Y("prisma:client"),Ps={Vercel:"vercel","Netlify CI":"netlify"};function vs({postinstall:e,ciName:t,clientVersion:r}){if(xs("checkPlatformCaching:postinstall",e),xs("checkPlatformCaching:ciName",t),e===!0&&t&&t in Ps){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${Ps[t]}-build`;throw console.error(n),new Q(n,r)}}d();u();c();p();m();function Ts(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}d();u();c();p();m();d();u();c();p();m();var Fc=()=>globalThis.process?.release?.name==="node",Lc=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Bc=()=>!!globalThis.Deno,Uc=()=>typeof globalThis.Netlify=="object",qc=()=>typeof globalThis.EdgeRuntime=="object",$c=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function jc(){return[[Uc,"netlify"],[qc,"edge-light"],[$c,"workerd"],[Bc,"deno"],[Lc,"bun"],[Fc,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Vc={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function qn(){let e=jc();return{id:e,prettyName:Vc[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}d();u();c();p();m();var Cs="6.11.1";d();u();c();p();m();d();u();c();p();m();function mt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw qn().id==="workerd"?new Q(`error: Environment variable not found: ${s.fromEnvVar}. + +In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new Q(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new Q("error: Missing URL environment variable, value, or override.",n);return i}d();u();c();p();m();d();u();c();p();m();var Jr=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var ne=class extends Jr{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};d();u();c();p();m();d();u();c();p();m();function L(e,t){return{...e,isRetryable:t}}var dt=class extends ne{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",L(t,!0))}};N(dt,"ForcedRetryError");d();u();c();p();m();var qe=class extends ne{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,L(r,!1))}};N(qe,"InvalidDatasourceError");d();u();c();p();m();var $e=class extends ne{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,L(r,!1))}};N($e,"NotImplementedYetError");d();u();c();p();m();d();u();c();p();m();var V=class extends ne{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var je=class extends V{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",L(t,!0))}};N(je,"SchemaMissingError");d();u();c();p();m();d();u();c();p();m();var $n="This request could not be understood by the server",Vt=class extends V{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||$n,L(t,!1)),n&&(this.code=n)}};N(Vt,"BadRequestError");d();u();c();p();m();var Gt=class extends V{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",L(t,!0)),this.logs=r}};N(Gt,"HealthcheckTimeoutError");d();u();c();p();m();var Qt=class extends V{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,L(t,!0)),this.logs=n}};N(Qt,"EngineStartupError");d();u();c();p();m();var Jt=class extends V{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",L(t,!1))}};N(Jt,"EngineVersionNotSupportedError");d();u();c();p();m();var jn="Request timed out",Wt=class extends V{name="GatewayTimeoutError";code="P5009";constructor(t,r=jn){super(r,L(t,!1))}};N(Wt,"GatewayTimeoutError");d();u();c();p();m();var Qc="Interactive transaction error",Ht=class extends V{name="InteractiveTransactionError";code="P5015";constructor(t,r=Qc){super(r,L(t,!1))}};N(Ht,"InteractiveTransactionError");d();u();c();p();m();var Jc="Request parameters are invalid",Kt=class extends V{name="InvalidRequestError";code="P5011";constructor(t,r=Jc){super(r,L(t,!1))}};N(Kt,"InvalidRequestError");d();u();c();p();m();var Vn="Requested resource does not exist",zt=class extends V{name="NotFoundError";code="P5003";constructor(t,r=Vn){super(r,L(t,!1))}};N(zt,"NotFoundError");d();u();c();p();m();var Gn="Unknown server error",ft=class extends V{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||Gn,L(t,!0)),this.logs=n}};N(ft,"ServerError");d();u();c();p();m();var Qn="Unauthorized, check your connection string",Yt=class extends V{name="UnauthorizedError";code="P5007";constructor(t,r=Qn){super(r,L(t,!1))}};N(Yt,"UnauthorizedError");d();u();c();p();m();var Jn="Usage exceeded, retry again later",Zt=class extends V{name="UsageExceededError";code="P5008";constructor(t,r=Jn){super(r,L(t,!0))}};N(Zt,"UsageExceededError");async function Wc(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function Xt(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await Wc(e);if(n.type==="QueryEngineError")throw new oe(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new ft(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new je(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Jt(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Qt(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new Q(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Gt(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Ht(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Kt(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new Yt(r,gt(Qn,n));if(e.status===404)return new zt(r,gt(Vn,n));if(e.status===429)throw new Zt(r,gt(Jn,n));if(e.status===504)throw new Wt(r,gt(jn,n));if(e.status>=500)throw new ft(r,gt(Gn,n));if(e.status>=400)throw new Vt(r,gt($n,n))}function gt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}d();u();c();p();m();function As(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}d();u();c();p();m();var Ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Rs(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,f,g;for(let h=0;h>18,a=(g&258048)>>12,l=(g&4032)>>6,f=g&63,r+=Ce[s]+Ce[a]+Ce[l]+Ce[f];return i==1?(g=t[o],s=(g&252)>>2,a=(g&3)<<4,r+=Ce[s]+Ce[a]+"=="):i==2&&(g=t[o]<<8|t[o+1],s=(g&64512)>>10,a=(g&1008)>>4,l=(g&15)<<2,r+=Ce[s]+Ce[a]+Ce[l]+"="),r}d();u();c();p();m();function Ss(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new Q("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}d();u();c();p();m();function Hc(e){return e[0]*1e3+e[1]/1e6}function Wn(e){return new Date(Hc(e))}d();u();c();p();m();var ks={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};d();u();c();p();m();d();u();c();p();m();var er=class extends ne{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: +${t}`,L(r,!0))}};N(er,"RequestError");async function Ve(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new er(a,{clientVersion:n,cause:s})}}var zc=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Is=Y("prisma:client:dataproxyEngine");async function Yc(e,t){let r=ks["@prisma/engines-version"],n=t.clientVersion??"unknown";if(y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&zc.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,l,f]=s.split("."),g=Zc(`<=${a}.${l}.${f}`),h=await Ve(g,{clientVersion:n});if(!h.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${h.status} ${h.statusText}, response body: ${await h.text()||""}`);let v=await h.text();Is("length of body fetched from unpkg.com",v.length);let S;try{S=JSON.parse(v)}catch(C){throw console.error("JSON.parse error: body fetched from unpkg.com: ",v),C}return S.version}throw new $e("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Os(e,t){let r=await Yc(e,t);return Is("version",r),r}function Zc(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Ds=3,tr=Y("prisma:client:dataproxyEngine"),Hn=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,interactiveTransaction:r}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-transaction-id"]=r.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}},ht=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){Ss(t),this.config=t,this.env={...t.env,...typeof y<"u"?y.env:{}},this.inlineSchema=Rs(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.headerBuilder=new Hn({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.protocol=dn(r)?"http":"https",this.remoteClientVersion=await Os(this.host,this.config),tr("host",this.host),tr("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":tr(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Wn(r.timestamp),message:r.attributes.message??"",target:r.target});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Wn(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await Ve(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||tr("schema response status",r.status);let n=await Xt(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=jr(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,interactiveTransaction:i}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||tr("graphql response status",a.status),await this.handleError(await Xt(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await Ve(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Xt(l,this.clientVersion));let f=await l.json(),{extensions:g}=f;g&&this.propagateResponseExtensions(g);let h=f.id,v=f["data-proxy"].endpoint;return{id:h,payload:{endpoint:v}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Xt(a,this.clientVersion));let l=await a.json(),{extensions:f}=l;f&&this.propagateResponseExtensions(f);return}}})}getURLAndAPIKey(){let t={clientVersion:this.clientVersion},r=Object.keys(this.inlineDatasources)[0],n=mt({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==mr)throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new qe(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);return{apiKey:a,url:i}}metrics(){throw new $e("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof ne)||!i.isRetryable)throw i;if(r>=Ds)throw i instanceof dt?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Ds} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await As(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof je)throw await this.uploadSchema(),new dt({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?Vr(t[0],this.config.clientVersion,this.config.activeProvider):new se(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};d();u();c();p();m();function Ms({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=R=>{i.push({_tag:"warning",value:R})},a=R=>{let D=R.join(` +`);o.push({_tag:"error",value:D})},l=!!e?.startsWith("prisma://"),f=dr(e),g=!!t,h=l||f;!g&&r&&h&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let v=h||!r;g&&(v||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):r?l&&a(["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]):a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let S={accelerate:v,ppg:f,driverAdapters:g};function C(R){return R.length>0}return C(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:S}:{ok:!0,diagnostics:{warnings:i},isUsing:S}}function _s({copyEngine:e=!0},t){let r;try{r=mt({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=Ms({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"edge"});for(let g of o.warnings)fr(...g.value);if(!n){let g=o.errors[0];throw new X(g.value,{clientVersion:t.clientVersion})}let s=Ye(t.generator),a=s==="library",l=s==="binary",f=s==="client";return i.accelerate?new ht(t):(i.driverAdapters,i.accelerate,new ht(t))}d();u();c();p();m();function Wr({generator:e}){return e?.previewFeatures??[]}d();u();c();p();m();var Ns=e=>({command:e});d();u();c();p();m();d();u();c();p();m();var Fs=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);d();u();c();p();m();function yt(e){try{return Ls(e,"fast")}catch{return Ls(e,"slow")}}function Ls(e,t){return JSON.stringify(e.map(r=>Us(r,t)))}function Us(e,t){if(Array.isArray(e))return e.map(r=>Us(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(tt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(ve.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Xc(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?qs(e):e}function Xc(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function qs(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Bs);let t={};for(let r of Object.keys(e))t[r]=Bs(e[r]);return t}function Bs(e){return typeof e=="bigint"?e.toString():qs(e)}var ep=/^(\s*alter\s)/i,$s=Y("prisma:client");function Kn(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&ep.exec(t))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var zn=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Br(r))n=r.sql,i={values:yt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:yt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:yt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:yt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Fs(r),i={values:yt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?$s(`prisma.${e}(${n}, ${i.values})`):$s(`prisma.${e}(${n})`),{query:n,parameters:i}},js={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new le(t,r)}},Vs={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};d();u();c();p();m();function Yn(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Gs(r(s)):Gs(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Gs(e){return typeof e.then=="function"?e:Promise.resolve(e)}d();u();c();p();m();var tp=mn.split(".")[0],rp={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},Zn=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${tp}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??rp}};function Qs(){return new Zn}d();u();c();p();m();function Js(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}d();u();c();p();m();function Ws(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}d();u();c();p();m();var Hr=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};d();u();c();p();m();var Ks=Qe(eo());d();u();c();p();m();function Kr(e){return typeof e.batchRequestIdx=="number"}d();u();c();p();m();function Hs(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(Xn(e.query.arguments)),t.push(Xn(e.query.selection)),t.join("")}function Xn(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${Xn(n)})`:r}).join(" ")})`}d();u();c();p();m();var np={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function ei(e){return np[e]}d();u();c();p();m();var zr=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iGe("bigint",r));case"bytes-array":return t.map(r=>Ge("bytes",r));case"decimal-array":return t.map(r=>Ge("decimal",r));case"datetime-array":return t.map(r=>Ge("datetime",r));case"date-array":return t.map(r=>Ge("date",r));case"time-array":return t.map(r=>Ge("time",r));default:return t}}function ti(e){let t=[],r=ip(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),f=n.some(h=>ei(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:sp(o),containsWrite:f,customDataProxyFetch:i})).map((h,v)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[v],h)}catch(S){return S}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?zs(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:ei(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Hs(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(op(t),ap(t,i))throw t;if(t instanceof oe&&lp(t)){let f=Ys(t.meta);_r({args:o,errors:[f],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=Cr({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let f=s?{modelName:s,...t.meta}:t.meta;throw new oe(l,{code:t.code,clientVersion:this.client._clientVersion,meta:f,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new Re(l,this.client._clientVersion);if(t instanceof se)throw new se(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof Q)throw new Q(l,this.client._clientVersion);if(t instanceof Re)throw new Re(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,Ks.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(f=>f!=="select"&&f!=="include"),a=Fn(o,s),l=i==="queryRaw"?ti(a):Ct(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function sp(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:zs(e)};xe(e,"Unknown transaction kind")}}function zs(e){return{id:e.id,payload:e.payload}}function ap(e,t){return Kr(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function lp(e){return e.code==="P2009"||e.code==="P2012"}function Ys(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(Ys)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}d();u();c();p();m();var Zs=Cs;d();u();c();p();m();var na=Qe(vn());d();u();c();p();m();var U=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};N(U,"PrismaClientConstructorValidationError");var Xs=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],ea=["pretty","colorless","minimal"],ta=["info","query","warn","error"],up={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new U(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=wt(r,t)||` Available datasources: ${t.join(", ")}`;throw new U(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new U(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new U(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new U(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&Ye(t.generator)==="client")throw new U('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new U('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Wr(t).includes("driverAdapters"))throw new U('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(Ye(t.generator)==="binary")throw new U('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new U(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new U(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!ea.includes(e)){let t=wt(e,ea);throw new U(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new U(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!ta.includes(r)){let n=wt(r,ta);throw new U(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=wt(i,o);throw new U(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new U(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new U(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new U(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new U('"omit" option is expected to be an object.');if(e===null)throw new U('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=pp(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(f=>f.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new U(mp(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new U(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=wt(r,t);throw new U(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function ia(e,t){for(let[r,n]of Object.entries(e)){if(!Xs.includes(r)){let i=wt(r,Xs);throw new U(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}up[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new U('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function wt(e,t){if(t.length===0||typeof e!="string")return"";let r=cp(e,t);return r?` Did you mean "${r}"?`:""}function cp(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,na.default)(e,i)}));r.sort((i,o)=>i.distanceDe(n)===t);if(r)return e[r]}function mp(e,t){let r=lt(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Mr(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}d();u();c();p();m();function oa(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=f=>{o||(o=!0,r(f))};for(let f=0;f{n[f]=g,a()},g=>{if(!Kr(g)){l(g);return}g.batchRequestIdx===f?l(g):(i||(i=g),a())})})}var Ne=Y("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var dp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},fp=Symbol.for("prisma.client.transaction.id"),gp={id:0,nextId(){return++this.id}};function hp(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Hr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Yn();constructor(n){e=n?.__internal?.configOverride?.(e)??e,vs(e),n&&ia(n,e);let i=new Ur().on("error",()=>{});this._extensions=ut.empty(),this._previewFeatures=Wr(e),this._clientVersion=e.clientVersion??Zs,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Qs();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&pr.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&pr.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==l)throw new Q(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new Q("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},f=l.__internal??{},g=f.debug===!0;g&&Y.enable("prisma:client");let h=pr.resolve(e.dirname,e.relativePath);qi.existsSync(h)||(h=e.dirname),Ne("dirname",e.dirname),Ne("relativePath",e.relativePath),Ne("cwd",h);let v=f.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:v.allowTriggerPanic,prismaPath:v.binaryPath??void 0,engineEndpoint:v.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&Ws(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(S=>typeof S=="string"?S==="query":S.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Ts(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:mt,getBatchRequestPayload:jr,prismaGraphQLToJSError:Vr,PrismaClientUnknownRequestError:se,PrismaClientInitializationError:Q,PrismaClientKnownRequestError:oe,debug:Y("prisma:client:accelerateEngine"),engineVersion:aa.version,clientVersion:e.clientVersion}},Ne("clientVersion",e.clientVersion),this._engine=_s(e,this._engineConfig),this._requestHandler=new Yr(this,i),l.log)for(let S of l.log){let C=typeof S=="string"?S:S.emit==="stdout"?S.level:null;C&&this.$on(C,R=>{vt.log(`${vt.tags[C]??""}`,R.message||R.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=$t(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Bi()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:zn({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=sa(n,i);return Kn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new X("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Kn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new X(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Ns,callsite:_e(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:zn({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...sa(n,i));throw new X("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new X("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=gp.nextId(),s=Js(n.length),a=n.map((l,f)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:f,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return oa(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let f={kind:"itx",...a};l=await n(this._createItxClient(f)),await this._engine.transaction("commit",o,a)}catch(f){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),f}return l}_createItxClient(n){return pe($t(pe(ls(this),[ee("_appliedParent",()=>this._appliedParent._createItxClient(n)),ee("_createPrismaPromise",()=>Yn(n)),ee(fp,()=>n.id)])),[ct(ds)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??dp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async f=>{let g=this._middlewares.get(++a);if(g)return this._tracingHelper.runInChildSpan(s.middleware,D=>g(f,M=>(D?.end(),l(M))));let{runInTransaction:h,args:v,...S}=f,C={...n,...S};v&&(C.args=i.middlewareArgsToRequestArgs(v)),n.transaction!==void 0&&h===!1&&delete C.transaction;let R=await ys(this,C);return C.model?ms({result:R,modelName:C.model,args:C.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):R};return this._tracingHelper.runInChildSpan(s.operation,()=>l(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:f,transaction:g,unpacker:h,otelParentCtx:v,customDataProxyFetch:S}){try{n=f?f(n):n;let C={name:"serialize"},R=this._tracingHelper.runInChildSpan(C,()=>On({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return Y.enabled("prisma:client")&&(Ne("Prisma Client call:"),Ne(`prisma.${i}(${Zo(n)})`),Ne("Generated request:"),Ne(JSON.stringify(R,null,2)+` +`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:R,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:v,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:S})}catch(C){throw C.clientVersion=this._clientVersion,C}}$metrics=new Bt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=us}return t}function sa(e,t){return yp(e)?[new le(e,t),js]:[e,Vs]}function yp(e){return Array.isArray(e)&&Array.isArray(e.raw)}d();u();c();p();m();var wp=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function Ep(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!wp.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}d();u();c();p();m();var export_warnEnvConflicts=void 0;export{Tr as DMMF,Y as Debug,ve as Decimal,vi as Extensions,Bt as MetricsClient,Q as PrismaClientInitializationError,oe as PrismaClientKnownRequestError,Re as PrismaClientRustPanicError,se as PrismaClientUnknownRequestError,X as PrismaClientValidationError,Ci as Public,le as Sql,zu as createParam,sc as defineDmmfProperty,Ct as deserializeJsonResponse,ti as deserializeRawResult,gu as dmmfToRuntimeDataModel,pc as empty,hp as getPrismaClient,qn as getRuntime,cc as join,Ep as makeStrictEnum,lc as makeTypedQueryFactory,An as objectEnumValues,Ho as raw,On as serializeJsonQuery,kn as skip,Ko as sqltag,export_warnEnvConflicts as warnEnvConflicts,fr as warnOnce}; +//# sourceMappingURL=edge-esm.js.map diff --git a/generated/prisma/runtime/edge.js b/generated/prisma/runtime/edge.js new file mode 100644 index 0000000..06b2971 --- /dev/null +++ b/generated/prisma/runtime/edge.js @@ -0,0 +1,34 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +"use strict";var wa=Object.create;var lr=Object.defineProperty;var Ea=Object.getOwnPropertyDescriptor;var ba=Object.getOwnPropertyNames;var xa=Object.getPrototypeOf,Pa=Object.prototype.hasOwnProperty;var me=(e,t)=>()=>(e&&(t=e(e=0)),t);var Fe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pt=(e,t)=>{for(var r in t)lr(e,r,{get:t[r],enumerable:!0})},si=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ba(t))!Pa.call(e,i)&&i!==r&&lr(e,i,{get:()=>t[i],enumerable:!(n=Ea(t,i))||n.enumerable});return e};var Qe=(e,t,r)=>(r=e!=null?wa(xa(e)):{},si(t||!e||!e.__esModule?lr(r,"default",{value:e,enumerable:!0}):r,e)),va=e=>si(lr({},"__esModule",{value:!0}),e);var y,u=me(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4}});var b,c=me(()=>{"use strict";b=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,p=me(()=>{"use strict";E=()=>{};E.prototype=E});var m=me(()=>{"use strict"});var Ci=Fe(Ke=>{"use strict";d();u();c();p();m();var pi=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ta=pi(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=S;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var D=C.indexOf("=");D===-1&&(D=R);var M=D===R?0:4-D%4;return[D,M]}function l(C){var R=a(C),D=R[0],M=R[1];return(D+M)*3/4-M}function f(C,R,D){return(R+D)*3/4-D}function g(C){var R,D=a(C),M=D[0],B=D[1],k=new n(f(C,M,B)),F=0,ae=B>0?M-4:M,G;for(G=0;G>16&255,k[F++]=R>>8&255,k[F++]=R&255;return B===2&&(R=r[C.charCodeAt(G)]<<2|r[C.charCodeAt(G+1)]>>4,k[F++]=R&255),B===1&&(R=r[C.charCodeAt(G)]<<10|r[C.charCodeAt(G+1)]<<4|r[C.charCodeAt(G+2)]>>2,k[F++]=R>>8&255,k[F++]=R&255),k}function h(C){return t[C>>18&63]+t[C>>12&63]+t[C>>6&63]+t[C&63]}function v(C,R,D){for(var M,B=[],k=R;kae?ae:F+k));return M===1?(R=C[D-1],B.push(t[R>>2]+t[R<<4&63]+"==")):M===2&&(R=(C[D-2]<<8)+C[D-1],B.push(t[R>>10]+t[R>>4&63]+t[R<<2&63]+"=")),B.join("")}}),Ca=pi(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,f=(1<>1,h=-7,v=n?o-1:0,S=n?-1:1,C=t[r+v];for(v+=S,s=C&(1<<-h)-1,C>>=-h,h+=l;h>0;s=s*256+t[r+v],v+=S,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+v],v+=S,h-=8);if(s===0)s=1-g;else{if(s===f)return a?NaN:(C?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(C?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,f,g=s*8-o-1,h=(1<>1,S=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,C=i?0:s-1,R=i?1:-1,D=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(f=Math.pow(2,-a))<1&&(a--,f*=2),a+v>=1?r+=S/f:r+=S*Math.pow(2,1-v),r*f>=2&&(a++,f/=2),a+v>=h?(l=0,a=h):a+v>=1?(l=(r*f-1)*Math.pow(2,o),a=a+v):(l=r*Math.pow(2,v-1)*Math.pow(2,o),a=0));o>=8;t[n+C]=l&255,C+=R,l/=256,o-=8);for(a=a<0;t[n+C]=a&255,C+=R,a/=256,g-=8);t[n+C-R]|=D*128}}),ln=Ta(),We=Ca(),ai=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ke.Buffer=T;Ke.SlowBuffer=Oa;Ke.INSPECT_MAX_BYTES=50;var ur=2147483647;Ke.kMaxLength=ur;T.TYPED_ARRAY_SUPPORT=Aa();!T.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Aa(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(T.prototype,"parent",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}});Object.defineProperty(T.prototype,"offset",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function xe(e){if(e>ur)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,T.prototype),t}function T(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return pn(e)}return mi(e,t,r)}T.poolSize=8192;function mi(e,t,r){if(typeof e=="string")return Sa(e,t);if(ArrayBuffer.isView(e))return ka(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(de(e,ArrayBuffer)||e&&de(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(de(e,SharedArrayBuffer)||e&&de(e.buffer,SharedArrayBuffer)))return fi(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return T.from(n,t,r);let i=Ia(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return T.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}T.from=function(e,t,r){return mi(e,t,r)};Object.setPrototypeOf(T.prototype,Uint8Array.prototype);Object.setPrototypeOf(T,Uint8Array);function di(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Ra(e,t,r){return di(e),e<=0?xe(e):t!==void 0?typeof r=="string"?xe(e).fill(t,r):xe(e).fill(t):xe(e)}T.alloc=function(e,t,r){return Ra(e,t,r)};function pn(e){return di(e),xe(e<0?0:mn(e)|0)}T.allocUnsafe=function(e){return pn(e)};T.allocUnsafeSlow=function(e){return pn(e)};function Sa(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!T.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=gi(e,t)|0,n=xe(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function un(e){let t=e.length<0?0:mn(e.length)|0,r=xe(t);for(let n=0;n=ur)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ur.toString(16)+" bytes");return e|0}function Oa(e){return+e!=e&&(e=0),T.alloc(+e)}T.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==T.prototype};T.compare=function(e,t){if(de(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),de(t,Uint8Array)&&(t=T.from(t,t.offset,t.byteLength)),!T.isBuffer(e)||!T.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(T.isBuffer(o)||(o=T.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(T.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function gi(e,t){if(T.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||de(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return cn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ti(e).length;default:if(i)return n?-1:cn(e).length;t=(""+t).toLowerCase(),i=!0}}T.byteLength=gi;function Da(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return ja(this,t,r);case"utf8":case"utf-8":return yi(this,t,r);case"ascii":return qa(this,t,r);case"latin1":case"binary":return $a(this,t,r);case"base64":return Ba(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Va(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}T.prototype._isBuffer=!0;function Le(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}T.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ai&&(T.prototype[ai]=T.prototype.inspect);T.prototype.compare=function(e,t,r,n,i){if(de(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),!T.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),f=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,fn(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=T.from(t,n)),T.isBuffer(t))return t.length===0?-1:li(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):li(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function li(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let f;if(i){let g=-1;for(f=r;fs&&(r=s-a),f=r;f>=0;f--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return Ma(this,e,t,r);case"utf8":case"utf-8":return _a(this,e,t,r);case"ascii":case"latin1":case"binary":return Na(this,e,t,r);case"base64":return Fa(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return La(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ba(e,t,r){return t===0&&r===e.length?ln.fromByteArray(e):ln.fromByteArray(e.slice(t,r))}function yi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,f,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],f=e[i+2],(l&192)===128&&(f&192)===128&&(h=(o&15)<<12|(l&63)<<6|f&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],f=e[i+2],g=e[i+3],(l&192)===128&&(f&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(f&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return Ua(n)}var ui=4096;function Ua(e){let t=e.length;if(t<=ui)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};T.prototype.readUint8=T.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};T.prototype.readUint16LE=T.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};T.prototype.readUint16BE=T.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};T.prototype.readUint32LE=T.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};T.prototype.readUint32BE=T.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};T.prototype.readBigUInt64LE=Re(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};T.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};T.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};T.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};T.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};T.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};T.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};T.prototype.readBigInt64LE=Re(function(e){e=e>>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,He(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&vt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),We.read(this,e,!0,23,4)};T.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),We.read(this,e,!1,23,4)};T.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!0,52,8)};T.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),We.read(this,e,!1,52,8)};function te(e,t,r,n,i,o){if(!T.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;te(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};T.prototype.writeUint8=T.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,255,0),this[t]=e&255,t+1};T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function wi(e,t,r,n,i){vi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function Ei(e,t,r,n,i){vi(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}T.prototype.writeBigUInt64LE=Re(function(e,t=0){return wi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeBigUInt64BE=Re(function(e,t=0){return Ei(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};T.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);te(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};T.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};T.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};T.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};T.prototype.writeBigInt64LE=Re(function(e,t=0){return wi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});T.prototype.writeBigInt64BE=Re(function(e,t=0){return Ei(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function bi(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function xi(e,t,r,n,i){return t=+t,r=r>>>0,i||bi(e,t,r,4,34028234663852886e22,-34028234663852886e22),We.write(e,t,r,n,23,4),r+4}T.prototype.writeFloatLE=function(e,t,r){return xi(this,e,t,!0,r)};T.prototype.writeFloatBE=function(e,t,r){return xi(this,e,t,!1,r)};function Pi(e,t,r,n,i){return t=+t,r=r>>>0,i||bi(e,t,r,8,17976931348623157e292,-17976931348623157e292),We.write(e,t,r,n,52,8),r+8}T.prototype.writeDoubleLE=function(e,t,r){return Pi(this,e,t,!0,r)};T.prototype.writeDoubleBE=function(e,t,r){return Pi(this,e,t,!1,r)};T.prototype.copy=function(e,t,r,n){if(!T.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=ci(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ci(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ci(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Ga(e,t,r){He(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&vt(t,e.length-(r+1))}function vi(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Je.ERR_OUT_OF_RANGE("value",a,e)}Ga(n,i,o)}function He(e,t){if(typeof e!="number")throw new Je.ERR_INVALID_ARG_TYPE(t,"number",e)}function vt(e,t,r){throw Math.floor(e)!==e?(He(e,r),new Je.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Je.ERR_BUFFER_OUT_OF_BOUNDS:new Je.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Qa=/[^+/0-9A-Za-z-_]/g;function Ja(e){if(e=e.split("=")[0],e=e.trim().replace(Qa,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function cn(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Wa(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function Ti(e){return ln.toByteArray(Ja(e))}function cr(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function de(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function fn(e){return e!==e}var Ka=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Re(e){return typeof BigInt>"u"?za:e}function za(){throw new Error("BigInt not supported")}});var w,d=me(()=>{"use strict";w=Qe(Ci())});function rl(){return!1}function ji(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function nl(){return ji()}function il(){return[]}function ol(e){e(null,[])}function sl(){return""}function al(){return""}function ll(){}function ul(){}function cl(){}function pl(){}function ml(){}function dl(){}var fl,gl,Vi,Gi=me(()=>{"use strict";d();u();c();p();m();fl={},gl={existsSync:rl,lstatSync:ji,statSync:nl,readdirSync:il,readdir:ol,readlinkSync:sl,realpathSync:al,chmodSync:ll,renameSync:ul,mkdirSync:cl,rmdirSync:pl,rmSync:ml,unlinkSync:dl,promises:fl},Vi=gl});function hl(...e){return e.join("/")}function yl(...e){return e.join("/")}function wl(e){let t=Qi(e),r=Ji(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function Qi(e){let t=e.split("/");return t[t.length-1]}function Ji(e){return e.split("/").slice(0,-1).join("/")}var Wi,El,bl,fr,Hi=me(()=>{"use strict";d();u();c();p();m();Wi="/",El={sep:Wi},bl={basename:Qi,dirname:Ji,join:yl,parse:wl,posix:El,resolve:hl,sep:Wi},fr=bl});var Ki=Fe((cd,xl)=>{xl.exports={name:"@prisma/internals",version:"6.11.1",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-engine-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Zi=Fe((kd,Yi)=>{"use strict";d();u();c();p();m();Yi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var to=Fe(($d,eo)=>{"use strict";d();u();c();p();m();eo.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var no=Fe((Wd,ro)=>{"use strict";d();u();c();p();m();var kl=to();ro.exports=e=>typeof e=="string"?e.replace(kl(),""):e});var In=Fe((Fy,vo)=>{"use strict";d();u();c();p();m();vo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";d();u();c();p();m()});var ko=me(()=>{"use strict";d();u();c();p();m()});var Xo=Fe((i1,gc)=>{gc.exports={name:"@prisma/engines-version",version:"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"f40f79ec31188888a2e33acda0ecc8fd10a853a9"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Vr,es=me(()=>{"use strict";d();u();c();p();m();Vr=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var Pp={};Pt(Pp,{DMMF:()=>Ot,Debug:()=>K,Decimal:()=>he,Extensions:()=>gn,MetricsClient:()=>pt,PrismaClientInitializationError:()=>Q,PrismaClientKnownRequestError:()=>re,PrismaClientRustPanicError:()=>ve,PrismaClientUnknownRequestError:()=>ne,PrismaClientValidationError:()=>Z,Public:()=>hn,Sql:()=>oe,createParam:()=>Qo,defineDmmfProperty:()=>Yo,deserializeJsonResponse:()=>tt,deserializeRawResult:()=>rn,dmmfToRuntimeDataModel:()=>Po,empty:()=>rs,getPrismaClient:()=>ga,getRuntime:()=>zr,join:()=>ts,makeStrictEnum:()=>ha,makeTypedQueryFactory:()=>Zo,objectEnumValues:()=>Mr,raw:()=>Un,serializeJsonQuery:()=>qr,skip:()=>Ur,sqltag:()=>qn,warnEnvConflicts:()=>void 0,warnOnce:()=>Rt});module.exports=va(Pp);d();u();c();p();m();var gn={};Pt(gn,{defineExtension:()=>Ai,getExtensionContext:()=>Ri});d();u();c();p();m();d();u();c();p();m();function Ai(e){return typeof e=="function"?e:t=>t.$extends(e)}d();u();c();p();m();function Ri(e){return e}var hn={};Pt(hn,{validator:()=>Si});d();u();c();p();m();d();u();c();p();m();function Si(...e){return t=>t}d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();var yn,ki,Ii,Oi,Di=!0;typeof y<"u"&&({FORCE_COLOR:yn,NODE_DISABLE_COLORS:ki,NO_COLOR:Ii,TERM:Oi}=y.env||{},Di=y.stdout&&y.stdout.isTTY);var Ya={enabled:!ki&&Ii==null&&Oi!=="dumb"&&(yn!=null&&yn!=="0"||Di)};function j(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!Ya.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var dm=j(0,0),pr=j(1,22),mr=j(2,22),fm=j(3,23),Mi=j(4,24),gm=j(7,27),hm=j(8,28),ym=j(9,29),wm=j(30,39),ze=j(31,39),_i=j(32,39),Ni=j(33,39),Fi=j(34,39),Em=j(35,39),Li=j(36,39),bm=j(37,39),Bi=j(90,39),xm=j(90,39),Pm=j(40,49),vm=j(41,49),Tm=j(42,49),Cm=j(43,49),Am=j(44,49),Rm=j(45,49),Sm=j(46,49),km=j(47,49);d();u();c();p();m();var Za=100,Ui=["green","yellow","blue","magenta","cyan","red"],dr=[],qi=Date.now(),Xa=0,wn=typeof y<"u"?y.env:{};globalThis.DEBUG??=wn.DEBUG??"";globalThis.DEBUG_COLORS??=wn.DEBUG_COLORS?wn.DEBUG_COLORS==="true":!0;var Tt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function el(e){let t={color:Ui[Xa++%Ui.length],enabled:Tt.enabled(e),namespace:e,log:Tt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&dr.push([o,...n]),dr.length>Za&&dr.shift(),Tt.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:tl(g)),f=`+${Date.now()-qi}ms`;qi=Date.now(),a(o,...l,f)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var K=new Proxy(el,{get:(e,t)=>Tt[t],set:(e,t,r)=>Tt[t]=r});function tl(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function $i(){dr.length=0}d();u();c();p();m();d();u();c();p();m();var Pl=Ki(),En=Pl.version;d();u();c();p();m();function Ye(e){let t=vl();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":Tl(e))}function vl(){let e=y.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function Tl(e){return e?.previewFeatures.includes("queryCompiler")?"client":"library"}d();u();c();p();m();var zi="prisma+postgres",gr=`${zi}:`;function hr(e){return e?.toString().startsWith(`${gr}//`)??!1}function bn(e){if(!hr(e))return!1;let{host:t}=new URL(e);return t.includes("localhost")||t.includes("127.0.0.1")}var At={};Pt(At,{error:()=>Rl,info:()=>Al,log:()=>Cl,query:()=>Sl,should:()=>Xi,tags:()=>Ct,warn:()=>xn});d();u();c();p();m();var Ct={error:ze("prisma:error"),warn:Ni("prisma:warn"),info:Li("prisma:info"),query:Fi("prisma:query")},Xi={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function Cl(...e){console.log(...e)}function xn(e,...t){Xi.warn()&&console.warn(`${Ct.warn} ${e}`,...t)}function Al(e,...t){console.info(`${Ct.info} ${e}`,...t)}function Rl(e,...t){console.error(`${Ct.error} ${e}`,...t)}function Sl(e,...t){console.log(`${Ct.query} ${e}`,...t)}d();u();c();p();m();function Pe(e,t){throw new Error(t)}d();u();c();p();m();function Pn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}d();u();c();p();m();function Ze(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}d();u();c();p();m();function vn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{io.has(e)||(io.add(e),xn(t,...r))};var Q=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};N(Q,"PrismaClientInitializationError");d();u();c();p();m();var re=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};N(re,"PrismaClientKnownRequestError");d();u();c();p();m();var ve=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};N(ve,"PrismaClientRustPanicError");d();u();c();p();m();var ne=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};N(ne,"PrismaClientUnknownRequestError");d();u();c();p();m();var Z=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};N(Z,"PrismaClientValidationError");d();u();c();p();m();d();u();c();p();m();var Xe=9e15,Oe=1e9,Tn="0123456789abcdef",Er="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",br="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Cn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Xe,maxE:Xe,crypto:!1},uo,Te,_=!0,Pr="[DecimalError] ",Ie=Pr+"Invalid argument: ",co=Pr+"Precision limit exceeded",po=Pr+"crypto unavailable",mo="[object Decimal]",X=Math.floor,J=Math.pow,Il=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Ol=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Dl=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,fo=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ce=1e7,O=7,Ml=9007199254740991,_l=Er.length-1,An=br.length-1,A={toStringTag:mo};A.absoluteValue=A.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};A.ceil=function(){return I(new this.constructor(this),this.e+1,2)};A.clampedTo=A.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(Ie+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};A.comparedTo=A.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,f=e.s;if(!s||!a)return!l||!f?NaN:l!==f?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-f:0;if(l!==f)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};A.cosine=A.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Nl(n,Eo(n,r)),n.precision=e,n.rounding=t,I(Te==2||Te==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};A.cubeRoot=A.cbrt=function(){var e,t,r,n,i,o,s,a,l,f,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*J(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=z(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=J(r,1/3),e=X((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),f=l.plus(g),n=q(f.plus(g).times(a),f.plus(l),s+2,1),z(a.d).slice(0,s)===(r=z(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(I(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,I(n,e,h.rounding,t)};A.decimalPlaces=A.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-X(this.e/O))*O,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};A.dividedBy=A.div=function(e){return q(this,new this.constructor(e))};A.dividedToIntegerBy=A.divToInt=function(e){var t=this,r=t.constructor;return I(q(t,new r(e),0,1,1),r.precision,r.rounding)};A.equals=A.eq=function(e){return this.cmp(e)===0};A.floor=function(){return I(new this.constructor(this),this.e+1,3)};A.greaterThan=A.gt=function(e){return this.cmp(e)>0};A.greaterThanOrEqualTo=A.gte=function(e){var t=this.cmp(e);return t==1||t===0};A.hyperbolicCosine=A.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Tr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=et(s,1,o.times(t),new s(1),!0);for(var l,f=e,g=new s(8);f--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return I(o,s.precision=r,s.rounding=n,!0)};A.hyperbolicSine=A.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=et(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/Tr(5,e)),i=et(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),f=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(f))))}return o.precision=t,o.rounding=r,I(i,t,r,!0)};A.hyperbolicTangent=A.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,q(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};A.inverseCosine=A.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?fe(t,n,i):new t(0):new t(NaN):e.isZero()?fe(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};A.inverseHyperbolicCosine=A.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};A.inverseHyperbolicSine=A.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};A.inverseHyperbolicTangent=A.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new o(i),e,t,!0):(o.precision=r=n-i.e,i=q(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};A.inverseSine=A.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=fe(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};A.inverseTangent=A.atan=function(){var e,t,r,n,i,o,s,a,l,f=this,g=f.constructor,h=g.precision,v=g.rounding;if(f.isFinite()){if(f.isZero())return new g(f);if(f.abs().eq(1)&&h+4<=An)return s=fe(g,h+4,v).times(.25),s.s=f.s,s}else{if(!f.s)return new g(NaN);if(h+4<=An)return s=fe(g,h+4,v).times(.5),s.s=f.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/O+2|0),e=r;e;--e)f=f.div(f.times(f).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/O),n=1,l=f.times(f),s=new g(f),i=f;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};A.isNaN=function(){return!this.s};A.isNegative=A.isNeg=function(){return this.s<0};A.isPositive=A.isPos=function(){return this.s>0};A.isZero=function(){return!!this.d&&this.d[0]===0};A.lessThan=A.lt=function(e){return this.cmp(e)<0};A.lessThanOrEqualTo=A.lte=function(e){return this.cmp(e)<1};A.logarithm=A.log=function(e){var t,r,n,i,o,s,a,l,f=this,g=f.constructor,h=g.precision,v=g.rounding,S=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=f.d,f.s<0||!r||!r[0]||f.eq(1))return new g(r&&!r[0]?-1/0:f.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+S,s=ke(f,a),n=t?xr(g,a+10):ke(e,a),l=q(s,n,a,1),St(l.d,i=h,v))do if(a+=10,s=ke(f,a),n=t?xr(g,a+10):ke(e,a),l=q(s,n,a,1),!o){+z(l.d).slice(i+1,i+15)+1==1e14&&(l=I(l,h+1,0));break}while(St(l.d,i+=10,v));return _=!0,I(l,h,v)};A.minus=A.sub=function(e){var t,r,n,i,o,s,a,l,f,g,h,v,S=this,C=S.constructor;if(e=new C(e),!S.d||!e.d)return!S.s||!e.s?e=new C(NaN):S.d?e.s=-e.s:e=new C(e.d||S.s!==e.s?S:NaN),e;if(S.s!=e.s)return e.s=-e.s,S.plus(e);if(f=S.d,v=e.d,a=C.precision,l=C.rounding,!f[0]||!v[0]){if(v[0])e.s=-e.s;else if(f[0])e=new C(S);else return new C(l===3?-0:0);return _?I(e,a,l):e}if(r=X(e.e/O),g=X(S.e/O),f=f.slice(),o=g-r,o){for(h=o<0,h?(t=f,o=-o,s=v.length):(t=v,r=g,s=f.length),n=Math.max(Math.ceil(a/O),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=f.length,s=v.length,h=n0;--n)f[s++]=0;for(n=v.length;n>o;){if(f[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=f.length,i=g.length,s-i<0&&(i=s,r=g,g=f,f=r),t=0;i;)t=(f[--i]=f[i]+g[i]+t)/ce|0,f[i]%=ce;for(t&&(f.unshift(t),++n),s=f.length;f[--s]==0;)f.pop();return e.d=f,e.e=vr(f,n),_?I(e,a,l):e};A.precision=A.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ie+e);return r.d?(t=go(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};A.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};A.sine=A.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+O,n.rounding=1,r=Ll(n,Eo(n,r)),n.precision=e,n.rounding=t,I(Te>2?r.neg():r,e,t,!0)):new n(NaN)};A.squareRoot=A.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,f=s.s,g=s.constructor;if(f!==1||!a||!a[0])return new g(!f||f<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,f=Math.sqrt(+s),f==0||f==1/0?(t=z(a),(t.length+l)%2==0&&(t+="0"),f=Math.sqrt(t),l=X((l+1)/2)-(l<0||l%2),f==1/0?t="5e"+l:(t=f.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(f.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(q(s,o,r+2,1)).times(.5),z(o.d).slice(0,r)===(t=z(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(I(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,I(n,l,g.rounding,e)};A.tangent=A.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=q(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(Te==2||Te==4?r.neg():r,e,t,!0)):new n(NaN)};A.times=A.mul=function(e){var t,r,n,i,o,s,a,l,f,g=this,h=g.constructor,v=g.d,S=(e=new h(e)).d;if(e.s*=g.s,!v||!v[0]||!S||!S[0])return new h(!e.s||v&&!v[0]&&!S||S&&!S[0]&&!v?NaN:!v||!S?e.s/0:e.s*0);for(r=X(g.e/O)+X(e.e/O),l=v.length,f=S.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+S[n]*v[i-n-1]+t,o[i--]=a%ce|0,t=a/ce|0;o[i]=(o[i]+t)%ce|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=vr(o,r),_?I(e,h.precision,h.rounding):e};A.toBinary=function(e,t){return Sn(this,2,e,t)};A.toDecimalPlaces=A.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(ie(e,0,Oe),t===void 0?t=n.rounding:ie(t,0,8),I(r,e+r.e+1,t))};A.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,!0):(ie(e,0,Oe),t===void 0?t=i.rounding:ie(t,0,8),n=I(new i(n),e+1,t),r=ge(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};A.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=ge(i):(ie(e,0,Oe),t===void 0?t=o.rounding:ie(t,0,8),n=I(new o(i),e+i.e+1,t),r=ge(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};A.toFraction=function(e){var t,r,n,i,o,s,a,l,f,g,h,v,S=this,C=S.d,R=S.constructor;if(!C)return new R(S);if(f=r=new R(1),n=l=new R(0),t=new R(n),o=t.e=go(C)-S.e-1,s=o%O,t.d[0]=J(10,s<0?O+s:s),e==null)e=o>0?t:f;else{if(a=new R(e),!a.isInt()||a.lt(f))throw Error(Ie+a);e=a.gt(t)?o>0?t:f:a}for(_=!1,a=new R(z(C)),g=R.precision,R.precision=o=C.length*O*2;h=q(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=f,f=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=q(e.minus(r),n,0,1,1),l=l.plus(i.times(f)),r=r.plus(i.times(n)),l.s=f.s=S.s,v=q(f,n,o,1).minus(S).abs().cmp(q(l,r,o,1).minus(S).abs())<1?[f,n]:[l,r],R.precision=g,_=!0,v};A.toHexadecimal=A.toHex=function(e,t){return Sn(this,16,e,t)};A.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:ie(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=q(r,e,0,t,1).times(e),_=!0,I(r)):(e.s=r.s,r=e),r};A.toNumber=function(){return+this};A.toOctal=function(e,t){return Sn(this,8,e,t)};A.toPower=A.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,f=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(J(+a,f));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return I(a,n,o);if(t=X(e.e/O),t>=e.d.length-1&&(r=f<0?-f:f)<=Ml)return i=ho(l,a,r,n),e.s<0?new l(1).div(i):I(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=Rn(e.times(ke(a,n+r)),n),i.d&&(i=I(i,n+5,1),St(i.d,n,o)&&(t=n+10,i=I(Rn(e.times(ke(a,t+r)),t),t+5,1),+z(i.d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,I(i,n,o))};A.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=ge(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ie(e,1,Oe),t===void 0?t=i.rounding:ie(t,0,8),n=I(new i(n),e,t),r=ge(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};A.toSignificantDigits=A.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(ie(e,1,Oe),t===void 0?t=n.rounding:ie(t,0,8)),I(new n(r),e,t)};A.toString=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};A.truncated=A.trunc=function(){return I(new this.constructor(this),this.e+1,1)};A.valueOf=A.toJSON=function(){var e=this,t=e.constructor,r=ge(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function z(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(Ie+e)}function St(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=O,i=0):(i=Math.ceil((t+1)/O),t%=O),o=J(10,O-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==J(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==J(10,t-3)-1,s}function yr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function Nl(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/Tr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=et(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var q=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var f,g,h,v,S,C,R,D,M,B,k,F,ae,G,on,or,xt,sn,ue,sr,ar=n.constructor,an=n.s==i.s?1:-1,Y=n.d,$=i.d;if(!Y||!Y[0]||!$||!$[0])return new ar(!n.s||!i.s||(Y?$&&Y[0]==$[0]:!$)?NaN:Y&&Y[0]==0||!$?an*0:an/0);for(l?(S=1,g=n.e-i.e):(l=ce,S=O,g=X(n.e/S)-X(i.e/S)),ue=$.length,xt=Y.length,M=new ar(an),B=M.d=[],h=0;$[h]==(Y[h]||0);h++);if($[h]>(Y[h]||0)&&g--,o==null?(G=o=ar.precision,s=ar.rounding):a?G=o+(n.e-i.e)+1:G=o,G<0)B.push(1),C=!0;else{if(G=G/S+2|0,h=0,ue==1){for(v=0,$=$[0],G++;(h1&&($=e($,v,l),Y=e(Y,v,l),ue=$.length,xt=Y.length),or=ue,k=Y.slice(0,ue),F=k.length;F=l/2&&++sn;do v=0,f=t($,k,ue,F),f<0?(ae=k[0],ue!=F&&(ae=ae*l+(k[1]||0)),v=ae/sn|0,v>1?(v>=l&&(v=l-1),R=e($,v,l),D=R.length,F=k.length,f=t(R,k,D,F),f==1&&(v--,r(R,ue=10;v/=10)h++;M.e=h+g*S-1,I(M,a?o+M.e+1:o,s,C)}return M}}();function I(e,t,r,n){var i,o,s,a,l,f,g,h,v,S=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=O,s=t,g=h[v=0],l=g/J(10,i-s-1)%10|0;else if(v=Math.ceil((o+1)/O),a=h.length,v>=a)if(n){for(;a++<=v;)h.push(0);g=l=0,i=1,o%=O,s=o-O+1}else break e;else{for(g=a=h[v],i=1;a>=10;a/=10)i++;o%=O,s=o-O+i,l=s<0?0:g/J(10,i-s-1)%10|0}if(n=n||t<0||h[v+1]!==void 0||(s<0?g:g%J(10,i-s-1)),f=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/J(10,i-s):0:h[v-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,f?(t-=e.e+1,h[0]=J(10,(O-t%O)%O),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=v,a=1,v--):(h.length=v+1,a=J(10,O-o),h[v]=s>0?(g/J(10,i-s)%J(10,s)|0)*a:0),f)for(;;)if(v==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==ce&&(h[0]=1));break}else{if(h[v]+=a,h[v]!=ce)break;h[v--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>S.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+Se(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+Se(-i-1)+o,r&&(n=r-s)>0&&(o+=Se(n))):i>=s?(o+=Se(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Se(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Se(n))),o}function vr(e,t){var r=e[0];for(t*=O;r>=10;r/=10)t++;return t}function xr(e,t,r){if(t>_l)throw _=!0,r&&(e.precision=r),Error(co);return I(new e(Er),t,1,!0)}function fe(e,t,r){if(t>An)throw Error(co);return I(new e(br),t,r,!0)}function go(e){var t=e.length-1,r=t*O+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function Se(e){for(var t="";e--;)t+="0";return t}function ho(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/O+4);for(_=!1;;){if(r%2&&(o=o.times(t),ao(o.d,s)&&(i=!0)),r=X(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),ao(t.d,s)}return _=!0,o}function so(e){return e.d[e.d.length-1]&1}function yo(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=C):l=t,a=new v(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(J(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new v(1),v.precision=l;;){if(o=I(o.times(e),l,1),r=r.times(++g),a=s.plus(q(o,r,l,1)),z(a.d).slice(0,l)===z(s.d).slice(0,l)){for(i=h;i--;)s=I(s.times(s),l,1);if(t==null)if(f<3&&St(s.d,l-n,S,f))v.precision=l+=10,r=o=a=new v(1),g=0,f++;else return I(s,v.precision=C,S,_=!0);else return v.precision=C,s}s=a}}function ke(e,t){var r,n,i,o,s,a,l,f,g,h,v,S=1,C=10,R=e,D=R.d,M=R.constructor,B=M.rounding,k=M.precision;if(R.s<0||!D||!D[0]||!R.e&&D[0]==1&&D.length==1)return new M(D&&!D[0]?-1/0:R.s!=1?NaN:D?0:R);if(t==null?(_=!1,g=k):g=t,M.precision=g+=C,r=z(D),n=r.charAt(0),Math.abs(o=R.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)R=R.times(e),r=z(R.d),n=r.charAt(0),S++;o=R.e,n>1?(R=new M("0."+r),o++):R=new M(n+"."+r.slice(1))}else return f=xr(M,g+2,k).times(o+""),R=ke(new M(n+"."+r.slice(1)),g-C).plus(f),M.precision=k,t==null?I(R,k,B,_=!0):R;for(h=R,l=s=R=q(R.minus(1),R.plus(1),g,1),v=I(R.times(R),g,1),i=3;;){if(s=I(s.times(v),g,1),f=l.plus(q(s,new M(i),g,1)),z(f.d).slice(0,g)===z(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(xr(M,g+2,k).times(o+""))),l=q(l,new M(S),g,1),t==null)if(St(l.d,g-C,B,a))M.precision=g+=C,f=s=R=q(h.minus(1),h.plus(1),g,1),v=I(R.times(R),g,1),i=a=1;else return I(l,M.precision=k,B,_=!0);else return M.precision=k,l;l=f,i+=2}}function wo(e){return String(e.s*e.s/0)}function wr(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%O,r<0&&(n+=O),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),fo.test(t))return wr(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Ol.test(t))r=16,t=t.toLowerCase();else if(Il.test(t))r=2;else if(Dl.test(t))r=8;else throw Error(Ie+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=ho(n,new n(r),o,o*2)),f=yr(t,r,ce),g=f.length-1,o=g;f[o]===0;--o)f.pop();return o<0?new n(e.s*0):(e.e=vr(f,g),e.d=f,_=!1,s&&(e=q(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?J(2,l):Be.pow(2,l))),_=!0,e)}function Ll(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:et(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/Tr(5,r)),t=et(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function et(e,t,r,n,i){var o,s,a,l,f=1,g=e.precision,h=Math.ceil(g/O);for(_=!1,l=r.times(r),a=new e(n);;){if(s=q(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=q(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,f++}return _=!0,s.d.length=h+1,s}function Tr(e,t){for(var r=e;--t;)r*=e;return r}function Eo(e,t){var r,n=t.s<0,i=fe(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Te=n?4:1,t;if(r=t.divToInt(i),r.isZero())Te=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return Te=so(r)?n?2:3:n?4:1,t;Te=so(r)?n?1:4:n?3:2}return t.minus(i).abs()}function Sn(e,t,r,n){var i,o,s,a,l,f,g,h,v,S=e.constructor,C=r!==void 0;if(C?(ie(r,1,Oe),n===void 0?n=S.rounding:ie(n,0,8)):(r=S.precision,n=S.rounding),!e.isFinite())g=wo(e);else{for(g=ge(e),s=g.indexOf("."),C?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),v=new S(1),v.e=g.length-s,v.d=yr(ge(v),10,i),v.e=v.d.length),h=yr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=C?"0p+0":"0";else{if(s<0?o--:(e=new S(e),e.d=h,e.e=o,e=q(e,v,r,n,0,i),h=e.d,o=e.e,f=uo),s=h[r],a=i/2,f=f||h[r+1]!==void 0,f=n<4?(s!==void 0||f)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||f||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,f)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=yr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function Bl(e){return new this(e).abs()}function Ul(e){return new this(e).acos()}function ql(e){return new this(e).acosh()}function $l(e,t){return new this(e).plus(t)}function jl(e){return new this(e).asin()}function Vl(e){return new this(e).asinh()}function Gl(e){return new this(e).atan()}function Ql(e){return new this(e).atanh()}function Jl(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=fe(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?fe(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=fe(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(q(e,t,o,1)),t=fe(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(q(e,t,o,1)),r}function Wl(e){return new this(e).cbrt()}function Hl(e){return I(e=new this(e),e.e+1,2)}function Kl(e,t,r){return new this(e).clamp(t,r)}function zl(e){if(!e||typeof e!="object")throw Error(Pr+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,Oe,"rounding",0,8,"toExpNeg",-Xe,0,"toExpPos",0,Xe,"maxE",0,Xe,"minE",-Xe,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(Ie+r+": "+n);if(r="crypto",i&&(this[r]=Cn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(po);else this[r]=!1;else throw Error(Ie+r+": "+n);return this}function Yl(e){return new this(e).cos()}function Zl(e){return new this(e).cosh()}function bo(e){var t,r,n;function i(o){var s,a,l,f=this;if(!(f instanceof i))return new i(o);if(f.constructor=i,lo(o)){f.s=o.s,_?!o.d||o.e>i.maxE?(f.e=NaN,f.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(f.e=NaN,f.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(po);else for(;o=10;i/=10)n++;nIt,datamodelEnumToSchemaEnum:()=>Cu});d();u();c();p();m();d();u();c();p();m();function Cu(e){return{name:e.name,values:e.values.map(t=>t.name)}}d();u();c();p();m();var It=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(It||{});var Au=Qe(Zi());var Ru={red:ze,gray:Bi,dim:mr,bold:pr,underline:Mi,highlightSource:e=>e.highlight()},Su={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function ku({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function Iu({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],l=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${l}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${l}`)),t&&a.push(s.underline(Ou(t))),i){a.push("");let f=[i.toString()];o&&(f.push(o),f.push(s.dim(")"))),a.push(f.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function Ou(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function Ar(e){let t=e.showColors?Ru:Su,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=ku(e),Iu(r,t)}d();u();c();p();m();var Oo=Qe(In());d();u();c();p();m();function Ao(e,t,r){let n=Ro(e),i=Du(n),o=_u(i);o?Rr(o,t,r):t.addErrorMessage(()=>"Unknown error")}function Ro(e){return e.errors.flatMap(t=>t.kind==="Union"?Ro(t):[t])}function Du(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:Mu(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function Mu(e,t){return[...new Set(e.concat(t))]}function _u(e){return vn(e,(t,r)=>{let n=To(t),i=To(r);return n!==i?n-i:Co(t)-Co(r)})}function To(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function Co(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}d();u();c();p();m();var le=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};d();u();c();p();m();d();u();c();p();m();ko();d();u();c();p();m();var it=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};So();d();u();c();p();m();d();u();c();p();m();var Sr=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};d();u();c();p();m();var kr=e=>e,Ir={bold:kr,red:kr,green:kr,dim:kr,enabled:!1},Io={bold:pr,red:ze,green:_i,dim:mr,enabled:!0},ot={write(e){e.writeLine(",")}};d();u();c();p();m();var we=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};d();u();c();p();m();var Me=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var st=class extends Me{items=[];addItem(t){return this.items.push(new Sr(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new we("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(ot,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var at=class e extends Me{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof st&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new we("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(ot,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};d();u();c();p();m();var H=class extends Me{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new we(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};d();u();c();p();m();var Dt=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(ot,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Rr(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":Nu(e,t);break;case"IncludeOnScalar":Fu(e,t);break;case"EmptySelection":Lu(e,t,r);break;case"UnknownSelectionField":$u(e,t);break;case"InvalidSelectionValue":ju(e,t);break;case"UnknownArgument":Vu(e,t);break;case"UnknownInputField":Gu(e,t);break;case"RequiredArgumentMissing":Qu(e,t);break;case"InvalidArgumentType":Ju(e,t);break;case"InvalidArgumentValue":Wu(e,t);break;case"ValueTooLarge":Hu(e,t);break;case"SomeFieldsMissing":Ku(e,t);break;case"TooManyFieldsGiven":zu(e,t);break;case"Union":Ao(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function Nu(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function Fu(e,t){let[r,n]=Mt(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new le(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${_t(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Lu(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Bu(e,t,i);return}if(n.hasField("select")){Uu(e,t);return}}if(r?.[De(e.outputType.name)]){qu(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Bu(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new le(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function Uu(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),_o(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${_t(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function qu(e,t){let r=new Dt;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new le("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=Mt(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new at;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function $u(e,t){let r=No(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":_o(n,e.outputType);break;case"include":Yu(n,e.outputType);break;case"omit":Zu(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(_t(n)),i.join(" ")})}function ju(e,t){let r=No(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function Vu(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Xu(n,e.arguments)),t.addErrorMessage(i=>Do(i,r,e.arguments.map(o=>o.name)))}function Gu(e,t){let[r,n]=Mt(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Fo(o,e.inputType)}t.addErrorMessage(o=>Do(o,n,e.inputType.fields.map(s=>s.name)))}function Do(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=tc(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(_t(e)),n.join(" ")}function Qu(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=Mt(e.argumentPath),s=new Dt,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new le(o,s).makeRequired())}else{let l=e.inputTypes.map(Mo).join(" | ");a.addSuggestion(new le(o,l).makeRequired())}}function Mo(e){return e.kind==="list"?`${Mo(e.elementType)}[]`:e.name}function Ju(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Or("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function Wu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Or("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Hu(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function Ku(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Fo(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Or("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(_t(i)),o.join(" ")})}function zu(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Or("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function _o(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new le(r.name,"true"))}function Yu(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new le(r.name,"true"))}function Zu(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new le(r.name,"true"))}function Xu(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new le(r.name,r.typeNames.join(" | ")))}function No(e,t){let[r,n]=Mt(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Fo(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new le(r.name,r.typeNames.join(" | ")))}function Mt(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function _t({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Or(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var ec=3;function tc(e,t){let r=1/0,n;for(let i of t){let o=(0,Oo.default)(e,i);o>ec||o`}};function lt(e){return e instanceof Nt}d();u();c();p();m();var Dr=Symbol(),Dn=new WeakMap,Ce=class{constructor(t){t===Dr?Dn.set(this,`Prisma.${this._getName()}`):Dn.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Dn.get(this)}},Ft=class extends Ce{_getNamespace(){return"NullTypes"}},Lt=class extends Ft{#e};Mn(Lt,"DbNull");var Bt=class extends Ft{#e};Mn(Bt,"JsonNull");var Ut=class extends Ft{#e};Mn(Ut,"AnyNull");var Mr={classes:{DbNull:Lt,JsonNull:Bt,AnyNull:Ut},instances:{DbNull:new Lt(Dr),JsonNull:new Bt(Dr),AnyNull:new Ut(Dr)}};function Mn(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}d();u();c();p();m();var Lo=": ",_r=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Lo.length}write(t){let r=new we(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Lo).write(this.value)}};var _n=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function ut(e){return new _n(Bo(e))}function Bo(e){let t=new at;for(let[r,n]of Object.entries(e)){let i=new _r(r,Uo(n));t.addField(i)}return t}function Uo(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(nt(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=Cr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Ce?new H(`Prisma.${e._getName()}`):lt(e)?new H(`prisma.${De(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?rc(e):typeof e=="object"?Bo(e):new H(Object.prototype.toString.call(e))}function rc(e){let t=new st;for(let r of e)t.addItem(Uo(r));return t}function Nr(e,t){let r=t==="pretty"?Io:Ir,n=e.renderAllMessages(r),i=new it(0,{colors:r}).write(e).toString();return{message:n,args:i}}function Fr({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=ut(e);for(let h of t)Rr(h,a,s);let{message:l,args:f}=Nr(a,r),g=Ar({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:f});throw new Z(g,{clientVersion:o})}d();u();c();p();m();d();u();c();p();m();function Ee(e){return e.replace(/^./,t=>t.toLowerCase())}d();u();c();p();m();function $o(e,t,r){let n=Ee(r);return!t.result||!(t.result.$allModels||t.result[n])?e:nc({...e,...qo(t.name,e,t.result.$allModels),...qo(t.name,e,t.result[n])})}function nc(e){let t=new ye,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return Ze(e,n=>({...n,needs:r(n.name,new Set)}))}function qo(e,t,r){return r?Ze(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:ic(t,o,i)})):{}}function ic(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function jo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Vo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Lr=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new ye;modelExtensionsCache=new ye;queryCallbacksCache=new ye;clientExtensions=kt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=kt(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>$o(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Ee(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ct=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Lr(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Lr(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};d();u();c();p();m();var Br=class{constructor(t){this.name=t}};function Go(e){return e instanceof Br}function Qo(e){return new Br(e)}d();u();c();p();m();d();u();c();p();m();var Jo=Symbol(),qt=class{constructor(t){if(t!==Jo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Ur:t}},Ur=new qt(Jo);function be(e){return e instanceof qt}var oc={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Wo="explicitly `undefined` values are not allowed";function qr({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=ct.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:f,globalOmit:g}){let h=new Nn({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:f,globalOmit:g});return{modelName:e,action:oc[t],query:$t(r,h)}}function $t({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Ko(r,n),selection:sc(e,t,i,n)}}function sc(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),cc(e,n)):ac(n,t,r)}function ac(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&lc(n,t,e),uc(n,r,e),n}function lc(e,t,r){for(let[n,i]of Object.entries(t)){if(be(i))continue;let o=r.nestSelection(n);if(Fn(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=$t(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=$t(i,o)}}function uc(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Vo(i,n);for(let[s,a]of Object.entries(o)){if(be(a))continue;Fn(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function cc(e,t){let r={},n=t.getComputedFields(),i=jo(e,n);for(let[o,s]of Object.entries(i)){if(be(s))continue;let a=t.nestSelection(o);Fn(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||be(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=$t({},a):r[o]=!0;continue}r[o]=$t(s,a)}}return r}function Ho(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(rt(e)){if(Cr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Go(e))return{$type:"Param",value:e.name};if(lt(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return pc(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(mc(e))return e.values;if(nt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Ce){if(e!==Mr.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(dc(e))return e.toJSON();if(typeof e=="object")return Ko(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Ko(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);be(i)||(i!==void 0?r[n]=Ho(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:Wo}))}return r}function pc(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[De(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Pe(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};d();u();c();p();m();function zo(e){if(!e._hasPreviewFlag("metrics"))throw new Z("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var pt=class{_client;constructor(t){this._client=t}prometheus(t){return zo(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return zo(this._client),this._client._engine.metrics({format:"json",...t})}};d();u();c();p();m();function Yo(e,t){let r=kt(()=>fc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function fc(e){return{datamodel:{models:Ln(e.models),enums:Ln(e.enums),types:Ln(e.types)}}}function Ln(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}d();u();c();p();m();var Bn=new WeakMap,$r="$$PrismaTypedSql",jt=class{constructor(t,r){Bn.set(this,{sql:t,values:r}),Object.defineProperty(this,$r,{value:$r})}get sql(){return Bn.get(this).sql}get values(){return Bn.get(this).values}};function Zo(e){return(...t)=>new jt(e,t)}function jr(e){return e!=null&&e[$r]===$r}d();u();c();p();m();var fa=Qe(Xo());d();u();c();p();m();es();Gi();Hi();d();u();c();p();m();var oe=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}d();u();c();p();m();d();u();c();p();m();var Gr={enumerable:!0,configurable:!0,writable:!0};function Qr(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Gr,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var ns=Symbol.for("nodejs.util.inspect.custom");function pe(e,t){let r=hc(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=is(Reflect.ownKeys(o),r),a=is(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...Gr,...l?.getPropertyDescriptor(s)}:Gr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[ns]=function(){let o={...this};return delete o[ns],o},i}function hc(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function is(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}d();u();c();p();m();function mt(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}d();u();c();p();m();function Jr(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}d();u();c();p();m();function os(e){if(e===void 0)return"";let t=ut(e);return new it(0,{colors:Ir}).write(t).toString()}d();u();c();p();m();var yc="P2037";function Wr({error:e,user_facing_error:t},r,n){return t.error_code?new re(wc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new ne(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function wc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===yc&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();var $n=class{getLocation(){return null}};function _e(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new $n}d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();var ss={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function dt(e={}){let t=bc(e);return Object.entries(t).reduce((n,[i,o])=>(ss[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function bc(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Hr(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function as(e,t){let r=Hr(e);return t({action:"aggregate",unpacker:r,argsMapper:dt})(e)}d();u();c();p();m();function xc(e={}){let{select:t,...r}=e;return typeof t=="object"?dt({...r,_count:t}):dt({...r,_count:{_all:!0}})}function Pc(e={}){return typeof e.select=="object"?t=>Hr(e)(t)._count:t=>Hr(e)(t)._count._all}function ls(e,t){return t({action:"count",unpacker:Pc(e),argsMapper:xc})(e)}d();u();c();p();m();function vc(e={}){let t=dt(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function Tc(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function us(e,t){return t({action:"groupBy",unpacker:Tc(e),argsMapper:vc})(e)}function cs(e,t,r){if(t==="aggregate")return n=>as(n,r);if(t==="count")return n=>ls(n,r);if(t==="groupBy")return n=>us(n,r)}d();u();c();p();m();function ps(e,t){let r=t.fields.filter(i=>!i.relationName),n=xo(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Nt(e,o,s.type,s.isList,s.kind==="enum")},...Qr(Object.keys(n))})}d();u();c();p();m();d();u();c();p();m();var ms=e=>Array.isArray(e)?e:e.split("."),jn=(e,t)=>ms(t).reduce((r,n)=>r&&r[n],e),ds=(e,t,r)=>ms(t).reduceRight((n,i,o,s)=>Object.assign({},jn(e,s.slice(0,o)),{[i]:n}),r);function Cc(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function Ac(e,t,r){return t===void 0?e??{}:ds(t,r,e||!0)}function Vn(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,f)=>({...l,[f.name]:f}),{});return l=>{let f=_e(e._errorFormat),g=Cc(n,i),h=Ac(l,o,g),v=r({dataPath:g,callsite:f})(h),S=Rc(e,t);return new Proxy(v,{get(C,R){if(!S.includes(R))return C[R];let M=[a[R].type,r,R],B=[g,h];return Vn(e,...M,...B)},...Qr([...S,...Object.getOwnPropertyNames(v)])})}}function Rc(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Sc=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],kc=["aggregate","count","groupBy"];function Gn(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[Ic(e,t),Dc(e,t),Vt(r),ee("name",()=>t),ee("$name",()=>t),ee("$parent",()=>e._appliedParent)];return pe({},n)}function Ic(e,t){let r=Ee(t),n=Object.keys(It).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let f=_e(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:f};return e._request({...h,...a})},{action:o,args:l,model:t})};return Sc.includes(o)?Vn(e,t,s):Oc(i)?cs(e,i,s):s({})}}}function Oc(e){return kc.includes(e)}function Dc(e,t){return Ue(ee("fields",()=>{let r=e._runtimeDataModel.models[t];return ps(t,r)}))}d();u();c();p();m();function fs(e){return e.replace(/^./,t=>t.toUpperCase())}var Qn=Symbol();function Gt(e){let t=[Mc(e),_c(e),ee(Qn,()=>e),ee("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(Vt(r)),pe(e,t)}function Mc(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function _c(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Ee),n=[...new Set(t.concat(r))];return Ue({getKeys(){return n},getPropertyValue(i){let o=fs(i);if(e._runtimeDataModel.models[o]!==void 0)return Gn(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Gn(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function gs(e){return e[Qn]?e[Qn]:e}function hs(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Gt(t)}d();u();c();p();m();d();u();c();p();m();function ys({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let f=l.needs.filter(g=>n[g]);f.length>0&&a.push(mt(f))}else if(r){if(!r[l.name])continue;let f=l.needs.filter(g=>!r[g]);f.length>0&&a.push(mt(f))}Nc(e,l.needs)&&s.push(Fc(l,pe(e,s)))}return s.length>0||a.length>0?pe(e,[...s,...a]):e}function Nc(e,t){return t.every(r=>Pn(e,r))}function Fc(e,t){return Ue(ee(e.name,()=>e.compute(t)))}d();u();c();p();m();function Kr({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let f=typeof s=="object"?s:{};t[o]=Kr({visitor:i,result:t[o],args:f,modelName:l.type,runtimeDataModel:n})}}function Es({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Kr({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,f)=>{let g=Ee(l);return ys({result:a,modelName:g,select:f.select,omit:f.select?void 0:{...o?.[g],...f.omit},extensions:n})}})}d();u();c();p();m();d();u();c();p();m();d();u();c();p();m();var Lc=["$connect","$disconnect","$on","$transaction","$use","$extends"],bs=Lc;function xs(e){if(e instanceof oe)return Bc(e);if(jr(e))return Uc(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:xs(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=Rs(o,l),a.args=s,vs(e,a,r,n+1)}})})}function Ts(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return vs(e,t,s)}function Cs(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?As(r,n,0,e):e(r)}}function As(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=Rs(i,l),As(a,t,r+1,n)}})}var Ps=e=>e;function Rs(e=Ps,t=Ps){return r=>e(t(r))}d();u();c();p();m();var Ss=K("prisma:client"),ks={Vercel:"vercel","Netlify CI":"netlify"};function Is({postinstall:e,ciName:t,clientVersion:r}){if(Ss("checkPlatformCaching:postinstall",e),Ss("checkPlatformCaching:ciName",t),e===!0&&t&&t in ks){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${ks[t]}-build`;throw console.error(n),new Q(n,r)}}d();u();c();p();m();function Os(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}d();u();c();p();m();d();u();c();p();m();var qc=()=>globalThis.process?.release?.name==="node",$c=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,jc=()=>!!globalThis.Deno,Vc=()=>typeof globalThis.Netlify=="object",Gc=()=>typeof globalThis.EdgeRuntime=="object",Qc=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Jc(){return[[Vc,"netlify"],[Gc,"edge-light"],[Qc,"workerd"],[jc,"deno"],[$c,"bun"],[qc,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Wc={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function zr(){let e=Jc();return{id:e,prettyName:Wc[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}d();u();c();p();m();var Ds="6.11.1";d();u();c();p();m();d();u();c();p();m();function ft({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw zr().id==="workerd"?new Q(`error: Environment variable not found: ${s.fromEnvVar}. + +In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new Q(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new Q("error: Missing URL environment variable, value, or override.",n);return i}d();u();c();p();m();d();u();c();p();m();var Yr=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var se=class extends Yr{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};d();u();c();p();m();d();u();c();p();m();function L(e,t){return{...e,isRetryable:t}}var gt=class extends se{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",L(t,!0))}};N(gt,"ForcedRetryError");d();u();c();p();m();var qe=class extends se{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,L(r,!1))}};N(qe,"InvalidDatasourceError");d();u();c();p();m();var $e=class extends se{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,L(r,!1))}};N($e,"NotImplementedYetError");d();u();c();p();m();d();u();c();p();m();var V=class extends se{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var je=class extends V{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",L(t,!0))}};N(je,"SchemaMissingError");d();u();c();p();m();d();u();c();p();m();var Jn="This request could not be understood by the server",Jt=class extends V{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||Jn,L(t,!1)),n&&(this.code=n)}};N(Jt,"BadRequestError");d();u();c();p();m();var Wt=class extends V{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",L(t,!0)),this.logs=r}};N(Wt,"HealthcheckTimeoutError");d();u();c();p();m();var Ht=class extends V{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,L(t,!0)),this.logs=n}};N(Ht,"EngineStartupError");d();u();c();p();m();var Kt=class extends V{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",L(t,!1))}};N(Kt,"EngineVersionNotSupportedError");d();u();c();p();m();var Wn="Request timed out",zt=class extends V{name="GatewayTimeoutError";code="P5009";constructor(t,r=Wn){super(r,L(t,!1))}};N(zt,"GatewayTimeoutError");d();u();c();p();m();var Kc="Interactive transaction error",Yt=class extends V{name="InteractiveTransactionError";code="P5015";constructor(t,r=Kc){super(r,L(t,!1))}};N(Yt,"InteractiveTransactionError");d();u();c();p();m();var zc="Request parameters are invalid",Zt=class extends V{name="InvalidRequestError";code="P5011";constructor(t,r=zc){super(r,L(t,!1))}};N(Zt,"InvalidRequestError");d();u();c();p();m();var Hn="Requested resource does not exist",Xt=class extends V{name="NotFoundError";code="P5003";constructor(t,r=Hn){super(r,L(t,!1))}};N(Xt,"NotFoundError");d();u();c();p();m();var Kn="Unknown server error",ht=class extends V{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||Kn,L(t,!0)),this.logs=n}};N(ht,"ServerError");d();u();c();p();m();var zn="Unauthorized, check your connection string",er=class extends V{name="UnauthorizedError";code="P5007";constructor(t,r=zn){super(r,L(t,!1))}};N(er,"UnauthorizedError");d();u();c();p();m();var Yn="Usage exceeded, retry again later",tr=class extends V{name="UsageExceededError";code="P5008";constructor(t,r=Yn){super(r,L(t,!0))}};N(tr,"UsageExceededError");async function Yc(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function rr(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await Yc(e);if(n.type==="QueryEngineError")throw new re(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new ht(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new je(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Kt(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Ht(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new Q(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Wt(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Yt(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Zt(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new er(r,yt(zn,n));if(e.status===404)return new Xt(r,yt(Hn,n));if(e.status===429)throw new tr(r,yt(Yn,n));if(e.status===504)throw new zt(r,yt(Wn,n));if(e.status>=500)throw new ht(r,yt(Kn,n));if(e.status>=400)throw new Jt(r,yt(Jn,n))}function yt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}d();u();c();p();m();function Ms(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}d();u();c();p();m();var Ae="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function _s(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,f,g;for(let h=0;h>18,a=(g&258048)>>12,l=(g&4032)>>6,f=g&63,r+=Ae[s]+Ae[a]+Ae[l]+Ae[f];return i==1?(g=t[o],s=(g&252)>>2,a=(g&3)<<4,r+=Ae[s]+Ae[a]+"=="):i==2&&(g=t[o]<<8|t[o+1],s=(g&64512)>>10,a=(g&1008)>>4,l=(g&15)<<2,r+=Ae[s]+Ae[a]+Ae[l]+"="),r}d();u();c();p();m();function Ns(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new Q("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}d();u();c();p();m();function Zc(e){return e[0]*1e3+e[1]/1e6}function Zn(e){return new Date(Zc(e))}d();u();c();p();m();var Fs={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};d();u();c();p();m();d();u();c();p();m();var nr=class extends se{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: +${t}`,L(r,!0))}};N(nr,"RequestError");async function Ve(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new nr(a,{clientVersion:n,cause:s})}}var ep=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Ls=K("prisma:client:dataproxyEngine");async function tp(e,t){let r=Fs["@prisma/engines-version"],n=t.clientVersion??"unknown";if(y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return y.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&ep.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,l,f]=s.split("."),g=rp(`<=${a}.${l}.${f}`),h=await Ve(g,{clientVersion:n});if(!h.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${h.status} ${h.statusText}, response body: ${await h.text()||""}`);let v=await h.text();Ls("length of body fetched from unpkg.com",v.length);let S;try{S=JSON.parse(v)}catch(C){throw console.error("JSON.parse error: body fetched from unpkg.com: ",v),C}return S.version}throw new $e("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Bs(e,t){let r=await tp(e,t);return Ls("version",r),r}function rp(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Us=3,ir=K("prisma:client:dataproxyEngine"),Xn=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,interactiveTransaction:r}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-transaction-id"]=r.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}},wt=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){Ns(t),this.config=t,this.env={...t.env,...typeof y<"u"?y.env:{}},this.inlineSchema=_s(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.headerBuilder=new Xn({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.protocol=bn(r)?"http":"https",this.remoteClientVersion=await Bs(this.host,this.config),ir("host",this.host),ir("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":ir(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Zn(r.timestamp),message:r.attributes.message??"",target:r.target});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Zn(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await Ve(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||ir("schema response status",r.status);let n=await rr(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Jr(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,interactiveTransaction:i}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||ir("graphql response status",a.status),await this.handleError(await rr(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await Ve(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await rr(l,this.clientVersion));let f=await l.json(),{extensions:g}=f;g&&this.propagateResponseExtensions(g);let h=f.id,v=f["data-proxy"].endpoint;return{id:h,payload:{endpoint:v}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await Ve(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await rr(a,this.clientVersion));let l=await a.json(),{extensions:f}=l;f&&this.propagateResponseExtensions(f);return}}})}getURLAndAPIKey(){let t={clientVersion:this.clientVersion},r=Object.keys(this.inlineDatasources)[0],n=ft({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==gr)throw new qe(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new qe(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);return{apiKey:a,url:i}}metrics(){throw new $e("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof se)||!i.isRetryable)throw i;if(r>=Us)throw i instanceof gt?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Us} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Ms(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof je)throw await this.uploadSchema(),new gt({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?Wr(t[0],this.config.clientVersion,this.config.activeProvider):new ne(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};d();u();c();p();m();function qs({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=R=>{i.push({_tag:"warning",value:R})},a=R=>{let D=R.join(` +`);o.push({_tag:"error",value:D})},l=!!e?.startsWith("prisma://"),f=hr(e),g=!!t,h=l||f;!g&&r&&h&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let v=h||!r;g&&(v||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):r?l&&a(["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]):a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let S={accelerate:v,ppg:f,driverAdapters:g};function C(R){return R.length>0}return C(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:S}:{ok:!0,diagnostics:{warnings:i},isUsing:S}}function $s({copyEngine:e=!0},t){let r;try{r=ft({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=qs({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"edge"});for(let g of o.warnings)Rt(...g.value);if(!n){let g=o.errors[0];throw new Z(g.value,{clientVersion:t.clientVersion})}let s=Ye(t.generator),a=s==="library",l=s==="binary",f=s==="client";return i.accelerate?new wt(t):(i.driverAdapters,i.accelerate,new wt(t))}d();u();c();p();m();function Zr({generator:e}){return e?.previewFeatures??[]}d();u();c();p();m();var js=e=>({command:e});d();u();c();p();m();d();u();c();p();m();var Vs=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);d();u();c();p();m();function Et(e){try{return Gs(e,"fast")}catch{return Gs(e,"slow")}}function Gs(e,t){return JSON.stringify(e.map(r=>Js(r,t)))}function Js(e,t){if(Array.isArray(e))return e.map(r=>Js(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(rt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(he.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(np(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Ws(e):e}function np(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Ws(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Qs);let t={};for(let r of Object.keys(e))t[r]=Qs(e[r]);return t}function Qs(e){return typeof e=="bigint"?e.toString():Ws(e)}var ip=/^(\s*alter\s)/i,Hs=K("prisma:client");function ei(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&ip.exec(t))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var ti=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(jr(r))n=r.sql,i={values:Et(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:Et(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:Et(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:Et(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Vs(r),i={values:Et(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Hs(`prisma.${e}(${n}, ${i.values})`):Hs(`prisma.${e}(${n})`),{query:n,parameters:i}},Ks={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new oe(t,r)}},zs={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};d();u();c();p();m();function ri(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Ys(r(s)):Ys(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Ys(e){return typeof e.then=="function"?e:Promise.resolve(e)}d();u();c();p();m();var op=En.split(".")[0],sp={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},ni=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${op}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??sp}};function Zs(){return new ni}d();u();c();p();m();function Xs(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}d();u();c();p();m();function ea(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}d();u();c();p();m();var Xr=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};d();u();c();p();m();var ra=Qe(no());d();u();c();p();m();function en(e){return typeof e.batchRequestIdx=="number"}d();u();c();p();m();function ta(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(ii(e.query.arguments)),t.push(ii(e.query.selection)),t.join("")}function ii(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${ii(n)})`:r}).join(" ")})`}d();u();c();p();m();var ap={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function oi(e){return ap[e]}d();u();c();p();m();var tn=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;iGe("bigint",r));case"bytes-array":return t.map(r=>Ge("bytes",r));case"decimal-array":return t.map(r=>Ge("decimal",r));case"datetime-array":return t.map(r=>Ge("datetime",r));case"date-array":return t.map(r=>Ge("date",r));case"time-array":return t.map(r=>Ge("time",r));default:return t}}function rn(e){let t=[],r=lp(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),f=n.some(h=>oi(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:cp(o),containsWrite:f,customDataProxyFetch:i})).map((h,v)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[v],h)}catch(S){return S}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?na(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:oi(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:ta(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(up(t),pp(t,i))throw t;if(t instanceof re&&mp(t)){let f=ia(t.meta);Fr({args:o,errors:[f],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=Ar({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let f=s?{modelName:s,...t.meta}:t.meta;throw new re(l,{code:t.code,clientVersion:this.client._clientVersion,meta:f,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new ve(l,this.client._clientVersion);if(t instanceof ne)throw new ne(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof Q)throw new Q(l,this.client._clientVersion);if(t instanceof ve)throw new ve(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,ra.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(f=>f!=="select"&&f!=="include"),a=jn(o,s),l=i==="queryRaw"?rn(a):tt(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function cp(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:na(e)};Pe(e,"Unknown transaction kind")}}function na(e){return{id:e.id,payload:e.payload}}function pp(e,t){return en(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function mp(e){return e.code==="P2009"||e.code==="P2012"}function ia(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(ia)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}d();u();c();p();m();var oa=Ds;d();u();c();p();m();var ca=Qe(In());d();u();c();p();m();var U=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};N(U,"PrismaClientConstructorValidationError");var sa=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],aa=["pretty","colorless","minimal"],la=["info","query","warn","error"],dp={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new U(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=bt(r,t)||` Available datasources: ${t.join(", ")}`;throw new U(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new U(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new U(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new U(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&Ye(t.generator)==="client")throw new U('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new U('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Zr(t).includes("driverAdapters"))throw new U('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(Ye(t.generator)==="binary")throw new U('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new U(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new U(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!aa.includes(e)){let t=bt(e,aa);throw new U(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new U(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!la.includes(r)){let n=bt(r,la);throw new U(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=bt(i,o);throw new U(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new U(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new U(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new U(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new U('"omit" option is expected to be an object.');if(e===null)throw new U('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=gp(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(f=>f.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new U(hp(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new U(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=bt(r,t);throw new U(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function pa(e,t){for(let[r,n]of Object.entries(e)){if(!sa.includes(r)){let i=bt(r,sa);throw new U(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}dp[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new U('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function bt(e,t){if(t.length===0||typeof e!="string")return"";let r=fp(e,t);return r?` Did you mean "${r}"?`:""}function fp(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,ca.default)(e,i)}));r.sort((i,o)=>i.distanceDe(n)===t);if(r)return e[r]}function hp(e,t){let r=ut(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Nr(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}d();u();c();p();m();function ma(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=f=>{o||(o=!0,r(f))};for(let f=0;f{n[f]=g,a()},g=>{if(!en(g)){l(g);return}g.batchRequestIdx===f?l(g):(i||(i=g),a())})})}var Ne=K("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var yp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},wp=Symbol.for("prisma.client.transaction.id"),Ep={id:0,nextId(){return++this.id}};function ga(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Xr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=ri();constructor(n){e=n?.__internal?.configOverride?.(e)??e,Is(e),n&&pa(n,e);let i=new Vr().on("error",()=>{});this._extensions=ct.empty(),this._previewFeatures=Zr(e),this._clientVersion=e.clientVersion??oa,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Zs();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&fr.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&fr.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==l)throw new Q(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new Q("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},f=l.__internal??{},g=f.debug===!0;g&&K.enable("prisma:client");let h=fr.resolve(e.dirname,e.relativePath);Vi.existsSync(h)||(h=e.dirname),Ne("dirname",e.dirname),Ne("relativePath",e.relativePath),Ne("cwd",h);let v=f.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:v.allowTriggerPanic,prismaPath:v.binaryPath??void 0,engineEndpoint:v.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&ea(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(S=>typeof S=="string"?S==="query":S.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Os(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:ft,getBatchRequestPayload:Jr,prismaGraphQLToJSError:Wr,PrismaClientUnknownRequestError:ne,PrismaClientInitializationError:Q,PrismaClientKnownRequestError:re,debug:K("prisma:client:accelerateEngine"),engineVersion:fa.version,clientVersion:e.clientVersion}},Ne("clientVersion",e.clientVersion),this._engine=$s(e,this._engineConfig),this._requestHandler=new nn(this,i),l.log)for(let S of l.log){let C=typeof S=="string"?S:S.emit==="stdout"?S.level:null;C&&this.$on(C,R=>{At.log(`${At.tags[C]??""}`,R.message||R.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Gt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{$i()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:ti({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=da(n,i);return ei(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new Z("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(ei(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new Z(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:js,callsite:_e(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:ti({clientMethod:i,activeProvider:a}),callsite:_e(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...da(n,i));throw new Z("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new Z("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=Ep.nextId(),s=Xs(n.length),a=n.map((l,f)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:f,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return ma(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let f={kind:"itx",...a};l=await n(this._createItxClient(f)),await this._engine.transaction("commit",o,a)}catch(f){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),f}return l}_createItxClient(n){return pe(Gt(pe(gs(this),[ee("_appliedParent",()=>this._appliedParent._createItxClient(n)),ee("_createPrismaPromise",()=>ri(n)),ee(wp,()=>n.id)])),[mt(bs)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??yp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async f=>{let g=this._middlewares.get(++a);if(g)return this._tracingHelper.runInChildSpan(s.middleware,D=>g(f,M=>(D?.end(),l(M))));let{runInTransaction:h,args:v,...S}=f,C={...n,...S};v&&(C.args=i.middlewareArgsToRequestArgs(v)),n.transaction!==void 0&&h===!1&&delete C.transaction;let R=await Ts(this,C);return C.model?Es({result:R,modelName:C.model,args:C.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):R};return this._tracingHelper.runInChildSpan(s.operation,()=>l(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:f,transaction:g,unpacker:h,otelParentCtx:v,customDataProxyFetch:S}){try{n=f?f(n):n;let C={name:"serialize"},R=this._tracingHelper.runInChildSpan(C,()=>qr({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return K.enabled("prisma:client")&&(Ne("Prisma Client call:"),Ne(`prisma.${i}(${os(n)})`),Ne("Generated request:"),Ne(JSON.stringify(R,null,2)+` +`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:R,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:v,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:S})}catch(C){throw C.clientVersion=this._clientVersion,C}}$metrics=new pt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=hs}return t}function da(e,t){return bp(e)?[new oe(e,t),Ks]:[e,zs]}function bp(e){return Array.isArray(e)&&Array.isArray(e.raw)}d();u();c();p();m();var xp=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function ha(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!xp.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}d();u();c();p();m();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +//# sourceMappingURL=edge.js.map diff --git a/generated/prisma/runtime/index-browser.d.ts b/generated/prisma/runtime/index-browser.d.ts new file mode 100644 index 0000000..0e96e4b --- /dev/null +++ b/generated/prisma/runtime/index-browser.d.ts @@ -0,0 +1,370 @@ +declare class AnyNull extends NullTypesEnumValue { + #private; +} + +declare type Args = T extends { + [K: symbol]: { + types: { + operations: { + [K in F]: { + args: any; + }; + }; + }; + }; +} ? T[symbol]['types']['operations'][F]['args'] : any; + +declare class DbNull extends NullTypesEnumValue { + #private; +} + +export declare function Decimal(n: Decimal.Value): Decimal; + +export declare namespace Decimal { + export type Constructor = typeof Decimal; + export type Instance = Decimal; + export type Rounding = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8; + export type Modulo = Rounding | 9; + export type Value = string | number | Decimal; + + // http://mikemcl.github.io/decimal.js/#constructor-properties + export interface Config { + precision?: number; + rounding?: Rounding; + toExpNeg?: number; + toExpPos?: number; + minE?: number; + maxE?: number; + crypto?: boolean; + modulo?: Modulo; + defaults?: boolean; + } +} + +export declare class Decimal { + readonly d: number[]; + readonly e: number; + readonly s: number; + + constructor(n: Decimal.Value); + + absoluteValue(): Decimal; + abs(): Decimal; + + ceil(): Decimal; + + clampedTo(min: Decimal.Value, max: Decimal.Value): Decimal; + clamp(min: Decimal.Value, max: Decimal.Value): Decimal; + + comparedTo(n: Decimal.Value): number; + cmp(n: Decimal.Value): number; + + cosine(): Decimal; + cos(): Decimal; + + cubeRoot(): Decimal; + cbrt(): Decimal; + + decimalPlaces(): number; + dp(): number; + + dividedBy(n: Decimal.Value): Decimal; + div(n: Decimal.Value): Decimal; + + dividedToIntegerBy(n: Decimal.Value): Decimal; + divToInt(n: Decimal.Value): Decimal; + + equals(n: Decimal.Value): boolean; + eq(n: Decimal.Value): boolean; + + floor(): Decimal; + + greaterThan(n: Decimal.Value): boolean; + gt(n: Decimal.Value): boolean; + + greaterThanOrEqualTo(n: Decimal.Value): boolean; + gte(n: Decimal.Value): boolean; + + hyperbolicCosine(): Decimal; + cosh(): Decimal; + + hyperbolicSine(): Decimal; + sinh(): Decimal; + + hyperbolicTangent(): Decimal; + tanh(): Decimal; + + inverseCosine(): Decimal; + acos(): Decimal; + + inverseHyperbolicCosine(): Decimal; + acosh(): Decimal; + + inverseHyperbolicSine(): Decimal; + asinh(): Decimal; + + inverseHyperbolicTangent(): Decimal; + atanh(): Decimal; + + inverseSine(): Decimal; + asin(): Decimal; + + inverseTangent(): Decimal; + atan(): Decimal; + + isFinite(): boolean; + + isInteger(): boolean; + isInt(): boolean; + + isNaN(): boolean; + + isNegative(): boolean; + isNeg(): boolean; + + isPositive(): boolean; + isPos(): boolean; + + isZero(): boolean; + + lessThan(n: Decimal.Value): boolean; + lt(n: Decimal.Value): boolean; + + lessThanOrEqualTo(n: Decimal.Value): boolean; + lte(n: Decimal.Value): boolean; + + logarithm(n?: Decimal.Value): Decimal; + log(n?: Decimal.Value): Decimal; + + minus(n: Decimal.Value): Decimal; + sub(n: Decimal.Value): Decimal; + + modulo(n: Decimal.Value): Decimal; + mod(n: Decimal.Value): Decimal; + + naturalExponential(): Decimal; + exp(): Decimal; + + naturalLogarithm(): Decimal; + ln(): Decimal; + + negated(): Decimal; + neg(): Decimal; + + plus(n: Decimal.Value): Decimal; + add(n: Decimal.Value): Decimal; + + precision(includeZeros?: boolean): number; + sd(includeZeros?: boolean): number; + + round(): Decimal; + + sine() : Decimal; + sin() : Decimal; + + squareRoot(): Decimal; + sqrt(): Decimal; + + tangent() : Decimal; + tan() : Decimal; + + times(n: Decimal.Value): Decimal; + mul(n: Decimal.Value) : Decimal; + + toBinary(significantDigits?: number): string; + toBinary(significantDigits: number, rounding: Decimal.Rounding): string; + + toDecimalPlaces(decimalPlaces?: number): Decimal; + toDecimalPlaces(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; + toDP(decimalPlaces?: number): Decimal; + toDP(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; + + toExponential(decimalPlaces?: number): string; + toExponential(decimalPlaces: number, rounding: Decimal.Rounding): string; + + toFixed(decimalPlaces?: number): string; + toFixed(decimalPlaces: number, rounding: Decimal.Rounding): string; + + toFraction(max_denominator?: Decimal.Value): Decimal[]; + + toHexadecimal(significantDigits?: number): string; + toHexadecimal(significantDigits: number, rounding: Decimal.Rounding): string; + toHex(significantDigits?: number): string; + toHex(significantDigits: number, rounding?: Decimal.Rounding): string; + + toJSON(): string; + + toNearest(n: Decimal.Value, rounding?: Decimal.Rounding): Decimal; + + toNumber(): number; + + toOctal(significantDigits?: number): string; + toOctal(significantDigits: number, rounding: Decimal.Rounding): string; + + toPower(n: Decimal.Value): Decimal; + pow(n: Decimal.Value): Decimal; + + toPrecision(significantDigits?: number): string; + toPrecision(significantDigits: number, rounding: Decimal.Rounding): string; + + toSignificantDigits(significantDigits?: number): Decimal; + toSignificantDigits(significantDigits: number, rounding: Decimal.Rounding): Decimal; + toSD(significantDigits?: number): Decimal; + toSD(significantDigits: number, rounding: Decimal.Rounding): Decimal; + + toString(): string; + + truncated(): Decimal; + trunc(): Decimal; + + valueOf(): string; + + static abs(n: Decimal.Value): Decimal; + static acos(n: Decimal.Value): Decimal; + static acosh(n: Decimal.Value): Decimal; + static add(x: Decimal.Value, y: Decimal.Value): Decimal; + static asin(n: Decimal.Value): Decimal; + static asinh(n: Decimal.Value): Decimal; + static atan(n: Decimal.Value): Decimal; + static atanh(n: Decimal.Value): Decimal; + static atan2(y: Decimal.Value, x: Decimal.Value): Decimal; + static cbrt(n: Decimal.Value): Decimal; + static ceil(n: Decimal.Value): Decimal; + static clamp(n: Decimal.Value, min: Decimal.Value, max: Decimal.Value): Decimal; + static clone(object?: Decimal.Config): Decimal.Constructor; + static config(object: Decimal.Config): Decimal.Constructor; + static cos(n: Decimal.Value): Decimal; + static cosh(n: Decimal.Value): Decimal; + static div(x: Decimal.Value, y: Decimal.Value): Decimal; + static exp(n: Decimal.Value): Decimal; + static floor(n: Decimal.Value): Decimal; + static hypot(...n: Decimal.Value[]): Decimal; + static isDecimal(object: any): object is Decimal; + static ln(n: Decimal.Value): Decimal; + static log(n: Decimal.Value, base?: Decimal.Value): Decimal; + static log2(n: Decimal.Value): Decimal; + static log10(n: Decimal.Value): Decimal; + static max(...n: Decimal.Value[]): Decimal; + static min(...n: Decimal.Value[]): Decimal; + static mod(x: Decimal.Value, y: Decimal.Value): Decimal; + static mul(x: Decimal.Value, y: Decimal.Value): Decimal; + static noConflict(): Decimal.Constructor; // Browser only + static pow(base: Decimal.Value, exponent: Decimal.Value): Decimal; + static random(significantDigits?: number): Decimal; + static round(n: Decimal.Value): Decimal; + static set(object: Decimal.Config): Decimal.Constructor; + static sign(n: Decimal.Value): number; + static sin(n: Decimal.Value): Decimal; + static sinh(n: Decimal.Value): Decimal; + static sqrt(n: Decimal.Value): Decimal; + static sub(x: Decimal.Value, y: Decimal.Value): Decimal; + static sum(...n: Decimal.Value[]): Decimal; + static tan(n: Decimal.Value): Decimal; + static tanh(n: Decimal.Value): Decimal; + static trunc(n: Decimal.Value): Decimal; + + static readonly default?: Decimal.Constructor; + static readonly Decimal?: Decimal.Constructor; + + static readonly precision: number; + static readonly rounding: Decimal.Rounding; + static readonly toExpNeg: number; + static readonly toExpPos: number; + static readonly minE: number; + static readonly maxE: number; + static readonly crypto: boolean; + static readonly modulo: Decimal.Modulo; + + static readonly ROUND_UP: 0; + static readonly ROUND_DOWN: 1; + static readonly ROUND_CEIL: 2; + static readonly ROUND_FLOOR: 3; + static readonly ROUND_HALF_UP: 4; + static readonly ROUND_HALF_DOWN: 5; + static readonly ROUND_HALF_EVEN: 6; + static readonly ROUND_HALF_CEIL: 7; + static readonly ROUND_HALF_FLOOR: 8; + static readonly EUCLID: 9; +} + +declare type Exact = (A extends unknown ? (W extends A ? { + [K in keyof A]: Exact; +} : W) : never) | (A extends Narrowable ? A : never); + +export declare function getRuntime(): GetRuntimeOutput; + +declare type GetRuntimeOutput = { + id: RuntimeName; + prettyName: string; + isEdge: boolean; +}; + +declare class JsonNull extends NullTypesEnumValue { + #private; +} + +/** + * Generates more strict variant of an enum which, unlike regular enum, + * throws on non-existing property access. This can be useful in following situations: + * - we have an API, that accepts both `undefined` and `SomeEnumType` as an input + * - enum values are generated dynamically from DMMF. + * + * In that case, if using normal enums and no compile-time typechecking, using non-existing property + * will result in `undefined` value being used, which will be accepted. Using strict enum + * in this case will help to have a runtime exception, telling you that you are probably doing something wrong. + * + * Note: if you need to check for existence of a value in the enum you can still use either + * `in` operator or `hasOwnProperty` function. + * + * @param definition + * @returns + */ +export declare function makeStrictEnum>(definition: T): T; + +declare type Narrowable = string | number | bigint | boolean | []; + +declare class NullTypesEnumValue extends ObjectEnumValue { + _getNamespace(): string; +} + +/** + * Base class for unique values of object-valued enums. + */ +declare abstract class ObjectEnumValue { + constructor(arg?: symbol); + abstract _getNamespace(): string; + _getName(): string; + toString(): string; +} + +export declare const objectEnumValues: { + classes: { + DbNull: typeof DbNull; + JsonNull: typeof JsonNull; + AnyNull: typeof AnyNull; + }; + instances: { + DbNull: DbNull; + JsonNull: JsonNull; + AnyNull: AnyNull; + }; +}; + +declare type Operation = 'findFirst' | 'findFirstOrThrow' | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'aggregate' | 'count' | 'groupBy' | '$queryRaw' | '$executeRaw' | '$queryRawUnsafe' | '$executeRawUnsafe' | 'findRaw' | 'aggregateRaw' | '$runCommandRaw'; + +declare namespace Public { + export { + validator + } +} +export { Public } + +declare type RuntimeName = 'workerd' | 'deno' | 'netlify' | 'node' | 'bun' | 'edge-light' | ''; + +declare function validator(): (select: Exact) => S; + +declare function validator, O extends keyof C[M] & Operation>(client: C, model: M, operation: O): (select: Exact>) => S; + +declare function validator, O extends keyof C[M] & Operation, P extends keyof Args>(client: C, model: M, operation: O, prop: P): (select: Exact[P]>) => S; + +export { } diff --git a/generated/prisma/runtime/index-browser.js b/generated/prisma/runtime/index-browser.js new file mode 100644 index 0000000..373ada9 --- /dev/null +++ b/generated/prisma/runtime/index-browser.js @@ -0,0 +1,16 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +"use strict";var pe=Object.defineProperty;var Xe=Object.getOwnPropertyDescriptor;var Ke=Object.getOwnPropertyNames;var Qe=Object.prototype.hasOwnProperty;var Ye=e=>{throw TypeError(e)};var Oe=(e,n)=>{for(var i in n)pe(e,i,{get:n[i],enumerable:!0})},xe=(e,n,i,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of Ke(n))!Qe.call(e,r)&&r!==i&&pe(e,r,{get:()=>n[r],enumerable:!(t=Xe(n,r))||t.enumerable});return e};var ze=e=>xe(pe({},"__esModule",{value:!0}),e);var ne=(e,n,i)=>n.has(e)?Ye("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,i);var ii={};Oe(ii,{Decimal:()=>Je,Public:()=>ge,getRuntime:()=>_e,makeStrictEnum:()=>qe,objectEnumValues:()=>Ae});module.exports=ze(ii);var ge={};Oe(ge,{validator:()=>Re});function Re(...e){return n=>n}var ie=Symbol(),me=new WeakMap,we=class{constructor(n){n===ie?me.set(this,"Prisma.".concat(this._getName())):me.set(this,"new Prisma.".concat(this._getNamespace(),".").concat(this._getName(),"()"))}_getName(){return this.constructor.name}toString(){return me.get(this)}},G=class extends we{_getNamespace(){return"NullTypes"}},Ne,J=class extends G{constructor(){super(...arguments);ne(this,Ne)}};Ne=new WeakMap;ke(J,"DbNull");var ve,X=class extends G{constructor(){super(...arguments);ne(this,ve)}};ve=new WeakMap;ke(X,"JsonNull");var Ee,K=class extends G{constructor(){super(...arguments);ne(this,Ee)}};Ee=new WeakMap;ke(K,"AnyNull");var Ae={classes:{DbNull:J,JsonNull:X,AnyNull:K},instances:{DbNull:new J(ie),JsonNull:new X(ie),AnyNull:new K(ie)}};function ke(e,n){Object.defineProperty(e,"name",{value:n,configurable:!0})}var ye=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function qe(e){return new Proxy(e,{get(n,i){if(i in n)return n[i];if(!ye.has(i))throw new TypeError("Invalid enum value: ".concat(String(i)))}})}var en=()=>{var e,n;return((n=(e=globalThis.process)==null?void 0:e.release)==null?void 0:n.name)==="node"},nn=()=>{var e,n;return!!globalThis.Bun||!!((n=(e=globalThis.process)==null?void 0:e.versions)!=null&&n.bun)},tn=()=>!!globalThis.Deno,rn=()=>typeof globalThis.Netlify=="object",sn=()=>typeof globalThis.EdgeRuntime=="object",on=()=>{var e;return((e=globalThis.navigator)==null?void 0:e.userAgent)==="Cloudflare-Workers"};function un(){var i;return(i=[[rn,"netlify"],[sn,"edge-light"],[on,"workerd"],[tn,"deno"],[nn,"bun"],[en,"node"]].flatMap(t=>t[0]()?[t[1]]:[]).at(0))!=null?i:""}var fn={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function _e(){let e=un();return{id:e,prettyName:fn[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}var V=9e15,H=1e9,Se="0123456789abcdef",se="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",oe="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Me={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-V,maxE:V,crypto:!1},Le,Z,w=!0,fe="[DecimalError] ",$=fe+"Invalid argument: ",Ie=fe+"Precision limit exceeded",Ze=fe+"crypto unavailable",Ue="[object Decimal]",R=Math.floor,C=Math.pow,cn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ln=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,an=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Be=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,D=1e7,m=7,dn=9007199254740991,hn=se.length-1,Ce=oe.length-1,h={toStringTag:Ue};h.absoluteValue=h.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),p(e)};h.ceil=function(){return p(new this.constructor(this),this.e+1,2)};h.clampedTo=h.clamp=function(e,n){var i,t=this,r=t.constructor;if(e=new r(e),n=new r(n),!e.s||!n.s)return new r(NaN);if(e.gt(n))throw Error($+n);return i=t.cmp(e),i<0?e:t.cmp(n)>0?n:new r(t)};h.comparedTo=h.cmp=function(e){var n,i,t,r,s=this,o=s.d,u=(e=new s.constructor(e)).d,c=s.s,f=e.s;if(!o||!u)return!c||!f?NaN:c!==f?c:o===u?0:!o^c<0?1:-1;if(!o[0]||!u[0])return o[0]?c:u[0]?-f:0;if(c!==f)return c;if(s.e!==e.e)return s.e>e.e^c<0?1:-1;for(t=o.length,r=u.length,n=0,i=tu[n]^c<0?1:-1;return t===r?0:t>r^c<0?1:-1};h.cosine=h.cos=function(){var e,n,i=this,t=i.constructor;return i.d?i.d[0]?(e=t.precision,n=t.rounding,t.precision=e+Math.max(i.e,i.sd())+m,t.rounding=1,i=pn(t,We(t,i)),t.precision=e,t.rounding=n,p(Z==2||Z==3?i.neg():i,e,n,!0)):new t(1):new t(NaN)};h.cubeRoot=h.cbrt=function(){var e,n,i,t,r,s,o,u,c,f,l=this,a=l.constructor;if(!l.isFinite()||l.isZero())return new a(l);for(w=!1,s=l.s*C(l.s*l,1/3),!s||Math.abs(s)==1/0?(i=b(l.d),e=l.e,(s=(e-i.length+1)%3)&&(i+=s==1||s==-2?"0":"00"),s=C(i,1/3),e=R((e+1)/3)-(e%3==(e<0?-1:2)),s==1/0?i="5e"+e:(i=s.toExponential(),i=i.slice(0,i.indexOf("e")+1)+e),t=new a(i),t.s=l.s):t=new a(s.toString()),o=(e=a.precision)+3;;)if(u=t,c=u.times(u).times(u),f=c.plus(l),t=k(f.plus(l).times(u),f.plus(c),o+2,1),b(u.d).slice(0,o)===(i=b(t.d)).slice(0,o))if(i=i.slice(o-3,o+1),i=="9999"||!r&&i=="4999"){if(!r&&(p(u,e+1,0),u.times(u).times(u).eq(l))){t=u;break}o+=4,r=1}else{(!+i||!+i.slice(1)&&i.charAt(0)=="5")&&(p(t,e+1,1),n=!t.times(t).times(t).eq(l));break}return w=!0,p(t,e,a.rounding,n)};h.decimalPlaces=h.dp=function(){var e,n=this.d,i=NaN;if(n){if(e=n.length-1,i=(e-R(this.e/m))*m,e=n[e],e)for(;e%10==0;e/=10)i--;i<0&&(i=0)}return i};h.dividedBy=h.div=function(e){return k(this,new this.constructor(e))};h.dividedToIntegerBy=h.divToInt=function(e){var n=this,i=n.constructor;return p(k(n,new i(e),0,1,1),i.precision,i.rounding)};h.equals=h.eq=function(e){return this.cmp(e)===0};h.floor=function(){return p(new this.constructor(this),this.e+1,3)};h.greaterThan=h.gt=function(e){return this.cmp(e)>0};h.greaterThanOrEqualTo=h.gte=function(e){var n=this.cmp(e);return n==1||n===0};h.hyperbolicCosine=h.cosh=function(){var e,n,i,t,r,s=this,o=s.constructor,u=new o(1);if(!s.isFinite())return new o(s.s?1/0:NaN);if(s.isZero())return u;i=o.precision,t=o.rounding,o.precision=i+Math.max(s.e,s.sd())+4,o.rounding=1,r=s.d.length,r<32?(e=Math.ceil(r/3),n=(1/le(4,e)).toString()):(e=16,n="2.3283064365386962890625e-10"),s=j(o,1,s.times(n),new o(1),!0);for(var c,f=e,l=new o(8);f--;)c=s.times(s),s=u.minus(c.times(l.minus(c.times(l))));return p(s,o.precision=i,o.rounding=t,!0)};h.hyperbolicSine=h.sinh=function(){var e,n,i,t,r=this,s=r.constructor;if(!r.isFinite()||r.isZero())return new s(r);if(n=s.precision,i=s.rounding,s.precision=n+Math.max(r.e,r.sd())+4,s.rounding=1,t=r.d.length,t<3)r=j(s,2,r,r,!0);else{e=1.4*Math.sqrt(t),e=e>16?16:e|0,r=r.times(1/le(5,e)),r=j(s,2,r,r,!0);for(var o,u=new s(5),c=new s(16),f=new s(20);e--;)o=r.times(r),r=r.times(u.plus(o.times(c.times(o).plus(f))))}return s.precision=n,s.rounding=i,p(r,n,i,!0)};h.hyperbolicTangent=h.tanh=function(){var e,n,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(e=t.precision,n=t.rounding,t.precision=e+7,t.rounding=1,k(i.sinh(),i.cosh(),t.precision=e,t.rounding=n)):new t(i.s)};h.inverseCosine=h.acos=function(){var e=this,n=e.constructor,i=e.abs().cmp(1),t=n.precision,r=n.rounding;return i!==-1?i===0?e.isNeg()?F(n,t,r):new n(0):new n(NaN):e.isZero()?F(n,t+4,r).times(.5):(n.precision=t+6,n.rounding=1,e=new n(1).minus(e).div(e.plus(1)).sqrt().atan(),n.precision=t,n.rounding=r,e.times(2))};h.inverseHyperbolicCosine=h.acosh=function(){var e,n,i=this,t=i.constructor;return i.lte(1)?new t(i.eq(1)?0:NaN):i.isFinite()?(e=t.precision,n=t.rounding,t.precision=e+Math.max(Math.abs(i.e),i.sd())+4,t.rounding=1,w=!1,i=i.times(i).minus(1).sqrt().plus(i),w=!0,t.precision=e,t.rounding=n,i.ln()):new t(i)};h.inverseHyperbolicSine=h.asinh=function(){var e,n,i=this,t=i.constructor;return!i.isFinite()||i.isZero()?new t(i):(e=t.precision,n=t.rounding,t.precision=e+2*Math.max(Math.abs(i.e),i.sd())+6,t.rounding=1,w=!1,i=i.times(i).plus(1).sqrt().plus(i),w=!0,t.precision=e,t.rounding=n,i.ln())};h.inverseHyperbolicTangent=h.atanh=function(){var e,n,i,t,r=this,s=r.constructor;return r.isFinite()?r.e>=0?new s(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(e=s.precision,n=s.rounding,t=r.sd(),Math.max(t,e)<2*-r.e-1?p(new s(r),e,n,!0):(s.precision=i=t-r.e,r=k(r.plus(1),new s(1).minus(r),i+e,1),s.precision=e+4,s.rounding=1,r=r.ln(),s.precision=e,s.rounding=n,r.times(.5))):new s(NaN)};h.inverseSine=h.asin=function(){var e,n,i,t,r=this,s=r.constructor;return r.isZero()?new s(r):(n=r.abs().cmp(1),i=s.precision,t=s.rounding,n!==-1?n===0?(e=F(s,i+4,t).times(.5),e.s=r.s,e):new s(NaN):(s.precision=i+6,s.rounding=1,r=r.div(new s(1).minus(r.times(r)).sqrt().plus(1)).atan(),s.precision=i,s.rounding=t,r.times(2)))};h.inverseTangent=h.atan=function(){var e,n,i,t,r,s,o,u,c,f=this,l=f.constructor,a=l.precision,d=l.rounding;if(f.isFinite()){if(f.isZero())return new l(f);if(f.abs().eq(1)&&a+4<=Ce)return o=F(l,a+4,d).times(.25),o.s=f.s,o}else{if(!f.s)return new l(NaN);if(a+4<=Ce)return o=F(l,a+4,d).times(.5),o.s=f.s,o}for(l.precision=u=a+10,l.rounding=1,i=Math.min(28,u/m+2|0),e=i;e;--e)f=f.div(f.times(f).plus(1).sqrt().plus(1));for(w=!1,n=Math.ceil(u/m),t=1,c=f.times(f),o=new l(f),r=f;e!==-1;)if(r=r.times(c),s=o.minus(r.div(t+=2)),r=r.times(c),o=s.plus(r.div(t+=2)),o.d[n]!==void 0)for(e=n;o.d[e]===s.d[e]&&e--;);return i&&(o=o.times(2<this.d.length-2};h.isNaN=function(){return!this.s};h.isNegative=h.isNeg=function(){return this.s<0};h.isPositive=h.isPos=function(){return this.s>0};h.isZero=function(){return!!this.d&&this.d[0]===0};h.lessThan=h.lt=function(e){return this.cmp(e)<0};h.lessThanOrEqualTo=h.lte=function(e){return this.cmp(e)<1};h.logarithm=h.log=function(e){var n,i,t,r,s,o,u,c,f=this,l=f.constructor,a=l.precision,d=l.rounding,g=5;if(e==null)e=new l(10),n=!0;else{if(e=new l(e),i=e.d,e.s<0||!i||!i[0]||e.eq(1))return new l(NaN);n=e.eq(10)}if(i=f.d,f.s<0||!i||!i[0]||f.eq(1))return new l(i&&!i[0]?-1/0:f.s!=1?NaN:i?0:1/0);if(n)if(i.length>1)s=!0;else{for(r=i[0];r%10===0;)r/=10;s=r!==1}if(w=!1,u=a+g,o=B(f,u),t=n?ue(l,u+10):B(e,u),c=k(o,t,u,1),Q(c.d,r=a,d))do if(u+=10,o=B(f,u),t=n?ue(l,u+10):B(e,u),c=k(o,t,u,1),!s){+b(c.d).slice(r+1,r+15)+1==1e14&&(c=p(c,a+1,0));break}while(Q(c.d,r+=10,d));return w=!0,p(c,a,d)};h.minus=h.sub=function(e){var n,i,t,r,s,o,u,c,f,l,a,d,g=this,v=g.constructor;if(e=new v(e),!g.d||!e.d)return!g.s||!e.s?e=new v(NaN):g.d?e.s=-e.s:e=new v(e.d||g.s!==e.s?g:NaN),e;if(g.s!=e.s)return e.s=-e.s,g.plus(e);if(f=g.d,d=e.d,u=v.precision,c=v.rounding,!f[0]||!d[0]){if(d[0])e.s=-e.s;else if(f[0])e=new v(g);else return new v(c===3?-0:0);return w?p(e,u,c):e}if(i=R(e.e/m),l=R(g.e/m),f=f.slice(),s=l-i,s){for(a=s<0,a?(n=f,s=-s,o=d.length):(n=d,i=l,o=f.length),t=Math.max(Math.ceil(u/m),o)+2,s>t&&(s=t,n.length=1),n.reverse(),t=s;t--;)n.push(0);n.reverse()}else{for(t=f.length,o=d.length,a=t0;--t)f[o++]=0;for(t=d.length;t>s;){if(f[--t]o?s+1:o+1,r>o&&(r=o,i.length=1),i.reverse();r--;)i.push(0);i.reverse()}for(o=f.length,r=l.length,o-r<0&&(r=o,i=l,l=f,f=i),n=0;r;)n=(f[--r]=f[r]+l[r]+n)/D|0,f[r]%=D;for(n&&(f.unshift(n),++t),o=f.length;f[--o]==0;)f.pop();return e.d=f,e.e=ce(f,t),w?p(e,u,c):e};h.precision=h.sd=function(e){var n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error($+e);return i.d?(n=$e(i.d),e&&i.e+1>n&&(n=i.e+1)):n=NaN,n};h.round=function(){var e=this,n=e.constructor;return p(new n(e),e.e+1,n.rounding)};h.sine=h.sin=function(){var e,n,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(e=t.precision,n=t.rounding,t.precision=e+Math.max(i.e,i.sd())+m,t.rounding=1,i=mn(t,We(t,i)),t.precision=e,t.rounding=n,p(Z>2?i.neg():i,e,n,!0)):new t(NaN)};h.squareRoot=h.sqrt=function(){var e,n,i,t,r,s,o=this,u=o.d,c=o.e,f=o.s,l=o.constructor;if(f!==1||!u||!u[0])return new l(!f||f<0&&(!u||u[0])?NaN:u?o:1/0);for(w=!1,f=Math.sqrt(+o),f==0||f==1/0?(n=b(u),(n.length+c)%2==0&&(n+="0"),f=Math.sqrt(n),c=R((c+1)/2)-(c<0||c%2),f==1/0?n="5e"+c:(n=f.toExponential(),n=n.slice(0,n.indexOf("e")+1)+c),t=new l(n)):t=new l(f.toString()),i=(c=l.precision)+3;;)if(s=t,t=s.plus(k(o,s,i+2,1)).times(.5),b(s.d).slice(0,i)===(n=b(t.d)).slice(0,i))if(n=n.slice(i-3,i+1),n=="9999"||!r&&n=="4999"){if(!r&&(p(s,c+1,0),s.times(s).eq(o))){t=s;break}i+=4,r=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(p(t,c+1,1),e=!t.times(t).eq(o));break}return w=!0,p(t,c,l.rounding,e)};h.tangent=h.tan=function(){var e,n,i=this,t=i.constructor;return i.isFinite()?i.isZero()?new t(i):(e=t.precision,n=t.rounding,t.precision=e+10,t.rounding=1,i=i.sin(),i.s=1,i=k(i,new t(1).minus(i.times(i)).sqrt(),e+10,0),t.precision=e,t.rounding=n,p(Z==2||Z==4?i.neg():i,e,n,!0)):new t(NaN)};h.times=h.mul=function(e){var n,i,t,r,s,o,u,c,f,l=this,a=l.constructor,d=l.d,g=(e=new a(e)).d;if(e.s*=l.s,!d||!d[0]||!g||!g[0])return new a(!e.s||d&&!d[0]&&!g||g&&!g[0]&&!d?NaN:!d||!g?e.s/0:e.s*0);for(i=R(l.e/m)+R(e.e/m),c=d.length,f=g.length,c=0;){for(n=0,r=c+t;r>t;)u=s[r]+g[t]*d[r-t-1]+n,s[r--]=u%D|0,n=u/D|0;s[r]=(s[r]+n)%D|0}for(;!s[--o];)s.pop();return n?++i:s.shift(),e.d=s,e.e=ce(s,i),w?p(e,a.precision,a.rounding):e};h.toBinary=function(e,n){return Pe(this,2,e,n)};h.toDecimalPlaces=h.toDP=function(e,n){var i=this,t=i.constructor;return i=new t(i),e===void 0?i:(q(e,0,H),n===void 0?n=t.rounding:q(n,0,8),p(i,e+i.e+1,n))};h.toExponential=function(e,n){var i,t=this,r=t.constructor;return e===void 0?i=L(t,!0):(q(e,0,H),n===void 0?n=r.rounding:q(n,0,8),t=p(new r(t),e+1,n),i=L(t,!0,e+1)),t.isNeg()&&!t.isZero()?"-"+i:i};h.toFixed=function(e,n){var i,t,r=this,s=r.constructor;return e===void 0?i=L(r):(q(e,0,H),n===void 0?n=s.rounding:q(n,0,8),t=p(new s(r),e+r.e+1,n),i=L(t,!1,e+t.e+1)),r.isNeg()&&!r.isZero()?"-"+i:i};h.toFraction=function(e){var n,i,t,r,s,o,u,c,f,l,a,d,g=this,v=g.d,N=g.constructor;if(!v)return new N(g);if(f=i=new N(1),t=c=new N(0),n=new N(t),s=n.e=$e(v)-g.e-1,o=s%m,n.d[0]=C(10,o<0?m+o:o),e==null)e=s>0?n:f;else{if(u=new N(e),!u.isInt()||u.lt(f))throw Error($+u);e=u.gt(n)?s>0?n:f:u}for(w=!1,u=new N(b(v)),l=N.precision,N.precision=s=v.length*m*2;a=k(u,n,0,1,1),r=i.plus(a.times(t)),r.cmp(e)!=1;)i=t,t=r,r=f,f=c.plus(a.times(r)),c=r,r=n,n=u.minus(a.times(r)),u=r;return r=k(e.minus(i),t,0,1,1),c=c.plus(r.times(f)),i=i.plus(r.times(t)),c.s=f.s=g.s,d=k(f,t,s,1).minus(g).abs().cmp(k(c,i,s,1).minus(g).abs())<1?[f,t]:[c,i],N.precision=l,w=!0,d};h.toHexadecimal=h.toHex=function(e,n){return Pe(this,16,e,n)};h.toNearest=function(e,n){var i=this,t=i.constructor;if(i=new t(i),e==null){if(!i.d)return i;e=new t(1),n=t.rounding}else{if(e=new t(e),n===void 0?n=t.rounding:q(n,0,8),!i.d)return e.s?i:e;if(!e.d)return e.s&&(e.s=i.s),e}return e.d[0]?(w=!1,i=k(i,e,0,n,1).times(e),w=!0,p(i)):(e.s=i.s,i=e),i};h.toNumber=function(){return+this};h.toOctal=function(e,n){return Pe(this,8,e,n)};h.toPower=h.pow=function(e){var n,i,t,r,s,o,u=this,c=u.constructor,f=+(e=new c(e));if(!u.d||!e.d||!u.d[0]||!e.d[0])return new c(C(+u,f));if(u=new c(u),u.eq(1))return u;if(t=c.precision,s=c.rounding,e.eq(1))return p(u,t,s);if(n=R(e.e/m),n>=e.d.length-1&&(i=f<0?-f:f)<=dn)return r=He(c,u,i,t),e.s<0?new c(1).div(r):p(r,t,s);if(o=u.s,o<0){if(nc.maxE+1||n0?o/0:0):(w=!1,c.rounding=u.s=1,i=Math.min(12,(n+"").length),r=be(e.times(B(u,t+i)),t),r.d&&(r=p(r,t+5,1),Q(r.d,t,s)&&(n=t+10,r=p(be(e.times(B(u,n+i)),n),n+5,1),+b(r.d).slice(t+1,t+15)+1==1e14&&(r=p(r,t+1,0)))),r.s=o,w=!0,c.rounding=s,p(r,t,s))};h.toPrecision=function(e,n){var i,t=this,r=t.constructor;return e===void 0?i=L(t,t.e<=r.toExpNeg||t.e>=r.toExpPos):(q(e,1,H),n===void 0?n=r.rounding:q(n,0,8),t=p(new r(t),e,n),i=L(t,e<=t.e||t.e<=r.toExpNeg,e)),t.isNeg()&&!t.isZero()?"-"+i:i};h.toSignificantDigits=h.toSD=function(e,n){var i=this,t=i.constructor;return e===void 0?(e=t.precision,n=t.rounding):(q(e,1,H),n===void 0?n=t.rounding:q(n,0,8)),p(new t(i),e,n)};h.toString=function(){var e=this,n=e.constructor,i=L(e,e.e<=n.toExpNeg||e.e>=n.toExpPos);return e.isNeg()&&!e.isZero()?"-"+i:i};h.truncated=h.trunc=function(){return p(new this.constructor(this),this.e+1,1)};h.valueOf=h.toJSON=function(){var e=this,n=e.constructor,i=L(e,e.e<=n.toExpNeg||e.e>=n.toExpPos);return e.isNeg()?"-"+i:i};function b(e){var n,i,t,r=e.length-1,s="",o=e[0];if(r>0){for(s+=o,n=1;ni)throw Error($+e)}function Q(e,n,i,t){var r,s,o,u;for(s=e[0];s>=10;s/=10)--n;return--n<0?(n+=m,r=0):(r=Math.ceil((n+1)/m),n%=m),s=C(10,m-n),u=e[r]%s|0,t==null?n<3?(n==0?u=u/100|0:n==1&&(u=u/10|0),o=i<4&&u==99999||i>3&&u==49999||u==5e4||u==0):o=(i<4&&u+1==s||i>3&&u+1==s/2)&&(e[r+1]/s/100|0)==C(10,n-2)-1||(u==s/2||u==0)&&(e[r+1]/s/100|0)==0:n<4?(n==0?u=u/1e3|0:n==1?u=u/100|0:n==2&&(u=u/10|0),o=(t||i<4)&&u==9999||!t&&i>3&&u==4999):o=((t||i<4)&&u+1==s||!t&&i>3&&u+1==s/2)&&(e[r+1]/s/1e3|0)==C(10,n-3)-1,o}function te(e,n,i){for(var t,r=[0],s,o=0,u=e.length;oi-1&&(r[t+1]===void 0&&(r[t+1]=0),r[t+1]+=r[t]/i|0,r[t]%=i)}return r.reverse()}function pn(e,n){var i,t,r;if(n.isZero())return n;t=n.d.length,t<32?(i=Math.ceil(t/3),r=(1/le(4,i)).toString()):(i=16,r="2.3283064365386962890625e-10"),e.precision+=i,n=j(e,1,n.times(r),new e(1));for(var s=i;s--;){var o=n.times(n);n=o.times(o).minus(o).times(8).plus(1)}return e.precision-=i,n}var k=function(){function e(t,r,s){var o,u=0,c=t.length;for(t=t.slice();c--;)o=t[c]*r+u,t[c]=o%s|0,u=o/s|0;return u&&t.unshift(u),t}function n(t,r,s,o){var u,c;if(s!=o)c=s>o?1:-1;else for(u=c=0;ur[u]?1:-1;break}return c}function i(t,r,s,o){for(var u=0;s--;)t[s]-=u,u=t[s]1;)t.shift()}return function(t,r,s,o,u,c){var f,l,a,d,g,v,N,A,M,_,E,P,x,I,ae,z,W,de,T,y,ee=t.constructor,he=t.s==r.s?1:-1,O=t.d,S=r.d;if(!O||!O[0]||!S||!S[0])return new ee(!t.s||!r.s||(O?S&&O[0]==S[0]:!S)?NaN:O&&O[0]==0||!S?he*0:he/0);for(c?(g=1,l=t.e-r.e):(c=D,g=m,l=R(t.e/g)-R(r.e/g)),T=S.length,W=O.length,M=new ee(he),_=M.d=[],a=0;S[a]==(O[a]||0);a++);if(S[a]>(O[a]||0)&&l--,s==null?(I=s=ee.precision,o=ee.rounding):u?I=s+(t.e-r.e)+1:I=s,I<0)_.push(1),v=!0;else{if(I=I/g+2|0,a=0,T==1){for(d=0,S=S[0],I++;(a1&&(S=e(S,d,c),O=e(O,d,c),T=S.length,W=O.length),z=T,E=O.slice(0,T),P=E.length;P=c/2&&++de;do d=0,f=n(S,E,T,P),f<0?(x=E[0],T!=P&&(x=x*c+(E[1]||0)),d=x/de|0,d>1?(d>=c&&(d=c-1),N=e(S,d,c),A=N.length,P=E.length,f=n(N,E,A,P),f==1&&(d--,i(N,T=10;d/=10)a++;M.e=a+l*g-1,p(M,u?s+M.e+1:s,o,v)}return M}}();function p(e,n,i,t){var r,s,o,u,c,f,l,a,d,g=e.constructor;e:if(n!=null){if(a=e.d,!a)return e;for(r=1,u=a[0];u>=10;u/=10)r++;if(s=n-r,s<0)s+=m,o=n,l=a[d=0],c=l/C(10,r-o-1)%10|0;else if(d=Math.ceil((s+1)/m),u=a.length,d>=u)if(t){for(;u++<=d;)a.push(0);l=c=0,r=1,s%=m,o=s-m+1}else break e;else{for(l=u=a[d],r=1;u>=10;u/=10)r++;s%=m,o=s-m+r,c=o<0?0:l/C(10,r-o-1)%10|0}if(t=t||n<0||a[d+1]!==void 0||(o<0?l:l%C(10,r-o-1)),f=i<4?(c||t)&&(i==0||i==(e.s<0?3:2)):c>5||c==5&&(i==4||t||i==6&&(s>0?o>0?l/C(10,r-o):0:a[d-1])%10&1||i==(e.s<0?8:7)),n<1||!a[0])return a.length=0,f?(n-=e.e+1,a[0]=C(10,(m-n%m)%m),e.e=-n||0):a[0]=e.e=0,e;if(s==0?(a.length=d,u=1,d--):(a.length=d+1,u=C(10,m-s),a[d]=o>0?(l/C(10,r-o)%C(10,o)|0)*u:0),f)for(;;)if(d==0){for(s=1,o=a[0];o>=10;o/=10)s++;for(o=a[0]+=u,u=1;o>=10;o/=10)u++;s!=u&&(e.e++,a[0]==D&&(a[0]=1));break}else{if(a[d]+=u,a[d]!=D)break;a[d--]=0,u=1}for(s=a.length;a[--s]===0;)a.pop()}return w&&(e.e>g.maxE?(e.d=null,e.e=NaN):e.e0?s=s.charAt(0)+"."+s.slice(1)+U(t):o>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(e.e<0?"e":"e+")+e.e):r<0?(s="0."+U(-r-1)+s,i&&(t=i-o)>0&&(s+=U(t))):r>=o?(s+=U(r+1-o),i&&(t=i-r-1)>0&&(s=s+"."+U(t))):((t=r+1)0&&(r+1===o&&(s+="."),s+=U(t))),s}function ce(e,n){var i=e[0];for(n*=m;i>=10;i/=10)n++;return n}function ue(e,n,i){if(n>hn)throw w=!0,i&&(e.precision=i),Error(Ie);return p(new e(se),n,1,!0)}function F(e,n,i){if(n>Ce)throw Error(Ie);return p(new e(oe),n,i,!0)}function $e(e){var n=e.length-1,i=n*m+1;if(n=e[n],n){for(;n%10==0;n/=10)i--;for(n=e[0];n>=10;n/=10)i++}return i}function U(e){for(var n="";e--;)n+="0";return n}function He(e,n,i,t){var r,s=new e(1),o=Math.ceil(t/m+4);for(w=!1;;){if(i%2&&(s=s.times(n),De(s.d,o)&&(r=!0)),i=R(i/2),i===0){i=s.d.length-1,r&&s.d[i]===0&&++s.d[i];break}n=n.times(n),De(n.d,o)}return w=!0,s}function Te(e){return e.d[e.d.length-1]&1}function Ve(e,n,i){for(var t,r,s=new e(n[0]),o=0;++o17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(n==null?(w=!1,c=v):c=n,u=new d(.03125);e.e>-2;)e=e.times(u),a+=5;for(t=Math.log(C(2,a))/Math.LN10*2+5|0,c+=t,i=s=o=new d(1),d.precision=c;;){if(s=p(s.times(e),c,1),i=i.times(++l),u=o.plus(k(s,i,c,1)),b(u.d).slice(0,c)===b(o.d).slice(0,c)){for(r=a;r--;)o=p(o.times(o),c,1);if(n==null)if(f<3&&Q(o.d,c-t,g,f))d.precision=c+=10,i=s=u=new d(1),l=0,f++;else return p(o,d.precision=v,g,w=!0);else return d.precision=v,o}o=u}}function B(e,n){var i,t,r,s,o,u,c,f,l,a,d,g=1,v=10,N=e,A=N.d,M=N.constructor,_=M.rounding,E=M.precision;if(N.s<0||!A||!A[0]||!N.e&&A[0]==1&&A.length==1)return new M(A&&!A[0]?-1/0:N.s!=1?NaN:A?0:N);if(n==null?(w=!1,l=E):l=n,M.precision=l+=v,i=b(A),t=i.charAt(0),Math.abs(s=N.e)<15e14){for(;t<7&&t!=1||t==1&&i.charAt(1)>3;)N=N.times(e),i=b(N.d),t=i.charAt(0),g++;s=N.e,t>1?(N=new M("0."+i),s++):N=new M(t+"."+i.slice(1))}else return f=ue(M,l+2,E).times(s+""),N=B(new M(t+"."+i.slice(1)),l-v).plus(f),M.precision=E,n==null?p(N,E,_,w=!0):N;for(a=N,c=o=N=k(N.minus(1),N.plus(1),l,1),d=p(N.times(N),l,1),r=3;;){if(o=p(o.times(d),l,1),f=c.plus(k(o,new M(r),l,1)),b(f.d).slice(0,l)===b(c.d).slice(0,l))if(c=c.times(2),s!==0&&(c=c.plus(ue(M,l+2,E).times(s+""))),c=k(c,new M(g),l,1),n==null)if(Q(c.d,l-v,_,u))M.precision=l+=v,f=o=N=k(a.minus(1),a.plus(1),l,1),d=p(N.times(N),l,1),r=u=1;else return p(c,M.precision=E,_,w=!0);else return M.precision=E,c;c=f,r+=2}}function je(e){return String(e.s*e.s/0)}function re(e,n){var i,t,r;for((i=n.indexOf("."))>-1&&(n=n.replace(".","")),(t=n.search(/e/i))>0?(i<0&&(i=t),i+=+n.slice(t+1),n=n.substring(0,t)):i<0&&(i=n.length),t=0;n.charCodeAt(t)===48;t++);for(r=n.length;n.charCodeAt(r-1)===48;--r);if(n=n.slice(t,r),n){if(r-=t,e.e=i=i-t-1,e.d=[],t=(i+1)%m,i<0&&(t+=m),te.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(n=n.replace(/(\d)_(?=\d)/g,"$1"),Be.test(n))return re(e,n)}else if(n==="Infinity"||n==="NaN")return+n||(e.s=NaN),e.e=NaN,e.d=null,e;if(ln.test(n))i=16,n=n.toLowerCase();else if(cn.test(n))i=2;else if(an.test(n))i=8;else throw Error($+n);for(s=n.search(/p/i),s>0?(c=+n.slice(s+1),n=n.substring(2,s)):n=n.slice(2),s=n.indexOf("."),o=s>=0,t=e.constructor,o&&(n=n.replace(".",""),u=n.length,s=u-s,r=He(t,new t(i),s,s*2)),f=te(n,i,D),l=f.length-1,s=l;f[s]===0;--s)f.pop();return s<0?new t(e.s*0):(e.e=ce(f,l),e.d=f,w=!1,o&&(e=k(e,r,u*4)),c&&(e=e.times(Math.abs(c)<54?C(2,c):Y.pow(2,c))),w=!0,e)}function mn(e,n){var i,t=n.d.length;if(t<3)return n.isZero()?n:j(e,2,n,n);i=1.4*Math.sqrt(t),i=i>16?16:i|0,n=n.times(1/le(5,i)),n=j(e,2,n,n);for(var r,s=new e(5),o=new e(16),u=new e(20);i--;)r=n.times(n),n=n.times(s.plus(r.times(o.times(r).minus(u))));return n}function j(e,n,i,t,r){var s,o,u,c,f=1,l=e.precision,a=Math.ceil(l/m);for(w=!1,c=i.times(i),u=new e(t);;){if(o=k(u.times(c),new e(n++*n++),l,1),u=r?t.plus(o):t.minus(o),t=k(o.times(c),new e(n++*n++),l,1),o=u.plus(t),o.d[a]!==void 0){for(s=a;o.d[s]===u.d[s]&&s--;);if(s==-1)break}s=u,u=t,t=o,o=s,f++}return w=!0,o.d.length=a+1,o}function le(e,n){for(var i=e;--n;)i*=e;return i}function We(e,n){var i,t=n.s<0,r=F(e,e.precision,1),s=r.times(.5);if(n=n.abs(),n.lte(s))return Z=t?4:1,n;if(i=n.divToInt(r),i.isZero())Z=t?3:2;else{if(n=n.minus(i.times(r)),n.lte(s))return Z=Te(i)?t?2:3:t?4:1,n;Z=Te(i)?t?1:4:t?3:2}return n.minus(r).abs()}function Pe(e,n,i,t){var r,s,o,u,c,f,l,a,d,g=e.constructor,v=i!==void 0;if(v?(q(i,1,H),t===void 0?t=g.rounding:q(t,0,8)):(i=g.precision,t=g.rounding),!e.isFinite())l=je(e);else{for(l=L(e),o=l.indexOf("."),v?(r=2,n==16?i=i*4-3:n==8&&(i=i*3-2)):r=n,o>=0&&(l=l.replace(".",""),d=new g(1),d.e=l.length-o,d.d=te(L(d),10,r),d.e=d.d.length),a=te(l,10,r),s=c=a.length;a[--c]==0;)a.pop();if(!a[0])l=v?"0p+0":"0";else{if(o<0?s--:(e=new g(e),e.d=a,e.e=s,e=k(e,d,i,t,0,r),a=e.d,s=e.e,f=Le),o=a[i],u=r/2,f=f||a[i+1]!==void 0,f=t<4?(o!==void 0||f)&&(t===0||t===(e.s<0?3:2)):o>u||o===u&&(t===4||f||t===6&&a[i-1]&1||t===(e.s<0?8:7)),a.length=i,f)for(;++a[--i]>r-1;)a[i]=0,i||(++s,a.unshift(1));for(c=a.length;!a[c-1];--c);for(o=0,l="";o1)if(n==16||n==8){for(o=n==16?4:3,--c;c%o;c++)l+="0";for(a=te(l,r,n),c=a.length;!a[c-1];--c);for(o=1,l="1.";oc)for(s-=c;s--;)l+="0";else sn)return e.length=n,!0}function wn(e){return new this(e).abs()}function Nn(e){return new this(e).acos()}function vn(e){return new this(e).acosh()}function En(e,n){return new this(e).plus(n)}function kn(e){return new this(e).asin()}function Sn(e){return new this(e).asinh()}function Mn(e){return new this(e).atan()}function Cn(e){return new this(e).atanh()}function bn(e,n){e=new this(e),n=new this(n);var i,t=this.precision,r=this.rounding,s=t+4;return!e.s||!n.s?i=new this(NaN):!e.d&&!n.d?(i=F(this,s,1).times(n.s>0?.25:.75),i.s=e.s):!n.d||e.isZero()?(i=n.s<0?F(this,t,r):new this(0),i.s=e.s):!e.d||n.isZero()?(i=F(this,s,1).times(.5),i.s=e.s):n.s<0?(this.precision=s,this.rounding=1,i=this.atan(k(e,n,s,1)),n=F(this,s,1),this.precision=t,this.rounding=r,i=e.s<0?i.minus(n):i.plus(n)):i=this.atan(k(e,n,s,1)),i}function Pn(e){return new this(e).cbrt()}function On(e){return p(e=new this(e),e.e+1,2)}function Rn(e,n,i){return new this(e).clamp(n,i)}function An(e){if(!e||typeof e!="object")throw Error(fe+"Object expected");var n,i,t,r=e.defaults===!0,s=["precision",1,H,"rounding",0,8,"toExpNeg",-V,0,"toExpPos",0,V,"maxE",0,V,"minE",-V,0,"modulo",0,9];for(n=0;n=s[n+1]&&t<=s[n+2])this[i]=t;else throw Error($+i+": "+t);if(i="crypto",r&&(this[i]=Me[i]),(t=e[i])!==void 0)if(t===!0||t===!1||t===0||t===1)if(t)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[i]=!0;else throw Error(Ze);else this[i]=!1;else throw Error($+i+": "+t);return this}function qn(e){return new this(e).cos()}function _n(e){return new this(e).cosh()}function Ge(e){var n,i,t;function r(s){var o,u,c,f=this;if(!(f instanceof r))return new r(s);if(f.constructor=r,Fe(s)){f.s=s.s,w?!s.d||s.e>r.maxE?(f.e=NaN,f.d=null):s.e=10;u/=10)o++;w?o>r.maxE?(f.e=NaN,f.d=null):o=429e7?n[s]=crypto.getRandomValues(new Uint32Array(1))[0]:u[s++]=r%1e7;else if(crypto.randomBytes){for(n=crypto.randomBytes(t*=4);s=214e7?crypto.randomBytes(4).copy(n,s):(u.push(r%1e7),s+=4);s=t/4}else throw Error(Ze);else for(;s=10;r/=10)t++;t + * MIT Licence + *) +*/ +//# sourceMappingURL=index-browser.js.map diff --git a/generated/prisma/runtime/library.d.ts b/generated/prisma/runtime/library.d.ts new file mode 100644 index 0000000..3450043 --- /dev/null +++ b/generated/prisma/runtime/library.d.ts @@ -0,0 +1,3687 @@ +/** + * @param this + */ +declare function $extends(this: Client, extension: ExtensionArgs | ((client: Client) => Client)): Client; + +declare type AccelerateEngineConfig = { + inlineSchema: EngineConfig['inlineSchema']; + inlineSchemaHash: EngineConfig['inlineSchemaHash']; + env: EngineConfig['env']; + generator?: { + previewFeatures: string[]; + }; + inlineDatasources: EngineConfig['inlineDatasources']; + overrideDatasources: EngineConfig['overrideDatasources']; + clientVersion: EngineConfig['clientVersion']; + engineVersion: EngineConfig['engineVersion']; + logEmitter: EngineConfig['logEmitter']; + logQueries?: EngineConfig['logQueries']; + logLevel?: EngineConfig['logLevel']; + tracingHelper: EngineConfig['tracingHelper']; + accelerateUtils?: AccelerateUtils; +}; + +declare type AccelerateUtils = EngineConfig['accelerateUtils']; + +export declare type Action = keyof typeof DMMF_2.ModelAction | 'executeRaw' | 'queryRaw' | 'runCommandRaw'; + +declare type ActiveConnectorType = Exclude; + +/** + * An interface that exposes some basic information about the + * adapter like its name and provider type. + */ +declare interface AdapterInfo { + readonly provider: Provider; + readonly adapterName: (typeof officialPrismaAdapters)[number] | (string & {}); +} + +export declare type Aggregate = '_count' | '_max' | '_min' | '_avg' | '_sum'; + +export declare type AllModelsToStringIndex, K extends PropertyKey> = Args extends { + [P in K]: { + $allModels: infer AllModels; + }; +} ? { + [P in K]: Record; +} : {}; + +declare class AnyNull extends NullTypesEnumValue { + #private; +} + +export declare type ApplyOmit = Compute<{ + [K in keyof T as OmitValue extends true ? never : K]: T[K]; +}>; + +export declare type Args = T extends { + [K: symbol]: { + types: { + operations: { + [K in F]: { + args: any; + }; + }; + }; + }; +} ? T[symbol]['types']['operations'][F]['args'] : any; + +export declare type Args_3 = Args; + +/** + * Original `quaint::ValueType` enum tag from Prisma's `quaint`. + * Query arguments marked with this type are sanitized before being sent to the database. + * Notice while a query argument may be `null`, `ArgType` is guaranteed to be defined. + */ +declare type ArgType = 'Int32' | 'Int64' | 'Float' | 'Double' | 'Text' | 'Enum' | 'EnumArray' | 'Bytes' | 'Boolean' | 'Char' | 'Array' | 'Numeric' | 'Json' | 'Xml' | 'Uuid' | 'DateTime' | 'Date' | 'Time' | 'Unknown'; + +/** + * Attributes is a map from string to attribute values. + * + * Note: only the own enumerable keys are counted as valid attribute keys. + */ +declare interface Attributes { + [attributeKey: string]: AttributeValue | undefined; +} + +/** + * Attribute values may be any non-nullish primitive value except an object. + * + * null or undefined attribute values are invalid and will result in undefined behavior. + */ +declare type AttributeValue = string | number | boolean | Array | Array | Array; + +export declare type BaseDMMF = { + readonly datamodel: Omit; +}; + +declare type BatchArgs = { + queries: BatchQuery[]; + transaction?: { + isolationLevel?: IsolationLevel_2; + }; +}; + +declare type BatchInternalParams = { + requests: RequestParams[]; + customDataProxyFetch?: CustomDataProxyFetch; +}; + +declare type BatchQuery = { + model: string | undefined; + operation: string; + args: JsArgs | RawQueryArgs; +}; + +declare type BatchQueryEngineResult = QueryEngineResultData | Error; + +declare type BatchQueryOptionsCb = (args: BatchQueryOptionsCbArgs) => Promise; + +declare type BatchQueryOptionsCbArgs = { + args: BatchArgs; + query: (args: BatchArgs, __internalParams?: BatchInternalParams) => Promise; + __internalParams: BatchInternalParams; +}; + +declare type BatchResponse = MultiBatchResponse | CompactedBatchResponse; + +declare type BatchTransactionOptions = { + isolationLevel?: Transaction_2.IsolationLevel; +}; + +declare interface BinaryTargetsEnvValue { + fromEnvVar: string | null; + value: string; + native?: boolean; +} + +export declare type Call = (F & { + params: P; +})['returns']; + +declare interface CallSite { + getLocation(): LocationInFile | null; +} + +export declare type Cast = A extends W ? A : W; + +declare type Client = ReturnType extends new () => infer T ? T : never; + +export declare type ClientArg = { + [MethodName in string]: unknown; +}; + +export declare type ClientArgs = { + client: ClientArg; +}; + +export declare type ClientBuiltInProp = keyof DynamicClientExtensionThisBuiltin; + +export declare type ClientOptionDef = undefined | { + [K in string]: any; +}; + +export declare type ClientOtherOps = { + $queryRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise; + $queryRawTyped(query: TypedSql): PrismaPromise; + $queryRawUnsafe(query: string, ...values: any[]): PrismaPromise; + $executeRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise; + $executeRawUnsafe(query: string, ...values: any[]): PrismaPromise; + $runCommandRaw(command: InputJsonObject): PrismaPromise; +}; + +declare type ColumnType = (typeof ColumnTypeEnum)[keyof typeof ColumnTypeEnum]; + +declare const ColumnTypeEnum: { + readonly Int32: 0; + readonly Int64: 1; + readonly Float: 2; + readonly Double: 3; + readonly Numeric: 4; + readonly Boolean: 5; + readonly Character: 6; + readonly Text: 7; + readonly Date: 8; + readonly Time: 9; + readonly DateTime: 10; + readonly Json: 11; + readonly Enum: 12; + readonly Bytes: 13; + readonly Set: 14; + readonly Uuid: 15; + readonly Int32Array: 64; + readonly Int64Array: 65; + readonly FloatArray: 66; + readonly DoubleArray: 67; + readonly NumericArray: 68; + readonly BooleanArray: 69; + readonly CharacterArray: 70; + readonly TextArray: 71; + readonly DateArray: 72; + readonly TimeArray: 73; + readonly DateTimeArray: 74; + readonly JsonArray: 75; + readonly EnumArray: 76; + readonly BytesArray: 77; + readonly UuidArray: 78; + readonly UnknownNumber: 128; +}; + +declare type CompactedBatchResponse = { + type: 'compacted'; + plan: {}; + arguments: Record[]; + nestedSelection: string[]; + keys: string[]; + expectNonEmpty: boolean; +}; + +declare type CompilerWasmLoadingConfig = { + /** + * WASM-bindgen runtime for corresponding module + */ + getRuntime: () => Promise<{ + __wbg_set_wasm(exports: unknown): void; + QueryCompiler: QueryCompilerConstructor; + }>; + /** + * Loads the raw wasm module for the wasm compiler engine. This configuration is + * generated specifically for each type of client, eg. Node.js client and Edge + * clients will have different implementations. + * @remarks this is a callback on purpose, we only load the wasm if needed. + * @remarks only used by ClientEngine + */ + getQueryCompilerWasmModule: () => Promise; +}; + +export declare type Compute = T extends Function ? T : { + [K in keyof T]: T[K]; +} & unknown; + +export declare type ComputeDeep = T extends Function ? T : { + [K in keyof T]: ComputeDeep; +} & unknown; + +declare type ComputedField = { + name: string; + needs: string[]; + compute: ResultArgsFieldCompute; +}; + +declare type ComputedFieldsMap = { + [fieldName: string]: ComputedField; +}; + +declare type ConnectionInfo = { + schemaName?: string; + maxBindValues?: number; + supportsRelationJoins: boolean; +}; + +declare type ConnectorType = 'mysql' | 'mongodb' | 'sqlite' | 'postgresql' | 'postgres' | 'prisma+postgres' | 'sqlserver' | 'cockroachdb'; + +declare interface Context { + /** + * Get a value from the context. + * + * @param key key which identifies a context value + */ + getValue(key: symbol): unknown; + /** + * Create a new context which inherits from this context and has + * the given key set to the given value. + * + * @param key context key for which to set the value + * @param value value to set for the given key + */ + setValue(key: symbol, value: unknown): Context; + /** + * Return a new context which inherits from this context but does + * not contain a value for the given key. + * + * @param key context key for which to clear a value + */ + deleteValue(key: symbol): Context; +} + +declare type Context_2 = T extends { + [K: symbol]: { + ctx: infer C; + }; +} ? C & T & { + /** + * @deprecated Use `$name` instead. + */ + name?: string; + $name?: string; + $parent?: unknown; +} : T & { + /** + * @deprecated Use `$name` instead. + */ + name?: string; + $name?: string; + $parent?: unknown; +}; + +export declare type Count = { + [K in keyof O]: Count; +} & {}; + +export declare function createParam(name: string): Param; + +/** + * Custom fetch function for `DataProxyEngine`. + * + * We can't use the actual type of `globalThis.fetch` because this will result + * in API Extractor referencing Node.js type definitions in the `.d.ts` bundle + * for the client runtime. We can only use such types in internal types that + * don't end up exported anywhere. + + * It's also not possible to write a definition of `fetch` that would accept the + * actual `fetch` function from different environments such as Node.js and + * Cloudflare Workers (with their extensions to `RequestInit` and `Response`). + * `fetch` is used in both covariant and contravariant positions in + * `CustomDataProxyFetch`, making it invariant, so we need the exact same type. + * Even if we removed the argument and left `fetch` in covariant position only, + * then for an extension-supplied function to be assignable to `customDataProxyFetch`, + * the platform-specific (or custom) `fetch` function needs to be assignable + * to our `fetch` definition. This, in turn, requires the third-party `Response` + * to be a subtype of our `Response` (which is not a problem, we could declare + * a minimal `Response` type that only includes what we use) *and* requires the + * third-party `RequestInit` to be a supertype of our `RequestInit` (i.e. we + * have to declare all properties any `RequestInit` implementation in existence + * could possibly have), which is not possible. + * + * Since `@prisma/extension-accelerate` redefines the type of + * `__internalParams.customDataProxyFetch` to its own type anyway (probably for + * exactly this reason), our definition is never actually used and is completely + * ignored, so it doesn't matter, and we can just use `unknown` as the type of + * `fetch` here. + */ +declare type CustomDataProxyFetch = (fetch: unknown) => unknown; + +declare class DataLoader { + private options; + batches: { + [key: string]: Job[]; + }; + private tickActive; + constructor(options: DataLoaderOptions); + request(request: T): Promise; + private dispatchBatches; + get [Symbol.toStringTag](): string; +} + +declare type DataLoaderOptions = { + singleLoader: (request: T) => Promise; + batchLoader: (request: T[]) => Promise; + batchBy: (request: T) => string | undefined; + batchOrder: (requestA: T, requestB: T) => number; +}; + +declare type Datamodel = ReadonlyDeep_2<{ + models: Model[]; + enums: DatamodelEnum[]; + types: Model[]; + indexes: Index[]; +}>; + +declare type DatamodelEnum = ReadonlyDeep_2<{ + name: string; + values: EnumValue[]; + dbName?: string | null; + documentation?: string; +}>; + +declare function datamodelEnumToSchemaEnum(datamodelEnum: DatamodelEnum): SchemaEnum; + +declare type Datasource = { + url?: string; +}; + +declare type Datasources = { + [name in string]: Datasource; +}; + +declare class DbNull extends NullTypesEnumValue { + #private; +} + +export declare const Debug: typeof debugCreate & { + enable(namespace: any): void; + disable(): any; + enabled(namespace: string): boolean; + log: (...args: string[]) => void; + formatters: {}; +}; + +/** + * Create a new debug instance with the given namespace. + * + * @example + * ```ts + * import Debug from '@prisma/debug' + * const debug = Debug('prisma:client') + * debug('Hello World') + * ``` + */ +declare function debugCreate(namespace: string): ((...args: any[]) => void) & { + color: string; + enabled: boolean; + namespace: string; + log: (...args: string[]) => void; + extend: () => void; +}; + +export declare function Decimal(n: Decimal.Value): Decimal; + +export declare namespace Decimal { + export type Constructor = typeof Decimal; + export type Instance = Decimal; + export type Rounding = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8; + export type Modulo = Rounding | 9; + export type Value = string | number | Decimal; + + // http://mikemcl.github.io/decimal.js/#constructor-properties + export interface Config { + precision?: number; + rounding?: Rounding; + toExpNeg?: number; + toExpPos?: number; + minE?: number; + maxE?: number; + crypto?: boolean; + modulo?: Modulo; + defaults?: boolean; + } +} + +export declare class Decimal { + readonly d: number[]; + readonly e: number; + readonly s: number; + + constructor(n: Decimal.Value); + + absoluteValue(): Decimal; + abs(): Decimal; + + ceil(): Decimal; + + clampedTo(min: Decimal.Value, max: Decimal.Value): Decimal; + clamp(min: Decimal.Value, max: Decimal.Value): Decimal; + + comparedTo(n: Decimal.Value): number; + cmp(n: Decimal.Value): number; + + cosine(): Decimal; + cos(): Decimal; + + cubeRoot(): Decimal; + cbrt(): Decimal; + + decimalPlaces(): number; + dp(): number; + + dividedBy(n: Decimal.Value): Decimal; + div(n: Decimal.Value): Decimal; + + dividedToIntegerBy(n: Decimal.Value): Decimal; + divToInt(n: Decimal.Value): Decimal; + + equals(n: Decimal.Value): boolean; + eq(n: Decimal.Value): boolean; + + floor(): Decimal; + + greaterThan(n: Decimal.Value): boolean; + gt(n: Decimal.Value): boolean; + + greaterThanOrEqualTo(n: Decimal.Value): boolean; + gte(n: Decimal.Value): boolean; + + hyperbolicCosine(): Decimal; + cosh(): Decimal; + + hyperbolicSine(): Decimal; + sinh(): Decimal; + + hyperbolicTangent(): Decimal; + tanh(): Decimal; + + inverseCosine(): Decimal; + acos(): Decimal; + + inverseHyperbolicCosine(): Decimal; + acosh(): Decimal; + + inverseHyperbolicSine(): Decimal; + asinh(): Decimal; + + inverseHyperbolicTangent(): Decimal; + atanh(): Decimal; + + inverseSine(): Decimal; + asin(): Decimal; + + inverseTangent(): Decimal; + atan(): Decimal; + + isFinite(): boolean; + + isInteger(): boolean; + isInt(): boolean; + + isNaN(): boolean; + + isNegative(): boolean; + isNeg(): boolean; + + isPositive(): boolean; + isPos(): boolean; + + isZero(): boolean; + + lessThan(n: Decimal.Value): boolean; + lt(n: Decimal.Value): boolean; + + lessThanOrEqualTo(n: Decimal.Value): boolean; + lte(n: Decimal.Value): boolean; + + logarithm(n?: Decimal.Value): Decimal; + log(n?: Decimal.Value): Decimal; + + minus(n: Decimal.Value): Decimal; + sub(n: Decimal.Value): Decimal; + + modulo(n: Decimal.Value): Decimal; + mod(n: Decimal.Value): Decimal; + + naturalExponential(): Decimal; + exp(): Decimal; + + naturalLogarithm(): Decimal; + ln(): Decimal; + + negated(): Decimal; + neg(): Decimal; + + plus(n: Decimal.Value): Decimal; + add(n: Decimal.Value): Decimal; + + precision(includeZeros?: boolean): number; + sd(includeZeros?: boolean): number; + + round(): Decimal; + + sine() : Decimal; + sin() : Decimal; + + squareRoot(): Decimal; + sqrt(): Decimal; + + tangent() : Decimal; + tan() : Decimal; + + times(n: Decimal.Value): Decimal; + mul(n: Decimal.Value) : Decimal; + + toBinary(significantDigits?: number): string; + toBinary(significantDigits: number, rounding: Decimal.Rounding): string; + + toDecimalPlaces(decimalPlaces?: number): Decimal; + toDecimalPlaces(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; + toDP(decimalPlaces?: number): Decimal; + toDP(decimalPlaces: number, rounding: Decimal.Rounding): Decimal; + + toExponential(decimalPlaces?: number): string; + toExponential(decimalPlaces: number, rounding: Decimal.Rounding): string; + + toFixed(decimalPlaces?: number): string; + toFixed(decimalPlaces: number, rounding: Decimal.Rounding): string; + + toFraction(max_denominator?: Decimal.Value): Decimal[]; + + toHexadecimal(significantDigits?: number): string; + toHexadecimal(significantDigits: number, rounding: Decimal.Rounding): string; + toHex(significantDigits?: number): string; + toHex(significantDigits: number, rounding?: Decimal.Rounding): string; + + toJSON(): string; + + toNearest(n: Decimal.Value, rounding?: Decimal.Rounding): Decimal; + + toNumber(): number; + + toOctal(significantDigits?: number): string; + toOctal(significantDigits: number, rounding: Decimal.Rounding): string; + + toPower(n: Decimal.Value): Decimal; + pow(n: Decimal.Value): Decimal; + + toPrecision(significantDigits?: number): string; + toPrecision(significantDigits: number, rounding: Decimal.Rounding): string; + + toSignificantDigits(significantDigits?: number): Decimal; + toSignificantDigits(significantDigits: number, rounding: Decimal.Rounding): Decimal; + toSD(significantDigits?: number): Decimal; + toSD(significantDigits: number, rounding: Decimal.Rounding): Decimal; + + toString(): string; + + truncated(): Decimal; + trunc(): Decimal; + + valueOf(): string; + + static abs(n: Decimal.Value): Decimal; + static acos(n: Decimal.Value): Decimal; + static acosh(n: Decimal.Value): Decimal; + static add(x: Decimal.Value, y: Decimal.Value): Decimal; + static asin(n: Decimal.Value): Decimal; + static asinh(n: Decimal.Value): Decimal; + static atan(n: Decimal.Value): Decimal; + static atanh(n: Decimal.Value): Decimal; + static atan2(y: Decimal.Value, x: Decimal.Value): Decimal; + static cbrt(n: Decimal.Value): Decimal; + static ceil(n: Decimal.Value): Decimal; + static clamp(n: Decimal.Value, min: Decimal.Value, max: Decimal.Value): Decimal; + static clone(object?: Decimal.Config): Decimal.Constructor; + static config(object: Decimal.Config): Decimal.Constructor; + static cos(n: Decimal.Value): Decimal; + static cosh(n: Decimal.Value): Decimal; + static div(x: Decimal.Value, y: Decimal.Value): Decimal; + static exp(n: Decimal.Value): Decimal; + static floor(n: Decimal.Value): Decimal; + static hypot(...n: Decimal.Value[]): Decimal; + static isDecimal(object: any): object is Decimal; + static ln(n: Decimal.Value): Decimal; + static log(n: Decimal.Value, base?: Decimal.Value): Decimal; + static log2(n: Decimal.Value): Decimal; + static log10(n: Decimal.Value): Decimal; + static max(...n: Decimal.Value[]): Decimal; + static min(...n: Decimal.Value[]): Decimal; + static mod(x: Decimal.Value, y: Decimal.Value): Decimal; + static mul(x: Decimal.Value, y: Decimal.Value): Decimal; + static noConflict(): Decimal.Constructor; // Browser only + static pow(base: Decimal.Value, exponent: Decimal.Value): Decimal; + static random(significantDigits?: number): Decimal; + static round(n: Decimal.Value): Decimal; + static set(object: Decimal.Config): Decimal.Constructor; + static sign(n: Decimal.Value): number; + static sin(n: Decimal.Value): Decimal; + static sinh(n: Decimal.Value): Decimal; + static sqrt(n: Decimal.Value): Decimal; + static sub(x: Decimal.Value, y: Decimal.Value): Decimal; + static sum(...n: Decimal.Value[]): Decimal; + static tan(n: Decimal.Value): Decimal; + static tanh(n: Decimal.Value): Decimal; + static trunc(n: Decimal.Value): Decimal; + + static readonly default?: Decimal.Constructor; + static readonly Decimal?: Decimal.Constructor; + + static readonly precision: number; + static readonly rounding: Decimal.Rounding; + static readonly toExpNeg: number; + static readonly toExpPos: number; + static readonly minE: number; + static readonly maxE: number; + static readonly crypto: boolean; + static readonly modulo: Decimal.Modulo; + + static readonly ROUND_UP: 0; + static readonly ROUND_DOWN: 1; + static readonly ROUND_CEIL: 2; + static readonly ROUND_FLOOR: 3; + static readonly ROUND_HALF_UP: 4; + static readonly ROUND_HALF_DOWN: 5; + static readonly ROUND_HALF_EVEN: 6; + static readonly ROUND_HALF_CEIL: 7; + static readonly ROUND_HALF_FLOOR: 8; + static readonly EUCLID: 9; +} + +/** + * Interface for any Decimal.js-like library + * Allows us to accept Decimal.js from different + * versions and some compatible alternatives + */ +export declare interface DecimalJsLike { + d: number[]; + e: number; + s: number; + toFixed(): string; +} + +export declare type DefaultArgs = InternalArgs<{}, {}, {}, {}>; + +export declare type DefaultSelection = Args extends { + omit: infer LocalOmit; +} ? ApplyOmit['default'], PatchFlat>>> : ApplyOmit['default'], ExtractGlobalOmit>>; + +export declare function defineDmmfProperty(target: object, runtimeDataModel: RuntimeDataModel): void; + +declare function defineExtension(ext: ExtensionArgs | ((client: Client) => Client)): (client: Client) => Client; + +declare const denylist: readonly ["$connect", "$disconnect", "$on", "$transaction", "$use", "$extends"]; + +declare type Deprecation = ReadonlyDeep_2<{ + sinceVersion: string; + reason: string; + plannedRemovalVersion?: string; +}>; + +declare type DeserializedResponse = Array>; + +export declare function deserializeJsonResponse(result: unknown): unknown; + +export declare function deserializeRawResult(response: RawResponse): DeserializedResponse; + +export declare type DevTypeMapDef = { + meta: { + modelProps: string; + }; + model: { + [Model in PropertyKey]: { + [Operation in PropertyKey]: DevTypeMapFnDef; + }; + }; + other: { + [Operation in PropertyKey]: DevTypeMapFnDef; + }; +}; + +export declare type DevTypeMapFnDef = { + args: any; + result: any; + payload: OperationPayload; +}; + +export declare namespace DMMF { + export { + datamodelEnumToSchemaEnum, + Document_2 as Document, + Mappings, + OtherOperationMappings, + DatamodelEnum, + SchemaEnum, + EnumValue, + Datamodel, + uniqueIndex, + PrimaryKey, + Model, + FieldKind, + FieldNamespace, + FieldLocation, + Field, + FieldDefault, + FieldDefaultScalar, + Index, + IndexType, + IndexField, + SortOrder, + Schema, + Query, + QueryOutput, + TypeRef, + InputTypeRef, + SchemaArg, + OutputType, + SchemaField, + OutputTypeRef, + Deprecation, + InputType, + FieldRefType, + FieldRefAllowType, + ModelMapping, + ModelAction + } +} + +declare namespace DMMF_2 { + export { + datamodelEnumToSchemaEnum, + Document_2 as Document, + Mappings, + OtherOperationMappings, + DatamodelEnum, + SchemaEnum, + EnumValue, + Datamodel, + uniqueIndex, + PrimaryKey, + Model, + FieldKind, + FieldNamespace, + FieldLocation, + Field, + FieldDefault, + FieldDefaultScalar, + Index, + IndexType, + IndexField, + SortOrder, + Schema, + Query, + QueryOutput, + TypeRef, + InputTypeRef, + SchemaArg, + OutputType, + SchemaField, + OutputTypeRef, + Deprecation, + InputType, + FieldRefType, + FieldRefAllowType, + ModelMapping, + ModelAction + } +} + +export declare function dmmfToRuntimeDataModel(dmmfDataModel: DMMF_2.Datamodel): RuntimeDataModel; + +declare type Document_2 = ReadonlyDeep_2<{ + datamodel: Datamodel; + schema: Schema; + mappings: Mappings; +}>; + +/** + * A generic driver adapter factory that allows the user to instantiate a + * driver adapter. The query and result types are specific to the adapter. + */ +declare interface DriverAdapterFactory extends AdapterInfo { + /** + * Instantiate a driver adapter. + */ + connect(): Promise>; +} + +/** Client */ +export declare type DynamicClientExtensionArgs> = { + [P in keyof C_]: unknown; +} & { + [K: symbol]: { + ctx: Optional, ITXClientDenyList> & { + $parent: Optional, ITXClientDenyList>; + }; + }; +}; + +export declare type DynamicClientExtensionThis> = { + [P in keyof ExtArgs['client']]: Return; +} & { + [P in Exclude]: DynamicModelExtensionThis, ExtArgs>; +} & { + [P in Exclude]: P extends keyof ClientOtherOps ? ClientOtherOps[P] : never; +} & { + [P in Exclude]: DynamicClientExtensionThisBuiltin[P]; +} & { + [K: symbol]: { + types: TypeMap['other']; + }; +}; + +export declare type DynamicClientExtensionThisBuiltin> = { + $extends: ExtendsHook<'extends', TypeMapCb, ExtArgs, Call>; + $transaction

[]>(arg: [...P], options?: { + isolationLevel?: TypeMap['meta']['txIsolationLevel']; + }): Promise>; + $transaction(fn: (client: Omit, ITXClientDenyList>) => Promise, options?: { + maxWait?: number; + timeout?: number; + isolationLevel?: TypeMap['meta']['txIsolationLevel']; + }): Promise; + $disconnect(): Promise; + $connect(): Promise; +}; + +/** Model */ +export declare type DynamicModelExtensionArgs> = { + [K in keyof M_]: K extends '$allModels' ? { + [P in keyof M_[K]]?: unknown; + } & { + [K: symbol]: {}; + } : K extends TypeMap['meta']['modelProps'] ? { + [P in keyof M_[K]]?: unknown; + } & { + [K: symbol]: { + ctx: DynamicModelExtensionThis, ExtArgs> & { + $parent: DynamicClientExtensionThis; + } & { + $name: ModelKey; + } & { + /** + * @deprecated Use `$name` instead. + */ + name: ModelKey; + }; + }; + } : never; +}; + +export declare type DynamicModelExtensionFluentApi = { + [K in keyof TypeMap['model'][M]['payload']['objects']]: (args?: Exact>) => PrismaPromise, [K]> | Null> & DynamicModelExtensionFluentApi>; +}; + +export declare type DynamicModelExtensionFnResult = P extends FluentOperation ? DynamicModelExtensionFluentApi & PrismaPromise | Null> : PrismaPromise>; + +export declare type DynamicModelExtensionFnResultBase = GetResult; + +export declare type DynamicModelExtensionFnResultNull

= P extends 'findUnique' | 'findFirst' ? null : never; + +export declare type DynamicModelExtensionOperationFn = {} extends TypeMap['model'][M]['operations'][P]['args'] ? (args?: Exact) => DynamicModelExtensionFnResult> : (args: Exact) => DynamicModelExtensionFnResult>; + +export declare type DynamicModelExtensionThis> = { + [P in keyof ExtArgs['model'][Uncapitalize]]: Return][P]>; +} & { + [P in Exclude]>]: DynamicModelExtensionOperationFn; +} & { + [P in Exclude<'fields', keyof ExtArgs['model'][Uncapitalize]>]: TypeMap['model'][M]['fields']; +} & { + [K: symbol]: { + types: TypeMap['model'][M]; + }; +}; + +/** Query */ +export declare type DynamicQueryExtensionArgs = { + [K in keyof Q_]: K extends '$allOperations' ? (args: { + model?: string; + operation: string; + args: any; + query: (args: any) => PrismaPromise; + }) => Promise : K extends '$allModels' ? { + [P in keyof Q_[K] | keyof TypeMap['model'][keyof TypeMap['model']]['operations'] | '$allOperations']?: P extends '$allOperations' ? DynamicQueryExtensionCb : P extends keyof TypeMap['model'][keyof TypeMap['model']]['operations'] ? DynamicQueryExtensionCb : never; + } : K extends TypeMap['meta']['modelProps'] ? { + [P in keyof Q_[K] | keyof TypeMap['model'][ModelKey]['operations'] | '$allOperations']?: P extends '$allOperations' ? DynamicQueryExtensionCb, keyof TypeMap['model'][ModelKey]['operations']> : P extends keyof TypeMap['model'][ModelKey]['operations'] ? DynamicQueryExtensionCb, P> : never; + } : K extends keyof TypeMap['other']['operations'] ? DynamicQueryExtensionCb<[TypeMap], 0, 'other', K> : never; +}; + +export declare type DynamicQueryExtensionCb = >(args: A) => Promise; + +export declare type DynamicQueryExtensionCbArgs = (_1 extends unknown ? _2 extends unknown ? { + args: DynamicQueryExtensionCbArgsArgs; + model: _0 extends 0 ? undefined : _1; + operation: _2; + query: >(args: A) => PrismaPromise; +} : never : never) & { + query: (args: DynamicQueryExtensionCbArgsArgs) => PrismaPromise; +}; + +export declare type DynamicQueryExtensionCbArgsArgs = _2 extends '$queryRaw' | '$executeRaw' ? Sql : TypeMap[_0][_1]['operations'][_2]['args']; + +/** Result */ +export declare type DynamicResultExtensionArgs = { + [K in keyof R_]: { + [P in keyof R_[K]]?: { + needs?: DynamicResultExtensionNeeds, R_[K][P]>; + compute(data: DynamicResultExtensionData, R_[K][P]>): any; + }; + }; +}; + +export declare type DynamicResultExtensionData = GetFindResult; + +export declare type DynamicResultExtensionNeeds = { + [K in keyof S]: K extends keyof TypeMap['model'][M]['payload']['scalars'] ? S[K] : never; +} & { + [N in keyof TypeMap['model'][M]['payload']['scalars']]?: boolean; +}; + +/** + * Placeholder value for "no text". + */ +export declare const empty: Sql; + +export declare type EmptyToUnknown = T; + +declare interface Engine { + /** The name of the engine. This is meant to be consumed externally */ + readonly name: string; + onBeforeExit(callback: () => Promise): void; + start(): Promise; + stop(): Promise; + version(forceRun?: boolean): Promise | string; + request(query: JsonQuery, options: RequestOptions): Promise>; + requestBatch(queries: JsonQuery[], options: RequestBatchOptions): Promise[]>; + transaction(action: 'start', headers: Transaction_2.TransactionHeaders, options: Transaction_2.Options): Promise>; + transaction(action: 'commit', headers: Transaction_2.TransactionHeaders, info: Transaction_2.InteractiveTransactionInfo): Promise; + transaction(action: 'rollback', headers: Transaction_2.TransactionHeaders, info: Transaction_2.InteractiveTransactionInfo): Promise; + metrics(options: MetricsOptionsJson): Promise; + metrics(options: MetricsOptionsPrometheus): Promise; + applyPendingMigrations(): Promise; +} + +declare interface EngineConfig { + cwd: string; + dirname: string; + enableDebugLogs?: boolean; + allowTriggerPanic?: boolean; + prismaPath?: string; + generator?: GeneratorConfig; + /** + * @remarks this field is used internally by Policy, do not rename or remove + */ + overrideDatasources: Datasources; + showColors?: boolean; + logQueries?: boolean; + logLevel?: 'info' | 'warn'; + env: Record; + flags?: string[]; + clientVersion: string; + engineVersion: string; + previewFeatures?: string[]; + engineEndpoint?: string; + activeProvider?: string; + logEmitter: LogEmitter; + transactionOptions: Transaction_2.Options; + /** + * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale`. + * If set, this is only used in the library engine, and all queries would be performed through it, + * rather than Prisma's Rust drivers. + * @remarks only used by LibraryEngine.ts + */ + adapter?: SqlDriverAdapterFactory; + /** + * The contents of the schema encoded into a string + */ + inlineSchema: string; + /** + * The contents of the datasource url saved in a string + * @remarks only used by DataProxyEngine.ts + * @remarks this field is used internally by Policy, do not rename or remove + */ + inlineDatasources: GetPrismaClientConfig['inlineDatasources']; + /** + * The string hash that was produced for a given schema + * @remarks only used by DataProxyEngine.ts + */ + inlineSchemaHash: string; + /** + * The helper for interaction with OTEL tracing + * @remarks enabling is determined by the client and @prisma/instrumentation package + */ + tracingHelper: TracingHelper; + /** + * Information about whether we have not found a schema.prisma file in the + * default location, and that we fell back to finding the schema.prisma file + * in the current working directory. This usually means it has been bundled. + */ + isBundled?: boolean; + /** + * Web Assembly module loading configuration + */ + engineWasm?: EngineWasmLoadingConfig; + compilerWasm?: CompilerWasmLoadingConfig; + /** + * Allows Accelerate to use runtime utilities from the client. These are + * necessary for the AccelerateEngine to function correctly. + */ + accelerateUtils?: { + resolveDatasourceUrl: typeof resolveDatasourceUrl; + getBatchRequestPayload: typeof getBatchRequestPayload; + prismaGraphQLToJSError: typeof prismaGraphQLToJSError; + PrismaClientUnknownRequestError: typeof PrismaClientUnknownRequestError; + PrismaClientInitializationError: typeof PrismaClientInitializationError; + PrismaClientKnownRequestError: typeof PrismaClientKnownRequestError; + debug: (...args: any[]) => void; + engineVersion: string; + clientVersion: string; + }; +} + +declare type EngineEvent = E extends QueryEventType ? QueryEvent : LogEvent; + +declare type EngineEventType = QueryEventType | LogEventType; + +declare type EngineSpan = { + id: EngineSpanId; + parentId: string | null; + name: string; + startTime: HrTime; + endTime: HrTime; + kind: EngineSpanKind; + attributes?: Record; + links?: EngineSpanId[]; +}; + +declare type EngineSpanId = string; + +declare type EngineSpanKind = 'client' | 'internal'; + +declare type EngineWasmLoadingConfig = { + /** + * WASM-bindgen runtime for corresponding module + */ + getRuntime: () => Promise<{ + __wbg_set_wasm(exports: unknown): void; + QueryEngine: QueryEngineConstructor; + }>; + /** + * Loads the raw wasm module for the wasm query engine. This configuration is + * generated specifically for each type of client, eg. Node.js client and Edge + * clients will have different implementations. + * @remarks this is a callback on purpose, we only load the wasm if needed. + * @remarks only used by LibraryEngine + */ + getQueryEngineWasmModule: () => Promise; +}; + +declare type EnumValue = ReadonlyDeep_2<{ + name: string; + dbName: string | null; +}>; + +declare type EnvPaths = { + rootEnvPath: string | null; + schemaEnvPath: string | undefined; +}; + +declare interface EnvValue { + fromEnvVar: null | string; + value: null | string; +} + +export declare type Equals = (() => T extends A ? 1 : 2) extends (() => T extends B ? 1 : 2) ? 1 : 0; + +declare type Error_2 = { + kind: 'GenericJs'; + id: number; +} | { + kind: 'UnsupportedNativeDataType'; + type: string; +} | { + kind: 'InvalidIsolationLevel'; + level: string; +} | { + kind: 'LengthMismatch'; + column?: string; +} | { + kind: 'UniqueConstraintViolation'; + constraint?: { + fields: string[]; + } | { + index: string; + } | { + foreignKey: {}; + }; +} | { + kind: 'NullConstraintViolation'; + constraint?: { + fields: string[]; + } | { + index: string; + } | { + foreignKey: {}; + }; +} | { + kind: 'ForeignKeyConstraintViolation'; + constraint?: { + fields: string[]; + } | { + index: string; + } | { + foreignKey: {}; + }; +} | { + kind: 'DatabaseDoesNotExist'; + db?: string; +} | { + kind: 'DatabaseAlreadyExists'; + db?: string; +} | { + kind: 'DatabaseAccessDenied'; + db?: string; +} | { + kind: 'AuthenticationFailed'; + user?: string; +} | { + kind: 'TransactionWriteConflict'; +} | { + kind: 'TableDoesNotExist'; + table?: string; +} | { + kind: 'ColumnNotFound'; + column?: string; +} | { + kind: 'TooManyConnections'; + cause: string; +} | { + kind: 'ValueOutOfRange'; + cause: string; +} | { + kind: 'MissingFullTextSearchIndex'; +} | { + kind: 'SocketTimeout'; +} | { + kind: 'InconsistentColumnData'; + cause: string; +} | { + kind: 'TransactionAlreadyClosed'; + cause: string; +} | { + kind: 'postgres'; + code: string; + severity: string; + message: string; + detail: string | undefined; + column: string | undefined; + hint: string | undefined; +} | { + kind: 'mysql'; + code: number; + message: string; + state: string; +} | { + kind: 'sqlite'; + /** + * Sqlite extended error code: https://www.sqlite.org/rescode.html + */ + extendedCode: number; + message: string; +} | { + kind: 'mssql'; + code: number; + message: string; +}; + +declare type ErrorCapturingFunction = T extends (...args: infer A) => Promise ? (...args: A) => Promise>> : T extends (...args: infer A) => infer R ? (...args: A) => Result_4> : T; + +declare type ErrorCapturingInterface = { + [K in keyof T]: ErrorCapturingFunction; +}; + +declare interface ErrorCapturingSqlDriverAdapter extends ErrorCapturingInterface { + readonly errorRegistry: ErrorRegistry; +} + +declare type ErrorFormat = 'pretty' | 'colorless' | 'minimal'; + +declare type ErrorRecord = { + error: unknown; +}; + +declare interface ErrorRegistry { + consumeError(id: number): ErrorRecord | undefined; +} + +declare interface ErrorWithBatchIndex { + batchRequestIdx?: number; +} + +declare type EventCallback = [E] extends ['beforeExit'] ? () => Promise : [E] extends [LogLevel] ? (event: EngineEvent) => void : never; + +export declare type Exact = (A extends unknown ? (W extends A ? { + [K in keyof A]: Exact; +} : W) : never) | (A extends Narrowable ? A : never); + +/** + * Defines Exception. + * + * string or an object with one of (message or name or code) and optional stack + */ +declare type Exception = ExceptionWithCode | ExceptionWithMessage | ExceptionWithName | string; + +declare interface ExceptionWithCode { + code: string | number; + name?: string; + message?: string; + stack?: string; +} + +declare interface ExceptionWithMessage { + code?: string | number; + message: string; + name?: string; + stack?: string; +} + +declare interface ExceptionWithName { + code?: string | number; + message?: string; + name: string; + stack?: string; +} + +declare type ExtendedEventType = LogLevel | 'beforeExit'; + +declare type ExtendedSpanOptions = SpanOptions & { + /** The name of the span */ + name: string; + internal?: boolean; + middleware?: boolean; + /** Whether it propagates context (?=true) */ + active?: boolean; + /** The context to append the span to */ + context?: Context; +}; + +/** $extends, defineExtension */ +export declare interface ExtendsHook, TypeMap extends TypeMapDef = Call> { + extArgs: ExtArgs; + , MergedArgs extends InternalArgs = MergeExtArgs>(extension: ((client: DynamicClientExtensionThis) => { + $extends: { + extArgs: Args; + }; + }) | { + name?: string; + query?: DynamicQueryExtensionArgs; + result?: DynamicResultExtensionArgs & R; + model?: DynamicModelExtensionArgs & M; + client?: DynamicClientExtensionArgs & C; + }): { + extends: DynamicClientExtensionThis, TypeMapCb, MergedArgs>; + define: (client: any) => { + $extends: { + extArgs: Args; + }; + }; + }[Variant]; +} + +export declare type ExtensionArgs = Optional; + +declare namespace Extensions { + export { + defineExtension, + getExtensionContext + } +} +export { Extensions } + +declare namespace Extensions_2 { + export { + InternalArgs, + DefaultArgs, + GetPayloadResultExtensionKeys, + GetPayloadResultExtensionObject, + GetPayloadResult, + GetSelect, + GetOmit, + DynamicQueryExtensionArgs, + DynamicQueryExtensionCb, + DynamicQueryExtensionCbArgs, + DynamicQueryExtensionCbArgsArgs, + DynamicResultExtensionArgs, + DynamicResultExtensionNeeds, + DynamicResultExtensionData, + DynamicModelExtensionArgs, + DynamicModelExtensionThis, + DynamicModelExtensionOperationFn, + DynamicModelExtensionFnResult, + DynamicModelExtensionFnResultBase, + DynamicModelExtensionFluentApi, + DynamicModelExtensionFnResultNull, + DynamicClientExtensionArgs, + DynamicClientExtensionThis, + ClientBuiltInProp, + DynamicClientExtensionThisBuiltin, + ExtendsHook, + MergeExtArgs, + AllModelsToStringIndex, + TypeMapDef, + DevTypeMapDef, + DevTypeMapFnDef, + ClientOptionDef, + ClientOtherOps, + TypeMapCbDef, + ModelKey, + RequiredExtensionArgs as UserArgs + } +} + +export declare type ExtractGlobalOmit = Options extends { + omit: { + [K in ModelName]: infer GlobalOmit; + }; +} ? GlobalOmit : {}; + +declare type Field = ReadonlyDeep_2<{ + kind: FieldKind; + name: string; + isRequired: boolean; + isList: boolean; + isUnique: boolean; + isId: boolean; + isReadOnly: boolean; + isGenerated?: boolean; + isUpdatedAt?: boolean; + /** + * Describes the data type in the same the way it is defined in the Prisma schema: + * BigInt, Boolean, Bytes, DateTime, Decimal, Float, Int, JSON, String, $ModelName + */ + type: string; + /** + * Native database type, if specified. + * For example, `@db.VarChar(191)` is encoded as `['VarChar', ['191']]`, + * `@db.Text` is encoded as `['Text', []]`. + */ + nativeType?: [string, string[]] | null; + dbName?: string | null; + hasDefaultValue: boolean; + default?: FieldDefault | FieldDefaultScalar | FieldDefaultScalar[]; + relationFromFields?: string[]; + relationToFields?: string[]; + relationOnDelete?: string; + relationOnUpdate?: string; + relationName?: string; + documentation?: string; +}>; + +declare type FieldDefault = ReadonlyDeep_2<{ + name: string; + args: Array; +}>; + +declare type FieldDefaultScalar = string | boolean | number; + +declare type FieldKind = 'scalar' | 'object' | 'enum' | 'unsupported'; + +declare type FieldLocation = 'scalar' | 'inputObjectTypes' | 'outputObjectTypes' | 'enumTypes' | 'fieldRefTypes'; + +declare type FieldNamespace = 'model' | 'prisma'; + +/** + * A reference to a specific field of a specific model + */ +export declare interface FieldRef { + readonly modelName: Model; + readonly name: string; + readonly typeName: FieldType; + readonly isList: boolean; +} + +declare type FieldRefAllowType = TypeRef<'scalar' | 'enumTypes'>; + +declare type FieldRefType = ReadonlyDeep_2<{ + name: string; + allowTypes: FieldRefAllowType[]; + fields: SchemaArg[]; +}>; + +declare type FluentOperation = 'findUnique' | 'findUniqueOrThrow' | 'findFirst' | 'findFirstOrThrow' | 'create' | 'update' | 'upsert' | 'delete'; + +export declare interface Fn { + params: Params; + returns: Returns; +} + +declare interface GeneratorConfig { + name: string; + output: EnvValue | null; + isCustomOutput?: boolean; + provider: EnvValue; + config: { + /** `output` is a reserved name and will only be available directly at `generator.output` */ + output?: never; + /** `provider` is a reserved name and will only be available directly at `generator.provider` */ + provider?: never; + /** `binaryTargets` is a reserved name and will only be available directly at `generator.binaryTargets` */ + binaryTargets?: never; + /** `previewFeatures` is a reserved name and will only be available directly at `generator.previewFeatures` */ + previewFeatures?: never; + } & { + [key: string]: string | string[] | undefined; + }; + binaryTargets: BinaryTargetsEnvValue[]; + previewFeatures: string[]; + envPaths?: EnvPaths; + sourceFilePath: string; +} + +export declare type GetAggregateResult

= { + [K in keyof A as K extends Aggregate ? K : never]: K extends '_count' ? A[K] extends true ? number : Count : { + [J in keyof A[K] & string]: P['scalars'][J] | null; + }; +}; + +declare function getBatchRequestPayload(batch: JsonQuery[], transaction?: TransactionOptions_2): QueryEngineBatchRequest; + +export declare type GetBatchResult = { + count: number; +}; + +export declare type GetCountResult = A extends { + select: infer S; +} ? (S extends true ? number : Count) : number; + +declare function getExtensionContext(that: T): Context_2; + +export declare type GetFindResult

= Equals extends 1 ? DefaultSelection : A extends { + select: infer S extends object; +} & Record | { + include: infer I extends object; +} & Record ? { + [K in keyof S | keyof I as (S & I)[K] extends false | undefined | Skip | null ? never : K]: (S & I)[K] extends object ? P extends SelectablePayloadFields ? O extends OperationPayload ? GetFindResult[] : never : P extends SelectablePayloadFields ? O extends OperationPayload ? GetFindResult | SelectField & null : never : K extends '_count' ? Count> : never : P extends SelectablePayloadFields ? O extends OperationPayload ? DefaultSelection[] : never : P extends SelectablePayloadFields ? O extends OperationPayload ? DefaultSelection | SelectField & null : never : P extends { + scalars: { + [k in K]: infer O; + }; + } ? O : K extends '_count' ? Count : never; +} & (A extends { + include: any; +} & Record ? DefaultSelection : unknown) : DefaultSelection; + +export declare type GetGroupByResult

= A extends { + by: string[]; +} ? Array & { + [K in A['by'][number]]: P['scalars'][K]; +}> : A extends { + by: string; +} ? Array & { + [K in A['by']]: P['scalars'][K]; +}> : {}[]; + +export declare type GetOmit = { + [K in (string extends keyof R ? never : keyof R) | BaseKeys]?: boolean | ExtraType; +}; + +export declare type GetPayloadResult, R extends InternalArgs['result'][string]> = Omit> & GetPayloadResultExtensionObject; + +export declare type GetPayloadResultExtensionKeys = KR; + +export declare type GetPayloadResultExtensionObject = { + [K in GetPayloadResultExtensionKeys]: R[K] extends () => { + compute: (...args: any) => infer C; + } ? C : never; +}; + +export declare function getPrismaClient(config: GetPrismaClientConfig): { + new (optionsArg?: PrismaClientOptions): { + _originalClient: any; + _runtimeDataModel: RuntimeDataModel; + _requestHandler: RequestHandler; + _connectionPromise?: Promise | undefined; + _disconnectionPromise?: Promise | undefined; + _engineConfig: EngineConfig; + _accelerateEngineConfig: AccelerateEngineConfig; + _clientVersion: string; + _errorFormat: ErrorFormat; + _tracingHelper: TracingHelper; + _middlewares: MiddlewareHandler; + _previewFeatures: string[]; + _activeProvider: string; + _globalOmit?: GlobalOmitOptions | undefined; + _extensions: MergedExtensionsList; + /** + * @remarks This is used internally by Policy, do not rename or remove + */ + _engine: Engine; + /** + * A fully constructed/applied Client that references the parent + * PrismaClient. This is used for Client extensions only. + */ + _appliedParent: any; + _createPrismaPromise: PrismaPromiseFactory; + /** + * Hook a middleware into the client + * @param middleware to hook + */ + $use(middleware: QueryMiddleware): void; + $on(eventType: E, callback: EventCallback): any; + $connect(): Promise; + /** + * Disconnect from the database + */ + $disconnect(): Promise; + /** + * Executes a raw query and always returns a number + */ + $executeRawInternal(transaction: PrismaPromiseTransaction | undefined, clientMethod: string, args: RawQueryArgs, middlewareArgsMapper?: MiddlewareArgsMapper): Promise; + /** + * Executes a raw query provided through a safe tag function + * @see https://github.com/prisma/prisma/issues/7142 + * + * @param query + * @param values + * @returns + */ + $executeRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise_2; + /** + * Unsafe counterpart of `$executeRaw` that is susceptible to SQL injections + * @see https://github.com/prisma/prisma/issues/7142 + * + * @param query + * @param values + * @returns + */ + $executeRawUnsafe(query: string, ...values: RawValue[]): PrismaPromise_2; + /** + * Executes a raw command only for MongoDB + * + * @param command + * @returns + */ + $runCommandRaw(command: Record): PrismaPromise_2; + /** + * Executes a raw query and returns selected data + */ + $queryRawInternal(transaction: PrismaPromiseTransaction | undefined, clientMethod: string, args: RawQueryArgs, middlewareArgsMapper?: MiddlewareArgsMapper): Promise; + /** + * Executes a raw query provided through a safe tag function + * @see https://github.com/prisma/prisma/issues/7142 + * + * @param query + * @param values + * @returns + */ + $queryRaw(query: TemplateStringsArray | Sql, ...values: any[]): PrismaPromise_2; + /** + * Counterpart to $queryRaw, that returns strongly typed results + * @param typedSql + */ + $queryRawTyped(typedSql: UnknownTypedSql): PrismaPromise_2; + /** + * Unsafe counterpart of `$queryRaw` that is susceptible to SQL injections + * @see https://github.com/prisma/prisma/issues/7142 + * + * @param query + * @param values + * @returns + */ + $queryRawUnsafe(query: string, ...values: RawValue[]): PrismaPromise_2; + /** + * Execute a batch of requests in a transaction + * @param requests + * @param options + */ + _transactionWithArray({ promises, options, }: { + promises: Array>; + options?: BatchTransactionOptions; + }): Promise; + /** + * Perform a long-running transaction + * @param callback + * @param options + * @returns + */ + _transactionWithCallback({ callback, options, }: { + callback: (client: Client) => Promise; + options?: Options; + }): Promise; + _createItxClient(transaction: PrismaPromiseInteractiveTransaction): Client; + /** + * Execute queries within a transaction + * @param input a callback or a query list + * @param options to set timeouts (callback) + * @returns + */ + $transaction(input: any, options?: any): Promise; + /** + * Runs the middlewares over params before executing a request + * @param internalParams + * @returns + */ + _request(internalParams: InternalRequestParams): Promise; + _executeRequest({ args, clientMethod, dataPath, callsite, action, model, argsMapper, transaction, unpacker, otelParentCtx, customDataProxyFetch, }: InternalRequestParams): Promise; + $metrics: MetricsClient; + /** + * Shortcut for checking a preview flag + * @param feature preview flag + * @returns + */ + _hasPreviewFlag(feature: string): boolean; + $applyPendingMigrations(): Promise; + $extends: typeof $extends; + readonly [Symbol.toStringTag]: string; + }; +}; + +/** + * Config that is stored into the generated client. When the generated client is + * loaded, this same config is passed to {@link getPrismaClient} which creates a + * closure with that config around a non-instantiated [[PrismaClient]]. + */ +export declare type GetPrismaClientConfig = { + runtimeDataModel: RuntimeDataModel; + generator?: GeneratorConfig; + relativeEnvPaths?: { + rootEnvPath?: string | null; + schemaEnvPath?: string | null; + }; + relativePath: string; + dirname: string; + clientVersion: string; + engineVersion: string; + datasourceNames: string[]; + activeProvider: ActiveConnectorType; + /** + * The contents of the schema encoded into a string + * @remarks only used for the purpose of data proxy + */ + inlineSchema: string; + /** + * A special env object just for the data proxy edge runtime. + * Allows bundlers to inject their own env variables (Vercel). + * Allows platforms to declare global variables as env (Workers). + * @remarks only used for the purpose of data proxy + */ + injectableEdgeEnv?: () => LoadedEnv; + /** + * The contents of the datasource url saved in a string. + * This can either be an env var name or connection string. + * It is needed by the client to connect to the Data Proxy. + * @remarks only used for the purpose of data proxy + */ + inlineDatasources: { + [name in string]: { + url: EnvValue; + }; + }; + /** + * The string hash that was produced for a given schema + * @remarks only used for the purpose of data proxy + */ + inlineSchemaHash: string; + /** + * A marker to indicate that the client was not generated via `prisma + * generate` but was generated via `generate --postinstall` script instead. + * @remarks used to error for Vercel/Netlify for schema caching issues + */ + postinstall?: boolean; + /** + * Information about the CI where the Prisma Client has been generated. The + * name of the CI environment is stored at generation time because CI + * information is not always available at runtime. Moreover, the edge client + * has no notion of environment variables, so this works around that. + * @remarks used to error for Vercel/Netlify for schema caching issues + */ + ciName?: string; + /** + * Information about whether we have not found a schema.prisma file in the + * default location, and that we fell back to finding the schema.prisma file + * in the current working directory. This usually means it has been bundled. + */ + isBundled?: boolean; + /** + * A boolean that is `false` when the client was generated with --no-engine. At + * runtime, this means the client will be bound to be using the Data Proxy. + */ + copyEngine?: boolean; + /** + * Optional wasm loading configuration + */ + engineWasm?: EngineWasmLoadingConfig; + compilerWasm?: CompilerWasmLoadingConfig; +}; + +export declare type GetResult = { + findUnique: GetFindResult | null; + findUniqueOrThrow: GetFindResult; + findFirst: GetFindResult | null; + findFirstOrThrow: GetFindResult; + findMany: GetFindResult[]; + create: GetFindResult; + createMany: GetBatchResult; + createManyAndReturn: GetFindResult[]; + update: GetFindResult; + updateMany: GetBatchResult; + updateManyAndReturn: GetFindResult[]; + upsert: GetFindResult; + delete: GetFindResult; + deleteMany: GetBatchResult; + aggregate: GetAggregateResult; + count: GetCountResult; + groupBy: GetGroupByResult; + $queryRaw: unknown; + $queryRawTyped: unknown; + $executeRaw: number; + $queryRawUnsafe: unknown; + $executeRawUnsafe: number; + $runCommandRaw: JsonObject; + findRaw: JsonObject; + aggregateRaw: JsonObject; +}[OperationName]; + +export declare function getRuntime(): GetRuntimeOutput; + +declare type GetRuntimeOutput = { + id: RuntimeName; + prettyName: string; + isEdge: boolean; +}; + +export declare type GetSelect, R extends InternalArgs['result'][string], KR extends keyof R = string extends keyof R ? never : keyof R> = { + [K in KR | keyof Base]?: K extends KR ? boolean : Base[K]; +}; + +declare type GlobalOmitOptions = { + [modelName: string]: { + [fieldName: string]: boolean; + }; +}; + +declare type HandleErrorParams = { + args: JsArgs; + error: any; + clientMethod: string; + callsite?: CallSite; + transaction?: PrismaPromiseTransaction; + modelName?: string; + globalOmit?: GlobalOmitOptions; +}; + +declare type HrTime = [number, number]; + +/** + * Defines High-Resolution Time. + * + * The first number, HrTime[0], is UNIX Epoch time in seconds since 00:00:00 UTC on 1 January 1970. + * The second number, HrTime[1], represents the partial second elapsed since Unix Epoch time represented by first number in nanoseconds. + * For example, 2021-01-01T12:30:10.150Z in UNIX Epoch time in milliseconds is represented as 1609504210150. + * The first number is calculated by converting and truncating the Epoch time in milliseconds to seconds: + * HrTime[0] = Math.trunc(1609504210150 / 1000) = 1609504210. + * The second number is calculated by converting the digits after the decimal point of the subtraction, (1609504210150 / 1000) - HrTime[0], to nanoseconds: + * HrTime[1] = Number((1609504210.150 - HrTime[0]).toFixed(9)) * 1e9 = 150000000. + * This is represented in HrTime format as [1609504210, 150000000]. + */ +declare type HrTime_2 = [number, number]; + +declare type Index = ReadonlyDeep_2<{ + model: string; + type: IndexType; + isDefinedOnField: boolean; + name?: string; + dbName?: string; + algorithm?: string; + clustered?: boolean; + fields: IndexField[]; +}>; + +declare type IndexField = ReadonlyDeep_2<{ + name: string; + sortOrder?: SortOrder; + length?: number; + operatorClass?: string; +}>; + +declare type IndexType = 'id' | 'normal' | 'unique' | 'fulltext'; + +/** + * Matches a JSON array. + * Unlike \`JsonArray\`, readonly arrays are assignable to this type. + */ +export declare interface InputJsonArray extends ReadonlyArray { +} + +/** + * Matches a JSON object. + * Unlike \`JsonObject\`, this type allows undefined and read-only properties. + */ +export declare type InputJsonObject = { + readonly [Key in string]?: InputJsonValue | null; +}; + +/** + * Matches any valid value that can be used as an input for operations like + * create and update as the value of a JSON field. Unlike \`JsonValue\`, this + * type allows read-only arrays and read-only object properties and disallows + * \`null\` at the top level. + * + * \`null\` cannot be used as the value of a JSON field because its meaning + * would be ambiguous. Use \`Prisma.JsonNull\` to store the JSON null value or + * \`Prisma.DbNull\` to clear the JSON value and set the field to the database + * NULL value instead. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-by-null-values + */ +export declare type InputJsonValue = string | number | boolean | InputJsonObject | InputJsonArray | { + toJSON(): unknown; +}; + +declare type InputType = ReadonlyDeep_2<{ + name: string; + constraints: { + maxNumFields: number | null; + minNumFields: number | null; + fields?: string[]; + }; + meta?: { + source?: string; + grouping?: string; + }; + fields: SchemaArg[]; +}>; + +declare type InputTypeRef = TypeRef<'scalar' | 'inputObjectTypes' | 'enumTypes' | 'fieldRefTypes'>; + +declare type InteractiveTransactionInfo = { + /** + * Transaction ID returned by the query engine. + */ + id: string; + /** + * Arbitrary payload the meaning of which depends on the `Engine` implementation. + * For example, `DataProxyEngine` needs to associate different API endpoints with transactions. + * In `LibraryEngine` and `BinaryEngine` it is currently not used. + */ + payload: Payload; +}; + +declare type InteractiveTransactionOptions = Transaction_2.InteractiveTransactionInfo; + +export declare type InternalArgs = { + result: { + [K in keyof R]: { + [P in keyof R[K]]: () => R[K][P]; + }; + }; + model: { + [K in keyof M]: { + [P in keyof M[K]]: () => M[K][P]; + }; + }; + query: { + [K in keyof Q]: { + [P in keyof Q[K]]: () => Q[K][P]; + }; + }; + client: { + [K in keyof C]: () => C[K]; + }; +}; + +declare type InternalRequestParams = { + /** + * The original client method being called. + * Even though the rootField / operation can be changed, + * this method stays as it is, as it's what the user's + * code looks like + */ + clientMethod: string; + /** + * Name of js model that triggered the request. Might be used + * for warnings or error messages + */ + jsModelName?: string; + callsite?: CallSite; + transaction?: PrismaPromiseTransaction; + unpacker?: Unpacker; + otelParentCtx?: Context; + /** Used to "desugar" a user input into an "expanded" one */ + argsMapper?: (args?: UserArgs_2) => UserArgs_2; + /** Used to convert args for middleware and back */ + middlewareArgsMapper?: MiddlewareArgsMapper; + /** Used for Accelerate client extension via Data Proxy */ + customDataProxyFetch?: CustomDataProxyFetch; +} & Omit; + +declare type IsolationLevel = 'READ UNCOMMITTED' | 'READ COMMITTED' | 'REPEATABLE READ' | 'SNAPSHOT' | 'SERIALIZABLE'; + +declare type IsolationLevel_2 = 'ReadUncommitted' | 'ReadCommitted' | 'RepeatableRead' | 'Snapshot' | 'Serializable'; + +declare function isSkip(value: unknown): value is Skip; + +export declare function isTypedSql(value: unknown): value is UnknownTypedSql; + +export declare type ITXClientDenyList = (typeof denylist)[number]; + +export declare const itxClientDenyList: readonly (string | symbol)[]; + +declare interface Job { + resolve: (data: any) => void; + reject: (data: any) => void; + request: any; +} + +/** + * Create a SQL query for a list of values. + */ +export declare function join(values: readonly RawValue[], separator?: string, prefix?: string, suffix?: string): Sql; + +export declare type JsArgs = { + select?: Selection_2; + include?: Selection_2; + omit?: Omission; + [argName: string]: JsInputValue; +}; + +export declare type JsInputValue = null | undefined | string | number | boolean | bigint | Uint8Array | Date | DecimalJsLike | ObjectEnumValue | RawParameters | JsonConvertible | FieldRef | JsInputValue[] | Skip | { + [key: string]: JsInputValue; +}; + +declare type JsonArgumentValue = number | string | boolean | null | RawTaggedValue | JsonArgumentValue[] | { + [key: string]: JsonArgumentValue; +}; + +/** + * From https://github.com/sindresorhus/type-fest/ + * Matches a JSON array. + */ +export declare interface JsonArray extends Array { +} + +export declare type JsonBatchQuery = { + batch: JsonQuery[]; + transaction?: { + isolationLevel?: IsolationLevel_2; + }; +}; + +export declare interface JsonConvertible { + toJSON(): unknown; +} + +declare type JsonFieldSelection = { + arguments?: Record | RawTaggedValue; + selection: JsonSelectionSet; +}; + +declare class JsonNull extends NullTypesEnumValue { + #private; +} + +/** + * From https://github.com/sindresorhus/type-fest/ + * Matches a JSON object. + * This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. + */ +export declare type JsonObject = { + [Key in string]?: JsonValue; +}; + +export declare type JsonQuery = { + modelName?: string; + action: JsonQueryAction; + query: JsonFieldSelection; +}; + +declare type JsonQueryAction = 'findUnique' | 'findUniqueOrThrow' | 'findFirst' | 'findFirstOrThrow' | 'findMany' | 'createOne' | 'createMany' | 'createManyAndReturn' | 'updateOne' | 'updateMany' | 'updateManyAndReturn' | 'deleteOne' | 'deleteMany' | 'upsertOne' | 'aggregate' | 'groupBy' | 'executeRaw' | 'queryRaw' | 'runCommandRaw' | 'findRaw' | 'aggregateRaw'; + +declare type JsonSelectionSet = { + $scalars?: boolean; + $composites?: boolean; +} & { + [fieldName: string]: boolean | JsonFieldSelection; +}; + +/** + * From https://github.com/sindresorhus/type-fest/ + * Matches any valid JSON value. + */ +export declare type JsonValue = string | number | boolean | JsonObject | JsonArray | null; + +export declare type JsOutputValue = null | string | number | boolean | bigint | Uint8Array | Date | Decimal | JsOutputValue[] | { + [key: string]: JsOutputValue; +}; + +export declare type JsPromise = Promise & {}; + +declare type KnownErrorParams = { + code: string; + clientVersion: string; + meta?: Record; + batchRequestIdx?: number; +}; + +/** + * A pointer from the current {@link Span} to another span in the same trace or + * in a different trace. + * Few examples of Link usage. + * 1. Batch Processing: A batch of elements may contain elements associated + * with one or more traces/spans. Since there can only be one parent + * SpanContext, Link is used to keep reference to SpanContext of all + * elements in the batch. + * 2. Public Endpoint: A SpanContext in incoming client request on a public + * endpoint is untrusted from service provider perspective. In such case it + * is advisable to start a new trace with appropriate sampling decision. + * However, it is desirable to associate incoming SpanContext to new trace + * initiated on service provider side so two traces (from Client and from + * Service Provider) can be correlated. + */ +declare interface Link { + /** The {@link SpanContext} of a linked span. */ + context: SpanContext; + /** A set of {@link SpanAttributes} on the link. */ + attributes?: SpanAttributes; + /** Count of attributes of the link that were dropped due to collection limits */ + droppedAttributesCount?: number; +} + +declare type LoadedEnv = { + message?: string; + parsed: { + [x: string]: string; + }; +} | undefined; + +declare type LocationInFile = { + fileName: string; + lineNumber: number | null; + columnNumber: number | null; +}; + +declare type LogDefinition = { + level: LogLevel; + emit: 'stdout' | 'event'; +}; + +/** + * Typings for the events we emit. + * + * @remarks + * If this is updated, our edge runtime shim needs to be updated as well. + */ +declare type LogEmitter = { + on(event: E, listener: (event: EngineEvent) => void): LogEmitter; + emit(event: QueryEventType, payload: QueryEvent): boolean; + emit(event: LogEventType, payload: LogEvent): boolean; +}; + +declare type LogEvent = { + timestamp: Date; + message: string; + target: string; +}; + +declare type LogEventType = 'info' | 'warn' | 'error'; + +declare type LogLevel = 'info' | 'query' | 'warn' | 'error'; + +/** + * Generates more strict variant of an enum which, unlike regular enum, + * throws on non-existing property access. This can be useful in following situations: + * - we have an API, that accepts both `undefined` and `SomeEnumType` as an input + * - enum values are generated dynamically from DMMF. + * + * In that case, if using normal enums and no compile-time typechecking, using non-existing property + * will result in `undefined` value being used, which will be accepted. Using strict enum + * in this case will help to have a runtime exception, telling you that you are probably doing something wrong. + * + * Note: if you need to check for existence of a value in the enum you can still use either + * `in` operator or `hasOwnProperty` function. + * + * @param definition + * @returns + */ +export declare function makeStrictEnum>(definition: T): T; + +export declare function makeTypedQueryFactory(sql: string): (...values: any[]) => TypedSql; + +declare type Mappings = ReadonlyDeep_2<{ + modelOperations: ModelMapping[]; + otherOperations: { + read: string[]; + write: string[]; + }; +}>; + +/** + * Class that holds the list of all extensions, applied to particular instance, + * as well as resolved versions of the components that need to apply on + * different levels. Main idea of this class: avoid re-resolving as much of the + * stuff as possible when new extensions are added while also delaying the + * resolve until the point it is actually needed. For example, computed fields + * of the model won't be resolved unless the model is actually queried. Neither + * adding extensions with `client` component only cause other components to + * recompute. + */ +declare class MergedExtensionsList { + private head?; + private constructor(); + static empty(): MergedExtensionsList; + static single(extension: ExtensionArgs): MergedExtensionsList; + isEmpty(): boolean; + append(extension: ExtensionArgs): MergedExtensionsList; + getAllComputedFields(dmmfModelName: string): ComputedFieldsMap | undefined; + getAllClientExtensions(): ClientArg | undefined; + getAllModelExtensions(dmmfModelName: string): ModelArg | undefined; + getAllQueryCallbacks(jsModelName: string, operation: string): any; + getAllBatchQueryCallbacks(): BatchQueryOptionsCb[]; +} + +export declare type MergeExtArgs, Args extends Record> = ComputeDeep & AllModelsToStringIndex>; + +export declare type Metric = { + key: string; + value: T; + labels: Record; + description: string; +}; + +export declare type MetricHistogram = { + buckets: MetricHistogramBucket[]; + sum: number; + count: number; +}; + +export declare type MetricHistogramBucket = [maxValue: number, count: number]; + +export declare type Metrics = { + counters: Metric[]; + gauges: Metric[]; + histograms: Metric[]; +}; + +export declare class MetricsClient { + private _client; + constructor(client: Client); + /** + * Returns all metrics gathered up to this point in prometheus format. + * Result of this call can be exposed directly to prometheus scraping endpoint + * + * @param options + * @returns + */ + prometheus(options?: MetricsOptions): Promise; + /** + * Returns all metrics gathered up to this point in prometheus format. + * + * @param options + * @returns + */ + json(options?: MetricsOptions): Promise; +} + +declare type MetricsOptions = { + /** + * Labels to add to every metrics in key-value format + */ + globalLabels?: Record; +}; + +declare type MetricsOptionsCommon = { + globalLabels?: Record; +}; + +declare type MetricsOptionsJson = { + format: 'json'; +} & MetricsOptionsCommon; + +declare type MetricsOptionsPrometheus = { + format: 'prometheus'; +} & MetricsOptionsCommon; + +declare type MiddlewareArgsMapper = { + requestArgsToMiddlewareArgs(requestArgs: RequestArgs): MiddlewareArgs; + middlewareArgsToRequestArgs(middlewareArgs: MiddlewareArgs): RequestArgs; +}; + +declare class MiddlewareHandler { + private _middlewares; + use(middleware: M): void; + get(id: number): M | undefined; + has(id: number): boolean; + length(): number; +} + +declare type Model = ReadonlyDeep_2<{ + name: string; + dbName: string | null; + schema: string | null; + fields: Field[]; + uniqueFields: string[][]; + uniqueIndexes: uniqueIndex[]; + documentation?: string; + primaryKey: PrimaryKey | null; + isGenerated?: boolean; +}>; + +declare enum ModelAction { + findUnique = "findUnique", + findUniqueOrThrow = "findUniqueOrThrow", + findFirst = "findFirst", + findFirstOrThrow = "findFirstOrThrow", + findMany = "findMany", + create = "create", + createMany = "createMany", + createManyAndReturn = "createManyAndReturn", + update = "update", + updateMany = "updateMany", + updateManyAndReturn = "updateManyAndReturn", + upsert = "upsert", + delete = "delete", + deleteMany = "deleteMany", + groupBy = "groupBy", + count = "count",// TODO: count does not actually exist in DMMF + aggregate = "aggregate", + findRaw = "findRaw", + aggregateRaw = "aggregateRaw" +} + +export declare type ModelArg = { + [MethodName in string]: unknown; +}; + +export declare type ModelArgs = { + model: { + [ModelName in string]: ModelArg; + }; +}; + +export declare type ModelKey = M extends keyof TypeMap['model'] ? M : Capitalize; + +declare type ModelMapping = ReadonlyDeep_2<{ + model: string; + plural: string; + findUnique?: string | null; + findUniqueOrThrow?: string | null; + findFirst?: string | null; + findFirstOrThrow?: string | null; + findMany?: string | null; + create?: string | null; + createMany?: string | null; + createManyAndReturn?: string | null; + update?: string | null; + updateMany?: string | null; + updateManyAndReturn?: string | null; + upsert?: string | null; + delete?: string | null; + deleteMany?: string | null; + aggregate?: string | null; + groupBy?: string | null; + count?: string | null; + findRaw?: string | null; + aggregateRaw?: string | null; +}>; + +export declare type ModelQueryOptionsCb = (args: ModelQueryOptionsCbArgs) => Promise; + +export declare type ModelQueryOptionsCbArgs = { + model: string; + operation: string; + args: JsArgs; + query: (args: JsArgs) => Promise; +}; + +declare type MultiBatchResponse = { + type: 'multi'; + plans: object[]; +}; + +export declare type NameArgs = { + name?: string; +}; + +export declare type Narrow = { + [K in keyof A]: A[K] extends Function ? A[K] : Narrow; +} | (A extends Narrowable ? A : never); + +export declare type Narrowable = string | number | bigint | boolean | []; + +export declare type NeverToUnknown = [T] extends [never] ? unknown : T; + +declare class NullTypesEnumValue extends ObjectEnumValue { + _getNamespace(): string; +} + +/** + * Base class for unique values of object-valued enums. + */ +export declare abstract class ObjectEnumValue { + constructor(arg?: symbol); + abstract _getNamespace(): string; + _getName(): string; + toString(): string; +} + +export declare const objectEnumValues: { + classes: { + DbNull: typeof DbNull; + JsonNull: typeof JsonNull; + AnyNull: typeof AnyNull; + }; + instances: { + DbNull: DbNull; + JsonNull: JsonNull; + AnyNull: AnyNull; + }; +}; + +declare const officialPrismaAdapters: readonly ["@prisma/adapter-planetscale", "@prisma/adapter-neon", "@prisma/adapter-libsql", "@prisma/adapter-better-sqlite3", "@prisma/adapter-d1", "@prisma/adapter-pg", "@prisma/adapter-mssql", "@prisma/adapter-mariadb"]; + +export declare type Omission = Record; + +declare type Omit_2 = { + [P in keyof T as P extends K ? never : P]: T[P]; +}; +export { Omit_2 as Omit } + +export declare type OmitValue = Key extends keyof Omit ? Omit[Key] : false; + +export declare type Operation = 'findFirst' | 'findFirstOrThrow' | 'findUnique' | 'findUniqueOrThrow' | 'findMany' | 'create' | 'createMany' | 'createManyAndReturn' | 'update' | 'updateMany' | 'updateManyAndReturn' | 'upsert' | 'delete' | 'deleteMany' | 'aggregate' | 'count' | 'groupBy' | '$queryRaw' | '$executeRaw' | '$queryRawUnsafe' | '$executeRawUnsafe' | 'findRaw' | 'aggregateRaw' | '$runCommandRaw'; + +export declare type OperationPayload = { + name: string; + scalars: { + [ScalarName in string]: unknown; + }; + objects: { + [ObjectName in string]: unknown; + }; + composites: { + [CompositeName in string]: unknown; + }; +}; + +export declare type Optional = { + [P in K & keyof O]?: O[P]; +} & { + [P in Exclude]: O[P]; +}; + +export declare type OptionalFlat = { + [K in keyof T]?: T[K]; +}; + +export declare type OptionalKeys = { + [K in keyof O]-?: {} extends Pick_2 ? K : never; +}[keyof O]; + +declare type Options = { + /** Timeout for starting the transaction */ + maxWait?: number; + /** Timeout for the transaction body */ + timeout?: number; + /** Transaction isolation level */ + isolationLevel?: IsolationLevel_2; +}; + +declare type Options_2 = { + clientVersion: string; +}; + +export declare type Or = { + 0: { + 0: 0; + 1: 1; + }; + 1: { + 0: 1; + 1: 1; + }; +}[A][B]; + +declare type OtherOperationMappings = ReadonlyDeep_2<{ + read: string[]; + write: string[]; +}>; + +declare type OutputType = ReadonlyDeep_2<{ + name: string; + fields: SchemaField[]; +}>; + +declare type OutputTypeRef = TypeRef<'scalar' | 'outputObjectTypes' | 'enumTypes'>; + +export declare function Param<$Type, $Value extends string>(name: $Value): Param<$Type, $Value>; + +export declare type Param = { + readonly name: $Value; +}; + +export declare type PatchFlat = O1 & Omit_2; + +export declare type Path = O extends unknown ? P extends [infer K, ...infer R] ? K extends keyof O ? Path : Default : O : never; + +export declare type Payload = T extends { + [K: symbol]: { + types: { + payload: any; + }; + }; +} ? T[symbol]['types']['payload'] : any; + +export declare type PayloadToResult = RenameAndNestPayloadKeys

> = { + [K in keyof O]?: O[K][K] extends any[] ? PayloadToResult[] : O[K][K] extends object ? PayloadToResult : O[K][K]; +}; + +declare type Pick_2 = { + [P in keyof T as P extends K ? P : never]: T[P]; +}; +export { Pick_2 as Pick } + +declare type PrimaryKey = ReadonlyDeep_2<{ + name: string | null; + fields: string[]; +}>; + +export declare class PrismaClientInitializationError extends Error { + clientVersion: string; + errorCode?: string; + retryable?: boolean; + constructor(message: string, clientVersion: string, errorCode?: string); + get [Symbol.toStringTag](): string; +} + +export declare class PrismaClientKnownRequestError extends Error implements ErrorWithBatchIndex { + code: string; + meta?: Record; + clientVersion: string; + batchRequestIdx?: number; + constructor(message: string, { code, clientVersion, meta, batchRequestIdx }: KnownErrorParams); + get [Symbol.toStringTag](): string; +} + +export declare type PrismaClientOptions = { + /** + * Overwrites the primary datasource url from your schema.prisma file + */ + datasourceUrl?: string; + /** + * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale. + */ + adapter?: SqlDriverAdapterFactory | null; + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasources?: Datasources; + /** + * @default "colorless" + */ + errorFormat?: ErrorFormat; + /** + * The default values for Transaction options + * maxWait ?= 2000 + * timeout ?= 5000 + */ + transactionOptions?: Transaction_2.Options; + /** + * @example + * \`\`\` + * // Defaults to stdout + * log: ['query', 'info', 'warn'] + * + * // Emit as events + * log: [ + * { emit: 'stdout', level: 'query' }, + * { emit: 'stdout', level: 'info' }, + * { emit: 'stdout', level: 'warn' } + * ] + * \`\`\` + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). + */ + log?: Array; + omit?: GlobalOmitOptions; + /** + * @internal + * You probably don't want to use this. \`__internal\` is used by internal tooling. + */ + __internal?: { + debug?: boolean; + engine?: { + cwd?: string; + binaryPath?: string; + endpoint?: string; + allowTriggerPanic?: boolean; + }; + /** This can be used for testing purposes */ + configOverride?: (config: GetPrismaClientConfig) => GetPrismaClientConfig; + }; +}; + +export declare class PrismaClientRustPanicError extends Error { + clientVersion: string; + constructor(message: string, clientVersion: string); + get [Symbol.toStringTag](): string; +} + +export declare class PrismaClientUnknownRequestError extends Error implements ErrorWithBatchIndex { + clientVersion: string; + batchRequestIdx?: number; + constructor(message: string, { clientVersion, batchRequestIdx }: UnknownErrorParams); + get [Symbol.toStringTag](): string; +} + +export declare class PrismaClientValidationError extends Error { + name: string; + clientVersion: string; + constructor(message: string, { clientVersion }: Options_2); + get [Symbol.toStringTag](): string; +} + +declare function prismaGraphQLToJSError({ error, user_facing_error }: RequestError, clientVersion: string, activeProvider: string): PrismaClientKnownRequestError | PrismaClientUnknownRequestError; + +declare type PrismaOperationSpec = { + args: TArgs; + action: TAction; + model: string; +}; + +export declare interface PrismaPromise extends Promise { + [Symbol.toStringTag]: 'PrismaPromise'; +} + +/** + * Prisma's `Promise` that is backwards-compatible. All additions on top of the + * original `Promise` are optional so that it can be backwards-compatible. + * @see [[createPrismaPromise]] + */ +declare interface PrismaPromise_2 = any> extends Promise { + get spec(): TSpec; + /** + * Extension of the original `.then` function + * @param onfulfilled same as regular promises + * @param onrejected same as regular promises + * @param transaction transaction options + */ + then(onfulfilled?: (value: TResult) => R1 | PromiseLike, onrejected?: (error: unknown) => R2 | PromiseLike, transaction?: PrismaPromiseTransaction): Promise; + /** + * Extension of the original `.catch` function + * @param onrejected same as regular promises + * @param transaction transaction options + */ + catch(onrejected?: ((reason: any) => R | PromiseLike) | undefined | null, transaction?: PrismaPromiseTransaction): Promise; + /** + * Extension of the original `.finally` function + * @param onfinally same as regular promises + * @param transaction transaction options + */ + finally(onfinally?: (() => void) | undefined | null, transaction?: PrismaPromiseTransaction): Promise; + /** + * Called when executing a batch of regular tx + * @param transaction transaction options for batch tx + */ + requestTransaction?(transaction: PrismaPromiseBatchTransaction): PromiseLike; +} + +declare type PrismaPromiseBatchTransaction = { + kind: 'batch'; + id: number; + isolationLevel?: IsolationLevel_2; + index: number; + lock: PromiseLike; +}; + +declare type PrismaPromiseCallback = (transaction?: PrismaPromiseTransaction) => Promise; + +/** + * Creates a [[PrismaPromise]]. It is Prisma's implementation of `Promise` which + * is essentially a proxy for `Promise`. All the transaction-compatible client + * methods return one, this allows for pre-preparing queries without executing + * them until `.then` is called. It's the foundation of Prisma's query batching. + * @param callback that will be wrapped within our promise implementation + * @see [[PrismaPromise]] + * @returns + */ +declare type PrismaPromiseFactory = >(callback: PrismaPromiseCallback, op?: T) => PrismaPromise_2; + +declare type PrismaPromiseInteractiveTransaction = { + kind: 'itx'; + id: string; + payload: PayloadType; +}; + +declare type PrismaPromiseTransaction = PrismaPromiseBatchTransaction | PrismaPromiseInteractiveTransaction; + +export declare const PrivateResultType: unique symbol; + +declare type Provider = 'mysql' | 'postgres' | 'sqlite' | 'sqlserver'; + +declare namespace Public { + export { + validator + } +} +export { Public } + +declare namespace Public_2 { + export { + Args, + Result, + Payload, + PrismaPromise, + Operation, + Exact + } +} + +declare type Query = ReadonlyDeep_2<{ + name: string; + args: SchemaArg[]; + output: QueryOutput; +}>; + +declare interface Queryable extends AdapterInfo { + /** + * Execute a query and return its result. + */ + queryRaw(params: Query): Promise; + /** + * Execute a query and return the number of affected rows. + */ + executeRaw(params: Query): Promise; +} + +declare type QueryCompiler = { + compile(request: string): {}; + compileBatch(batchRequest: string): BatchResponse; + free(): void; +}; + +declare interface QueryCompilerConstructor { + new (options: QueryCompilerOptions): QueryCompiler; +} + +declare type QueryCompilerOptions = { + datamodel: string; + provider: Provider; + connectionInfo: ConnectionInfo; +}; + +declare type QueryEngineBatchGraphQLRequest = { + batch: QueryEngineRequest[]; + transaction?: boolean; + isolationLevel?: IsolationLevel_2; +}; + +declare type QueryEngineBatchRequest = QueryEngineBatchGraphQLRequest | JsonBatchQuery; + +declare type QueryEngineConfig = { + datamodel: string; + configDir: string; + logQueries: boolean; + ignoreEnvVarErrors: boolean; + datasourceOverrides: Record; + env: Record; + logLevel: QueryEngineLogLevel; + engineProtocol: QueryEngineProtocol; + enableTracing: boolean; +}; + +declare interface QueryEngineConstructor { + new (config: QueryEngineConfig, logger: (log: string) => void, adapter?: ErrorCapturingSqlDriverAdapter): QueryEngineInstance; +} + +declare type QueryEngineInstance = { + connect(headers: string, requestId: string): Promise; + disconnect(headers: string, requestId: string): Promise; + /** + * Frees any resources allocated by the engine's WASM instance. This method is automatically created by WASM bindgen. + * Noop for other engines. + */ + free?(): void; + /** + * @param requestStr JSON.stringified `QueryEngineRequest | QueryEngineBatchRequest` + * @param headersStr JSON.stringified `QueryEngineRequestHeaders` + */ + query(requestStr: string, headersStr: string, transactionId: string | undefined, requestId: string): Promise; + sdlSchema?(): Promise; + startTransaction(options: string, traceHeaders: string, requestId: string): Promise; + commitTransaction(id: string, traceHeaders: string, requestId: string): Promise; + rollbackTransaction(id: string, traceHeaders: string, requestId: string): Promise; + metrics?(options: string): Promise; + applyPendingMigrations?(): Promise; + trace(requestId: string): Promise; +}; + +declare type QueryEngineLogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'off'; + +declare type QueryEngineProtocol = 'graphql' | 'json'; + +declare type QueryEngineRequest = { + query: string; + variables: Object; +}; + +declare type QueryEngineResultData = { + data: T; +}; + +declare type QueryEvent = { + timestamp: Date; + query: string; + params: string; + duration: number; + target: string; +}; + +declare type QueryEventType = 'query'; + +declare type QueryIntrospectionBuiltinType = 'int' | 'bigint' | 'float' | 'double' | 'string' | 'enum' | 'bytes' | 'bool' | 'char' | 'decimal' | 'json' | 'xml' | 'uuid' | 'datetime' | 'date' | 'time' | 'int-array' | 'bigint-array' | 'float-array' | 'double-array' | 'string-array' | 'char-array' | 'bytes-array' | 'bool-array' | 'decimal-array' | 'json-array' | 'xml-array' | 'uuid-array' | 'datetime-array' | 'date-array' | 'time-array' | 'null' | 'unknown'; + +declare type QueryMiddleware = (params: QueryMiddlewareParams, next: (params: QueryMiddlewareParams) => Promise) => Promise; + +declare type QueryMiddlewareParams = { + /** The model this is executed on */ + model?: string; + /** The action that is being handled */ + action: Action; + /** TODO what is this */ + dataPath: string[]; + /** TODO what is this */ + runInTransaction: boolean; + args?: UserArgs_2; +}; + +export declare type QueryOptions = { + query: { + [ModelName in string]: { + [ModelAction in string]: ModelQueryOptionsCb; + } | QueryOptionsCb; + }; +}; + +export declare type QueryOptionsCb = (args: QueryOptionsCbArgs) => Promise; + +export declare type QueryOptionsCbArgs = { + model?: string; + operation: string; + args: JsArgs | RawQueryArgs; + query: (args: JsArgs | RawQueryArgs) => Promise; +}; + +declare type QueryOutput = ReadonlyDeep_2<{ + name: string; + isRequired: boolean; + isList: boolean; +}>; + +/** + * Create raw SQL statement. + */ +export declare function raw(value: string): Sql; + +export declare type RawParameters = { + __prismaRawParameters__: true; + values: string; +}; + +export declare type RawQueryArgs = Sql | UnknownTypedSql | [query: string, ...values: RawValue[]]; + +declare type RawResponse = { + columns: string[]; + types: QueryIntrospectionBuiltinType[]; + rows: unknown[][]; +}; + +declare type RawTaggedValue = { + $type: 'Raw'; + value: unknown; +}; + +/** + * Supported value or SQL instance. + */ +export declare type RawValue = Value | Sql; + +export declare type ReadonlyDeep = { + readonly [K in keyof T]: ReadonlyDeep; +}; + +declare type ReadonlyDeep_2 = { + +readonly [K in keyof O]: ReadonlyDeep_2; +}; + +declare type Record_2 = { + [P in T]: U; +}; +export { Record_2 as Record } + +export declare type RenameAndNestPayloadKeys

= { + [K in keyof P as K extends 'scalars' | 'objects' | 'composites' ? keyof P[K] : never]: P[K]; +}; + +declare type RequestBatchOptions = { + transaction?: TransactionOptions_2; + traceparent?: string; + numTry?: number; + containsWrite: boolean; + customDataProxyFetch?: CustomDataProxyFetch; +}; + +declare interface RequestError { + error: string; + user_facing_error: { + is_panic: boolean; + message: string; + meta?: Record; + error_code?: string; + batch_request_idx?: number; + }; +} + +declare class RequestHandler { + client: Client; + dataloader: DataLoader; + private logEmitter?; + constructor(client: Client, logEmitter?: LogEmitter); + request(params: RequestParams): Promise; + mapQueryEngineResult({ dataPath, unpacker }: RequestParams, response: QueryEngineResultData): any; + /** + * Handles the error and logs it, logging the error is done synchronously waiting for the event + * handlers to finish. + */ + handleAndLogRequestError(params: HandleErrorParams): never; + handleRequestError({ error, clientMethod, callsite, transaction, args, modelName, globalOmit, }: HandleErrorParams): never; + sanitizeMessage(message: any): any; + unpack(data: unknown, dataPath: string[], unpacker?: Unpacker): any; + get [Symbol.toStringTag](): string; +} + +declare type RequestOptions = { + traceparent?: string; + numTry?: number; + interactiveTransaction?: InteractiveTransactionOptions; + isWrite: boolean; + customDataProxyFetch?: CustomDataProxyFetch; +}; + +declare type RequestParams = { + modelName?: string; + action: Action; + protocolQuery: JsonQuery; + dataPath: string[]; + clientMethod: string; + callsite?: CallSite; + transaction?: PrismaPromiseTransaction; + extensions: MergedExtensionsList; + args?: any; + headers?: Record; + unpacker?: Unpacker; + otelParentCtx?: Context; + otelChildCtx?: Context; + globalOmit?: GlobalOmitOptions; + customDataProxyFetch?: CustomDataProxyFetch; +}; + +declare type RequiredExtensionArgs = NameArgs & ResultArgs & ModelArgs & ClientArgs & QueryOptions; +export { RequiredExtensionArgs } +export { RequiredExtensionArgs as UserArgs } + +export declare type RequiredKeys = { + [K in keyof O]-?: {} extends Pick_2 ? never : K; +}[keyof O]; + +declare function resolveDatasourceUrl({ inlineDatasources, overrideDatasources, env, clientVersion, }: { + inlineDatasources: GetPrismaClientConfig['inlineDatasources']; + overrideDatasources: Datasources; + env: Record; + clientVersion: string; +}): string; + +export declare type Result = T extends { + [K: symbol]: { + types: { + payload: any; + }; + }; +} ? GetResult : GetResult<{ + composites: {}; + objects: {}; + scalars: {}; + name: ''; +}, {}, F>; + +export declare type Result_2 = Result; + +declare namespace Result_3 { + export { + Count, + GetFindResult, + SelectablePayloadFields, + SelectField, + DefaultSelection, + UnwrapPayload, + ApplyOmit, + OmitValue, + GetCountResult, + Aggregate, + GetAggregateResult, + GetBatchResult, + GetGroupByResult, + GetResult, + ExtractGlobalOmit + } +} + +declare type Result_4 = { + map(fn: (value: T) => U): Result_4; + flatMap(fn: (value: T) => Result_4): Result_4; +} & ({ + readonly ok: true; + readonly value: T; +} | { + readonly ok: false; + readonly error: Error_2; +}); + +export declare type ResultArg = { + [FieldName in string]: ResultFieldDefinition; +}; + +export declare type ResultArgs = { + result: { + [ModelName in string]: ResultArg; + }; +}; + +export declare type ResultArgsFieldCompute = (model: any) => unknown; + +export declare type ResultFieldDefinition = { + needs?: { + [FieldName in string]: boolean; + }; + compute: ResultArgsFieldCompute; +}; + +export declare type Return = T extends (...args: any[]) => infer R ? R : T; + +export declare type RuntimeDataModel = { + readonly models: Record; + readonly enums: Record; + readonly types: Record; +}; + +declare type RuntimeEnum = Omit; + +declare type RuntimeModel = Omit; + +declare type RuntimeName = 'workerd' | 'deno' | 'netlify' | 'node' | 'bun' | 'edge-light' | ''; + +declare type Schema = ReadonlyDeep_2<{ + rootQueryType?: string; + rootMutationType?: string; + inputObjectTypes: { + model?: InputType[]; + prisma: InputType[]; + }; + outputObjectTypes: { + model: OutputType[]; + prisma: OutputType[]; + }; + enumTypes: { + model?: SchemaEnum[]; + prisma: SchemaEnum[]; + }; + fieldRefTypes: { + prisma?: FieldRefType[]; + }; +}>; + +declare type SchemaArg = ReadonlyDeep_2<{ + name: string; + comment?: string; + isNullable: boolean; + isRequired: boolean; + inputTypes: InputTypeRef[]; + deprecation?: Deprecation; +}>; + +declare type SchemaEnum = ReadonlyDeep_2<{ + name: string; + values: string[]; +}>; + +declare type SchemaField = ReadonlyDeep_2<{ + name: string; + isNullable?: boolean; + outputType: OutputTypeRef; + args: SchemaArg[]; + deprecation?: Deprecation; + documentation?: string; +}>; + +export declare type Select = T extends U ? T : never; + +export declare type SelectablePayloadFields = { + objects: { + [k in K]: O; + }; +} | { + composites: { + [k in K]: O; + }; +}; + +export declare type SelectField

, K extends PropertyKey> = P extends { + objects: Record; +} ? P['objects'][K] : P extends { + composites: Record; +} ? P['composites'][K] : never; + +declare type Selection_2 = Record; +export { Selection_2 as Selection } + +export declare function serializeJsonQuery({ modelName, action, args, runtimeDataModel, extensions, callsite, clientMethod, errorFormat, clientVersion, previewFeatures, globalOmit, }: SerializeParams): JsonQuery; + +declare type SerializeParams = { + runtimeDataModel: RuntimeDataModel; + modelName?: string; + action: Action; + args?: JsArgs; + extensions?: MergedExtensionsList; + callsite?: CallSite; + clientMethod: string; + clientVersion: string; + errorFormat: ErrorFormat; + previewFeatures: string[]; + globalOmit?: GlobalOmitOptions; +}; + +declare class Skip { + constructor(param?: symbol); + ifUndefined(value: T | undefined): T | Skip; +} + +export declare const skip: Skip; + +declare type SortOrder = 'asc' | 'desc'; + +/** + * An interface that represents a span. A span represents a single operation + * within a trace. Examples of span might include remote procedure calls or a + * in-process function calls to sub-components. A Trace has a single, top-level + * "root" Span that in turn may have zero or more child Spans, which in turn + * may have children. + * + * Spans are created by the {@link Tracer.startSpan} method. + */ +declare interface Span { + /** + * Returns the {@link SpanContext} object associated with this Span. + * + * Get an immutable, serializable identifier for this span that can be used + * to create new child spans. Returned SpanContext is usable even after the + * span ends. + * + * @returns the SpanContext object associated with this Span. + */ + spanContext(): SpanContext; + /** + * Sets an attribute to the span. + * + * Sets a single Attribute with the key and value passed as arguments. + * + * @param key the key for this attribute. + * @param value the value for this attribute. Setting a value null or + * undefined is invalid and will result in undefined behavior. + */ + setAttribute(key: string, value: SpanAttributeValue): this; + /** + * Sets attributes to the span. + * + * @param attributes the attributes that will be added. + * null or undefined attribute values + * are invalid and will result in undefined behavior. + */ + setAttributes(attributes: SpanAttributes): this; + /** + * Adds an event to the Span. + * + * @param name the name of the event. + * @param [attributesOrStartTime] the attributes that will be added; these are + * associated with this event. Can be also a start time + * if type is {@type TimeInput} and 3rd param is undefined + * @param [startTime] start time of the event. + */ + addEvent(name: string, attributesOrStartTime?: SpanAttributes | TimeInput, startTime?: TimeInput): this; + /** + * Adds a single link to the span. + * + * Links added after the creation will not affect the sampling decision. + * It is preferred span links be added at span creation. + * + * @param link the link to add. + */ + addLink(link: Link): this; + /** + * Adds multiple links to the span. + * + * Links added after the creation will not affect the sampling decision. + * It is preferred span links be added at span creation. + * + * @param links the links to add. + */ + addLinks(links: Link[]): this; + /** + * Sets a status to the span. If used, this will override the default Span + * status. Default is {@link SpanStatusCode.UNSET}. SetStatus overrides the value + * of previous calls to SetStatus on the Span. + * + * @param status the SpanStatus to set. + */ + setStatus(status: SpanStatus): this; + /** + * Updates the Span name. + * + * This will override the name provided via {@link Tracer.startSpan}. + * + * Upon this update, any sampling behavior based on Span name will depend on + * the implementation. + * + * @param name the Span name. + */ + updateName(name: string): this; + /** + * Marks the end of Span execution. + * + * Call to End of a Span MUST not have any effects on child spans. Those may + * still be running and can be ended later. + * + * Do not return `this`. The Span generally should not be used after it + * is ended so chaining is not desired in this context. + * + * @param [endTime] the time to set as Span's end time. If not provided, + * use the current time as the span's end time. + */ + end(endTime?: TimeInput): void; + /** + * Returns the flag whether this span will be recorded. + * + * @returns true if this Span is active and recording information like events + * with the `AddEvent` operation and attributes using `setAttributes`. + */ + isRecording(): boolean; + /** + * Sets exception as a span event + * @param exception the exception the only accepted values are string or Error + * @param [time] the time to set as Span's event time. If not provided, + * use the current time. + */ + recordException(exception: Exception, time?: TimeInput): void; +} + +/** + * @deprecated please use {@link Attributes} + */ +declare type SpanAttributes = Attributes; + +/** + * @deprecated please use {@link AttributeValue} + */ +declare type SpanAttributeValue = AttributeValue; + +declare type SpanCallback = (span?: Span, context?: Context) => R; + +/** + * A SpanContext represents the portion of a {@link Span} which must be + * serialized and propagated along side of a {@link Baggage}. + */ +declare interface SpanContext { + /** + * The ID of the trace that this span belongs to. It is worldwide unique + * with practically sufficient probability by being made as 16 randomly + * generated bytes, encoded as a 32 lowercase hex characters corresponding to + * 128 bits. + */ + traceId: string; + /** + * The ID of the Span. It is globally unique with practically sufficient + * probability by being made as 8 randomly generated bytes, encoded as a 16 + * lowercase hex characters corresponding to 64 bits. + */ + spanId: string; + /** + * Only true if the SpanContext was propagated from a remote parent. + */ + isRemote?: boolean; + /** + * Trace flags to propagate. + * + * It is represented as 1 byte (bitmap). Bit to represent whether trace is + * sampled or not. When set, the least significant bit documents that the + * caller may have recorded trace data. A caller who does not record trace + * data out-of-band leaves this flag unset. + * + * see {@link TraceFlags} for valid flag values. + */ + traceFlags: number; + /** + * Tracing-system-specific info to propagate. + * + * The tracestate field value is a `list` as defined below. The `list` is a + * series of `list-members` separated by commas `,`, and a list-member is a + * key/value pair separated by an equals sign `=`. Spaces and horizontal tabs + * surrounding `list-members` are ignored. There can be a maximum of 32 + * `list-members` in a `list`. + * More Info: https://www.w3.org/TR/trace-context/#tracestate-field + * + * Examples: + * Single tracing system (generic format): + * tracestate: rojo=00f067aa0ba902b7 + * Multiple tracing systems (with different formatting): + * tracestate: rojo=00f067aa0ba902b7,congo=t61rcWkgMzE + */ + traceState?: TraceState; +} + +declare enum SpanKind { + /** Default value. Indicates that the span is used internally. */ + INTERNAL = 0, + /** + * Indicates that the span covers server-side handling of an RPC or other + * remote request. + */ + SERVER = 1, + /** + * Indicates that the span covers the client-side wrapper around an RPC or + * other remote request. + */ + CLIENT = 2, + /** + * Indicates that the span describes producer sending a message to a + * broker. Unlike client and server, there is no direct critical path latency + * relationship between producer and consumer spans. + */ + PRODUCER = 3, + /** + * Indicates that the span describes consumer receiving a message from a + * broker. Unlike client and server, there is no direct critical path latency + * relationship between producer and consumer spans. + */ + CONSUMER = 4 +} + +/** + * Options needed for span creation + */ +declare interface SpanOptions { + /** + * The SpanKind of a span + * @default {@link SpanKind.INTERNAL} + */ + kind?: SpanKind; + /** A span's attributes */ + attributes?: SpanAttributes; + /** {@link Link}s span to other spans */ + links?: Link[]; + /** A manually specified start time for the created `Span` object. */ + startTime?: TimeInput; + /** The new span should be a root span. (Ignore parent from context). */ + root?: boolean; +} + +declare interface SpanStatus { + /** The status code of this message. */ + code: SpanStatusCode; + /** A developer-facing error message. */ + message?: string; +} + +/** + * An enumeration of status codes. + */ +declare enum SpanStatusCode { + /** + * The default status. + */ + UNSET = 0, + /** + * The operation has been validated by an Application developer or + * Operator to have completed successfully. + */ + OK = 1, + /** + * The operation contains an error. + */ + ERROR = 2 +} + +/** + * A SQL instance can be nested within each other to build SQL strings. + */ +export declare class Sql { + readonly values: Value[]; + readonly strings: string[]; + constructor(rawStrings: readonly string[], rawValues: readonly RawValue[]); + get sql(): string; + get statement(): string; + get text(): string; + inspect(): { + sql: string; + statement: string; + text: string; + values: unknown[]; + }; +} + +declare interface SqlDriverAdapter extends SqlQueryable { + /** + * Execute multiple SQL statements separated by semicolon. + */ + executeScript(script: string): Promise; + /** + * Start new transaction. + */ + startTransaction(isolationLevel?: IsolationLevel): Promise; + /** + * Optional method that returns extra connection info + */ + getConnectionInfo?(): ConnectionInfo; + /** + * Dispose of the connection and release any resources. + */ + dispose(): Promise; +} + +export declare interface SqlDriverAdapterFactory extends DriverAdapterFactory { + connect(): Promise; +} + +declare type SqlQuery = { + sql: string; + args: Array; + argTypes: Array; +}; + +declare interface SqlQueryable extends Queryable { +} + +declare interface SqlResultSet { + /** + * List of column types appearing in a database query, in the same order as `columnNames`. + * They are used within the Query Engine to convert values from JS to Quaint values. + */ + columnTypes: Array; + /** + * List of column names appearing in a database query, in the same order as `columnTypes`. + */ + columnNames: Array; + /** + * List of rows retrieved from a database query. + * Each row is a list of values, whose length matches `columnNames` and `columnTypes`. + */ + rows: Array>; + /** + * The last ID of an `INSERT` statement, if any. + * This is required for `AUTO_INCREMENT` columns in databases based on MySQL and SQLite. + */ + lastInsertId?: string; +} + +/** + * Create a SQL object from a template string. + */ +export declare function sqltag(strings: readonly string[], ...values: readonly RawValue[]): Sql; + +/** + * Defines TimeInput. + * + * hrtime, epoch milliseconds, performance.now() or Date + */ +declare type TimeInput = HrTime_2 | number | Date; + +export declare type ToTuple = T extends any[] ? T : [T]; + +declare interface TraceState { + /** + * Create a new TraceState which inherits from this TraceState and has the + * given key set. + * The new entry will always be added in the front of the list of states. + * + * @param key key of the TraceState entry. + * @param value value of the TraceState entry. + */ + set(key: string, value: string): TraceState; + /** + * Return a new TraceState which inherits from this TraceState but does not + * contain the given key. + * + * @param key the key for the TraceState entry to be removed. + */ + unset(key: string): TraceState; + /** + * Returns the value to which the specified key is mapped, or `undefined` if + * this map contains no mapping for the key. + * + * @param key with which the specified value is to be associated. + * @returns the value to which the specified key is mapped, or `undefined` if + * this map contains no mapping for the key. + */ + get(key: string): string | undefined; + /** + * Serializes the TraceState to a `list` as defined below. The `list` is a + * series of `list-members` separated by commas `,`, and a list-member is a + * key/value pair separated by an equals sign `=`. Spaces and horizontal tabs + * surrounding `list-members` are ignored. There can be a maximum of 32 + * `list-members` in a `list`. + * + * @returns the serialized string. + */ + serialize(): string; +} + +declare interface TracingHelper { + isEnabled(): boolean; + getTraceParent(context?: Context): string; + dispatchEngineSpans(spans: EngineSpan[]): void; + getActiveContext(): Context | undefined; + runInChildSpan(nameOrOptions: string | ExtendedSpanOptions, callback: SpanCallback): R; +} + +declare interface Transaction extends AdapterInfo, SqlQueryable { + /** + * Transaction options. + */ + readonly options: TransactionOptions; + /** + * Commit the transaction. + */ + commit(): Promise; + /** + * Roll back the transaction. + */ + rollback(): Promise; +} + +declare namespace Transaction_2 { + export { + Options, + IsolationLevel_2 as IsolationLevel, + InteractiveTransactionInfo, + TransactionHeaders + } +} + +declare type TransactionHeaders = { + traceparent?: string; +}; + +declare type TransactionOptions = { + usePhantomQuery: boolean; +}; + +declare type TransactionOptions_2 = { + kind: 'itx'; + options: InteractiveTransactionOptions; +} | { + kind: 'batch'; + options: BatchTransactionOptions; +}; + +export declare class TypedSql { + [PrivateResultType]: Result; + constructor(sql: string, values: Values); + get sql(): string; + get values(): Values; +} + +export declare type TypeMapCbDef = Fn<{ + extArgs: InternalArgs; +}, TypeMapDef>; + +/** Shared */ +export declare type TypeMapDef = Record; + +declare type TypeRef = { + isList: boolean; + type: string; + location: AllowedLocations; + namespace?: FieldNamespace; +}; + +declare namespace Types { + export { + Result_3 as Result, + Extensions_2 as Extensions, + Utils, + Public_2 as Public, + isSkip, + Skip, + skip, + UnknownTypedSql, + OperationPayload as Payload + } +} +export { Types } + +declare type uniqueIndex = ReadonlyDeep_2<{ + name: string; + fields: string[]; +}>; + +declare type UnknownErrorParams = { + clientVersion: string; + batchRequestIdx?: number; +}; + +export declare type UnknownTypedSql = TypedSql; + +declare type Unpacker = (data: any) => any; + +export declare type UnwrapPayload

= {} extends P ? unknown : { + [K in keyof P]: P[K] extends { + scalars: infer S; + composites: infer C; + }[] ? Array> : P[K] extends { + scalars: infer S; + composites: infer C; + } | null ? S & UnwrapPayload | Select : never; +}; + +export declare type UnwrapPromise

= P extends Promise ? R : P; + +export declare type UnwrapTuple = { + [K in keyof Tuple]: K extends `${number}` ? Tuple[K] extends PrismaPromise ? X : UnwrapPromise : UnwrapPromise; +}; + +/** + * Input that flows from the user into the Client. + */ +declare type UserArgs_2 = any; + +declare namespace Utils { + export { + EmptyToUnknown, + NeverToUnknown, + PatchFlat, + Omit_2 as Omit, + Pick_2 as Pick, + ComputeDeep, + Compute, + OptionalFlat, + ReadonlyDeep, + Narrowable, + Narrow, + Exact, + Cast, + Record_2 as Record, + UnwrapPromise, + UnwrapTuple, + Path, + Fn, + Call, + RequiredKeys, + OptionalKeys, + Optional, + Return, + ToTuple, + RenameAndNestPayloadKeys, + PayloadToResult, + Select, + Equals, + Or, + JsPromise + } +} + +declare function validator(): (select: Exact) => S; + +declare function validator, O extends keyof C[M] & Operation>(client: C, model: M, operation: O): (select: Exact>) => S; + +declare function validator, O extends keyof C[M] & Operation, P extends keyof Args>(client: C, model: M, operation: O, prop: P): (select: Exact[P]>) => S; + +/** + * Values supported by SQL engine. + */ +export declare type Value = unknown; + +export declare function warnEnvConflicts(envPaths: any): void; + +export declare const warnOnce: (key: string, message: string, ...args: unknown[]) => void; + +export { } diff --git a/generated/prisma/runtime/library.js b/generated/prisma/runtime/library.js new file mode 100644 index 0000000..ee9674c --- /dev/null +++ b/generated/prisma/runtime/library.js @@ -0,0 +1,146 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +"use strict";var bu=Object.create;var Vt=Object.defineProperty;var wu=Object.getOwnPropertyDescriptor;var xu=Object.getOwnPropertyNames;var vu=Object.getPrototypeOf,Pu=Object.prototype.hasOwnProperty;var Oo=(e,r)=>()=>(e&&(r=e(e=0)),r);var ne=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),tr=(e,r)=>{for(var t in r)Vt(e,t,{get:r[t],enumerable:!0})},_o=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of xu(r))!Pu.call(e,i)&&i!==t&&Vt(e,i,{get:()=>r[i],enumerable:!(n=wu(r,i))||n.enumerable});return e};var k=(e,r,t)=>(t=e!=null?bu(vu(e)):{},_o(r||!e||!e.__esModule?Vt(t,"default",{value:e,enumerable:!0}):t,e)),Tu=e=>_o(Vt({},"__esModule",{value:!0}),e);var gi=ne((Ng,ss)=>{"use strict";ss.exports=(e,r=process.argv)=>{let t=e.startsWith("-")?"":e.length===1?"-":"--",n=r.indexOf(t+e),i=r.indexOf("--");return n!==-1&&(i===-1||n{"use strict";var $c=require("node:os"),as=require("node:tty"),de=gi(),{env:G}=process,Qe;de("no-color")||de("no-colors")||de("color=false")||de("color=never")?Qe=0:(de("color")||de("colors")||de("color=true")||de("color=always"))&&(Qe=1);"FORCE_COLOR"in G&&(G.FORCE_COLOR==="true"?Qe=1:G.FORCE_COLOR==="false"?Qe=0:Qe=G.FORCE_COLOR.length===0?1:Math.min(parseInt(G.FORCE_COLOR,10),3));function hi(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function yi(e,r){if(Qe===0)return 0;if(de("color=16m")||de("color=full")||de("color=truecolor"))return 3;if(de("color=256"))return 2;if(e&&!r&&Qe===void 0)return 0;let t=Qe||0;if(G.TERM==="dumb")return t;if(process.platform==="win32"){let n=$c.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in G)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in G)||G.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in G){let n=parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(G.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM)||"COLORTERM"in G?1:t}function qc(e){let r=yi(e,e&&e.isTTY);return hi(r)}ls.exports={supportsColor:qc,stdout:hi(yi(!0,as.isatty(1))),stderr:hi(yi(!0,as.isatty(2)))}});var ds=ne((Fg,ps)=>{"use strict";var jc=us(),Er=gi();function cs(e){if(/^\d{3,4}$/.test(e)){let t=/(\d{1,2})(\d{2})/.exec(e)||[];return{major:0,minor:parseInt(t[1],10),patch:parseInt(t[2],10)}}let r=(e||"").split(".").map(t=>parseInt(t,10));return{major:r[0],minor:r[1],patch:r[2]}}function Ei(e){let{CI:r,FORCE_HYPERLINK:t,NETLIFY:n,TEAMCITY_VERSION:i,TERM_PROGRAM:o,TERM_PROGRAM_VERSION:s,VTE_VERSION:a,TERM:l}=process.env;if(t)return!(t.length>0&&parseInt(t,10)===0);if(Er("no-hyperlink")||Er("no-hyperlinks")||Er("hyperlink=false")||Er("hyperlink=never"))return!1;if(Er("hyperlink=true")||Er("hyperlink=always")||n)return!0;if(!jc.supportsColor(e)||e&&!e.isTTY)return!1;if("WT_SESSION"in process.env)return!0;if(process.platform==="win32"||r||i)return!1;if(o){let u=cs(s||"");switch(o){case"iTerm.app":return u.major===3?u.minor>=1:u.major>3;case"WezTerm":return u.major>=20200620;case"vscode":return u.major>1||u.major===1&&u.minor>=72;case"ghostty":return!0}}if(a){if(a==="0.50.0")return!1;let u=cs(a);return u.major>0||u.minor>=50}switch(l){case"alacritty":return!0}return!1}ps.exports={supportsHyperlink:Ei,stdout:Ei(process.stdout),stderr:Ei(process.stderr)}});var ms=ne((Kg,Vc)=>{Vc.exports={name:"@prisma/internals",version:"6.11.1",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-engine-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var xi=ne((th,Qc)=>{Qc.exports={name:"@prisma/engines-version",version:"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"f40f79ec31188888a2e33acda0ecc8fd10a853a9"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var vi=ne(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.enginesVersion=void 0;rn.enginesVersion=xi().prisma.enginesVersion});var ys=ne((hh,hs)=>{"use strict";hs.exports=e=>{let r=e.match(/^[ \t]*(?=\S)/gm);return r?r.reduce((t,n)=>Math.min(t,n.length),1/0):0}});var Ai=ne((bh,ws)=>{"use strict";ws.exports=(e,r=1,t)=>{if(t={indent:" ",includeEmptyLines:!1,...t},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof r!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof r}\``);if(typeof t.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof t.indent}\``);if(r===0)return e;let n=t.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,t.indent.repeat(r))}});var Ts=ne((vh,Ps)=>{"use strict";Ps.exports=({onlyFirst:e=!1}={})=>{let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}});var Oi=ne((Ph,Ss)=>{"use strict";var rp=Ts();Ss.exports=e=>typeof e=="string"?e.replace(rp(),""):e});var Rs=ne((Ch,tp)=>{tp.exports={name:"dotenv",version:"16.5.0",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Ds=ne((Ah,Ne)=>{"use strict";var Ni=require("node:fs"),Li=require("node:path"),np=require("node:os"),ip=require("node:crypto"),op=Rs(),As=op.version,sp=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function ap(e){let r={},t=e.toString();t=t.replace(/\r\n?/mg,` +`);let n;for(;(n=sp.exec(t))!=null;){let i=n[1],o=n[2]||"";o=o.trim();let s=o[0];o=o.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),s==='"'&&(o=o.replace(/\\n/g,` +`),o=o.replace(/\\r/g,"\r")),r[i]=o}return r}function lp(e){let r=ks(e),t=B.configDotenv({path:r});if(!t.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${r} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=Is(e).split(","),i=n.length,o;for(let s=0;s=i)throw a}return B.parse(o)}function up(e){console.log(`[dotenv@${As}][WARN] ${e}`)}function it(e){console.log(`[dotenv@${As}][DEBUG] ${e}`)}function Is(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function cp(e,r){let t;try{t=new URL(r)}catch(a){if(a.code==="ERR_INVALID_URL"){let l=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw l.code="INVALID_DOTENV_KEY",l}throw a}let n=t.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let i=t.searchParams.get("environment");if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let o=`DOTENV_VAULT_${i.toUpperCase()}`,s=e.parsed[o];if(!s){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${o} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:s,key:n}}function ks(e){let r=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let t of e.path)Ni.existsSync(t)&&(r=t.endsWith(".vault")?t:`${t}.vault`);else r=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else r=Li.resolve(process.cwd(),".env.vault");return Ni.existsSync(r)?r:null}function Cs(e){return e[0]==="~"?Li.join(np.homedir(),e.slice(1)):e}function pp(e){!!(e&&e.debug)&&it("Loading env from encrypted .env.vault");let t=B._parseVault(e),n=process.env;return e&&e.processEnv!=null&&(n=e.processEnv),B.populate(n,t,e),{parsed:t}}function dp(e){let r=Li.resolve(process.cwd(),".env"),t="utf8",n=!!(e&&e.debug);e&&e.encoding?t=e.encoding:n&&it("No encoding is specified. UTF-8 is used by default");let i=[r];if(e&&e.path)if(!Array.isArray(e.path))i=[Cs(e.path)];else{i=[];for(let l of e.path)i.push(Cs(l))}let o,s={};for(let l of i)try{let u=B.parse(Ni.readFileSync(l,{encoding:t}));B.populate(s,u,e)}catch(u){n&&it(`Failed to load ${l} ${u.message}`),o=u}let a=process.env;return e&&e.processEnv!=null&&(a=e.processEnv),B.populate(a,s,e),o?{parsed:s,error:o}:{parsed:s}}function mp(e){if(Is(e).length===0)return B.configDotenv(e);let r=ks(e);return r?B._configVault(e):(up(`You set DOTENV_KEY but you are missing a .env.vault file at ${r}. Did you forget to build it?`),B.configDotenv(e))}function fp(e,r){let t=Buffer.from(r.slice(-64),"hex"),n=Buffer.from(e,"base64"),i=n.subarray(0,12),o=n.subarray(-16);n=n.subarray(12,-16);try{let s=ip.createDecipheriv("aes-256-gcm",t,i);return s.setAuthTag(o),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,l=s.message==="Invalid key length",u=s.message==="Unsupported state or unable to authenticate data";if(a||l){let c=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw c.code="INVALID_DOTENV_KEY",c}else if(u){let c=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw c.code="DECRYPTION_FAILED",c}else throw s}}function gp(e,r,t={}){let n=!!(t&&t.debug),i=!!(t&&t.override);if(typeof r!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(r))Object.prototype.hasOwnProperty.call(e,o)?(i===!0&&(e[o]=r[o]),n&&it(i===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):e[o]=r[o]}var B={configDotenv:dp,_configVault:pp,_parseVault:lp,config:mp,decrypt:fp,parse:ap,populate:gp};Ne.exports.configDotenv=B.configDotenv;Ne.exports._configVault=B._configVault;Ne.exports._parseVault=B._parseVault;Ne.exports.config=B.config;Ne.exports.decrypt=B.decrypt;Ne.exports.parse=B.parse;Ne.exports.populate=B.populate;Ne.exports=B});var Ls=ne((Nh,an)=>{"use strict";an.exports=(e={})=>{let r;if(e.repoUrl)r=e.repoUrl;else if(e.user&&e.repo)r=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let t=new URL(`${r}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}t.searchParams.set(i,o)}}return t.toString()};an.exports.default=an.exports});var Wi=ne((pE,ia)=>{"use strict";ia.exports=function(){function e(r,t,n,i,o){return rn?n+1:r+1:i===o?t:t+1}return function(r,t){if(r===t)return 0;if(r.length>t.length){var n=r;r=t,t=n}for(var i=r.length,o=t.length;i>0&&r.charCodeAt(i-1)===t.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict"});var ca=Oo(()=>{"use strict"});var Bf={};tr(Bf,{DMMF:()=>ut,Debug:()=>N,Decimal:()=>ve,Extensions:()=>ti,MetricsClient:()=>Lr,PrismaClientInitializationError:()=>T,PrismaClientKnownRequestError:()=>z,PrismaClientRustPanicError:()=>le,PrismaClientUnknownRequestError:()=>j,PrismaClientValidationError:()=>Z,Public:()=>ni,Sql:()=>oe,createParam:()=>Ra,defineDmmfProperty:()=>Oa,deserializeJsonResponse:()=>Tr,deserializeRawResult:()=>Zn,dmmfToRuntimeDataModel:()=>Zs,empty:()=>La,getPrismaClient:()=>hu,getRuntime:()=>Vn,join:()=>Na,makeStrictEnum:()=>yu,makeTypedQueryFactory:()=>_a,objectEnumValues:()=>Cn,raw:()=>ro,serializeJsonQuery:()=>Nn,skip:()=>_n,sqltag:()=>to,warnEnvConflicts:()=>Eu,warnOnce:()=>st});module.exports=Tu(Bf);var ti={};tr(ti,{defineExtension:()=>No,getExtensionContext:()=>Lo});function No(e){return typeof e=="function"?e:r=>r.$extends(e)}function Lo(e){return e}var ni={};tr(ni,{validator:()=>Fo});function Fo(...e){return r=>r}var Bt={};tr(Bt,{$:()=>Vo,bgBlack:()=>Nu,bgBlue:()=>$u,bgCyan:()=>ju,bgGreen:()=>Fu,bgMagenta:()=>qu,bgRed:()=>Lu,bgWhite:()=>Vu,bgYellow:()=>Mu,black:()=>ku,blue:()=>nr,bold:()=>W,cyan:()=>De,dim:()=>Ie,gray:()=>Hr,green:()=>qe,grey:()=>_u,hidden:()=>Au,inverse:()=>Cu,italic:()=>Ru,magenta:()=>Du,red:()=>ce,reset:()=>Su,strikethrough:()=>Iu,underline:()=>Y,white:()=>Ou,yellow:()=>ke});var ii,Mo,$o,qo,jo=!0;typeof process<"u"&&({FORCE_COLOR:ii,NODE_DISABLE_COLORS:Mo,NO_COLOR:$o,TERM:qo}=process.env||{},jo=process.stdout&&process.stdout.isTTY);var Vo={enabled:!Mo&&$o==null&&qo!=="dumb"&&(ii!=null&&ii!=="0"||jo)};function F(e,r){let t=new RegExp(`\\x1b\\[${r}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${r}m`;return function(o){return!Vo.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(t,i+n):o)+i}}var Su=F(0,0),W=F(1,22),Ie=F(2,22),Ru=F(3,23),Y=F(4,24),Cu=F(7,27),Au=F(8,28),Iu=F(9,29),ku=F(30,39),ce=F(31,39),qe=F(32,39),ke=F(33,39),nr=F(34,39),Du=F(35,39),De=F(36,39),Ou=F(37,39),Hr=F(90,39),_u=F(90,39),Nu=F(40,49),Lu=F(41,49),Fu=F(42,49),Mu=F(43,49),$u=F(44,49),qu=F(45,49),ju=F(46,49),Vu=F(47,49);var Bu=100,Bo=["green","yellow","blue","magenta","cyan","red"],Kr=[],Uo=Date.now(),Uu=0,oi=typeof process<"u"?process.env:{};globalThis.DEBUG??=oi.DEBUG??"";globalThis.DEBUG_COLORS??=oi.DEBUG_COLORS?oi.DEBUG_COLORS==="true":!0;var Yr={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let r=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),t=r.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=r.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return t&&!n},log:(...e)=>{let[r,t,...n]=e;(console.warn??console.log)(`${r} ${t}`,...n)},formatters:{}};function Gu(e){let r={color:Bo[Uu++%Bo.length],enabled:Yr.enabled(e),namespace:e,log:Yr.log,extend:()=>{}},t=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=r;if(n.length!==0&&Kr.push([o,...n]),Kr.length>Bu&&Kr.shift(),Yr.enabled(o)||i){let l=n.map(c=>typeof c=="string"?c:Qu(c)),u=`+${Date.now()-Uo}ms`;Uo=Date.now(),globalThis.DEBUG_COLORS?a(Bt[s](W(o)),...l,Bt[s](u)):a(o,...l,u)}};return new Proxy(t,{get:(n,i)=>r[i],set:(n,i,o)=>r[i]=o})}var N=new Proxy(Gu,{get:(e,r)=>Yr[r],set:(e,r,t)=>Yr[r]=t});function Qu(e,r=2){let t=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(t.has(i))return"[Circular *]";t.add(i)}else if(typeof i=="bigint")return i.toString();return i},r)}function Go(e=7500){let r=Kr.map(([t,...n])=>`${t} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` +`);return r.length!!(e&&typeof e=="object"),Qt=e=>e&&!!e[Oe],be=(e,r,t)=>{if(Qt(e)){let n=e[Oe](),{matched:i,selections:o}=n.match(r);return i&&o&&Object.keys(o).forEach(s=>t(s,o[s])),i}if(li(e)){if(!li(r))return!1;if(Array.isArray(e)){if(!Array.isArray(r))return!1;let n=[],i=[],o=[];for(let s of e.keys()){let a=e[s];Qt(a)&&a[Wu]?o.push(a):o.length?i.push(a):n.push(a)}if(o.length){if(o.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(r.lengthbe(u,s[c],t))&&i.every((u,c)=>be(u,a[c],t))&&(o.length===0||be(o[0],l,t))}return e.length===r.length&&e.every((s,a)=>be(s,r[a],t))}return Reflect.ownKeys(e).every(n=>{let i=e[n];return(n in r||Qt(o=i)&&o[Oe]().matcherType==="optional")&&be(i,r[n],t);var o})}return Object.is(r,e)},Ge=e=>{var r,t,n;return li(e)?Qt(e)?(r=(t=(n=e[Oe]()).getSelectionKeys)==null?void 0:t.call(n))!=null?r:[]:Array.isArray(e)?zr(e,Ge):zr(Object.values(e),Ge):[]},zr=(e,r)=>e.reduce((t,n)=>t.concat(r(n)),[]);function pe(e){return Object.assign(e,{optional:()=>Ju(e),and:r=>q(e,r),or:r=>Hu(e,r),select:r=>r===void 0?Jo(e):Jo(r,e)})}function Ju(e){return pe({[Oe]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return r===void 0?(Ge(e).forEach(i=>n(i,void 0)),{matched:!0,selections:t}):{matched:be(e,r,n),selections:t}},getSelectionKeys:()=>Ge(e),matcherType:"optional"})})}function q(...e){return pe({[Oe]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return{matched:e.every(i=>be(i,r,n)),selections:t}},getSelectionKeys:()=>zr(e,Ge),matcherType:"and"})})}function Hu(...e){return pe({[Oe]:()=>({match:r=>{let t={},n=(i,o)=>{t[i]=o};return zr(e,Ge).forEach(i=>n(i,void 0)),{matched:e.some(i=>be(i,r,n)),selections:t}},getSelectionKeys:()=>zr(e,Ge),matcherType:"or"})})}function A(e){return{[Oe]:()=>({match:r=>({matched:!!e(r)})})}}function Jo(...e){let r=typeof e[0]=="string"?e[0]:void 0,t=e.length===2?e[1]:typeof e[0]=="string"?void 0:e[0];return pe({[Oe]:()=>({match:n=>{let i={[r??Wt]:n};return{matched:t===void 0||be(t,n,(o,s)=>{i[o]=s}),selections:i}},getSelectionKeys:()=>[r??Wt].concat(t===void 0?[]:Ge(t))})})}function ye(e){return typeof e=="number"}function je(e){return typeof e=="string"}function Ve(e){return typeof e=="bigint"}var rg=pe(A(function(e){return!0}));var Be=e=>Object.assign(pe(e),{startsWith:r=>{return Be(q(e,(t=r,A(n=>je(n)&&n.startsWith(t)))));var t},endsWith:r=>{return Be(q(e,(t=r,A(n=>je(n)&&n.endsWith(t)))));var t},minLength:r=>Be(q(e,(t=>A(n=>je(n)&&n.length>=t))(r))),length:r=>Be(q(e,(t=>A(n=>je(n)&&n.length===t))(r))),maxLength:r=>Be(q(e,(t=>A(n=>je(n)&&n.length<=t))(r))),includes:r=>{return Be(q(e,(t=r,A(n=>je(n)&&n.includes(t)))));var t},regex:r=>{return Be(q(e,(t=r,A(n=>je(n)&&!!n.match(t)))));var t}}),tg=Be(A(je)),Ee=e=>Object.assign(pe(e),{between:(r,t)=>Ee(q(e,((n,i)=>A(o=>ye(o)&&n<=o&&i>=o))(r,t))),lt:r=>Ee(q(e,(t=>A(n=>ye(n)&&nEe(q(e,(t=>A(n=>ye(n)&&n>t))(r))),lte:r=>Ee(q(e,(t=>A(n=>ye(n)&&n<=t))(r))),gte:r=>Ee(q(e,(t=>A(n=>ye(n)&&n>=t))(r))),int:()=>Ee(q(e,A(r=>ye(r)&&Number.isInteger(r)))),finite:()=>Ee(q(e,A(r=>ye(r)&&Number.isFinite(r)))),positive:()=>Ee(q(e,A(r=>ye(r)&&r>0))),negative:()=>Ee(q(e,A(r=>ye(r)&&r<0)))}),ng=Ee(A(ye)),Ue=e=>Object.assign(pe(e),{between:(r,t)=>Ue(q(e,((n,i)=>A(o=>Ve(o)&&n<=o&&i>=o))(r,t))),lt:r=>Ue(q(e,(t=>A(n=>Ve(n)&&nUe(q(e,(t=>A(n=>Ve(n)&&n>t))(r))),lte:r=>Ue(q(e,(t=>A(n=>Ve(n)&&n<=t))(r))),gte:r=>Ue(q(e,(t=>A(n=>Ve(n)&&n>=t))(r))),positive:()=>Ue(q(e,A(r=>Ve(r)&&r>0))),negative:()=>Ue(q(e,A(r=>Ve(r)&&r<0)))}),ig=Ue(A(Ve)),og=pe(A(function(e){return typeof e=="boolean"})),sg=pe(A(function(e){return typeof e=="symbol"})),ag=pe(A(function(e){return e==null})),lg=pe(A(function(e){return e!=null}));var ui=class extends Error{constructor(r){let t;try{t=JSON.stringify(r)}catch{t=r}super(`Pattern matching error: no pattern matches value ${t}`),this.input=void 0,this.input=r}},ci={matched:!1,value:void 0};function hr(e){return new pi(e,ci)}var pi=class e{constructor(r,t){this.input=void 0,this.state=void 0,this.input=r,this.state=t}with(...r){if(this.state.matched)return this;let t=r[r.length-1],n=[r[0]],i;r.length===3&&typeof r[1]=="function"?i=r[1]:r.length>2&&n.push(...r.slice(1,r.length-1));let o=!1,s={},a=(u,c)=>{o=!0,s[u]=c},l=!n.some(u=>be(u,this.input,a))||i&&!i(this.input)?ci:{matched:!0,value:t(o?Wt in s?s[Wt]:s:this.input,this.input)};return new e(this.input,l)}when(r,t){if(this.state.matched)return this;let n=!!r(this.input);return new e(this.input,n?{matched:!0,value:t(this.input,this.input)}:ci)}otherwise(r){return this.state.matched?this.state.value:r(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new ui(this.input)}run(){return this.exhaustive()}returnType(){return this}};var zo=require("node:util");var Ku={warn:ke("prisma:warn")},Yu={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function Jt(e,...r){Yu.warn()&&console.warn(`${Ku.warn} ${e}`,...r)}var zu=(0,zo.promisify)(Yo.default.exec),ee=gr("prisma:get-platform"),Zu=["1.0.x","1.1.x","3.0.x"];async function Zo(){let e=Kt.default.platform(),r=process.arch;if(e==="freebsd"){let s=await Yt("freebsd-version");if(s&&s.trim().length>0){let l=/^(\d+)\.?/.exec(s);if(l)return{platform:"freebsd",targetDistro:`freebsd${l[1]}`,arch:r}}}if(e!=="linux")return{platform:e,arch:r};let t=await ec(),n=await lc(),i=tc({arch:r,archFromUname:n,familyDistro:t.familyDistro}),{libssl:o}=await nc(i);return{platform:"linux",libssl:o,arch:r,archFromUname:n,...t}}function Xu(e){let r=/^ID="?([^"\n]*)"?$/im,t=/^ID_LIKE="?([^"\n]*)"?$/im,n=r.exec(e),i=n&&n[1]&&n[1].toLowerCase()||"",o=t.exec(e),s=o&&o[1]&&o[1].toLowerCase()||"",a=hr({id:i,idLike:s}).with({id:"alpine"},({id:l})=>({targetDistro:"musl",familyDistro:l,originalDistro:l})).with({id:"raspbian"},({id:l})=>({targetDistro:"arm",familyDistro:"debian",originalDistro:l})).with({id:"nixos"},({id:l})=>({targetDistro:"nixos",originalDistro:l,familyDistro:"nixos"})).with({id:"debian"},{id:"ubuntu"},({id:l})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:l})).with({id:"rhel"},{id:"centos"},{id:"fedora"},({id:l})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:l})).when(({idLike:l})=>l.includes("debian")||l.includes("ubuntu"),({id:l})=>({targetDistro:"debian",familyDistro:"debian",originalDistro:l})).when(({idLike:l})=>i==="arch"||l.includes("arch"),({id:l})=>({targetDistro:"debian",familyDistro:"arch",originalDistro:l})).when(({idLike:l})=>l.includes("centos")||l.includes("fedora")||l.includes("rhel")||l.includes("suse"),({id:l})=>({targetDistro:"rhel",familyDistro:"rhel",originalDistro:l})).otherwise(({id:l})=>({targetDistro:void 0,familyDistro:void 0,originalDistro:l}));return ee(`Found distro info: +${JSON.stringify(a,null,2)}`),a}async function ec(){let e="/etc/os-release";try{let r=await di.default.readFile(e,{encoding:"utf-8"});return Xu(r)}catch{return{targetDistro:void 0,familyDistro:void 0,originalDistro:void 0}}}function rc(e){let r=/^OpenSSL\s(\d+\.\d+)\.\d+/.exec(e);if(r){let t=`${r[1]}.x`;return Xo(t)}}function Ho(e){let r=/libssl\.so\.(\d)(\.\d)?/.exec(e);if(r){let t=`${r[1]}${r[2]??".0"}.x`;return Xo(t)}}function Xo(e){let r=(()=>{if(rs(e))return e;let t=e.split(".");return t[1]="0",t.join(".")})();if(Zu.includes(r))return r}function tc(e){return hr(e).with({familyDistro:"musl"},()=>(ee('Trying platform-specific paths for "alpine"'),["/lib","/usr/lib"])).with({familyDistro:"debian"},({archFromUname:r})=>(ee('Trying platform-specific paths for "debian" (and "ubuntu")'),[`/usr/lib/${r}-linux-gnu`,`/lib/${r}-linux-gnu`])).with({familyDistro:"rhel"},()=>(ee('Trying platform-specific paths for "rhel"'),["/lib64","/usr/lib64"])).otherwise(({familyDistro:r,arch:t,archFromUname:n})=>(ee(`Don't know any platform-specific paths for "${r}" on ${t} (${n})`),[]))}async function nc(e){let r='grep -v "libssl.so.0"',t=await Ko(e);if(t){ee(`Found libssl.so file using platform-specific paths: ${t}`);let o=Ho(t);if(ee(`The parsed libssl version is: ${o}`),o)return{libssl:o,strategy:"libssl-specific-path"}}ee('Falling back to "ldconfig" and other generic paths');let n=await Yt(`ldconfig -p | sed "s/.*=>s*//" | sed "s|.*/||" | grep libssl | sort | ${r}`);if(n||(n=await Ko(["/lib64","/usr/lib64","/lib","/usr/lib"])),n){ee(`Found libssl.so file using "ldconfig" or other generic paths: ${n}`);let o=Ho(n);if(ee(`The parsed libssl version is: ${o}`),o)return{libssl:o,strategy:"ldconfig"}}let i=await Yt("openssl version -v");if(i){ee(`Found openssl binary with version: ${i}`);let o=rc(i);if(ee(`The parsed openssl version is: ${o}`),o)return{libssl:o,strategy:"openssl-binary"}}return ee("Couldn't find any version of libssl or OpenSSL in the system"),{}}async function Ko(e){for(let r of e){let t=await ic(r);if(t)return t}}async function ic(e){try{return(await di.default.readdir(e)).find(t=>t.startsWith("libssl.so.")&&!t.startsWith("libssl.so.0"))}catch(r){if(r.code==="ENOENT")return;throw r}}async function ir(){let{binaryTarget:e}=await es();return e}function oc(e){return e.binaryTarget!==void 0}async function mi(){let{memoized:e,...r}=await es();return r}var Ht={};async function es(){if(oc(Ht))return Promise.resolve({...Ht,memoized:!0});let e=await Zo(),r=sc(e);return Ht={...e,binaryTarget:r},{...Ht,memoized:!1}}function sc(e){let{platform:r,arch:t,archFromUname:n,libssl:i,targetDistro:o,familyDistro:s,originalDistro:a}=e;r==="linux"&&!["x64","arm64"].includes(t)&&Jt(`Prisma only officially supports Linux on amd64 (x86_64) and arm64 (aarch64) system architectures (detected "${t}" instead). If you are using your own custom Prisma engines, you can ignore this warning, as long as you've compiled the engines for your system architecture "${n}".`);let l="1.1.x";if(r==="linux"&&i===void 0){let c=hr({familyDistro:s}).with({familyDistro:"debian"},()=>"Please manually install OpenSSL via `apt-get update -y && apt-get install -y openssl` and try installing Prisma again. If you're running Prisma on Docker, add this command to your Dockerfile, or switch to an image that already has OpenSSL installed.").otherwise(()=>"Please manually install OpenSSL and try installing Prisma again.");Jt(`Prisma failed to detect the libssl/openssl version to use, and may not work as expected. Defaulting to "openssl-${l}". +${c}`)}let u="debian";if(r==="linux"&&o===void 0&&ee(`Distro is "${a}". Falling back to Prisma engines built for "${u}".`),r==="darwin"&&t==="arm64")return"darwin-arm64";if(r==="darwin")return"darwin";if(r==="win32")return"windows";if(r==="freebsd")return o;if(r==="openbsd")return"openbsd";if(r==="netbsd")return"netbsd";if(r==="linux"&&o==="nixos")return"linux-nixos";if(r==="linux"&&t==="arm64")return`${o==="musl"?"linux-musl-arm64":"linux-arm64"}-openssl-${i||l}`;if(r==="linux"&&t==="arm")return`linux-arm-openssl-${i||l}`;if(r==="linux"&&o==="musl"){let c="linux-musl";return!i||rs(i)?c:`${c}-openssl-${i}`}return r==="linux"&&o&&i?`${o}-openssl-${i}`:(r!=="linux"&&Jt(`Prisma detected unknown OS "${r}" and may not work as expected. Defaulting to "linux".`),i?`${u}-openssl-${i}`:o?`${o}-openssl-${l}`:`${u}-openssl-${l}`)}async function ac(e){try{return await e()}catch{return}}function Yt(e){return ac(async()=>{let r=await zu(e);return ee(`Command "${e}" successfully returned "${r.stdout}"`),r.stdout})}async function lc(){return typeof Kt.default.machine=="function"?Kt.default.machine():(await Yt("uname -m"))?.trim()}function rs(e){return e.startsWith("1.")}var Xt={};tr(Xt,{beep:()=>Nc,clearScreen:()=>kc,clearTerminal:()=>Dc,cursorBackward:()=>gc,cursorDown:()=>mc,cursorForward:()=>fc,cursorGetPosition:()=>Ec,cursorHide:()=>xc,cursorLeft:()=>is,cursorMove:()=>dc,cursorNextLine:()=>bc,cursorPrevLine:()=>wc,cursorRestorePosition:()=>yc,cursorSavePosition:()=>hc,cursorShow:()=>vc,cursorTo:()=>pc,cursorUp:()=>ns,enterAlternativeScreen:()=>Oc,eraseDown:()=>Rc,eraseEndLine:()=>Tc,eraseLine:()=>os,eraseLines:()=>Pc,eraseScreen:()=>fi,eraseStartLine:()=>Sc,eraseUp:()=>Cc,exitAlternativeScreen:()=>_c,iTerm:()=>Mc,image:()=>Fc,link:()=>Lc,scrollDown:()=>Ic,scrollUp:()=>Ac});var Zt=k(require("node:process"),1);var zt=globalThis.window?.document!==void 0,hg=globalThis.process?.versions?.node!==void 0,yg=globalThis.process?.versions?.bun!==void 0,Eg=globalThis.Deno?.version?.deno!==void 0,bg=globalThis.process?.versions?.electron!==void 0,wg=globalThis.navigator?.userAgent?.includes("jsdom")===!0,xg=typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,vg=typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope,Pg=typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope,Tg=typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope,Zr=globalThis.navigator?.userAgentData?.platform,Sg=Zr==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform==="darwin",Rg=Zr==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform==="win32",Cg=Zr==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform==="linux",Ag=Zr==="iOS"||globalThis.navigator?.platform==="MacIntel"&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),Ig=Zr==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform==="android";var I="\x1B[",et="\x1B]",yr="\x07",Xr=";",ts=!zt&&Zt.default.env.TERM_PROGRAM==="Apple_Terminal",uc=!zt&&Zt.default.platform==="win32",cc=zt?()=>{throw new Error("`process.cwd()` only works in Node.js, not the browser.")}:Zt.default.cwd,pc=(e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof r!="number"?I+(e+1)+"G":I+(r+1)+Xr+(e+1)+"H"},dc=(e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let t="";return e<0?t+=I+-e+"D":e>0&&(t+=I+e+"C"),r<0?t+=I+-r+"A":r>0&&(t+=I+r+"B"),t},ns=(e=1)=>I+e+"A",mc=(e=1)=>I+e+"B",fc=(e=1)=>I+e+"C",gc=(e=1)=>I+e+"D",is=I+"G",hc=ts?"\x1B7":I+"s",yc=ts?"\x1B8":I+"u",Ec=I+"6n",bc=I+"E",wc=I+"F",xc=I+"?25l",vc=I+"?25h",Pc=e=>{let r="";for(let t=0;t[et,"8",Xr,Xr,r,yr,e,et,"8",Xr,Xr,yr].join(""),Fc=(e,r={})=>{let t=`${et}1337;File=inline=1`;return r.width&&(t+=`;width=${r.width}`),r.height&&(t+=`;height=${r.height}`),r.preserveAspectRatio===!1&&(t+=";preserveAspectRatio=0"),t+":"+Buffer.from(e).toString("base64")+yr},Mc={setCwd:(e=cc())=>`${et}50;CurrentDir=${e}${yr}`,annotation(e,r={}){let t=`${et}1337;`,n=r.x!==void 0,i=r.y!==void 0;if((n||i)&&!(n&&i&&r.length!==void 0))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replaceAll("|",""),t+=r.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",r.length>0?t+=(n?[e,r.length,r.x,r.y]:[r.length,e]).join("|"):t+=e,t+yr}};var en=k(ds(),1);function or(e,r,{target:t="stdout",...n}={}){return en.default[t]?Xt.link(e,r):n.fallback===!1?e:typeof n.fallback=="function"?n.fallback(e,r):`${e} (\u200B${r}\u200B)`}or.isSupported=en.default.stdout;or.stderr=(e,r,t={})=>or(e,r,{target:"stderr",...t});or.stderr.isSupported=en.default.stderr;function bi(e){return or(e,e,{fallback:Y})}var Bc=ms(),wi=Bc.version;function br(e){let r=Uc();return r||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":Gc(e))}function Uc(){let e=process.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function Gc(e){return e?.previewFeatures.includes("queryCompiler")?"client":"library"}var Wc=k(vi());var M=k(require("node:path")),Jc=k(vi()),ah=N("prisma:engines");function fs(){return M.default.join(__dirname,"../")}var lh="libquery-engine";M.default.join(__dirname,"../query-engine-darwin");M.default.join(__dirname,"../query-engine-darwin-arm64");M.default.join(__dirname,"../query-engine-debian-openssl-1.0.x");M.default.join(__dirname,"../query-engine-debian-openssl-1.1.x");M.default.join(__dirname,"../query-engine-debian-openssl-3.0.x");M.default.join(__dirname,"../query-engine-linux-static-x64");M.default.join(__dirname,"../query-engine-linux-static-arm64");M.default.join(__dirname,"../query-engine-rhel-openssl-1.0.x");M.default.join(__dirname,"../query-engine-rhel-openssl-1.1.x");M.default.join(__dirname,"../query-engine-rhel-openssl-3.0.x");M.default.join(__dirname,"../libquery_engine-darwin.dylib.node");M.default.join(__dirname,"../libquery_engine-darwin-arm64.dylib.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-debian-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-arm64-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-linux-musl.so.node");M.default.join(__dirname,"../libquery_engine-linux-musl-openssl-3.0.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-1.0.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-1.1.x.so.node");M.default.join(__dirname,"../libquery_engine-rhel-openssl-3.0.x.so.node");M.default.join(__dirname,"../query_engine-windows.dll.node");var Pi=k(require("node:fs")),gs=gr("chmodPlusX");function Ti(e){if(process.platform==="win32")return;let r=Pi.default.statSync(e),t=r.mode|64|8|1;if(r.mode===t){gs(`Execution permissions of ${e} are fine`);return}let n=t.toString(8).slice(-3);gs(`Have to call chmodPlusX on ${e}`),Pi.default.chmodSync(e,n)}function Si(e){let r=e.e,t=a=>`Prisma cannot find the required \`${a}\` system library in your system`,n=r.message.includes("cannot open shared object file"),i=`Please refer to the documentation about Prisma's system requirements: ${bi("https://pris.ly/d/system-requirements")}`,o=`Unable to require(\`${Ie(e.id)}\`).`,s=hr({message:r.message,code:r.code}).with({code:"ENOENT"},()=>"File does not exist.").when(({message:a})=>n&&a.includes("libz"),()=>`${t("libz")}. Please install it and try again.`).when(({message:a})=>n&&a.includes("libgcc_s"),()=>`${t("libgcc_s")}. Please install it and try again.`).when(({message:a})=>n&&a.includes("libssl"),()=>{let a=e.platformInfo.libssl?`openssl-${e.platformInfo.libssl}`:"openssl";return`${t("libssl")}. Please install ${a} and try again.`}).when(({message:a})=>a.includes("GLIBC"),()=>`Prisma has detected an incompatible version of the \`glibc\` C standard library installed in your system. This probably means your system may be too old to run Prisma. ${i}`).when(({message:a})=>e.platformInfo.platform==="linux"&&a.includes("symbol not found"),()=>`The Prisma engines are not compatible with your system ${e.platformInfo.originalDistro} on (${e.platformInfo.archFromUname}) which uses the \`${e.platformInfo.binaryTarget}\` binaryTarget by default. ${i}`).otherwise(()=>`The Prisma engines do not seem to be compatible with your system. ${i}`);return`${o} +${s} + +Details: ${r.message}`}var Es=k(ys(),1);function Ri(e){let r=(0,Es.default)(e);if(r===0)return e;let t=new RegExp(`^[ \\t]{${r}}`,"gm");return e.replace(t,"")}var bs="prisma+postgres",tn=`${bs}:`;function nn(e){return e?.toString().startsWith(`${tn}//`)??!1}function Ci(e){if(!nn(e))return!1;let{host:r}=new URL(e);return r.includes("localhost")||r.includes("127.0.0.1")}var xs=k(Ai());function ki(e){return String(new Ii(e))}var Ii=class{constructor(r){this.config=r}toString(){let{config:r}=this,t=r.provider.fromEnvVar?`env("${r.provider.fromEnvVar}")`:r.provider.value,n=JSON.parse(JSON.stringify({provider:t,binaryTargets:Hc(r.binaryTargets)}));return`generator ${r.name} { +${(0,xs.default)(Kc(n),2)} +}`}};function Hc(e){let r;if(e.length>0){let t=e.find(n=>n.fromEnvVar!==null);t?r=`env("${t.fromEnvVar}")`:r=e.map(n=>n.native?"native":n.value)}else r=void 0;return r}function Kc(e){let r=Object.keys(e).reduce((t,n)=>Math.max(t,n.length),0);return Object.entries(e).map(([t,n])=>`${t.padEnd(r)} = ${Yc(n)}`).join(` +`)}function Yc(e){return JSON.parse(JSON.stringify(e,(r,t)=>Array.isArray(t)?`[${t.map(n=>JSON.stringify(n)).join(", ")}]`:JSON.stringify(t)))}var tt={};tr(tt,{error:()=>Xc,info:()=>Zc,log:()=>zc,query:()=>ep,should:()=>vs,tags:()=>rt,warn:()=>Di});var rt={error:ce("prisma:error"),warn:ke("prisma:warn"),info:De("prisma:info"),query:nr("prisma:query")},vs={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function zc(...e){console.log(...e)}function Di(e,...r){vs.warn()&&console.warn(`${rt.warn} ${e}`,...r)}function Zc(e,...r){console.info(`${rt.info} ${e}`,...r)}function Xc(e,...r){console.error(`${rt.error} ${e}`,...r)}function ep(e,...r){console.log(`${rt.query} ${e}`,...r)}function on(e,r){if(!e)throw new Error(`${r}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}function _e(e,r){throw new Error(r)}var nt=k(require("node:path"));function _i(e){return nt.default.sep===nt.default.posix.sep?e:e.split(nt.default.sep).join(nt.default.posix.sep)}var Mi=k(Ds()),sn=k(require("node:fs"));var wr=k(require("node:path"));function Os(e){let r=e.ignoreProcessEnv?{}:process.env,t=n=>n.match(/(.?\${(?:[a-zA-Z0-9_]+)?})/g)?.reduce(function(o,s){let a=/(.?)\${([a-zA-Z0-9_]+)?}/g.exec(s);if(!a)return o;let l=a[1],u,c;if(l==="\\")c=a[0],u=c.replace("\\$","$");else{let p=a[2];c=a[0].substring(l.length),u=Object.hasOwnProperty.call(r,p)?r[p]:e.parsed[p]||"",u=t(u)}return o.replace(c,u)},n)??n;for(let n in e.parsed){let i=Object.hasOwnProperty.call(r,n)?r[n]:e.parsed[n];e.parsed[n]=t(i)}for(let n in e.parsed)r[n]=e.parsed[n];return e}var Fi=gr("prisma:tryLoadEnv");function ot({rootEnvPath:e,schemaEnvPath:r},t={conflictCheck:"none"}){let n=_s(e);t.conflictCheck!=="none"&&hp(n,r,t.conflictCheck);let i=null;return Ns(n?.path,r)||(i=_s(r)),!n&&!i&&Fi("No Environment variables loaded"),i?.dotenvResult.error?console.error(ce(W("Schema Env Error: "))+i.dotenvResult.error):{message:[n?.message,i?.message].filter(Boolean).join(` +`),parsed:{...n?.dotenvResult?.parsed,...i?.dotenvResult?.parsed}}}function hp(e,r,t){let n=e?.dotenvResult.parsed,i=!Ns(e?.path,r);if(n&&r&&i&&sn.default.existsSync(r)){let o=Mi.default.parse(sn.default.readFileSync(r)),s=[];for(let a in o)n[a]===o[a]&&s.push(a);if(s.length>0){let a=wr.default.relative(process.cwd(),e.path),l=wr.default.relative(process.cwd(),r);if(t==="error"){let u=`There is a conflict between env var${s.length>1?"s":""} in ${Y(a)} and ${Y(l)} +Conflicting env vars: +${s.map(c=>` ${W(c)}`).join(` +`)} + +We suggest to move the contents of ${Y(l)} to ${Y(a)} to consolidate your env vars. +`;throw new Error(u)}else if(t==="warn"){let u=`Conflict for env var${s.length>1?"s":""} ${s.map(c=>W(c)).join(", ")} in ${Y(a)} and ${Y(l)} +Env vars from ${Y(l)} overwrite the ones from ${Y(a)} + `;console.warn(`${ke("warn(prisma)")} ${u}`)}}}}function _s(e){if(yp(e)){Fi(`Environment variables loaded from ${e}`);let r=Mi.default.config({path:e,debug:process.env.DOTENV_CONFIG_DEBUG?!0:void 0});return{dotenvResult:Os(r),message:Ie(`Environment variables loaded from ${wr.default.relative(process.cwd(),e)}`),path:e}}else Fi(`Environment variables not found at ${e}`);return null}function Ns(e,r){return e&&r&&wr.default.resolve(e)===wr.default.resolve(r)}function yp(e){return!!(e&&sn.default.existsSync(e))}function $i(e,r){return Object.prototype.hasOwnProperty.call(e,r)}function xr(e,r){let t={};for(let n of Object.keys(e))t[n]=r(e[n],n);return t}function qi(e,r){if(e.length===0)return;let t=e[0];for(let n=1;n{Fs.has(e)||(Fs.add(e),Di(r,...t))};var T=class e extends Error{clientVersion;errorCode;retryable;constructor(r,t,n){super(r),this.name="PrismaClientInitializationError",this.clientVersion=t,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};x(T,"PrismaClientInitializationError");var z=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(r,{code:t,clientVersion:n,meta:i,batchRequestIdx:o}){super(r),this.name="PrismaClientKnownRequestError",this.code=t,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};x(z,"PrismaClientKnownRequestError");var le=class extends Error{clientVersion;constructor(r,t){super(r),this.name="PrismaClientRustPanicError",this.clientVersion=t}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};x(le,"PrismaClientRustPanicError");var j=class extends Error{clientVersion;batchRequestIdx;constructor(r,{clientVersion:t,batchRequestIdx:n}){super(r),this.name="PrismaClientUnknownRequestError",this.clientVersion=t,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};x(j,"PrismaClientUnknownRequestError");var Z=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(r,{clientVersion:t}){super(r),this.clientVersion=t}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};x(Z,"PrismaClientValidationError");var vr=9e15,Ke=1e9,ji="0123456789abcdef",pn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",dn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Vi={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-vr,maxE:vr,crypto:!1},js,Le,w=!0,fn="[DecimalError] ",He=fn+"Invalid argument: ",Vs=fn+"Precision limit exceeded",Bs=fn+"crypto unavailable",Us="[object Decimal]",X=Math.floor,U=Math.pow,Ep=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,bp=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,wp=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Gs=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,fe=1e7,b=7,xp=9007199254740991,vp=pn.length-1,Bi=dn.length-1,m={toStringTag:Us};m.absoluteValue=m.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),y(e)};m.ceil=function(){return y(new this.constructor(this),this.e+1,2)};m.clampedTo=m.clamp=function(e,r){var t,n=this,i=n.constructor;if(e=new i(e),r=new i(r),!e.s||!r.s)return new i(NaN);if(e.gt(r))throw Error(He+r);return t=n.cmp(e),t<0?e:n.cmp(r)>0?r:new i(n)};m.comparedTo=m.cmp=function(e){var r,t,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,u=e.s;if(!s||!a)return!l||!u?NaN:l!==u?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-u:0;if(l!==u)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,r=0,t=na[r]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};m.cosine=m.cos=function(){var e,r,t=this,n=t.constructor;return t.d?t.d[0]?(e=n.precision,r=n.rounding,n.precision=e+Math.max(t.e,t.sd())+b,n.rounding=1,t=Pp(n,Ks(n,t)),n.precision=e,n.rounding=r,y(Le==2||Le==3?t.neg():t,e,r,!0)):new n(1):new n(NaN)};m.cubeRoot=m.cbrt=function(){var e,r,t,n,i,o,s,a,l,u,c=this,p=c.constructor;if(!c.isFinite()||c.isZero())return new p(c);for(w=!1,o=c.s*U(c.s*c,1/3),!o||Math.abs(o)==1/0?(t=J(c.d),e=c.e,(o=(e-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=U(t,1/3),e=X((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?t="5e"+e:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new p(t),n.s=c.s):n=new p(o.toString()),s=(e=p.precision)+3;;)if(a=n,l=a.times(a).times(a),u=l.plus(c),n=L(u.plus(c).times(a),u.plus(l),s+2,1),J(a.d).slice(0,s)===(t=J(n.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!i&&t=="4999"){if(!i&&(y(a,e+1,0),a.times(a).times(a).eq(c))){n=a;break}s+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(y(n,e+1,1),r=!n.times(n).times(n).eq(c));break}return w=!0,y(n,e,p.rounding,r)};m.decimalPlaces=m.dp=function(){var e,r=this.d,t=NaN;if(r){if(e=r.length-1,t=(e-X(this.e/b))*b,e=r[e],e)for(;e%10==0;e/=10)t--;t<0&&(t=0)}return t};m.dividedBy=m.div=function(e){return L(this,new this.constructor(e))};m.dividedToIntegerBy=m.divToInt=function(e){var r=this,t=r.constructor;return y(L(r,new t(e),0,1,1),t.precision,t.rounding)};m.equals=m.eq=function(e){return this.cmp(e)===0};m.floor=function(){return y(new this.constructor(this),this.e+1,3)};m.greaterThan=m.gt=function(e){return this.cmp(e)>0};m.greaterThanOrEqualTo=m.gte=function(e){var r=this.cmp(e);return r==1||r===0};m.hyperbolicCosine=m.cosh=function(){var e,r,t,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;t=s.precision,n=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),r=(1/hn(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),o=Pr(s,1,o.times(r),new s(1),!0);for(var l,u=e,c=new s(8);u--;)l=o.times(o),o=a.minus(l.times(c.minus(l.times(c))));return y(o,s.precision=t,s.rounding=n,!0)};m.hyperbolicSine=m.sinh=function(){var e,r,t,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(r=o.precision,t=o.rounding,o.precision=r+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=Pr(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/hn(5,e)),i=Pr(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(u))))}return o.precision=r,o.rounding=t,y(i,r,t,!0)};m.hyperbolicTangent=m.tanh=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+7,n.rounding=1,L(t.sinh(),t.cosh(),n.precision=e,n.rounding=r)):new n(t.s)};m.inverseCosine=m.acos=function(){var e=this,r=e.constructor,t=e.abs().cmp(1),n=r.precision,i=r.rounding;return t!==-1?t===0?e.isNeg()?we(r,n,i):new r(0):new r(NaN):e.isZero()?we(r,n+4,i).times(.5):(r.precision=n+6,r.rounding=1,e=new r(1).minus(e).div(e.plus(1)).sqrt().atan(),r.precision=n,r.rounding=i,e.times(2))};m.inverseHyperbolicCosine=m.acosh=function(){var e,r,t=this,n=t.constructor;return t.lte(1)?new n(t.eq(1)?0:NaN):t.isFinite()?(e=n.precision,r=n.rounding,n.precision=e+Math.max(Math.abs(t.e),t.sd())+4,n.rounding=1,w=!1,t=t.times(t).minus(1).sqrt().plus(t),w=!0,n.precision=e,n.rounding=r,t.ln()):new n(t)};m.inverseHyperbolicSine=m.asinh=function(){var e,r,t=this,n=t.constructor;return!t.isFinite()||t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+2*Math.max(Math.abs(t.e),t.sd())+6,n.rounding=1,w=!1,t=t.times(t).plus(1).sqrt().plus(t),w=!0,n.precision=e,n.rounding=r,t.ln())};m.inverseHyperbolicTangent=m.atanh=function(){var e,r,t,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,r=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?y(new o(i),e,r,!0):(o.precision=t=n-i.e,i=L(i.plus(1),new o(1).minus(i),t+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=r,i.times(.5))):new o(NaN)};m.inverseSine=m.asin=function(){var e,r,t,n,i=this,o=i.constructor;return i.isZero()?new o(i):(r=i.abs().cmp(1),t=o.precision,n=o.rounding,r!==-1?r===0?(e=we(o,t+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=t+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=n,i.times(2)))};m.inverseTangent=m.atan=function(){var e,r,t,n,i,o,s,a,l,u=this,c=u.constructor,p=c.precision,d=c.rounding;if(u.isFinite()){if(u.isZero())return new c(u);if(u.abs().eq(1)&&p+4<=Bi)return s=we(c,p+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new c(NaN);if(p+4<=Bi)return s=we(c,p+4,d).times(.5),s.s=u.s,s}for(c.precision=a=p+10,c.rounding=1,t=Math.min(28,a/b+2|0),e=t;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(w=!1,r=Math.ceil(a/b),n=1,l=u.times(u),s=new c(u),i=u;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[r]!==void 0)for(e=r;s.d[e]===o.d[e]&&e--;);return t&&(s=s.times(2<this.d.length-2};m.isNaN=function(){return!this.s};m.isNegative=m.isNeg=function(){return this.s<0};m.isPositive=m.isPos=function(){return this.s>0};m.isZero=function(){return!!this.d&&this.d[0]===0};m.lessThan=m.lt=function(e){return this.cmp(e)<0};m.lessThanOrEqualTo=m.lte=function(e){return this.cmp(e)<1};m.logarithm=m.log=function(e){var r,t,n,i,o,s,a,l,u=this,c=u.constructor,p=c.precision,d=c.rounding,f=5;if(e==null)e=new c(10),r=!0;else{if(e=new c(e),t=e.d,e.s<0||!t||!t[0]||e.eq(1))return new c(NaN);r=e.eq(10)}if(t=u.d,u.s<0||!t||!t[0]||u.eq(1))return new c(t&&!t[0]?-1/0:u.s!=1?NaN:t?0:1/0);if(r)if(t.length>1)o=!0;else{for(i=t[0];i%10===0;)i/=10;o=i!==1}if(w=!1,a=p+f,s=Je(u,a),n=r?mn(c,a+10):Je(e,a),l=L(s,n,a,1),at(l.d,i=p,d))do if(a+=10,s=Je(u,a),n=r?mn(c,a+10):Je(e,a),l=L(s,n,a,1),!o){+J(l.d).slice(i+1,i+15)+1==1e14&&(l=y(l,p+1,0));break}while(at(l.d,i+=10,d));return w=!0,y(l,p,d)};m.minus=m.sub=function(e){var r,t,n,i,o,s,a,l,u,c,p,d,f=this,h=f.constructor;if(e=new h(e),!f.d||!e.d)return!f.s||!e.s?e=new h(NaN):f.d?e.s=-e.s:e=new h(e.d||f.s!==e.s?f:NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(u=f.d,d=e.d,a=h.precision,l=h.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else if(u[0])e=new h(f);else return new h(l===3?-0:0);return w?y(e,a,l):e}if(t=X(e.e/b),c=X(f.e/b),u=u.slice(),o=c-t,o){for(p=o<0,p?(r=u,o=-o,s=d.length):(r=d,t=c,s=u.length),n=Math.max(Math.ceil(a/b),s)+2,o>n&&(o=n,r.length=1),r.reverse(),n=o;n--;)r.push(0);r.reverse()}else{for(n=u.length,s=d.length,p=n0;--n)u[s++]=0;for(n=d.length;n>o;){if(u[--n]s?o+1:s+1,i>s&&(i=s,t.length=1),t.reverse();i--;)t.push(0);t.reverse()}for(s=u.length,i=c.length,s-i<0&&(i=s,t=c,c=u,u=t),r=0;i;)r=(u[--i]=u[i]+c[i]+r)/fe|0,u[i]%=fe;for(r&&(u.unshift(r),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=gn(u,n),w?y(e,a,l):e};m.precision=m.sd=function(e){var r,t=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(He+e);return t.d?(r=Qs(t.d),e&&t.e+1>r&&(r=t.e+1)):r=NaN,r};m.round=function(){var e=this,r=e.constructor;return y(new r(e),e.e+1,r.rounding)};m.sine=m.sin=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+Math.max(t.e,t.sd())+b,n.rounding=1,t=Sp(n,Ks(n,t)),n.precision=e,n.rounding=r,y(Le>2?t.neg():t,e,r,!0)):new n(NaN)};m.squareRoot=m.sqrt=function(){var e,r,t,n,i,o,s=this,a=s.d,l=s.e,u=s.s,c=s.constructor;if(u!==1||!a||!a[0])return new c(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(w=!1,u=Math.sqrt(+s),u==0||u==1/0?(r=J(a),(r.length+l)%2==0&&(r+="0"),u=Math.sqrt(r),l=X((l+1)/2)-(l<0||l%2),u==1/0?r="5e"+l:(r=u.toExponential(),r=r.slice(0,r.indexOf("e")+1)+l),n=new c(r)):n=new c(u.toString()),t=(l=c.precision)+3;;)if(o=n,n=o.plus(L(s,o,t+2,1)).times(.5),J(o.d).slice(0,t)===(r=J(n.d)).slice(0,t))if(r=r.slice(t-3,t+1),r=="9999"||!i&&r=="4999"){if(!i&&(y(o,l+1,0),o.times(o).eq(s))){n=o;break}t+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(y(n,l+1,1),e=!n.times(n).eq(s));break}return w=!0,y(n,l,c.rounding,e)};m.tangent=m.tan=function(){var e,r,t=this,n=t.constructor;return t.isFinite()?t.isZero()?new n(t):(e=n.precision,r=n.rounding,n.precision=e+10,n.rounding=1,t=t.sin(),t.s=1,t=L(t,new n(1).minus(t.times(t)).sqrt(),e+10,0),n.precision=e,n.rounding=r,y(Le==2||Le==4?t.neg():t,e,r,!0)):new n(NaN)};m.times=m.mul=function(e){var r,t,n,i,o,s,a,l,u,c=this,p=c.constructor,d=c.d,f=(e=new p(e)).d;if(e.s*=c.s,!d||!d[0]||!f||!f[0])return new p(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:!d||!f?e.s/0:e.s*0);for(t=X(c.e/b)+X(e.e/b),l=d.length,u=f.length,l=0;){for(r=0,i=l+n;i>n;)a=o[i]+f[n]*d[i-n-1]+r,o[i--]=a%fe|0,r=a/fe|0;o[i]=(o[i]+r)%fe|0}for(;!o[--s];)o.pop();return r?++t:o.shift(),e.d=o,e.e=gn(o,t),w?y(e,p.precision,p.rounding):e};m.toBinary=function(e,r){return Gi(this,2,e,r)};m.toDecimalPlaces=m.toDP=function(e,r){var t=this,n=t.constructor;return t=new n(t),e===void 0?t:(ie(e,0,Ke),r===void 0?r=n.rounding:ie(r,0,8),y(t,e+t.e+1,r))};m.toExponential=function(e,r){var t,n=this,i=n.constructor;return e===void 0?t=xe(n,!0):(ie(e,0,Ke),r===void 0?r=i.rounding:ie(r,0,8),n=y(new i(n),e+1,r),t=xe(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+t:t};m.toFixed=function(e,r){var t,n,i=this,o=i.constructor;return e===void 0?t=xe(i):(ie(e,0,Ke),r===void 0?r=o.rounding:ie(r,0,8),n=y(new o(i),e+i.e+1,r),t=xe(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+t:t};m.toFraction=function(e){var r,t,n,i,o,s,a,l,u,c,p,d,f=this,h=f.d,g=f.constructor;if(!h)return new g(f);if(u=t=new g(1),n=l=new g(0),r=new g(n),o=r.e=Qs(h)-f.e-1,s=o%b,r.d[0]=U(10,s<0?b+s:s),e==null)e=o>0?r:u;else{if(a=new g(e),!a.isInt()||a.lt(u))throw Error(He+a);e=a.gt(r)?o>0?r:u:a}for(w=!1,a=new g(J(h)),c=g.precision,g.precision=o=h.length*b*2;p=L(a,r,0,1,1),i=t.plus(p.times(n)),i.cmp(e)!=1;)t=n,n=i,i=u,u=l.plus(p.times(i)),l=i,i=r,r=a.minus(p.times(i)),a=i;return i=L(e.minus(t),n,0,1,1),l=l.plus(i.times(u)),t=t.plus(i.times(n)),l.s=u.s=f.s,d=L(u,n,o,1).minus(f).abs().cmp(L(l,t,o,1).minus(f).abs())<1?[u,n]:[l,t],g.precision=c,w=!0,d};m.toHexadecimal=m.toHex=function(e,r){return Gi(this,16,e,r)};m.toNearest=function(e,r){var t=this,n=t.constructor;if(t=new n(t),e==null){if(!t.d)return t;e=new n(1),r=n.rounding}else{if(e=new n(e),r===void 0?r=n.rounding:ie(r,0,8),!t.d)return e.s?t:e;if(!e.d)return e.s&&(e.s=t.s),e}return e.d[0]?(w=!1,t=L(t,e,0,r,1).times(e),w=!0,y(t)):(e.s=t.s,t=e),t};m.toNumber=function(){return+this};m.toOctal=function(e,r){return Gi(this,8,e,r)};m.toPower=m.pow=function(e){var r,t,n,i,o,s,a=this,l=a.constructor,u=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(U(+a,u));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return y(a,n,o);if(r=X(e.e/b),r>=e.d.length-1&&(t=u<0?-u:u)<=xp)return i=Ws(l,a,t,n),e.s<0?new l(1).div(i):y(i,n,o);if(s=a.s,s<0){if(rl.maxE+1||r0?s/0:0):(w=!1,l.rounding=a.s=1,t=Math.min(12,(r+"").length),i=Ui(e.times(Je(a,n+t)),n),i.d&&(i=y(i,n+5,1),at(i.d,n,o)&&(r=n+10,i=y(Ui(e.times(Je(a,r+t)),r),r+5,1),+J(i.d).slice(n+1,n+15)+1==1e14&&(i=y(i,n+1,0)))),i.s=s,w=!0,l.rounding=o,y(i,n,o))};m.toPrecision=function(e,r){var t,n=this,i=n.constructor;return e===void 0?t=xe(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(ie(e,1,Ke),r===void 0?r=i.rounding:ie(r,0,8),n=y(new i(n),e,r),t=xe(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+t:t};m.toSignificantDigits=m.toSD=function(e,r){var t=this,n=t.constructor;return e===void 0?(e=n.precision,r=n.rounding):(ie(e,1,Ke),r===void 0?r=n.rounding:ie(r,0,8)),y(new n(t),e,r)};m.toString=function(){var e=this,r=e.constructor,t=xe(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()&&!e.isZero()?"-"+t:t};m.truncated=m.trunc=function(){return y(new this.constructor(this),this.e+1,1)};m.valueOf=m.toJSON=function(){var e=this,r=e.constructor,t=xe(e,e.e<=r.toExpNeg||e.e>=r.toExpPos);return e.isNeg()?"-"+t:t};function J(e){var r,t,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,r=1;rt)throw Error(He+e)}function at(e,r,t,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--r;return--r<0?(r+=b,i=0):(i=Math.ceil((r+1)/b),r%=b),o=U(10,b-r),a=e[i]%o|0,n==null?r<3?(r==0?a=a/100|0:r==1&&(a=a/10|0),s=t<4&&a==99999||t>3&&a==49999||a==5e4||a==0):s=(t<4&&a+1==o||t>3&&a+1==o/2)&&(e[i+1]/o/100|0)==U(10,r-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:r<4?(r==0?a=a/1e3|0:r==1?a=a/100|0:r==2&&(a=a/10|0),s=(n||t<4)&&a==9999||!n&&t>3&&a==4999):s=((n||t<4)&&a+1==o||!n&&t>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==U(10,r-3)-1,s}function un(e,r,t){for(var n,i=[0],o,s=0,a=e.length;st-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/t|0,i[n]%=t)}return i.reverse()}function Pp(e,r){var t,n,i;if(r.isZero())return r;n=r.d.length,n<32?(t=Math.ceil(n/3),i=(1/hn(4,t)).toString()):(t=16,i="2.3283064365386962890625e-10"),e.precision+=t,r=Pr(e,1,r.times(i),new e(1));for(var o=t;o--;){var s=r.times(r);r=s.times(s).minus(s).times(8).plus(1)}return e.precision-=t,r}var L=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function r(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function t(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var u,c,p,d,f,h,g,S,P,R,E,D,me,ae,Jr,V,te,Ae,H,fr,jt=n.constructor,ri=n.s==i.s?1:-1,K=n.d,_=i.d;if(!K||!K[0]||!_||!_[0])return new jt(!n.s||!i.s||(K?_&&K[0]==_[0]:!_)?NaN:K&&K[0]==0||!_?ri*0:ri/0);for(l?(f=1,c=n.e-i.e):(l=fe,f=b,c=X(n.e/f)-X(i.e/f)),H=_.length,te=K.length,P=new jt(ri),R=P.d=[],p=0;_[p]==(K[p]||0);p++);if(_[p]>(K[p]||0)&&c--,o==null?(ae=o=jt.precision,s=jt.rounding):a?ae=o+(n.e-i.e)+1:ae=o,ae<0)R.push(1),h=!0;else{if(ae=ae/f+2|0,p=0,H==1){for(d=0,_=_[0],ae++;(p1&&(_=e(_,d,l),K=e(K,d,l),H=_.length,te=K.length),V=H,E=K.slice(0,H),D=E.length;D=l/2&&++Ae;do d=0,u=r(_,E,H,D),u<0?(me=E[0],H!=D&&(me=me*l+(E[1]||0)),d=me/Ae|0,d>1?(d>=l&&(d=l-1),g=e(_,d,l),S=g.length,D=E.length,u=r(g,E,S,D),u==1&&(d--,t(g,H=10;d/=10)p++;P.e=p+c*f-1,y(P,a?o+P.e+1:o,s,h)}return P}}();function y(e,r,t,n){var i,o,s,a,l,u,c,p,d,f=e.constructor;e:if(r!=null){if(p=e.d,!p)return e;for(i=1,a=p[0];a>=10;a/=10)i++;if(o=r-i,o<0)o+=b,s=r,c=p[d=0],l=c/U(10,i-s-1)%10|0;else if(d=Math.ceil((o+1)/b),a=p.length,d>=a)if(n){for(;a++<=d;)p.push(0);c=l=0,i=1,o%=b,s=o-b+1}else break e;else{for(c=a=p[d],i=1;a>=10;a/=10)i++;o%=b,s=o-b+i,l=s<0?0:c/U(10,i-s-1)%10|0}if(n=n||r<0||p[d+1]!==void 0||(s<0?c:c%U(10,i-s-1)),u=t<4?(l||n)&&(t==0||t==(e.s<0?3:2)):l>5||l==5&&(t==4||n||t==6&&(o>0?s>0?c/U(10,i-s):0:p[d-1])%10&1||t==(e.s<0?8:7)),r<1||!p[0])return p.length=0,u?(r-=e.e+1,p[0]=U(10,(b-r%b)%b),e.e=-r||0):p[0]=e.e=0,e;if(o==0?(p.length=d,a=1,d--):(p.length=d+1,a=U(10,b-o),p[d]=s>0?(c/U(10,i-s)%U(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=p[0];s>=10;s/=10)o++;for(s=p[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,p[0]==fe&&(p[0]=1));break}else{if(p[d]+=a,p[d]!=fe)break;p[d--]=0,a=1}for(o=p.length;p[--o]===0;)p.pop()}return w&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+We(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+We(-i-1)+o,t&&(n=t-s)>0&&(o+=We(n))):i>=s?(o+=We(i+1-s),t&&(n=t-i-1)>0&&(o=o+"."+We(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=We(n))),o}function gn(e,r){var t=e[0];for(r*=b;t>=10;t/=10)r++;return r}function mn(e,r,t){if(r>vp)throw w=!0,t&&(e.precision=t),Error(Vs);return y(new e(pn),r,1,!0)}function we(e,r,t){if(r>Bi)throw Error(Vs);return y(new e(dn),r,t,!0)}function Qs(e){var r=e.length-1,t=r*b+1;if(r=e[r],r){for(;r%10==0;r/=10)t--;for(r=e[0];r>=10;r/=10)t++}return t}function We(e){for(var r="";e--;)r+="0";return r}function Ws(e,r,t,n){var i,o=new e(1),s=Math.ceil(n/b+4);for(w=!1;;){if(t%2&&(o=o.times(r),$s(o.d,s)&&(i=!0)),t=X(t/2),t===0){t=o.d.length-1,i&&o.d[t]===0&&++o.d[t];break}r=r.times(r),$s(r.d,s)}return w=!0,o}function Ms(e){return e.d[e.d.length-1]&1}function Js(e,r,t){for(var n,i,o=new e(r[0]),s=0;++s17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(r==null?(w=!1,l=h):l=r,a=new d(.03125);e.e>-2;)e=e.times(a),p+=5;for(n=Math.log(U(2,p))/Math.LN10*2+5|0,l+=n,t=o=s=new d(1),d.precision=l;;){if(o=y(o.times(e),l,1),t=t.times(++c),a=s.plus(L(o,t,l,1)),J(a.d).slice(0,l)===J(s.d).slice(0,l)){for(i=p;i--;)s=y(s.times(s),l,1);if(r==null)if(u<3&&at(s.d,l-n,f,u))d.precision=l+=10,t=o=a=new d(1),c=0,u++;else return y(s,d.precision=h,f,w=!0);else return d.precision=h,s}s=a}}function Je(e,r){var t,n,i,o,s,a,l,u,c,p,d,f=1,h=10,g=e,S=g.d,P=g.constructor,R=P.rounding,E=P.precision;if(g.s<0||!S||!S[0]||!g.e&&S[0]==1&&S.length==1)return new P(S&&!S[0]?-1/0:g.s!=1?NaN:S?0:g);if(r==null?(w=!1,c=E):c=r,P.precision=c+=h,t=J(S),n=t.charAt(0),Math.abs(o=g.e)<15e14){for(;n<7&&n!=1||n==1&&t.charAt(1)>3;)g=g.times(e),t=J(g.d),n=t.charAt(0),f++;o=g.e,n>1?(g=new P("0."+t),o++):g=new P(n+"."+t.slice(1))}else return u=mn(P,c+2,E).times(o+""),g=Je(new P(n+"."+t.slice(1)),c-h).plus(u),P.precision=E,r==null?y(g,E,R,w=!0):g;for(p=g,l=s=g=L(g.minus(1),g.plus(1),c,1),d=y(g.times(g),c,1),i=3;;){if(s=y(s.times(d),c,1),u=l.plus(L(s,new P(i),c,1)),J(u.d).slice(0,c)===J(l.d).slice(0,c))if(l=l.times(2),o!==0&&(l=l.plus(mn(P,c+2,E).times(o+""))),l=L(l,new P(f),c,1),r==null)if(at(l.d,c-h,R,a))P.precision=c+=h,u=s=g=L(p.minus(1),p.plus(1),c,1),d=y(g.times(g),c,1),i=a=1;else return y(l,P.precision=E,R,w=!0);else return P.precision=E,l;l=u,i+=2}}function Hs(e){return String(e.s*e.s/0)}function cn(e,r){var t,n,i;for((t=r.indexOf("."))>-1&&(r=r.replace(".","")),(n=r.search(/e/i))>0?(t<0&&(t=n),t+=+r.slice(n+1),r=r.substring(0,n)):t<0&&(t=r.length),n=0;r.charCodeAt(n)===48;n++);for(i=r.length;r.charCodeAt(i-1)===48;--i);if(r=r.slice(n,i),r){if(i-=n,e.e=t=t-n-1,e.d=[],n=(t+1)%b,t<0&&(n+=b),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(r=r.replace(/(\d)_(?=\d)/g,"$1"),Gs.test(r))return cn(e,r)}else if(r==="Infinity"||r==="NaN")return+r||(e.s=NaN),e.e=NaN,e.d=null,e;if(bp.test(r))t=16,r=r.toLowerCase();else if(Ep.test(r))t=2;else if(wp.test(r))t=8;else throw Error(He+r);for(o=r.search(/p/i),o>0?(l=+r.slice(o+1),r=r.substring(2,o)):r=r.slice(2),o=r.indexOf("."),s=o>=0,n=e.constructor,s&&(r=r.replace(".",""),a=r.length,o=a-o,i=Ws(n,new n(t),o,o*2)),u=un(r,t,fe),c=u.length-1,o=c;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=gn(u,c),e.d=u,w=!1,s&&(e=L(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?U(2,l):sr.pow(2,l))),w=!0,e)}function Sp(e,r){var t,n=r.d.length;if(n<3)return r.isZero()?r:Pr(e,2,r,r);t=1.4*Math.sqrt(n),t=t>16?16:t|0,r=r.times(1/hn(5,t)),r=Pr(e,2,r,r);for(var i,o=new e(5),s=new e(16),a=new e(20);t--;)i=r.times(r),r=r.times(o.plus(i.times(s.times(i).minus(a))));return r}function Pr(e,r,t,n,i){var o,s,a,l,u=1,c=e.precision,p=Math.ceil(c/b);for(w=!1,l=t.times(t),a=new e(n);;){if(s=L(a.times(l),new e(r++*r++),c,1),a=i?n.plus(s):n.minus(s),n=L(s.times(l),new e(r++*r++),c,1),s=a.plus(n),s.d[p]!==void 0){for(o=p;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return w=!0,s.d.length=p+1,s}function hn(e,r){for(var t=e;--r;)t*=e;return t}function Ks(e,r){var t,n=r.s<0,i=we(e,e.precision,1),o=i.times(.5);if(r=r.abs(),r.lte(o))return Le=n?4:1,r;if(t=r.divToInt(i),t.isZero())Le=n?3:2;else{if(r=r.minus(t.times(i)),r.lte(o))return Le=Ms(t)?n?2:3:n?4:1,r;Le=Ms(t)?n?1:4:n?3:2}return r.minus(i).abs()}function Gi(e,r,t,n){var i,o,s,a,l,u,c,p,d,f=e.constructor,h=t!==void 0;if(h?(ie(t,1,Ke),n===void 0?n=f.rounding:ie(n,0,8)):(t=f.precision,n=f.rounding),!e.isFinite())c=Hs(e);else{for(c=xe(e),s=c.indexOf("."),h?(i=2,r==16?t=t*4-3:r==8&&(t=t*3-2)):i=r,s>=0&&(c=c.replace(".",""),d=new f(1),d.e=c.length-s,d.d=un(xe(d),10,i),d.e=d.d.length),p=un(c,10,i),o=l=p.length;p[--l]==0;)p.pop();if(!p[0])c=h?"0p+0":"0";else{if(s<0?o--:(e=new f(e),e.d=p,e.e=o,e=L(e,d,t,n,0,i),p=e.d,o=e.e,u=js),s=p[t],a=i/2,u=u||p[t+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&p[t-1]&1||n===(e.s<0?8:7)),p.length=t,u)for(;++p[--t]>i-1;)p[t]=0,t||(++o,p.unshift(1));for(l=p.length;!p[l-1];--l);for(s=0,c="";s1)if(r==16||r==8){for(s=r==16?4:3,--l;l%s;l++)c+="0";for(p=un(c,i,r),l=p.length;!p[l-1];--l);for(s=1,c="1.";sl)for(o-=l;o--;)c+="0";else or)return e.length=r,!0}function Rp(e){return new this(e).abs()}function Cp(e){return new this(e).acos()}function Ap(e){return new this(e).acosh()}function Ip(e,r){return new this(e).plus(r)}function kp(e){return new this(e).asin()}function Dp(e){return new this(e).asinh()}function Op(e){return new this(e).atan()}function _p(e){return new this(e).atanh()}function Np(e,r){e=new this(e),r=new this(r);var t,n=this.precision,i=this.rounding,o=n+4;return!e.s||!r.s?t=new this(NaN):!e.d&&!r.d?(t=we(this,o,1).times(r.s>0?.25:.75),t.s=e.s):!r.d||e.isZero()?(t=r.s<0?we(this,n,i):new this(0),t.s=e.s):!e.d||r.isZero()?(t=we(this,o,1).times(.5),t.s=e.s):r.s<0?(this.precision=o,this.rounding=1,t=this.atan(L(e,r,o,1)),r=we(this,o,1),this.precision=n,this.rounding=i,t=e.s<0?t.minus(r):t.plus(r)):t=this.atan(L(e,r,o,1)),t}function Lp(e){return new this(e).cbrt()}function Fp(e){return y(e=new this(e),e.e+1,2)}function Mp(e,r,t){return new this(e).clamp(r,t)}function $p(e){if(!e||typeof e!="object")throw Error(fn+"Object expected");var r,t,n,i=e.defaults===!0,o=["precision",1,Ke,"rounding",0,8,"toExpNeg",-vr,0,"toExpPos",0,vr,"maxE",0,vr,"minE",-vr,0,"modulo",0,9];for(r=0;r=o[r+1]&&n<=o[r+2])this[t]=n;else throw Error(He+t+": "+n);if(t="crypto",i&&(this[t]=Vi[t]),(n=e[t])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Bs);else this[t]=!1;else throw Error(He+t+": "+n);return this}function qp(e){return new this(e).cos()}function jp(e){return new this(e).cosh()}function Ys(e){var r,t,n;function i(o){var s,a,l,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,qs(o)){u.s=o.s,w?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e=10;a/=10)s++;w?s>i.maxE?(u.e=NaN,u.d=null):s=429e7?r[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(r=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(r,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(Bs);else for(;o=10;i/=10)n++;nCr,datamodelEnumToSchemaEnum:()=>md});function md(e){return{name:e.name,values:e.values.map(r=>r.name)}}var Cr=(E=>(E.findUnique="findUnique",E.findUniqueOrThrow="findUniqueOrThrow",E.findFirst="findFirst",E.findFirstOrThrow="findFirstOrThrow",E.findMany="findMany",E.create="create",E.createMany="createMany",E.createManyAndReturn="createManyAndReturn",E.update="update",E.updateMany="updateMany",E.updateManyAndReturn="updateManyAndReturn",E.upsert="upsert",E.delete="delete",E.deleteMany="deleteMany",E.groupBy="groupBy",E.count="count",E.aggregate="aggregate",E.findRaw="findRaw",E.aggregateRaw="aggregateRaw",E))(Cr||{});var na=k(Ai());var ta=k(require("node:fs"));var Xs={keyword:De,entity:De,value:e=>W(nr(e)),punctuation:nr,directive:De,function:De,variable:e=>W(nr(e)),string:e=>W(qe(e)),boolean:ke,number:De,comment:Hr};var fd=e=>e,En={},gd=0,v={manual:En.Prism&&En.Prism.manual,disableWorkerMessageHandler:En.Prism&&En.Prism.disableWorkerMessageHandler,util:{encode:function(e){if(e instanceof ge){let r=e;return new ge(r.type,v.util.encode(r.content),r.alias)}else return Array.isArray(e)?e.map(v.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(Ae instanceof ge)continue;if(me&&V!=r.length-1){R.lastIndex=te;var p=R.exec(e);if(!p)break;var c=p.index+(D?p[1].length:0),d=p.index+p[0].length,a=V,l=te;for(let _=r.length;a<_&&(l=l&&(++V,te=l);if(r[V]instanceof ge)continue;u=a-V,Ae=e.slice(te,l),p.index-=te}else{R.lastIndex=0;var p=R.exec(Ae),u=1}if(!p){if(o)break;continue}D&&(ae=p[1]?p[1].length:0);var c=p.index+ae,p=p[0].slice(ae),d=c+p.length,f=Ae.slice(0,c),h=Ae.slice(d);let H=[V,u];f&&(++V,te+=f.length,H.push(f));let fr=new ge(g,E?v.tokenize(p,E):p,Jr,p,me);if(H.push(fr),h&&H.push(h),Array.prototype.splice.apply(r,H),u!=1&&v.matchGrammar(e,r,t,V,te,!0,g),o)break}}}},tokenize:function(e,r){let t=[e],n=r.rest;if(n){for(let i in n)r[i]=n[i];delete r.rest}return v.matchGrammar(e,t,r,0,0,!1),t},hooks:{all:{},add:function(e,r){let t=v.hooks.all;t[e]=t[e]||[],t[e].push(r)},run:function(e,r){let t=v.hooks.all[e];if(!(!t||!t.length))for(var n=0,i;i=t[n++];)i(r)}},Token:ge};v.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};v.languages.javascript=v.languages.extend("clike",{"class-name":[v.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/});v.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;v.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:v.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:v.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:v.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:v.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});v.languages.markup&&v.languages.markup.tag.addInlined("script","javascript");v.languages.js=v.languages.javascript;v.languages.typescript=v.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/});v.languages.ts=v.languages.typescript;function ge(e,r,t,n,i){this.type=e,this.content=r,this.alias=t,this.length=(n||"").length|0,this.greedy=!!i}ge.stringify=function(e,r){return typeof e=="string"?e:Array.isArray(e)?e.map(function(t){return ge.stringify(t,r)}).join(""):hd(e.type)(e.content)};function hd(e){return Xs[e]||fd}function ea(e){return yd(e,v.languages.javascript)}function yd(e,r){return v.tokenize(e,r).map(n=>ge.stringify(n)).join("")}function ra(e){return Ri(e)}var bn=class e{firstLineNumber;lines;static read(r){let t;try{t=ta.default.readFileSync(r,"utf-8")}catch{return null}return e.fromContent(t)}static fromContent(r){let t=r.split(/\r?\n/);return new e(1,t)}constructor(r,t){this.firstLineNumber=r,this.lines=t}get lastLineNumber(){return this.firstLineNumber+this.lines.length-1}mapLineAt(r,t){if(rthis.lines.length+this.firstLineNumber)return this;let n=r-this.firstLineNumber,i=[...this.lines];return i[n]=t(i[n]),new e(this.firstLineNumber,i)}mapLines(r){return new e(this.firstLineNumber,this.lines.map((t,n)=>r(t,this.firstLineNumber+n)))}lineAt(r){return this.lines[r-this.firstLineNumber]}prependSymbolAt(r,t){return this.mapLines((n,i)=>i===r?`${t} ${n}`:` ${n}`)}slice(r,t){let n=this.lines.slice(r-1,t).join(` +`);return new e(r,ra(n).split(` +`))}highlight(){let r=ea(this.toString());return new e(this.firstLineNumber,r.split(` +`))}toString(){return this.lines.join(` +`)}};var Ed={red:ce,gray:Hr,dim:Ie,bold:W,underline:Y,highlightSource:e=>e.highlight()},bd={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function wd({message:e,originalMethod:r,isPanic:t,callArguments:n}){return{functionName:`prisma.${r}()`,message:e,isPanic:t??!1,callArguments:n}}function xd({callsite:e,message:r,originalMethod:t,isPanic:n,callArguments:i},o){let s=wd({message:r,originalMethod:t,isPanic:n,callArguments:i});if(!e||typeof window<"u"||process.env.NODE_ENV==="production")return s;let a=e.getLocation();if(!a||!a.lineNumber||!a.columnNumber)return s;let l=Math.max(1,a.lineNumber-3),u=bn.read(a.fileName)?.slice(l,a.lineNumber),c=u?.lineAt(a.lineNumber);if(u&&c){let p=Pd(c),d=vd(c);if(!d)return s;s.functionName=`${d.code})`,s.location=a,n||(u=u.mapLineAt(a.lineNumber,h=>h.slice(0,d.openingBraceIndex))),u=o.highlightSource(u);let f=String(u.lastLineNumber).length;if(s.contextLines=u.mapLines((h,g)=>o.gray(String(g).padStart(f))+" "+h).mapLines(h=>o.dim(h)).prependSymbolAt(a.lineNumber,o.bold(o.red("\u2192"))),i){let h=p+f+1;h+=2,s.callArguments=(0,na.default)(i,h).slice(h)}}return s}function vd(e){let r=Object.keys(Cr).join("|"),n=new RegExp(String.raw`\.(${r})\(`).exec(e);if(n){let i=n.index+n[0].length,o=e.lastIndexOf(" ",n.index)+1;return{code:e.slice(o,i),openingBraceIndex:i}}return null}function Pd(e){let r=0;for(let t=0;t"Unknown error")}function la(e){return e.errors.flatMap(r=>r.kind==="Union"?la(r):[r])}function Rd(e){let r=new Map,t=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){t.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=r.get(i);o?r.set(i,{...n,argument:{...n.argument,typeNames:Cd(o.argument.typeNames,n.argument.typeNames)}}):r.set(i,n)}return t.push(...r.values()),t}function Cd(e,r){return[...new Set(e.concat(r))]}function Ad(e){return qi(e,(r,t)=>{let n=oa(r),i=oa(t);return n!==i?n-i:sa(r)-sa(t)})}function oa(e){let r=0;return Array.isArray(e.selectionPath)&&(r+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(r+=e.argumentPath.length),r}function sa(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}var ue=class{constructor(r,t){this.name=r;this.value=t}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(r){let{colors:{green:t}}=r.context;r.addMarginSymbol(t(this.isRequired?"+":"?")),r.write(t(this.name)),this.isRequired||r.write(t("?")),r.write(t(": ")),typeof this.value=="string"?r.write(t(this.value)):r.write(this.value)}};ca();var Ar=class{constructor(r=0,t){this.context=t;this.currentIndent=r}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(r){return typeof r=="string"?this.currentLine+=r:r.write(this),this}writeJoined(r,t,n=(i,o)=>o.write(i)){let i=t.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(r){return this.marginSymbol=r,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let r=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+r.slice(1):r}};ua();var vn=class{constructor(r){this.value=r}write(r){r.write(this.value)}markAsError(){this.value.markAsError()}};var Pn=e=>e,Tn={bold:Pn,red:Pn,green:Pn,dim:Pn,enabled:!1},pa={bold:W,red:ce,green:qe,dim:Ie,enabled:!0},Ir={write(e){e.writeLine(",")}};var Te=class{constructor(r){this.contents=r}isUnderlined=!1;color=r=>r;underline(){return this.isUnderlined=!0,this}setColor(r){return this.color=r,this}write(r){let t=r.getCurrentLineLength();r.write(this.color(this.contents)),this.isUnderlined&&r.afterNextNewline(()=>{r.write(" ".repeat(t)).writeLine(this.color("~".repeat(this.contents.length)))})}};var ze=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var kr=class extends ze{items=[];addItem(r){return this.items.push(new vn(r)),this}getField(r){return this.items[r]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(t=>t.value.getPrintWidth()))+2}write(r){if(this.items.length===0){this.writeEmpty(r);return}this.writeWithItems(r)}writeEmpty(r){let t=new Te("[]");this.hasError&&t.setColor(r.context.colors.red).underline(),r.write(t)}writeWithItems(r){let{colors:t}=r.context;r.writeLine("[").withIndent(()=>r.writeJoined(Ir,this.items).newLine()).write("]"),this.hasError&&r.afterNextNewline(()=>{r.writeLine(t.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var Dr=class e extends ze{fields={};suggestions=[];addField(r){this.fields[r.name]=r}addSuggestion(r){this.suggestions.push(r)}getField(r){return this.fields[r]}getDeepField(r){let[t,...n]=r,i=this.getField(t);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof kr&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(r){return r.length===0?this:this.getDeepField(r)?.value}hasField(r){return!!this.getField(r)}removeAllFields(){this.fields={}}removeField(r){delete this.fields[r]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(r){return this.getField(r)?.value}getDeepSubSelectionValue(r){let t=this;for(let n of r){if(!(t instanceof e))return;let i=t.getSubSelectionValue(n);if(!i)return;t=i}return t}getDeepSelectionParent(r){let t=this.getSelectionParent();if(!t)return;let n=t;for(let i of r){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let r=this.getField("select")?.value.asObject();if(r)return{kind:"select",value:r};let t=this.getField("include")?.value.asObject();if(t)return{kind:"include",value:t}}getSubSelectionValue(r){return this.getSelectionParent()?.value.fields[r].value}getPrintWidth(){let r=Object.values(this.fields);return r.length==0?2:Math.max(...r.map(n=>n.getPrintWidth()))+2}write(r){let t=Object.values(this.fields);if(t.length===0&&this.suggestions.length===0){this.writeEmpty(r);return}this.writeWithContents(r,t)}asObject(){return this}writeEmpty(r){let t=new Te("{}");this.hasError&&t.setColor(r.context.colors.red).underline(),r.write(t)}writeWithContents(r,t){r.writeLine("{").withIndent(()=>{r.writeJoined(Ir,[...t,...this.suggestions]).newLine()}),r.write("}"),this.hasError&&r.afterNextNewline(()=>{r.writeLine(r.context.colors.red("~".repeat(this.getPrintWidth())))})}};var Q=class extends ze{constructor(t){super();this.text=t}getPrintWidth(){return this.text.length}write(t){let n=new Te(this.text);this.hasError&&n.underline().setColor(t.context.colors.red),t.write(n)}asObject(){}};var ct=class{fields=[];addField(r,t){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${r}: ${t}`))).addMarginSymbol(i(o("+")))}}),this}write(r){let{colors:{green:t}}=r.context;r.writeLine(t("{")).withIndent(()=>{r.writeJoined(Ir,this.fields).newLine()}).write(t("}")).addMarginSymbol(t("+"))}};function xn(e,r,t){switch(e.kind){case"MutuallyExclusiveFields":Id(e,r);break;case"IncludeOnScalar":kd(e,r);break;case"EmptySelection":Dd(e,r,t);break;case"UnknownSelectionField":Ld(e,r);break;case"InvalidSelectionValue":Fd(e,r);break;case"UnknownArgument":Md(e,r);break;case"UnknownInputField":$d(e,r);break;case"RequiredArgumentMissing":qd(e,r);break;case"InvalidArgumentType":jd(e,r);break;case"InvalidArgumentValue":Vd(e,r);break;case"ValueTooLarge":Bd(e,r);break;case"SomeFieldsMissing":Ud(e,r);break;case"TooManyFieldsGiven":Gd(e,r);break;case"Union":aa(e,r,t);break;default:throw new Error("not implemented: "+e.kind)}}function Id(e,r){let t=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();t&&(t.getField(e.firstField)?.markAsError(),t.getField(e.secondField)?.markAsError()),r.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function kd(e,r){let[t,n]=pt(e.selectionPath),i=e.outputType,o=r.arguments.getDeepSelectionParent(t)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ue(s.name,"true"));r.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${dt(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function Dd(e,r,t){let n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){Od(e,r,i);return}if(n.hasField("select")){_d(e,r);return}}if(t?.[Ye(e.outputType.name)]){Nd(e,r);return}r.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function Od(e,r,t){t.removeAllFields();for(let n of e.outputType.fields)t.addSuggestion(new ue(n.name,"false"));r.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function _d(e,r){let t=e.outputType,n=r.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),ga(n,t)),r.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(t.name)} must not be empty. ${dt(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(t.name)} needs ${o.bold("at least one truthy value")}.`)}function Nd(e,r){let t=new ct;for(let i of e.outputType.fields)i.isRelation||t.addField(i.name,"false");let n=new ue("omit",t).makeRequired();if(e.selectionPath.length===0)r.arguments.addSuggestion(n);else{let[i,o]=pt(e.selectionPath),a=r.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new Dr;l.addSuggestion(n),a.value=l}}r.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function Ld(e,r){let t=ha(e.selectionPath,r);if(t.parentKind!=="unknown"){t.field.markAsError();let n=t.parent;switch(t.parentKind){case"select":ga(n,e.outputType);break;case"include":Qd(n,e.outputType);break;case"omit":Wd(n,e.outputType);break}}r.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${t.fieldName}\``)}`];return t.parentKind!=="unknown"&&i.push(`for ${n.bold(t.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(dt(n)),i.join(" ")})}function Fd(e,r){let t=ha(e.selectionPath,r);t.parentKind!=="unknown"&&t.field.value.markAsError(),r.addErrorMessage(n=>`Invalid value for selection field \`${n.red(t.fieldName)}\`: ${e.underlyingError}`)}function Md(e,r){let t=e.argumentPath[0],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(t)?.markAsError(),Jd(n,e.arguments)),r.addErrorMessage(i=>ma(i,t,e.arguments.map(o=>o.name)))}function $d(e,r){let[t,n]=pt(e.argumentPath),i=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(t)?.asObject();o&&ya(o,e.inputType)}r.addErrorMessage(o=>ma(o,n,e.inputType.fields.map(s=>s.name)))}function ma(e,r,t){let n=[`Unknown argument \`${e.red(r)}\`.`],i=Kd(r,t);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),t.length>0&&n.push(dt(e)),n.join(" ")}function qd(e,r){let t;r.addErrorMessage(l=>t?.value instanceof Q&&t.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=pt(e.argumentPath),s=new ct,a=n.getDeepFieldValue(i)?.asObject();if(a)if(t=a.getField(o),t&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new ue(o,s).makeRequired())}else{let l=e.inputTypes.map(fa).join(" | ");a.addSuggestion(new ue(o,l).makeRequired())}}function fa(e){return e.kind==="list"?`${fa(e.elementType)}[]`:e.name}function jd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),r.addErrorMessage(i=>{let o=Sn("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(t)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function Vd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),r.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(t)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Sn("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function Bd(e,r){let t=e.argument.name,n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof Q&&(i=s.text)}r.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(t)}\``),s.join(" ")})}function Ud(e,r){let t=e.argumentPath[e.argumentPath.length-1],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&ya(i,e.inputType)}r.addErrorMessage(i=>{let o=[`Argument \`${i.bold(t)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Sn("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(dt(i)),o.join(" ")})}function Gd(e,r){let t=e.argumentPath[e.argumentPath.length-1],n=r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}r.addErrorMessage(o=>{let s=[`Argument \`${o.bold(t)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Sn("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function ga(e,r){for(let t of r.fields)e.hasField(t.name)||e.addSuggestion(new ue(t.name,"true"))}function Qd(e,r){for(let t of r.fields)t.isRelation&&!e.hasField(t.name)&&e.addSuggestion(new ue(t.name,"true"))}function Wd(e,r){for(let t of r.fields)!e.hasField(t.name)&&!t.isRelation&&e.addSuggestion(new ue(t.name,"true"))}function Jd(e,r){for(let t of r)e.hasField(t.name)||e.addSuggestion(new ue(t.name,t.typeNames.join(" | ")))}function ha(e,r){let[t,n]=pt(e),i=r.arguments.getDeepSubSelectionValue(t)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function ya(e,r){if(r.kind==="object")for(let t of r.fields)e.hasField(t.name)||e.addSuggestion(new ue(t.name,t.typeNames.join(" | ")))}function pt(e){let r=[...e],t=r.pop();if(!t)throw new Error("unexpected empty path");return[r,t]}function dt({green:e,enabled:r}){return"Available options are "+(r?`listed in ${e("green")}`:"marked with ?")+"."}function Sn(e,r){if(r.length===1)return r[0];let t=[...r],n=t.pop();return`${t.join(", ")} ${e} ${n}`}var Hd=3;function Kd(e,r){let t=1/0,n;for(let i of r){let o=(0,da.default)(e,i);o>Hd||o`}};function Or(e){return e instanceof mt}var Rn=Symbol(),Hi=new WeakMap,Fe=class{constructor(r){r===Rn?Hi.set(this,`Prisma.${this._getName()}`):Hi.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Hi.get(this)}},ft=class extends Fe{_getNamespace(){return"NullTypes"}},gt=class extends ft{#e};Ki(gt,"DbNull");var ht=class extends ft{#e};Ki(ht,"JsonNull");var yt=class extends ft{#e};Ki(yt,"AnyNull");var Cn={classes:{DbNull:gt,JsonNull:ht,AnyNull:yt},instances:{DbNull:new gt(Rn),JsonNull:new ht(Rn),AnyNull:new yt(Rn)}};function Ki(e,r){Object.defineProperty(e,"name",{value:r,configurable:!0})}var Ea=": ",An=class{constructor(r,t){this.name=r;this.value=t}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Ea.length}write(r){let t=new Te(this.name);this.hasError&&t.underline().setColor(r.context.colors.red),r.write(t).write(Ea).write(this.value)}};var Yi=class{arguments;errorMessages=[];constructor(r){this.arguments=r}write(r){r.write(this.arguments)}addErrorMessage(r){this.errorMessages.push(r)}renderAllMessages(r){return this.errorMessages.map(t=>t(r)).join(` +`)}};function _r(e){return new Yi(ba(e))}function ba(e){let r=new Dr;for(let[t,n]of Object.entries(e)){let i=new An(t,wa(n));r.addField(i)}return r}function wa(e){if(typeof e=="string")return new Q(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new Q(String(e));if(typeof e=="bigint")return new Q(`${e}n`);if(e===null)return new Q("null");if(e===void 0)return new Q("undefined");if(Rr(e))return new Q(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return Buffer.isBuffer(e)?new Q(`Buffer.alloc(${e.byteLength})`):new Q(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let r=yn(e)?e.toISOString():"Invalid Date";return new Q(`new Date("${r}")`)}return e instanceof Fe?new Q(`Prisma.${e._getName()}`):Or(e)?new Q(`prisma.${Ye(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Yd(e):typeof e=="object"?ba(e):new Q(Object.prototype.toString.call(e))}function Yd(e){let r=new kr;for(let t of e)r.addItem(wa(t));return r}function In(e,r){let t=r==="pretty"?pa:Tn,n=e.renderAllMessages(t),i=new Ar(0,{colors:t}).write(e).toString();return{message:n,args:i}}function kn({args:e,errors:r,errorFormat:t,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=_r(e);for(let p of r)xn(p,a,s);let{message:l,args:u}=In(a,t),c=wn({message:l,callsite:n,originalMethod:i,showColors:t==="pretty",callArguments:u});throw new Z(c,{clientVersion:o})}function Se(e){return e.replace(/^./,r=>r.toLowerCase())}function va(e,r,t){let n=Se(t);return!r.result||!(r.result.$allModels||r.result[n])?e:zd({...e,...xa(r.name,e,r.result.$allModels),...xa(r.name,e,r.result[n])})}function zd(e){let r=new Pe,t=(n,i)=>r.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>t(o,i)):[n]));return xr(e,n=>({...n,needs:t(n.name,new Set)}))}function xa(e,r,t){return t?xr(t,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Zd(r,o,i)})):{}}function Zd(e,r,t){let n=e?.[r]?.compute;return n?i=>t({...i,[r]:n(i)}):t}function Pa(e,r){if(!r)return e;let t={...e};for(let n of Object.values(r))if(e[n.name])for(let i of n.needs)t[i]=!0;return t}function Ta(e,r){if(!r)return e;let t={...e};for(let n of Object.values(r))if(!e[n.name])for(let i of n.needs)delete t[i];return t}var Dn=class{constructor(r,t){this.extension=r;this.previous=t}computedFieldsCache=new Pe;modelExtensionsCache=new Pe;queryCallbacksCache=new Pe;clientExtensions=lt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=lt(()=>{let r=this.previous?.getAllBatchQueryCallbacks()??[],t=this.extension.query?.$__internalBatch;return t?r.concat(t):r});getAllComputedFields(r){return this.computedFieldsCache.getOrCreate(r,()=>va(this.previous?.getAllComputedFields(r),this.extension,r))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(r){return this.modelExtensionsCache.getOrCreate(r,()=>{let t=Se(r);return!this.extension.model||!(this.extension.model[t]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(r):{...this.previous?.getAllModelExtensions(r),...this.extension.model.$allModels,...this.extension.model[t]}})}getAllQueryCallbacks(r,t){return this.queryCallbacksCache.getOrCreate(`${r}:${t}`,()=>{let n=this.previous?.getAllQueryCallbacks(r,t)??[],i=[],o=this.extension.query;return!o||!(o[r]||o.$allModels||o[t]||o.$allOperations)?n:(o[r]!==void 0&&(o[r][t]!==void 0&&i.push(o[r][t]),o[r].$allOperations!==void 0&&i.push(o[r].$allOperations)),r!=="$none"&&o.$allModels!==void 0&&(o.$allModels[t]!==void 0&&i.push(o.$allModels[t]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[t]!==void 0&&i.push(o[t]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},Nr=class e{constructor(r){this.head=r}static empty(){return new e}static single(r){return new e(new Dn(r))}isEmpty(){return this.head===void 0}append(r){return new e(new Dn(r,this.head))}getAllComputedFields(r){return this.head?.getAllComputedFields(r)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(r){return this.head?.getAllModelExtensions(r)}getAllQueryCallbacks(r,t){return this.head?.getAllQueryCallbacks(r,t)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};var On=class{constructor(r){this.name=r}};function Sa(e){return e instanceof On}function Ra(e){return new On(e)}var Ca=Symbol(),Et=class{constructor(r){if(r!==Ca)throw new Error("Skip instance can not be constructed directly")}ifUndefined(r){return r===void 0?_n:r}},_n=new Et(Ca);function Re(e){return e instanceof Et}var Xd={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Aa="explicitly `undefined` values are not allowed";function Nn({modelName:e,action:r,args:t,runtimeDataModel:n,extensions:i=Nr.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:c}){let p=new zi({runtimeDataModel:n,modelName:e,action:r,rootArgs:t,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:c});return{modelName:e,action:Xd[r],query:bt(t,p)}}function bt({select:e,include:r,...t}={},n){let i=t.omit;return delete t.omit,{arguments:ka(t,n),selection:em(e,r,i,n)}}function em(e,r,t,n){return e?(r?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):t&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),im(e,n)):rm(n,r,t)}function rm(e,r,t){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),r&&tm(n,r,e),nm(n,t,e),n}function tm(e,r,t){for(let[n,i]of Object.entries(r)){if(Re(i))continue;let o=t.nestSelection(n);if(Zi(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=t.findField(n);if(s&&s.kind!=="object"&&t.throwValidationError({kind:"IncludeOnScalar",selectionPath:t.getSelectionPath().concat(n),outputType:t.getOutputTypeDescription()}),s){e[n]=bt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=bt(i,o)}}function nm(e,r,t){let n=t.getComputedFields(),i={...t.getGlobalOmit(),...r},o=Ta(i,n);for(let[s,a]of Object.entries(o)){if(Re(a))continue;Zi(a,t.nestSelection(s));let l=t.findField(s);n?.[s]&&!l||(e[s]=!a)}}function im(e,r){let t={},n=r.getComputedFields(),i=Pa(e,n);for(let[o,s]of Object.entries(i)){if(Re(s))continue;let a=r.nestSelection(o);Zi(s,a);let l=r.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||Re(s)){t[o]=!1;continue}if(s===!0){l?.kind==="object"?t[o]=bt({},a):t[o]=!0;continue}t[o]=bt(s,a)}}return t}function Ia(e,r){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(Sr(e)){if(yn(e))return{$type:"DateTime",value:e.toISOString()};r.throwValidationError({kind:"InvalidArgumentValue",selectionPath:r.getSelectionPath(),argumentPath:r.getArgumentPath(),argument:{name:r.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Sa(e))return{$type:"Param",value:e.name};if(Or(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return om(e,r);if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:Buffer.from(t,n,i).toString("base64")}}if(sm(e))return e.values;if(Rr(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Fe){if(e!==Cn.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(am(e))return e.toJSON();if(typeof e=="object")return ka(e,r);r.throwValidationError({kind:"InvalidArgumentValue",selectionPath:r.getSelectionPath(),argumentPath:r.getArgumentPath(),argument:{name:r.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function ka(e,r){if(e.$type)return{$type:"Raw",value:e};let t={};for(let n in e){let i=e[n],o=r.nestArgument(n);Re(i)||(i!==void 0?t[n]=Ia(i,o):r.isPreviewFeatureOn("strictUndefinedChecks")&&r.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:r.getSelectionPath(),argument:{name:r.getArgumentName(),typeNames:[]},underlyingError:Aa}))}return t}function om(e,r){let t=[];for(let n=0;n({name:r.name,typeName:"boolean",isRelation:r.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(r){return this.params.previewFeatures.includes(r)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(r){return this.modelOrType?.fields.find(t=>t.name===r)}nestSelection(r){let t=this.findField(r),n=t?.kind==="object"?t.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(r)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[Ye(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:_e(this.params.action,"Unknown action")}}nestArgument(r){return new e({...this.params,argumentPath:this.params.argumentPath.concat(r)})}};function Da(e){if(!e._hasPreviewFlag("metrics"))throw new Z("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var Lr=class{_client;constructor(r){this._client=r}prometheus(r){return Da(this._client),this._client._engine.metrics({format:"prometheus",...r})}json(r){return Da(this._client),this._client._engine.metrics({format:"json",...r})}};function Oa(e,r){let t=lt(()=>lm(r));Object.defineProperty(e,"dmmf",{get:()=>t.get()})}function lm(e){return{datamodel:{models:Xi(e.models),enums:Xi(e.enums),types:Xi(e.types)}}}function Xi(e){return Object.entries(e).map(([r,t])=>({name:r,...t}))}var eo=new WeakMap,Ln="$$PrismaTypedSql",wt=class{constructor(r,t){eo.set(this,{sql:r,values:t}),Object.defineProperty(this,Ln,{value:Ln})}get sql(){return eo.get(this).sql}get values(){return eo.get(this).values}};function _a(e){return(...r)=>new wt(e,r)}function Fn(e){return e!=null&&e[Ln]===Ln}var du=k(xi());var mu=require("node:async_hooks"),fu=require("node:events"),gu=k(require("node:fs")),ei=k(require("node:path"));var oe=class e{constructor(r,t){if(r.length-1!==t.length)throw r.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${r.length} strings to have ${r.length-1} values`);let n=t.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=r[0];let i=0,o=0;for(;ie.getPropertyValue(t))},getPropertyDescriptor(t){return e.getPropertyDescriptor?.(t)}}}var Mn={enumerable:!0,configurable:!0,writable:!0};function $n(e){let r=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Mn,has:(t,n)=>r.has(n),set:(t,n,i)=>r.add(n)&&Reflect.set(t,n,i),ownKeys:()=>[...r]}}var Fa=Symbol.for("nodejs.util.inspect.custom");function he(e,r){let t=um(r),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=t.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=t.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=Ma(Reflect.ownKeys(o),t),a=Ma(Array.from(t.keys()),t);return[...new Set([...s,...a,...n])]},set(o,s,a){return t.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=t.get(s);return l?l.getPropertyDescriptor?{...Mn,...l?.getPropertyDescriptor(s)}:Mn:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[Fa]=function(){let o={...this};return delete o[Fa],o},i}function um(e){let r=new Map;for(let t of e){let n=t.getKeys();for(let i of n)r.set(i,t)}return r}function Ma(e,r){return e.filter(t=>r.get(t)?.has?.(t)??!0)}function Fr(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}function Mr(e,r){return{batch:e,transaction:r?.kind==="batch"?{isolationLevel:r.options.isolationLevel}:void 0}}function $a(e){if(e===void 0)return"";let r=_r(e);return new Ar(0,{colors:Tn}).write(r).toString()}var cm="P2037";function $r({error:e,user_facing_error:r},t,n){return r.error_code?new z(pm(r,n),{code:r.error_code,clientVersion:t,meta:r.meta,batchRequestIdx:r.batch_request_idx}):new j(e,{clientVersion:t,batchRequestIdx:r.batch_request_idx})}function pm(e,r){let t=e.message;return(r==="postgresql"||r==="postgres"||r==="mysql")&&e.error_code===cm&&(t+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),t}var vt="";function qa(e){var r=e.split(` +`);return r.reduce(function(t,n){var i=fm(n)||hm(n)||bm(n)||Pm(n)||xm(n);return i&&t.push(i),t},[])}var dm=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,mm=/\((\S*)(?::(\d+))(?::(\d+))\)/;function fm(e){var r=dm.exec(e);if(!r)return null;var t=r[2]&&r[2].indexOf("native")===0,n=r[2]&&r[2].indexOf("eval")===0,i=mm.exec(r[2]);return n&&i!=null&&(r[2]=i[1],r[3]=i[2],r[4]=i[3]),{file:t?null:r[2],methodName:r[1]||vt,arguments:t?[r[2]]:[],lineNumber:r[3]?+r[3]:null,column:r[4]?+r[4]:null}}var gm=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function hm(e){var r=gm.exec(e);return r?{file:r[2],methodName:r[1]||vt,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}:null}var ym=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,Em=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function bm(e){var r=ym.exec(e);if(!r)return null;var t=r[3]&&r[3].indexOf(" > eval")>-1,n=Em.exec(r[3]);return t&&n!=null&&(r[3]=n[1],r[4]=n[2],r[5]=null),{file:r[3],methodName:r[1]||vt,arguments:r[2]?r[2].split(","):[],lineNumber:r[4]?+r[4]:null,column:r[5]?+r[5]:null}}var wm=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function xm(e){var r=wm.exec(e);return r?{file:r[3],methodName:r[1]||vt,arguments:[],lineNumber:+r[4],column:r[5]?+r[5]:null}:null}var vm=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Pm(e){var r=vm.exec(e);return r?{file:r[2],methodName:r[1]||vt,arguments:[],lineNumber:+r[3],column:r[4]?+r[4]:null}:null}var no=class{getLocation(){return null}},io=class{_error;constructor(){this._error=new Error}getLocation(){let r=this._error.stack;if(!r)return null;let n=qa(r).find(i=>{if(!i.file)return!1;let o=_i(i.file);return o!==""&&!o.includes("@prisma")&&!o.includes("/packages/client/src/runtime/")&&!o.endsWith("/runtime/binary.js")&&!o.endsWith("/runtime/library.js")&&!o.endsWith("/runtime/edge.js")&&!o.endsWith("/runtime/edge-esm.js")&&!o.startsWith("internal/")&&!i.methodName.includes("new ")&&!i.methodName.includes("getCallSite")&&!i.methodName.includes("Proxy.")&&i.methodName.split(".").length<4});return!n||!n.file?null:{fileName:n.file,lineNumber:n.lineNumber,columnNumber:n.column}}};function Ze(e){return e==="minimal"?typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new no:new io}var ja={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function qr(e={}){let r=Sm(e);return Object.entries(r).reduce((n,[i,o])=>(ja[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function Sm(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function qn(e={}){return r=>(typeof e._count=="boolean"&&(r._count=r._count._all),r)}function Va(e,r){let t=qn(e);return r({action:"aggregate",unpacker:t,argsMapper:qr})(e)}function Rm(e={}){let{select:r,...t}=e;return typeof r=="object"?qr({...t,_count:r}):qr({...t,_count:{_all:!0}})}function Cm(e={}){return typeof e.select=="object"?r=>qn(e)(r)._count:r=>qn(e)(r)._count._all}function Ba(e,r){return r({action:"count",unpacker:Cm(e),argsMapper:Rm})(e)}function Am(e={}){let r=qr(e);if(Array.isArray(r.by))for(let t of r.by)typeof t=="string"&&(r.select[t]=!0);else typeof r.by=="string"&&(r.select[r.by]=!0);return r}function Im(e={}){return r=>(typeof e?._count=="boolean"&&r.forEach(t=>{t._count=t._count._all}),r)}function Ua(e,r){return r({action:"groupBy",unpacker:Im(e),argsMapper:Am})(e)}function Ga(e,r,t){if(r==="aggregate")return n=>Va(n,t);if(r==="count")return n=>Ba(n,t);if(r==="groupBy")return n=>Ua(n,t)}function Qa(e,r){let t=r.fields.filter(i=>!i.relationName),n=zs(t,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new mt(e,o,s.type,s.isList,s.kind==="enum")},...$n(Object.keys(n))})}var Wa=e=>Array.isArray(e)?e:e.split("."),oo=(e,r)=>Wa(r).reduce((t,n)=>t&&t[n],e),Ja=(e,r,t)=>Wa(r).reduceRight((n,i,o,s)=>Object.assign({},oo(e,s.slice(0,o)),{[i]:n}),t);function km(e,r){return e===void 0||r===void 0?[]:[...r,"select",e]}function Dm(e,r,t){return r===void 0?e??{}:Ja(r,t,e||!0)}function so(e,r,t,n,i,o){let a=e._runtimeDataModel.models[r].fields.reduce((l,u)=>({...l,[u.name]:u}),{});return l=>{let u=Ze(e._errorFormat),c=km(n,i),p=Dm(l,o,c),d=t({dataPath:c,callsite:u})(p),f=Om(e,r);return new Proxy(d,{get(h,g){if(!f.includes(g))return h[g];let P=[a[g].type,t,g],R=[c,p];return so(e,...P,...R)},...$n([...f,...Object.getOwnPropertyNames(d)])})}}function Om(e,r){return e._runtimeDataModel.models[r].fields.filter(t=>t.kind==="object").map(t=>t.name)}var _m=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Nm=["aggregate","count","groupBy"];function ao(e,r){let t=e._extensions.getAllModelExtensions(r)??{},n=[Lm(e,r),Mm(e,r),xt(t),re("name",()=>r),re("$name",()=>r),re("$parent",()=>e._appliedParent)];return he({},n)}function Lm(e,r){let t=Se(r),n=Object.keys(Cr).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let u=Ze(e._errorFormat);return e._createPrismaPromise(c=>{let p={args:l,dataPath:[],action:o,model:r,clientMethod:`${t}.${i}`,jsModelName:t,transaction:c,callsite:u};return e._request({...p,...a})},{action:o,args:l,model:r})};return _m.includes(o)?so(e,r,s):Fm(i)?Ga(e,i,s):s({})}}}function Fm(e){return Nm.includes(e)}function Mm(e,r){return ar(re("fields",()=>{let t=e._runtimeDataModel.models[r];return Qa(r,t)}))}function Ha(e){return e.replace(/^./,r=>r.toUpperCase())}var lo=Symbol();function Pt(e){let r=[$m(e),qm(e),re(lo,()=>e),re("$parent",()=>e._appliedParent)],t=e._extensions.getAllClientExtensions();return t&&r.push(xt(t)),he(e,r)}function $m(e){let r=Object.getPrototypeOf(e._originalClient),t=[...new Set(Object.getOwnPropertyNames(r))];return{getKeys(){return t},getPropertyValue(n){return e[n]}}}function qm(e){let r=Object.keys(e._runtimeDataModel.models),t=r.map(Se),n=[...new Set(r.concat(t))];return ar({getKeys(){return n},getPropertyValue(i){let o=Ha(i);if(e._runtimeDataModel.models[o]!==void 0)return ao(e,o);if(e._runtimeDataModel.models[i]!==void 0)return ao(e,i)},getPropertyDescriptor(i){if(!t.includes(i))return{enumerable:!1}}})}function Ka(e){return e[lo]?e[lo]:e}function Ya(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let t=e.client.__AccelerateEngine;this._originalClient._engine=new t(this._originalClient._accelerateEngineConfig)}let r=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Pt(r)}function za({result:e,modelName:r,select:t,omit:n,extensions:i}){let o=i.getAllComputedFields(r);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let u=l.needs.filter(c=>n[c]);u.length>0&&a.push(Fr(u))}else if(t){if(!t[l.name])continue;let u=l.needs.filter(c=>!t[c]);u.length>0&&a.push(Fr(u))}jm(e,l.needs)&&s.push(Vm(l,he(e,s)))}return s.length>0||a.length>0?he(e,[...s,...a]):e}function jm(e,r){return r.every(t=>$i(e,t))}function Vm(e,r){return ar(re(e.name,()=>e.compute(r)))}function jn({visitor:e,result:r,args:t,runtimeDataModel:n,modelName:i}){if(Array.isArray(r)){for(let s=0;sc.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let u=typeof s=="object"?s:{};r[o]=jn({visitor:i,result:r[o],args:u,modelName:l.type,runtimeDataModel:n})}}function Xa({result:e,modelName:r,args:t,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[r]?e:jn({result:e,args:t??{},modelName:r,runtimeDataModel:i,visitor:(a,l,u)=>{let c=Se(l);return za({result:a,modelName:c,select:u.select,omit:u.select?void 0:{...o?.[c],...u.omit},extensions:n})}})}var Bm=["$connect","$disconnect","$on","$transaction","$use","$extends"],el=Bm;function rl(e){if(e instanceof oe)return Um(e);if(Fn(e))return Gm(e);if(Array.isArray(e)){let t=[e[0]];for(let n=1;n{let o=r.customDataProxyFetch;return"transaction"in r&&i!==void 0&&(r.transaction?.kind==="batch"&&r.transaction.lock.then(),r.transaction=i),n===t.length?e._executeRequest(r):t[n]({model:r.model,operation:r.model?r.action:r.clientMethod,args:rl(r.args??{}),__internalParams:r,query:(s,a=r)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=al(o,l),a.args=s,nl(e,a,t,n+1)}})})}function il(e,r){let{jsModelName:t,action:n,clientMethod:i}=r,o=t?n:i;if(e._extensions.isEmpty())return e._executeRequest(r);let s=e._extensions.getAllQueryCallbacks(t??"$none",o);return nl(e,r,s)}function ol(e){return r=>{let t={requests:r},n=r[0].extensions.getAllBatchQueryCallbacks();return n.length?sl(t,n,0,e):e(t)}}function sl(e,r,t,n){if(t===r.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return r[t]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=al(i,l),sl(a,r,t+1,n)}})}var tl=e=>e;function al(e=tl,r=tl){return t=>e(r(t))}var ll=N("prisma:client"),ul={Vercel:"vercel","Netlify CI":"netlify"};function cl({postinstall:e,ciName:r,clientVersion:t}){if(ll("checkPlatformCaching:postinstall",e),ll("checkPlatformCaching:ciName",r),e===!0&&r&&r in ul){let n=`Prisma has detected that this project was built on ${r}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${ul[r]}-build`;throw console.error(n),new T(n,t)}}function pl(e,r){return e?e.datasources?e.datasources:e.datasourceUrl?{[r[0]]:{url:e.datasourceUrl}}:{}:{}}var Qm=()=>globalThis.process?.release?.name==="node",Wm=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Jm=()=>!!globalThis.Deno,Hm=()=>typeof globalThis.Netlify=="object",Km=()=>typeof globalThis.EdgeRuntime=="object",Ym=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function zm(){return[[Hm,"netlify"],[Km,"edge-light"],[Ym,"workerd"],[Jm,"deno"],[Wm,"bun"],[Qm,"node"]].flatMap(t=>t[0]()?[t[1]]:[]).at(0)??""}var Zm={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Vn(){let e=zm();return{id:e,prettyName:Zm[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}var hl=k(require("node:fs")),St=k(require("node:path"));function Bn(e){let{runtimeBinaryTarget:r}=e;return`Add "${r}" to \`binaryTargets\` in the "schema.prisma" file and run \`prisma generate\` after saving it: + +${Xm(e)}`}function Xm(e){let{generator:r,generatorBinaryTargets:t,runtimeBinaryTarget:n}=e,i={fromEnvVar:null,value:n},o=[...t,i];return ki({...r,binaryTargets:o})}function Xe(e){let{runtimeBinaryTarget:r}=e;return`Prisma Client could not locate the Query Engine for runtime "${r}".`}function er(e){let{searchedLocations:r}=e;return`The following locations have been searched: +${[...new Set(r)].map(i=>` ${i}`).join(` +`)}`}function dl(e){let{runtimeBinaryTarget:r}=e;return`${Xe(e)} + +This happened because \`binaryTargets\` have been pinned, but the actual deployment also required "${r}". +${Bn(e)} + +${er(e)}`}function Un(e){return`We would appreciate if you could take the time to share some information with us. +Please help us by answering a few questions: https://pris.ly/${e}`}function Gn(e){let{errorStack:r}=e;return r?.match(/\/\.next|\/next@|\/next\//)?` + +We detected that you are using Next.js, learn how to fix this: https://pris.ly/d/engine-not-found-nextjs.`:""}function ml(e){let{queryEngineName:r}=e;return`${Xe(e)}${Gn(e)} + +This is likely caused by a bundler that has not copied "${r}" next to the resulting bundle. +Ensure that "${r}" has been copied next to the bundle or in "${e.expectedLocation}". + +${Un("engine-not-found-bundler-investigation")} + +${er(e)}`}function fl(e){let{runtimeBinaryTarget:r,generatorBinaryTargets:t}=e,n=t.find(i=>i.native);return`${Xe(e)} + +This happened because Prisma Client was generated for "${n?.value??"unknown"}", but the actual deployment required "${r}". +${Bn(e)} + +${er(e)}`}function gl(e){let{queryEngineName:r}=e;return`${Xe(e)}${Gn(e)} + +This is likely caused by tooling that has not copied "${r}" to the deployment folder. +Ensure that you ran \`prisma generate\` and that "${r}" has been copied to "${e.expectedLocation}". + +${Un("engine-not-found-tooling-investigation")} + +${er(e)}`}var ef=N("prisma:client:engines:resolveEnginePath"),rf=()=>new RegExp("runtime[\\\\/]library\\.m?js$");async function yl(e,r){let t={binary:process.env.PRISMA_QUERY_ENGINE_BINARY,library:process.env.PRISMA_QUERY_ENGINE_LIBRARY}[e]??r.prismaPath;if(t!==void 0)return t;let{enginePath:n,searchedLocations:i}=await tf(e,r);if(ef("enginePath",n),n!==void 0&&e==="binary"&&Ti(n),n!==void 0)return r.prismaPath=n;let o=await ir(),s=r.generator?.binaryTargets??[],a=s.some(d=>d.native),l=!s.some(d=>d.value===o),u=__filename.match(rf())===null,c={searchedLocations:i,generatorBinaryTargets:s,generator:r.generator,runtimeBinaryTarget:o,queryEngineName:El(e,o),expectedLocation:St.default.relative(process.cwd(),r.dirname),errorStack:new Error().stack},p;throw a&&l?p=fl(c):l?p=dl(c):u?p=ml(c):p=gl(c),new T(p,r.clientVersion)}async function tf(e,r){let t=await ir(),n=[],i=[r.dirname,St.default.resolve(__dirname,".."),r.generator?.output?.value??__dirname,St.default.resolve(__dirname,"../../../.prisma/client"),"/tmp/prisma-engines",r.cwd];__filename.includes("resolveEnginePath")&&i.push(fs());for(let o of i){let s=El(e,t),a=St.default.join(o,s);if(n.push(o),hl.default.existsSync(a))return{enginePath:a,searchedLocations:n}}return{enginePath:void 0,searchedLocations:n}}function El(e,r){return e==="library"?Gt(r,"fs"):`query-engine-${r}${r==="windows"?".exe":""}`}var uo=k(Oi());function bl(e){return e?e.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,r=>`${r[0]}5`):""}function wl(e){return e.split(` +`).map(r=>r.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/,"").replace(/\+\d+\s*ms$/,"")).join(` +`)}var xl=k(Ls());function vl({title:e,user:r="prisma",repo:t="prisma",template:n="bug_report.yml",body:i}){return(0,xl.default)({user:r,repo:t,template:n,title:e,body:i})}function Pl({version:e,binaryTarget:r,title:t,description:n,engineVersion:i,database:o,query:s}){let a=Go(6e3-(s?.length??0)),l=wl((0,uo.default)(a)),u=n?`# Description +\`\`\` +${n} +\`\`\``:"",c=(0,uo.default)(`Hi Prisma Team! My Prisma Client just crashed. This is the report: +## Versions + +| Name | Version | +|-----------------|--------------------| +| Node | ${process.version?.padEnd(19)}| +| OS | ${r?.padEnd(19)}| +| Prisma Client | ${e?.padEnd(19)}| +| Query Engine | ${i?.padEnd(19)}| +| Database | ${o?.padEnd(19)}| + +${u} + +## Logs +\`\`\` +${l} +\`\`\` + +## Client Snippet +\`\`\`ts +// PLEASE FILL YOUR CODE SNIPPET HERE +\`\`\` + +## Schema +\`\`\`prisma +// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE +\`\`\` + +## Prisma Engine Query +\`\`\` +${s?bl(s):""} +\`\`\` +`),p=vl({title:t,body:c});return`${t} + +This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic. + +${Y(p)} + +If you want the Prisma team to look into it, please open the link above \u{1F64F} +To increase the chance of success, please post your schema and a snippet of +how you used Prisma Client in the issue. +`}function co(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}function Qn(e){return{ok:!0,value:e,map(r){return Qn(r(e))},flatMap(r){return r(e)}}}function lr(e){return{ok:!1,error:e,map(){return lr(e)},flatMap(){return lr(e)}}}var Tl=N("driver-adapter-utils"),po=class{registeredErrors=[];consumeError(r){return this.registeredErrors[r]}registerNewError(r){let t=0;for(;this.registeredErrors[t]!==void 0;)t++;return this.registeredErrors[t]={error:r},t}};var Wn=(e,r=new po)=>{let t={adapterName:e.adapterName,errorRegistry:r,queryRaw:Me(r,e.queryRaw.bind(e)),executeRaw:Me(r,e.executeRaw.bind(e)),executeScript:Me(r,e.executeScript.bind(e)),dispose:Me(r,e.dispose.bind(e)),provider:e.provider,startTransaction:async(...n)=>(await Me(r,e.startTransaction.bind(e))(...n)).map(o=>nf(r,o))};return e.getConnectionInfo&&(t.getConnectionInfo=of(r,e.getConnectionInfo.bind(e))),t},nf=(e,r)=>({adapterName:r.adapterName,provider:r.provider,options:r.options,queryRaw:Me(e,r.queryRaw.bind(r)),executeRaw:Me(e,r.executeRaw.bind(r)),commit:Me(e,r.commit.bind(r)),rollback:Me(e,r.rollback.bind(r))});function Me(e,r){return async(...t)=>{try{return Qn(await r(...t))}catch(n){if(Tl("[error@wrapAsync]",n),co(n))return lr(n.cause);let i=e.registerNewError(n);return lr({kind:"GenericJs",id:i})}}}function of(e,r){return(...t)=>{try{return Qn(r(...t))}catch(n){if(Tl("[error@wrapSync]",n),co(n))return lr(n.cause);let i=e.registerNewError(n);return lr({kind:"GenericJs",id:i})}}}var Sl="6.11.1";function jr({inlineDatasources:e,overrideDatasources:r,env:t,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=r[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=t[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new T(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new T("error: Missing URL environment variable, value, or override.",n);return i}var Jn=class extends Error{clientVersion;cause;constructor(r,t){super(r),this.clientVersion=t.clientVersion,this.cause=t.cause}get[Symbol.toStringTag](){return this.name}};var se=class extends Jn{isRetryable;constructor(r,t){super(r,t),this.isRetryable=t.isRetryable??!0}};function C(e,r){return{...e,isRetryable:r}}var Vr=class extends se{name="ForcedRetryError";code="P5001";constructor(r){super("This request must be retried",C(r,!0))}};x(Vr,"ForcedRetryError");var ur=class extends se{name="InvalidDatasourceError";code="P6001";constructor(r,t){super(r,C(t,!1))}};x(ur,"InvalidDatasourceError");var cr=class extends se{name="NotImplementedYetError";code="P5004";constructor(r,t){super(r,C(t,!1))}};x(cr,"NotImplementedYetError");var $=class extends se{response;constructor(r,t){super(r,t),this.response=t.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var pr=class extends ${name="SchemaMissingError";code="P5005";constructor(r){super("Schema needs to be uploaded",C(r,!0))}};x(pr,"SchemaMissingError");var mo="This request could not be understood by the server",Rt=class extends ${name="BadRequestError";code="P5000";constructor(r,t,n){super(t||mo,C(r,!1)),n&&(this.code=n)}};x(Rt,"BadRequestError");var Ct=class extends ${name="HealthcheckTimeoutError";code="P5013";logs;constructor(r,t){super("Engine not started: healthcheck timeout",C(r,!0)),this.logs=t}};x(Ct,"HealthcheckTimeoutError");var At=class extends ${name="EngineStartupError";code="P5014";logs;constructor(r,t,n){super(t,C(r,!0)),this.logs=n}};x(At,"EngineStartupError");var It=class extends ${name="EngineVersionNotSupportedError";code="P5012";constructor(r){super("Engine version is not supported",C(r,!1))}};x(It,"EngineVersionNotSupportedError");var fo="Request timed out",kt=class extends ${name="GatewayTimeoutError";code="P5009";constructor(r,t=fo){super(t,C(r,!1))}};x(kt,"GatewayTimeoutError");var af="Interactive transaction error",Dt=class extends ${name="InteractiveTransactionError";code="P5015";constructor(r,t=af){super(t,C(r,!1))}};x(Dt,"InteractiveTransactionError");var lf="Request parameters are invalid",Ot=class extends ${name="InvalidRequestError";code="P5011";constructor(r,t=lf){super(t,C(r,!1))}};x(Ot,"InvalidRequestError");var go="Requested resource does not exist",_t=class extends ${name="NotFoundError";code="P5003";constructor(r,t=go){super(t,C(r,!1))}};x(_t,"NotFoundError");var ho="Unknown server error",Br=class extends ${name="ServerError";code="P5006";logs;constructor(r,t,n){super(t||ho,C(r,!0)),this.logs=n}};x(Br,"ServerError");var yo="Unauthorized, check your connection string",Nt=class extends ${name="UnauthorizedError";code="P5007";constructor(r,t=yo){super(t,C(r,!1))}};x(Nt,"UnauthorizedError");var Eo="Usage exceeded, retry again later",Lt=class extends ${name="UsageExceededError";code="P5008";constructor(r,t=Eo){super(t,C(r,!0))}};x(Lt,"UsageExceededError");async function uf(e){let r;try{r=await e.text()}catch{return{type:"EmptyError"}}try{let t=JSON.parse(r);if(typeof t=="string")switch(t){case"InternalDataProxyError":return{type:"DataProxyError",body:t};default:return{type:"UnknownTextError",body:t}}if(typeof t=="object"&&t!==null){if("is_panic"in t&&"message"in t&&"error_code"in t)return{type:"QueryEngineError",body:t};if("EngineNotStarted"in t||"InteractiveTransactionMisrouted"in t||"InvalidRequestError"in t){let n=Object.values(t)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:t}:{type:"DataProxyError",body:t}}}return{type:"UnknownJsonError",body:t}}catch{return r===""?{type:"EmptyError"}:{type:"UnknownTextError",body:r}}}async function Ft(e,r){if(e.ok)return;let t={clientVersion:r,response:e},n=await uf(e);if(n.type==="QueryEngineError")throw new z(n.body.message,{code:n.body.error_code,clientVersion:r});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new Br(t,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new pr(t);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new It(t);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new At(t,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new T(i,r,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Ct(t,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Dt(t,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Ot(t,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new Nt(t,Ur(yo,n));if(e.status===404)return new _t(t,Ur(go,n));if(e.status===429)throw new Lt(t,Ur(Eo,n));if(e.status===504)throw new kt(t,Ur(fo,n));if(e.status>=500)throw new Br(t,Ur(ho,n));if(e.status>=400)throw new Rt(t,Ur(mo,n))}function Ur(e,r){return r.type==="EmptyError"?e:`${e}: ${JSON.stringify(r)}`}function Rl(e){let r=Math.pow(2,e)*50,t=Math.ceil(Math.random()*r)-Math.ceil(r/2),n=r+t;return new Promise(i=>setTimeout(()=>i(n),n))}var $e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Cl(e){let r=new TextEncoder().encode(e),t="",n=r.byteLength,i=n%3,o=n-i,s,a,l,u,c;for(let p=0;p>18,a=(c&258048)>>12,l=(c&4032)>>6,u=c&63,t+=$e[s]+$e[a]+$e[l]+$e[u];return i==1?(c=r[o],s=(c&252)>>2,a=(c&3)<<4,t+=$e[s]+$e[a]+"=="):i==2&&(c=r[o]<<8|r[o+1],s=(c&64512)>>10,a=(c&1008)>>4,l=(c&15)<<2,t+=$e[s]+$e[a]+$e[l]+"="),t}function Al(e){if(!!e.generator?.previewFeatures.some(t=>t.toLowerCase().includes("metrics")))throw new T("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}function cf(e){return e[0]*1e3+e[1]/1e6}function bo(e){return new Date(cf(e))}var Il={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};var Mt=class extends se{name="RequestError";code="P5010";constructor(r,t){super(`Cannot fetch data from service: +${r}`,C(t,!0))}};x(Mt,"RequestError");async function dr(e,r,t=n=>n){let{clientVersion:n,...i}=r,o=t(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new Mt(a,{clientVersion:n,cause:s})}}var df=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,kl=N("prisma:client:dataproxyEngine");async function mf(e,r){let t=Il["@prisma/engines-version"],n=r.clientVersion??"unknown";if(process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&df.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=t.split("-")??[],[a,l,u]=s.split("."),c=ff(`<=${a}.${l}.${u}`),p=await dr(c,{clientVersion:n});if(!p.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${p.status} ${p.statusText}, response body: ${await p.text()||""}`);let d=await p.text();kl("length of body fetched from unpkg.com",d.length);let f;try{f=JSON.parse(d)}catch(h){throw console.error("JSON.parse error: body fetched from unpkg.com: ",d),h}return f.version}throw new cr("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Dl(e,r){let t=await mf(e,r);return kl("version",t),t}function ff(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Ol=3,$t=N("prisma:client:dataproxyEngine"),wo=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:r,tracingHelper:t,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=r,this.tracingHelper=t,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:r,interactiveTransaction:t}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=r??this.tracingHelper.getTraceParent()),t&&(n["X-transaction-id"]=t.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let r=[];return this.tracingHelper.isEnabled()&&r.push("tracing"),this.logLevel&&r.push(this.logLevel),this.logQueries&&r.push("query"),r}},qt=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(r){Al(r),this.config=r,this.env={...r.env,...typeof process<"u"?process.env:{}},this.inlineSchema=Cl(r.inlineSchema),this.inlineDatasources=r.inlineDatasources,this.inlineSchemaHash=r.inlineSchemaHash,this.clientVersion=r.clientVersion,this.engineHash=r.engineVersion,this.logEmitter=r.logEmitter,this.tracingHelper=r.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:r,url:t}=this.getURLAndAPIKey();this.host=t.host,this.headerBuilder=new wo({apiKey:r,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.protocol=Ci(t)?"http":"https",this.remoteClientVersion=await Dl(this.host,this.config),$t("host",this.host),$t("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(r){r?.logs?.length&&r.logs.forEach(t=>{switch(t.level){case"debug":case"trace":$t(t);break;case"error":case"warn":case"info":{this.logEmitter.emit(t.level,{timestamp:bo(t.timestamp),message:t.attributes.message??"",target:t.target});break}case"query":{this.logEmitter.emit("query",{query:t.attributes.query??"",timestamp:bo(t.timestamp),duration:t.attributes.duration_ms??0,params:t.attributes.params??"",target:t.target});break}default:t.level}}),r?.traces?.length&&this.tracingHelper.dispatchEngineSpans(r.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(r){return await this.start(),`${this.protocol}://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${r}`}async uploadSchema(){let r={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(r,async()=>{let t=await dr(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});t.ok||$t("schema response status",t.status);let n=await Ft(t,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(r,{traceparent:t,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:r,traceparent:t,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(r,{traceparent:t,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=Mr(r,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:t})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:r,traceparent:t,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await dr(s,{method:"POST",headers:this.headerBuilder.build({traceparent:t,interactiveTransaction:i}),body:JSON.stringify(r),clientVersion:this.clientVersion},n);a.ok||$t("graphql response status",a.status),await this.handleError(await Ft(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(r,t,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[r]} transaction`,callback:async({logHttpCall:o})=>{if(r==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await dr(a,{method:"POST",headers:this.headerBuilder.build({traceparent:t.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Ft(l,this.clientVersion));let u=await l.json(),{extensions:c}=u;c&&this.propagateResponseExtensions(c);let p=u.id,d=u["data-proxy"].endpoint;return{id:p,payload:{endpoint:d}}}else{let s=`${n.payload.endpoint}/${r}`;o(s);let a=await dr(s,{method:"POST",headers:this.headerBuilder.build({traceparent:t.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Ft(a,this.clientVersion));let l=await a.json(),{extensions:u}=l;u&&this.propagateResponseExtensions(u);return}}})}getURLAndAPIKey(){let r={clientVersion:this.clientVersion},t=Object.keys(this.inlineDatasources)[0],n=jr({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\``,r)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==tn)throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,r);let a=s.get("api_key");if(a===null||a.length<1)throw new ur(`Error validating datasource \`${t}\`: the URL must contain a valid API key`,r);return{apiKey:a,url:i}}metrics(){throw new cr("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(r){for(let t=0;;t++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${t})`,timestamp:new Date,target:""})};try{return await r.callback({logHttpCall:n})}catch(i){if(!(i instanceof se)||!i.isRetryable)throw i;if(t>=Ol)throw i instanceof Vr?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${t+1}/${Ol} failed for ${r.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Rl(t);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(r){if(r instanceof pr)throw await this.uploadSchema(),new Vr({clientVersion:this.clientVersion,cause:r});if(r)throw r}convertProtocolErrorsToClientError(r){return r.length===1?$r(r[0],this.config.clientVersion,this.config.activeProvider):new j(JSON.stringify(r),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function _l(e){if(e?.kind==="itx")return e.options.id}var vo=k(require("node:os")),Nl=k(require("node:path"));var xo=Symbol("PrismaLibraryEngineCache");function gf(){let e=globalThis;return e[xo]===void 0&&(e[xo]={}),e[xo]}function hf(e){let r=gf();if(r[e]!==void 0)return r[e];let t=Nl.default.toNamespacedPath(e),n={exports:{}},i=0;return process.platform!=="win32"&&(i=vo.default.constants.dlopen.RTLD_LAZY|vo.default.constants.dlopen.RTLD_DEEPBIND),process.dlopen(n,t,i),r[e]=n.exports,n.exports}var Ll={async loadLibrary(e){let r=await mi(),t=await yl("library",e);try{return e.tracingHelper.runInChildSpan({name:"loadLibrary",internal:!0},()=>hf(t))}catch(n){let i=Si({e:n,platformInfo:r,id:t});throw new T(i,e.clientVersion)}}};var Po,Fl={async loadLibrary(e){let{clientVersion:r,adapter:t,engineWasm:n}=e;if(t===void 0)throw new T(`The \`adapter\` option for \`PrismaClient\` is required in this context (${Vn().prettyName})`,r);if(n===void 0)throw new T("WASM engine was unexpectedly `undefined`",r);Po===void 0&&(Po=(async()=>{let o=await n.getRuntime(),s=await n.getQueryEngineWasmModule();if(s==null)throw new T("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",r);let a={"./query_engine_bg.js":o},l=new WebAssembly.Instance(s,a),u=l.exports.__wbindgen_start;return o.__wbg_set_wasm(l.exports),u(),o.QueryEngine})());let i=await Po;return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:i}}};var yf="P2036",Ce=N("prisma:client:libraryEngine");function Ef(e){return e.item_type==="query"&&"query"in e}function bf(e){return"level"in e?e.level==="error"&&e.message==="PANIC":!1}var Ml=[...ai,"native"],wf=0xffffffffffffffffn,To=1n;function xf(){let e=To++;return To>wf&&(To=1n),e}var Gr=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(r,t){this.libraryLoader=t??Ll,r.engineWasm!==void 0&&(this.libraryLoader=t??Fl),this.config=r,this.libraryStarted=!1,this.logQueries=r.logQueries??!1,this.logLevel=r.logLevel??"error",this.logEmitter=r.logEmitter,this.datamodel=r.inlineSchema,this.tracingHelper=r.tracingHelper,r.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(r.overrideDatasources)[0],i=r.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(r){return{applyPendingMigrations:r.applyPendingMigrations?.bind(r),commitTransaction:this.withRequestId(r.commitTransaction.bind(r)),connect:this.withRequestId(r.connect.bind(r)),disconnect:this.withRequestId(r.disconnect.bind(r)),metrics:r.metrics?.bind(r),query:this.withRequestId(r.query.bind(r)),rollbackTransaction:this.withRequestId(r.rollbackTransaction.bind(r)),sdlSchema:r.sdlSchema?.bind(r),startTransaction:this.withRequestId(r.startTransaction.bind(r)),trace:r.trace.bind(r),free:r.free?.bind(r)}}withRequestId(r){return async(...t)=>{let n=xf().toString();try{return await r(...t,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){throw new Error("Cannot call this method from this type of engine instance")}async transaction(r,t,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(t),s;if(r==="start"){let l=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(l,o)}else r==="commit"?s=await this.engine?.commitTransaction(n.id,o):r==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(vf(a)){let l=this.getExternalAdapterError(a,i?.errorRegistry);throw l?l.error:new z(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new j(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(Ce("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;si(),this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){{if(this.binaryTarget)return this.binaryTarget;let r=await this.tracingHelper.runInChildSpan("detect_platform",()=>ir());if(!Ml.includes(r))throw new T(`Unknown ${ce("PRISMA_QUERY_ENGINE_LIBRARY")} ${ce(W(r))}. Possible binaryTargets: ${qe(Ml.join(", "))} or a path to the query engine library. +You may have to run ${qe("prisma generate")} for your changes to take effect.`,this.config.clientVersion);return r}}parseEngineResponse(r){if(!r)throw new j("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(r)}catch{throw new j("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let r=new WeakRef(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(Wn));let t=await this.adapterPromise;t&&Ce("Using driver adapter: %O",t),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:process.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{r.deref()?.logger(n)},t))}catch(r){let t=r,n=this.parseInitError(t.message);throw typeof n=="string"?t:new T(n.message,this.config.clientVersion,n.error_code)}}}logger(r){let t=this.parseEngineResponse(r);t&&(t.level=t?.level.toLowerCase()??"unknown",Ef(t)?this.logEmitter.emit("query",{timestamp:new Date,query:t.query,params:t.params,duration:Number(t.duration_ms),target:t.module_path}):bf(t)?this.loggerRustPanic=new le(So(this,`${t.message}: ${t.reason} in ${t.file}:${t.line}:${t.column}`),this.config.clientVersion):this.logEmitter.emit(t.level,{timestamp:new Date,message:t.message,target:t.module_path}))}parseInitError(r){try{return JSON.parse(r)}catch{}return r}parseRequestError(r){try{return JSON.parse(r)}catch{}return r}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(this.libraryInstantiationPromise||(this.libraryInstantiationPromise=this.instantiateLibrary()),await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return Ce(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let r=async()=>{Ce("library starting");try{let t={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(t)),this.libraryStarted=!0,this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(Wn)),await this.adapterPromise,Ce("library started")}catch(t){let n=this.parseInitError(t.message);throw typeof n=="string"?t:new T(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",r),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return Ce("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted){await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0;return}let r=async()=>{await new Promise(n=>setImmediate(n)),Ce("library stopping");let t={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(t)),this.engine?.free&&this.engine.free(),this.engine=void 0,this.libraryStarted=!1,this.libraryStoppingPromise=void 0,this.libraryInstantiationPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,Ce("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",r),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(r){return this.library?.debugPanic(r)}async request(r,{traceparent:t,interactiveTransaction:n}){Ce(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:t}),o=JSON.stringify(r);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof T)throw s;if(s.code==="GenericFailure"&&s.message?.startsWith("PANIC:"))throw new le(So(this,s.message),this.config.clientVersion);let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new j(`${a.message} +${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(r,{transaction:t,traceparent:n}){Ce("requestBatch");let i=Mr(r,t);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine?.query(this.lastQuery,JSON.stringify({traceparent:n}),_l(t));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:l,errors:u}=a;if(Array.isArray(l))return l.map(c=>c.errors&&c.errors.length>0?this.loggerRustPanic??this.buildQueryError(c.errors[0],o?.errorRegistry):{data:c});throw u&&u.length===1?new Error(u[0].error):new Error(JSON.stringify(a))}buildQueryError(r,t){if(r.user_facing_error.is_panic)return new le(So(this,r.user_facing_error.message),this.config.clientVersion);let n=this.getExternalAdapterError(r.user_facing_error,t);return n?n.error:$r(r,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(r,t){if(r.error_code===yf&&t){let n=r.meta?.id;on(typeof n=="number","Malformed external JS error received from the engine");let i=t.consumeError(n);return on(i,"External error with reported id was not registered"),i}}async metrics(r){await this.start();let t=await this.engine.metrics(JSON.stringify(r));return r.format==="prometheus"?t:this.parseEngineResponse(t)}};function vf(e){return typeof e=="object"&&e!==null&&e.error_code!==void 0}function So(e,r){return Pl({binaryTarget:e.binaryTarget,title:r,version:e.config.clientVersion,engineVersion:e.versionInfo?.commit,database:e.config.activeProvider,query:e.lastQuery})}function $l({url:e,adapter:r,copyEngine:t,targetBuildType:n}){let i=[],o=[],s=g=>{i.push({_tag:"warning",value:g})},a=g=>{let S=g.join(` +`);o.push({_tag:"error",value:S})},l=!!e?.startsWith("prisma://"),u=nn(e),c=!!r,p=l||u;!c&&t&&p&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let d=p||!t;c&&(d||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):t?l&&a(["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]):a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let f={accelerate:d,ppg:u,driverAdapters:c};function h(g){return g.length>0}return h(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:f}:{ok:!0,diagnostics:{warnings:i},isUsing:f}}function ql({copyEngine:e=!0},r){let t;try{t=jr({inlineDatasources:r.inlineDatasources,overrideDatasources:r.overrideDatasources,env:{...r.env,...process.env},clientVersion:r.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=$l({url:t,adapter:r.adapter,copyEngine:e,targetBuildType:"library"});for(let c of o.warnings)st(...c.value);if(!n){let c=o.errors[0];throw new Z(c.value,{clientVersion:r.clientVersion})}let s=br(r.generator),a=s==="library",l=s==="binary",u=s==="client";return i.accelerate?new qt(r):(i.driverAdapters,a?new Gr(r):(i.accelerate,new Gr(r)))}function Hn({generator:e}){return e?.previewFeatures??[]}var jl=e=>({command:e});var Vl=e=>e.strings.reduce((r,t,n)=>`${r}@P${n}${t}`);function Qr(e){try{return Bl(e,"fast")}catch{return Bl(e,"slow")}}function Bl(e,r){return JSON.stringify(e.map(t=>Gl(t,r)))}function Gl(e,r){if(Array.isArray(e))return e.map(t=>Gl(t,r));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(Sr(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(ve.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Pf(e))return{prisma__type:"bytes",prisma__value:Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:t,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:Buffer.from(t,n,i).toString("base64")}}return typeof e=="object"&&r==="slow"?Ql(e):e}function Pf(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Ql(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Ul);let r={};for(let t of Object.keys(e))r[t]=Ul(e[t]);return r}function Ul(e){return typeof e=="bigint"?e.toString():Ql(e)}var Tf=/^(\s*alter\s)/i,Wl=N("prisma:client");function Ro(e,r,t,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&t.length>0&&Tf.exec(r))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var Co=({clientMethod:e,activeProvider:r})=>t=>{let n="",i;if(Fn(t))n=t.sql,i={values:Qr(t.values),__prismaRawParameters__:!0};else if(Array.isArray(t)){let[o,...s]=t;n=o,i={values:Qr(s||[]),__prismaRawParameters__:!0}}else switch(r){case"sqlite":case"mysql":{n=t.sql,i={values:Qr(t.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=t.text,i={values:Qr(t.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Vl(t),i={values:Qr(t.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${r} provider does not support ${e}`)}return i?.values?Wl(`prisma.${e}(${n}, ${i.values})`):Wl(`prisma.${e}(${n})`),{query:n,parameters:i}},Jl={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[r,...t]=e;return new oe(r,t)}},Hl={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};function Ao(e){return function(t,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Kl(t(s)):Kl(t(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Kl(e){return typeof e.then=="function"?e:Promise.resolve(e)}var Sf=wi.split(".")[0],Rf={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,r){return r()}},Io=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(r){return this.getGlobalTracingHelper().getTraceParent(r)}dispatchEngineSpans(r){return this.getGlobalTracingHelper().dispatchEngineSpans(r)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(r,t){return this.getGlobalTracingHelper().runInChildSpan(r,t)}getGlobalTracingHelper(){let r=globalThis[`V${Sf}_PRISMA_INSTRUMENTATION`],t=globalThis.PRISMA_INSTRUMENTATION;return r?.helper??t?.helper??Rf}};function Yl(){return new Io}function zl(e,r=()=>{}){let t,n=new Promise(i=>t=i);return{then(i){return--e===0&&t(r()),i?.(n)}}}function Zl(e){return typeof e=="string"?e:e.reduce((r,t)=>{let n=typeof t=="string"?t:t.level;return n==="query"?r:r&&(t==="info"||r==="info")?"info":n},void 0)}var Kn=class{_middlewares=[];use(r){this._middlewares.push(r)}get(r){return this._middlewares[r]}has(r){return!!this._middlewares[r]}length(){return this._middlewares.length}};var eu=k(Oi());function Yn(e){return typeof e.batchRequestIdx=="number"}function Xl(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let r=[];return e.modelName&&r.push(e.modelName),e.query.arguments&&r.push(ko(e.query.arguments)),r.push(ko(e.query.selection)),r.join("")}function ko(e){return`(${Object.keys(e).sort().map(t=>{let n=e[t];return typeof n=="object"&&n!==null?`(${t} ${ko(n)})`:t}).join(" ")})`}var Cf={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function Do(e){return Cf[e]}var zn=class{constructor(r){this.options=r;this.batches={}}batches;tickActive=!1;request(r){let t=this.options.batchBy(r);return t?(this.batches[t]||(this.batches[t]=[],this.tickActive||(this.tickActive=!0,process.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[t].push({request:r,resolve:n,reject:i})})):this.options.singleLoader(r)}dispatchBatches(){for(let r in this.batches){let t=this.batches[r];delete this.batches[r],t.length===1?this.options.singleLoader(t[0].request).then(n=>{n instanceof Error?t[0].reject(n):t[0].resolve(n)}).catch(n=>{t[0].reject(n)}):(t.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(t.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;imr("bigint",t));case"bytes-array":return r.map(t=>mr("bytes",t));case"decimal-array":return r.map(t=>mr("decimal",t));case"datetime-array":return r.map(t=>mr("datetime",t));case"date-array":return r.map(t=>mr("date",t));case"time-array":return r.map(t=>mr("time",t));default:return r}}function Zn(e){let r=[],t=Af(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(p=>p.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),u=n.some(p=>Do(p.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:kf(o),containsWrite:u,customDataProxyFetch:i})).map((p,d)=>{if(p instanceof Error)return p;try{return this.mapQueryEngineResult(n[d],p)}catch(f){return f}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?ru(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:Do(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Xl(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(r){try{return await this.dataloader.request(r)}catch(t){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=r;this.handleAndLogRequestError({error:t,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:r.globalOmit})}}mapQueryEngineResult({dataPath:r,unpacker:t},n){let i=n?.data,o=this.unpack(i,r,t);return process.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(r){try{this.handleRequestError(r)}catch(t){throw this.logEmitter&&this.logEmitter.emit("error",{message:t.message,target:r.clientMethod,timestamp:new Date}),t}}handleRequestError({error:r,clientMethod:t,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(If(r),Df(r,i))throw r;if(r instanceof z&&Of(r)){let u=tu(r.meta);kn({args:o,errors:[u],callsite:n,errorFormat:this.client._errorFormat,originalMethod:t,clientVersion:this.client._clientVersion,globalOmit:a})}let l=r.message;if(n&&(l=wn({callsite:n,originalMethod:t,isPanic:r.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),r.code){let u=s?{modelName:s,...r.meta}:r.meta;throw new z(l,{code:r.code,clientVersion:this.client._clientVersion,meta:u,batchRequestIdx:r.batchRequestIdx})}else{if(r.isPanic)throw new le(l,this.client._clientVersion);if(r instanceof j)throw new j(l,{clientVersion:this.client._clientVersion,batchRequestIdx:r.batchRequestIdx});if(r instanceof T)throw new T(l,this.client._clientVersion);if(r instanceof le)throw new le(l,this.client._clientVersion)}throw r.clientVersion=this.client._clientVersion,r}sanitizeMessage(r){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,eu.default)(r):r}unpack(r,t,n){if(!r||(r.data&&(r=r.data),!r))return r;let i=Object.keys(r)[0],o=Object.values(r)[0],s=t.filter(u=>u!=="select"&&u!=="include"),a=oo(o,s),l=i==="queryRaw"?Zn(a):Tr(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function kf(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:ru(e)};_e(e,"Unknown transaction kind")}}function ru(e){return{id:e.id,payload:e.payload}}function Df(e,r){return Yn(e)&&r?.kind==="batch"&&e.batchRequestIdx!==r.index}function Of(e){return e.code==="P2009"||e.code==="P2012"}function tu(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(tu)};if(Array.isArray(e.selectionPath)){let[,...r]=e.selectionPath;return{...e,selectionPath:r}}return e}var nu=Sl;var lu=k(Wi());var O=class extends Error{constructor(r){super(r+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};x(O,"PrismaClientConstructorValidationError");var iu=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],ou=["pretty","colorless","minimal"],su=["info","query","warn","error"],_f={datasources:(e,{datasourceNames:r})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new O(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[t,n]of Object.entries(e)){if(!r.includes(t)){let i=Wr(t,r)||` Available datasources: ${r.join(", ")}`;throw new O(`Unknown datasource ${t} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new O(`Invalid value ${JSON.stringify(e)} for datasource "${t}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new O(`Invalid value ${JSON.stringify(e)} for datasource "${t}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new O(`Invalid value ${JSON.stringify(o)} for datasource "${t}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,r)=>{if(!e&&br(r.generator)==="client")throw new O('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new O('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Hn(r).includes("driverAdapters"))throw new O('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(br(r.generator)==="binary")throw new O('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new O(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new O(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!ou.includes(e)){let r=Wr(e,ou);throw new O(`Invalid errorFormat ${e} provided to PrismaClient constructor.${r}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new O(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function r(t){if(typeof t=="string"&&!su.includes(t)){let n=Wr(t,su);throw new O(`Invalid log level "${t}" provided to PrismaClient constructor.${n}`)}}for(let t of e){r(t);let n={level:r,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=Wr(i,o);throw new O(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(t&&typeof t=="object")for(let[i,o]of Object.entries(t))if(n[i])n[i](o);else throw new O(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let r=e.maxWait;if(r!=null&&r<=0)throw new O(`Invalid value ${r} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let t=e.timeout;if(t!=null&&t<=0)throw new O(`Invalid value ${t} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,r)=>{if(typeof e!="object")throw new O('"omit" option is expected to be an object.');if(e===null)throw new O('"omit" option can not be `null`');let t=[];for(let[n,i]of Object.entries(e)){let o=Lf(n,r.runtimeDataModel);if(!o){t.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(u=>u.name===s);if(!l){t.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){t.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&t.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(t.length>0)throw new O(Ff(e,t))},__internal:e=>{if(!e)return;let r=["debug","engine","configOverride"];if(typeof e!="object")throw new O(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[t]of Object.entries(e))if(!r.includes(t)){let n=Wr(t,r);throw new O(`Invalid property ${JSON.stringify(t)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function uu(e,r){for(let[t,n]of Object.entries(e)){if(!iu.includes(t)){let i=Wr(t,iu);throw new O(`Unknown property ${t} provided to PrismaClient constructor.${i}`)}_f[t](n,r)}if(e.datasourceUrl&&e.datasources)throw new O('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function Wr(e,r){if(r.length===0||typeof e!="string")return"";let t=Nf(e,r);return t?` Did you mean "${t}"?`:""}function Nf(e,r){if(r.length===0)return null;let t=r.map(i=>({value:i,distance:(0,lu.default)(e,i)}));t.sort((i,o)=>i.distanceYe(n)===r);if(t)return e[t]}function Ff(e,r){let t=_r(e);for(let o of r)switch(o.kind){case"UnknownModel":t.arguments.getField(o.modelKey)?.markAsError(),t.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":t.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":t.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":t.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),t.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=In(t,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}function cu(e){return e.length===0?Promise.resolve([]):new Promise((r,t)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?t(i):r(n)))},l=u=>{o||(o=!0,t(u))};for(let u=0;u{n[u]=c,a()},c=>{if(!Yn(c)){l(c);return}c.batchRequestIdx===u?l(c):(i||(i=c),a())})})}var rr=N("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Mf={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},$f=Symbol.for("prisma.client.transaction.id"),qf={id:0,nextId(){return++this.id}};function hu(e){class r{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Kn;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Ao();constructor(n){e=n?.__internal?.configOverride?.(e)??e,cl(e),n&&uu(n,e);let i=new fu.EventEmitter().on("error",()=>{});this._extensions=Nr.empty(),this._previewFeatures=Hn(e),this._clientVersion=e.clientVersion??nu,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Yl();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&ei.default.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&ei.default.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==l)throw new T(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new T("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=!s&&o&&ot(o,{conflictCheck:"none"})||e.injectableEdgeEnv?.();try{let l=n??{},u=l.__internal??{},c=u.debug===!0;c&&N.enable("prisma:client");let p=ei.default.resolve(e.dirname,e.relativePath);gu.default.existsSync(p)||(p=e.dirname),rr("dirname",e.dirname),rr("relativePath",e.relativePath),rr("cwd",p);let d=u.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:process.env.NODE_ENV==="production"?this._errorFormat="minimal":process.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:p,dirname:e.dirname,enableDebugLogs:c,allowTriggerPanic:d.allowTriggerPanic,prismaPath:d.binaryPath??void 0,engineEndpoint:d.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&Zl(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(f=>typeof f=="string"?f==="query":f.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:pl(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:jr,getBatchRequestPayload:Mr,prismaGraphQLToJSError:$r,PrismaClientUnknownRequestError:j,PrismaClientInitializationError:T,PrismaClientKnownRequestError:z,debug:N("prisma:client:accelerateEngine"),engineVersion:du.version,clientVersion:e.clientVersion}},rr("clientVersion",e.clientVersion),this._engine=ql(e,this._engineConfig),this._requestHandler=new Xn(this,i),l.log)for(let f of l.log){let h=typeof f=="string"?f:f.emit==="stdout"?f.level:null;h&&this.$on(h,g=>{tt.log(`${tt.tags[h]??""}`,g.message||g.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Pt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Qo()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:Co({clientMethod:i,activeProvider:a}),callsite:Ze(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=pu(n,i);return Ro(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new Z("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Ro(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new Z(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:jl,callsite:Ze(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:Co({clientMethod:i,activeProvider:a}),callsite:Ze(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...pu(n,i));throw new Z("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new Z("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=qf.nextId(),s=zl(n.length),a=n.map((l,u)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let c=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,p={kind:"batch",id:o,index:u,isolationLevel:c,lock:s};return l.requestTransaction?.(p)??l});return cu(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let u={kind:"itx",...a};l=await n(this._createItxClient(u)),await this._engine.transaction("commit",o,a)}catch(u){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),u}return l}_createItxClient(n){return he(Pt(he(Ka(this),[re("_appliedParent",()=>this._appliedParent._createItxClient(n)),re("_createPrismaPromise",()=>Ao(n)),re($f,()=>n.id)])),[Fr(el)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Mf,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async u=>{let c=this._middlewares.get(++a);if(c)return this._tracingHelper.runInChildSpan(s.middleware,S=>c(u,P=>(S?.end(),l(P))));let{runInTransaction:p,args:d,...f}=u,h={...n,...f};d&&(h.args=i.middlewareArgsToRequestArgs(d)),n.transaction!==void 0&&p===!1&&delete h.transaction;let g=await il(this,h);return h.model?Xa({result:g,modelName:h.model,args:h.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):g};return this._tracingHelper.runInChildSpan(s.operation,()=>new mu.AsyncResource("prisma-client-request").runInAsyncScope(()=>l(o)))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:u,transaction:c,unpacker:p,otelParentCtx:d,customDataProxyFetch:f}){try{n=u?u(n):n;let h={name:"serialize"},g=this._tracingHelper.runInChildSpan(h,()=>Nn({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return N.enabled("prisma:client")&&(rr("Prisma Client call:"),rr(`prisma.${i}(${$a(n)})`),rr("Generated request:"),rr(JSON.stringify(g,null,2)+` +`)),c?.kind==="batch"&&await c.lock,this._requestHandler.request({protocolQuery:g,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:c,unpacker:p,otelParentCtx:d,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:f})}catch(h){throw h.clientVersion=this._clientVersion,h}}$metrics=new Lr(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=Ya}return r}function pu(e,r){return jf(e)?[new oe(e,r),Jl]:[e,Hl]}function jf(e){return Array.isArray(e)&&Array.isArray(e.raw)}var Vf=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function yu(e){return new Proxy(e,{get(r,t){if(t in r)return r[t];if(!Vf.has(t))throw new TypeError(`Invalid enum value: ${String(t)}`)}})}function Eu(e){ot(e,{conflictCheck:"warn"})}0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +/*! Bundled license information: + +decimal.js/decimal.mjs: + (*! + * decimal.js v10.5.0 + * An arbitrary-precision Decimal type for JavaScript. + * https://github.com/MikeMcl/decimal.js + * Copyright (c) 2025 Michael Mclaughlin + * MIT Licence + *) +*/ +//# sourceMappingURL=library.js.map diff --git a/generated/prisma/runtime/react-native.js b/generated/prisma/runtime/react-native.js new file mode 100644 index 0000000..da3b613 --- /dev/null +++ b/generated/prisma/runtime/react-native.js @@ -0,0 +1,83 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +"use strict";var ba=Object.create;var tr=Object.defineProperty;var Ea=Object.getOwnPropertyDescriptor;var xa=Object.getOwnPropertyNames;var Pa=Object.getPrototypeOf,va=Object.prototype.hasOwnProperty;var ge=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ze=(e,t)=>{for(var r in t)tr(e,r,{get:t[r],enumerable:!0})},ni=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of xa(t))!va.call(e,i)&&i!==r&&tr(e,i,{get:()=>t[i],enumerable:!(n=Ea(t,i))||n.enumerable});return e};var Se=(e,t,r)=>(r=e!=null?ba(Pa(e)):{},ni(t||!e||!e.__esModule?tr(r,"default",{value:e,enumerable:!0}):r,e)),Ta=e=>ni(tr({},"__esModule",{value:!0}),e);var y,c=ge(()=>{"use strict";y={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4}});var x,p=ge(()=>{"use strict";x=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,d=ge(()=>{"use strict";E=()=>{};E.prototype=E});var b,m=ge(()=>{"use strict";b=class{value;constructor(t){this.value=t}deref(){return this.value}}});var Pi=Ae(rt=>{"use strict";f();c();p();d();m();var li=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ca=li(e=>{"use strict";e.byteLength=l,e.toByteArray=g,e.fromByteArray=R;var t=[],r=[],n=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(o=0,s=i.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var O=C.indexOf("=");O===-1&&(O=A);var M=O===A?0:4-O%4;return[O,M]}function l(C){var A=a(C),O=A[0],M=A[1];return(O+M)*3/4-M}function u(C,A,O){return(A+O)*3/4-O}function g(C){var A,O=a(C),M=O[0],L=O[1],k=new n(u(C,M,L)),N=0,z=L>0?M-4:M,B;for(B=0;B>16&255,k[N++]=A>>8&255,k[N++]=A&255;return L===2&&(A=r[C.charCodeAt(B)]<<2|r[C.charCodeAt(B+1)]>>4,k[N++]=A&255),L===1&&(A=r[C.charCodeAt(B)]<<10|r[C.charCodeAt(B+1)]<<4|r[C.charCodeAt(B+2)]>>2,k[N++]=A>>8&255,k[N++]=A&255),k}function h(C){return t[C>>18&63]+t[C>>12&63]+t[C>>6&63]+t[C&63]}function v(C,A,O){for(var M,L=[],k=A;kz?z:N+k));return M===1?(A=C[O-1],L.push(t[A>>2]+t[A<<4&63]+"==")):M===2&&(A=(C[O-2]<<8)+C[O-1],L.push(t[A>>10]+t[A>>4&63]+t[A<<2&63]+"=")),L.join("")}}),Aa=li(e=>{e.read=function(t,r,n,i,o){var s,a,l=o*8-i-1,u=(1<>1,h=-7,v=n?o-1:0,R=n?-1:1,C=t[r+v];for(v+=R,s=C&(1<<-h)-1,C>>=-h,h+=l;h>0;s=s*256+t[r+v],v+=R,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=i;h>0;a=a*256+t[r+v],v+=R,h-=8);if(s===0)s=1-g;else{if(s===u)return a?NaN:(C?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-g}return(C?-1:1)*a*Math.pow(2,s-i)},e.write=function(t,r,n,i,o,s){var a,l,u,g=s*8-o-1,h=(1<>1,R=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,C=i?0:s-1,A=i?1:-1,O=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(l=isNaN(r)?1:0,a=h):(a=Math.floor(Math.log(r)/Math.LN2),r*(u=Math.pow(2,-a))<1&&(a--,u*=2),a+v>=1?r+=R/u:r+=R*Math.pow(2,1-v),r*u>=2&&(a++,u/=2),a+v>=h?(l=0,a=h):a+v>=1?(l=(r*u-1)*Math.pow(2,o),a=a+v):(l=r*Math.pow(2,v-1)*Math.pow(2,o),a=0));o>=8;t[n+C]=l&255,C+=A,l/=256,o-=8);for(a=a<0;t[n+C]=a&255,C+=A,a/=256,g-=8);t[n+C-A]|=O*128}}),Xr=Ca(),et=Aa(),ii=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;rt.Buffer=T;rt.SlowBuffer=Fa;rt.INSPECT_MAX_BYTES=50;var rr=2147483647;rt.kMaxLength=rr;T.TYPED_ARRAY_SUPPORT=Sa();!T.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Sa(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(T.prototype,"parent",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}});Object.defineProperty(T.prototype,"offset",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function Re(e){if(e>rr)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,T.prototype),t}function T(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return rn(e)}return ui(e,t,r)}T.poolSize=8192;function ui(e,t,r){if(typeof e=="string")return ka(e,t);if(ArrayBuffer.isView(e))return Oa(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(he(e,ArrayBuffer)||e&&he(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(he(e,SharedArrayBuffer)||e&&he(e.buffer,SharedArrayBuffer)))return pi(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return T.from(n,t,r);let i=Ia(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return T.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}T.from=function(e,t,r){return ui(e,t,r)};Object.setPrototypeOf(T.prototype,Uint8Array.prototype);Object.setPrototypeOf(T,Uint8Array);function ci(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Ra(e,t,r){return ci(e),e<=0?Re(e):t!==void 0?typeof r=="string"?Re(e).fill(t,r):Re(e).fill(t):Re(e)}T.alloc=function(e,t,r){return Ra(e,t,r)};function rn(e){return ci(e),Re(e<0?0:nn(e)|0)}T.allocUnsafe=function(e){return rn(e)};T.allocUnsafeSlow=function(e){return rn(e)};function ka(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!T.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=di(e,t)|0,n=Re(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function en(e){let t=e.length<0?0:nn(e.length)|0,r=Re(t);for(let n=0;n=rr)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+rr.toString(16)+" bytes");return e|0}function Fa(e){return+e!=e&&(e=0),T.alloc(+e)}T.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==T.prototype};T.compare=function(e,t){if(he(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),he(t,Uint8Array)&&(t=T.from(t,t.offset,t.byteLength)),!T.isBuffer(e)||!T.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,o=Math.min(r,n);in.length?(T.isBuffer(o)||(o=T.from(o)),o.copy(n,i)):Uint8Array.prototype.set.call(n,o,i);else if(T.isBuffer(o))o.copy(n,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=o.length}return n};function di(e,t){if(T.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||he(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return tn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return xi(e).length;default:if(i)return n?-1:tn(e).length;t=(""+t).toLowerCase(),i=!0}}T.byteLength=di;function Ma(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Va(this,t,r);case"utf8":case"utf-8":return fi(this,t,r);case"ascii":return Ba(this,t,r);case"latin1":case"binary":return Ua(this,t,r);case"base64":return $a(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Qa(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}T.prototype._isBuffer=!0;function Qe(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}T.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};ii&&(T.prototype[ii]=T.prototype.inspect);T.prototype.compare=function(e,t,r,n,i){if(he(e,Uint8Array)&&(e=T.from(e,e.offset,e.byteLength)),!T.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),r===void 0&&(r=e?e.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,a=Math.min(o,s),l=this.slice(n,i),u=e.slice(t,r);for(let g=0;g2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,sn(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=T.from(t,n)),T.isBuffer(t))return t.length===0?-1:oi(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):oi(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function oi(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function l(g,h){return o===1?g[h]:g.readUInt16BE(h*o)}let u;if(i){let g=-1;for(u=r;us&&(r=s-a),u=r;u>=0;u--){let g=!0;for(let h=0;hi&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s>>0,isFinite(r)?(r=r>>>0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-t;if((r===void 0||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return _a(this,e,t,r);case"utf8":case"utf-8":return La(this,e,t,r);case"ascii":case"latin1":case"binary":return Da(this,e,t,r);case"base64":return Na(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return qa(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};T.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function $a(e,t,r){return t===0&&r===e.length?Xr.fromByteArray(e):Xr.fromByteArray(e.slice(t,r))}function fi(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:o>223?3:o>191?2:1;if(i+a<=r){let l,u,g,h;switch(a){case 1:o<128&&(s=o);break;case 2:l=e[i+1],(l&192)===128&&(h=(o&31)<<6|l&63,h>127&&(s=h));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(h=(o&15)<<12|(l&63)<<6|u&63,h>2047&&(h<55296||h>57343)&&(s=h));break;case 4:l=e[i+1],u=e[i+2],g=e[i+3],(l&192)===128&&(u&192)===128&&(g&192)===128&&(h=(o&15)<<18|(l&63)<<12|(u&63)<<6|g&63,h>65535&&h<1114112&&(s=h))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return ja(n)}var si=4096;function ja(e){let t=e.length;if(t<=si)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nn)&&(r=n);let i="";for(let o=t;or&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),tr)throw new RangeError("Trying to access beyond buffer length")}T.prototype.readUintLE=T.prototype.readUIntLE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n};T.prototype.readUint8=T.prototype.readUInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]};T.prototype.readUint16LE=T.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]|this[e+1]<<8};T.prototype.readUint16BE=T.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||W(e,2,this.length),this[e]<<8|this[e+1]};T.prototype.readUint32LE=T.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};T.prototype.readUint32BE=T.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};T.prototype.readBigUInt64LE=Le(function(e){e=e>>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+r*2**24;return BigInt(n)+(BigInt(i)<>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+r;return(BigInt(n)<>>0,t=t>>>0,r||W(e,t,this.length);let n=this[e],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*t)),n};T.prototype.readIntBE=function(e,t,r){e=e>>>0,t=t>>>0,r||W(e,t,this.length);let n=t,i=1,o=this[e+--n];for(;n>0&&(i*=256);)o+=this[e+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o};T.prototype.readInt8=function(e,t){return e=e>>>0,t||W(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};T.prototype.readInt16LE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e]|this[e+1]<<8;return r&32768?r|4294901760:r};T.prototype.readInt16BE=function(e,t){e=e>>>0,t||W(e,2,this.length);let r=this[e+1]|this[e]<<8;return r&32768?r|4294901760:r};T.prototype.readInt32LE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};T.prototype.readInt32BE=function(e,t){return e=e>>>0,t||W(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};T.prototype.readBigInt64LE=Le(function(e){e=e>>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(r<<24);return(BigInt(n)<>>0,tt(e,"offset");let t=this[e],r=this[e+7];(t===void 0||r===void 0)&&Tt(e,this.length-8);let n=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,t||W(e,4,this.length),et.read(this,e,!0,23,4)};T.prototype.readFloatBE=function(e,t){return e=e>>>0,t||W(e,4,this.length),et.read(this,e,!1,23,4)};T.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||W(e,8,this.length),et.read(this,e,!0,52,8)};T.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||W(e,8,this.length),et.read(this,e,!1,52,8)};function ie(e,t,r,n,i,o){if(!T.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;ie(this,e,t,r,s,0)}let i=1,o=0;for(this[t]=e&255;++o>>0,r=r>>>0,!n){let s=Math.pow(2,8*r)-1;ie(this,e,t,r,s,0)}let i=r-1,o=1;for(this[t+i]=e&255;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r};T.prototype.writeUint8=T.prototype.writeUInt8=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,1,255,0),this[t]=e&255,t+1};T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function gi(e,t,r,n,i){Ei(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function hi(e,t,r,n,i){Ei(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}T.prototype.writeBigUInt64LE=Le(function(e,t=0){return gi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeBigUInt64BE=Le(function(e,t=0){return hi(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});T.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);ie(this,e,t,r,a-1,-a)}let i=0,o=1,s=0;for(this[t]=e&255;++i>0)-s&255;return t+r};T.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=t>>>0,!n){let a=Math.pow(2,8*r-1);ie(this,e,t,r,a-1,-a)}let i=r-1,o=1,s=0;for(this[t+i]=e&255;--i>=0&&(o*=256);)e<0&&s===0&&this[t+i+1]!==0&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+r};T.prototype.writeInt8=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};T.prototype.writeInt16LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};T.prototype.writeInt16BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};T.prototype.writeInt32LE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};T.prototype.writeInt32BE=function(e,t,r){return e=+e,t=t>>>0,r||ie(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};T.prototype.writeBigInt64LE=Le(function(e,t=0){return gi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});T.prototype.writeBigInt64BE=Le(function(e,t=0){return hi(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function yi(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function wi(e,t,r,n,i){return t=+t,r=r>>>0,i||yi(e,t,r,4,34028234663852886e22,-34028234663852886e22),et.write(e,t,r,n,23,4),r+4}T.prototype.writeFloatLE=function(e,t,r){return wi(this,e,t,!0,r)};T.prototype.writeFloatBE=function(e,t,r){return wi(this,e,t,!1,r)};function bi(e,t,r,n,i){return t=+t,r=r>>>0,i||yi(e,t,r,8,17976931348623157e292,-17976931348623157e292),et.write(e,t,r,n,52,8),r+8}T.prototype.writeDoubleLE=function(e,t,r){return bi(this,e,t,!0,r)};T.prototype.writeDoubleBE=function(e,t,r){return bi(this,e,t,!1,r)};T.prototype.copy=function(e,t,r,n){if(!T.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),!n&&n!==0&&(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>0,r=r===void 0?this.length:r>>>0,e||(e=0);let i;if(typeof e=="number")for(i=t;i2**32?i=ai(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ai(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ai(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Ga(e,t,r){tt(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&Tt(t,e.length-(r+1))}function Ei(e,t,r,n,i,o){if(e>r||e3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new Xe.ERR_OUT_OF_RANGE("value",a,e)}Ga(n,i,o)}function tt(e,t){if(typeof e!="number")throw new Xe.ERR_INVALID_ARG_TYPE(t,"number",e)}function Tt(e,t,r){throw Math.floor(e)!==e?(tt(e,r),new Xe.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new Xe.ERR_BUFFER_OUT_OF_BOUNDS:new Xe.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Ja=/[^+/0-9A-Za-z-_]/g;function Wa(e){if(e=e.split("=")[0],e=e.trim().replace(Ja,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function tn(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function Ka(e){let t=[];for(let r=0;r>8,i=r%256,o.push(i),o.push(n);return o}function xi(e){return Xr.toByteArray(Wa(e))}function nr(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function he(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function sn(e){return e!==e}var za=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function Le(e){return typeof BigInt>"u"?Ya:e}function Ya(){throw new Error("BigInt not supported")}});var w,f=ge(()=>{"use strict";w=Se(Pi())});function bl(){return!1}function Li(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function El(){return Li()}function xl(){return[]}function Pl(e){e(null,[])}function vl(){return""}function Tl(){return""}function Cl(){}function Al(){}function Sl(){}function Rl(){}function kl(){}function Ol(){}var Il,Fl,or,pn=ge(()=>{"use strict";f();c();p();d();m();Il={},Fl={existsSync:bl,lstatSync:Li,statSync:El,readdirSync:xl,readdir:Pl,readlinkSync:vl,realpathSync:Tl,chmodSync:Cl,renameSync:Al,mkdirSync:Sl,rmdirSync:Rl,rmSync:kl,unlinkSync:Ol,promises:Il},or=Fl});function Ml(...e){return e.join("/")}function _l(...e){return e.join("/")}function Ll(e){let t=Di(e),r=Ni(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function Di(e){let t=e.split("/");return t[t.length-1]}function Ni(e){return e.split("/").slice(0,-1).join("/")}var qi,Dl,Nl,Oe,mn=ge(()=>{"use strict";f();c();p();d();m();qi="/",Dl={sep:qi},Nl={basename:Di,dirname:Ni,join:_l,parse:Ll,posix:Dl,resolve:Ml,sep:qi},Oe=Nl});var $i=Ae((Fm,ql)=>{ql.exports={name:"@prisma/internals",version:"6.11.1",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-engine-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Bi=Ae((Gm,ji)=>{"use strict";f();c();p();d();m();ji.exports=e=>{let t=e.match(/^[ \t]*(?=\S)/gm);return t?t.reduce((r,n)=>Math.min(r,n.length),1/0):0}});var Ji=Ae((cf,Gi)=>{"use strict";f();c();p();d();m();Gi.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var Hi=Ae((Pf,Ki)=>{"use strict";f();c();p();d();m();Ki.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var wn=Ae((Rf,zi)=>{"use strict";f();c();p();d();m();var Jl=Hi();zi.exports=e=>typeof e=="string"?e.replace(Jl(),""):e});var Yi=Ae((Xf,ar)=>{"use strict";f();c();p();d();m();ar.exports=(e={})=>{let t;if(e.repoUrl)t=e.repoUrl;else if(e.user&&e.repo)t=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let r=new URL(`${t}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}r.searchParams.set(i,o)}}return r.toString()};ar.exports.default=ar.exports});var Rn=Ae((vb,xo)=>{"use strict";f();c();p();d();m();xo.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";f();c();p();d();m()});var So=ge(()=>{"use strict";f();c();p();d();m()});var Yo=Ae((GP,qc)=>{qc.exports={name:"@prisma/engines-version",version:"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"f40f79ec31188888a2e33acda0ecc8fd10a853a9"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Dr,Zo=ge(()=>{"use strict";f();c();p();d();m();Dr=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var nd={};Ze(nd,{DMMF:()=>Nt,Debug:()=>K,Decimal:()=>be,Extensions:()=>an,MetricsClient:()=>wt,PrismaClientInitializationError:()=>V,PrismaClientKnownRequestError:()=>oe,PrismaClientRustPanicError:()=>ue,PrismaClientUnknownRequestError:()=>G,PrismaClientValidationError:()=>ee,Public:()=>ln,Sql:()=>ae,createParam:()=>Vo,defineDmmfProperty:()=>Ho,deserializeJsonResponse:()=>at,deserializeRawResult:()=>zr,dmmfToRuntimeDataModel:()=>ho,empty:()=>es,getPrismaClient:()=>ha,getRuntime:()=>Is,join:()=>Xo,makeStrictEnum:()=>ya,makeTypedQueryFactory:()=>zo,objectEnumValues:()=>Ar,raw:()=>Nn,serializeJsonQuery:()=>Mr,skip:()=>Fr,sqltag:()=>qn,warnEnvConflicts:()=>void 0,warnOnce:()=>_t});module.exports=Ta(nd);f();c();p();d();m();var an={};Ze(an,{defineExtension:()=>vi,getExtensionContext:()=>Ti});f();c();p();d();m();f();c();p();d();m();function vi(e){return typeof e=="function"?e:t=>t.$extends(e)}f();c();p();d();m();function Ti(e){return e}var ln={};Ze(ln,{validator:()=>Ci});f();c();p();d();m();f();c();p();d();m();function Ci(...e){return t=>t}f();c();p();d();m();f();c();p();d();m();var ir={};Ze(ir,{$:()=>Oi,bgBlack:()=>al,bgBlue:()=>pl,bgCyan:()=>ml,bgGreen:()=>ul,bgMagenta:()=>dl,bgRed:()=>ll,bgWhite:()=>fl,bgYellow:()=>cl,black:()=>nl,blue:()=>Je,bold:()=>pe,cyan:()=>ke,dim:()=>Ct,gray:()=>kt,green:()=>St,grey:()=>sl,hidden:()=>tl,inverse:()=>el,italic:()=>Xa,magenta:()=>il,red:()=>Ge,reset:()=>Za,strikethrough:()=>rl,underline:()=>At,white:()=>ol,yellow:()=>Rt});f();c();p();d();m();var un,Ai,Si,Ri,ki=!0;typeof y<"u"&&({FORCE_COLOR:un,NODE_DISABLE_COLORS:Ai,NO_COLOR:Si,TERM:Ri}=y.env||{},ki=y.stdout&&y.stdout.isTTY);var Oi={enabled:!Ai&&Si==null&&Ri!=="dumb"&&(un!=null&&un!=="0"||ki)};function U(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!Oi.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var Za=U(0,0),pe=U(1,22),Ct=U(2,22),Xa=U(3,23),At=U(4,24),el=U(7,27),tl=U(8,28),rl=U(9,29),nl=U(30,39),Ge=U(31,39),St=U(32,39),Rt=U(33,39),Je=U(34,39),il=U(35,39),ke=U(36,39),ol=U(37,39),kt=U(90,39),sl=U(90,39),al=U(40,49),ll=U(41,49),ul=U(42,49),cl=U(43,49),pl=U(44,49),dl=U(45,49),ml=U(46,49),fl=U(47,49);f();c();p();d();m();var gl=100,Ii=["green","yellow","blue","magenta","cyan","red"],Ot=[],Fi=Date.now(),hl=0,cn=typeof y<"u"?y.env:{};globalThis.DEBUG??=cn.DEBUG??"";globalThis.DEBUG_COLORS??=cn.DEBUG_COLORS?cn.DEBUG_COLORS==="true":!0;var It={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function yl(e){let t={color:Ii[hl++%Ii.length],enabled:It.enabled(e),namespace:e,log:It.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&Ot.push([o,...n]),Ot.length>gl&&Ot.shift(),It.enabled(o)||i){let l=n.map(g=>typeof g=="string"?g:wl(g)),u=`+${Date.now()-Fi}ms`;Fi=Date.now(),globalThis.DEBUG_COLORS?a(ir[s](pe(o)),...l,ir[s](u)):a(o,...l,u)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var K=new Proxy(yl,{get:(e,t)=>It[t],set:(e,t,r)=>It[t]=r});function wl(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function Mi(e=7500){let t=Ot.map(([r,...n])=>`${r} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` +`);return t.lengthQl,info:()=>Vl,log:()=>Ul,query:()=>Gl,should:()=>Wi,tags:()=>Ft,warn:()=>yn});f();c();p();d();m();var Ft={error:Ge("prisma:error"),warn:Rt("prisma:warn"),info:ke("prisma:info"),query:Je("prisma:query")},Wi={warn:()=>!y.env.PRISMA_DISABLE_WARNINGS};function Ul(...e){console.log(...e)}function yn(e,...t){Wi.warn()&&console.warn(`${Ft.warn} ${e}`,...t)}function Vl(e,...t){console.info(`${Ft.info} ${e}`,...t)}function Ql(e,...t){console.error(`${Ft.error} ${e}`,...t)}function Gl(e,...t){console.log(`${Ft.query} ${e}`,...t)}f();c();p();d();m();function sr(e,t){if(!e)throw new Error(`${t}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}f();c();p();d();m();function Ie(e,t){throw new Error(t)}f();c();p();d();m();mn();function bn(e){return Oe.sep===Oe.posix.sep?e:e.split(Oe.sep).join(Oe.posix.sep)}f();c();p();d();m();function En(e,t){return Object.prototype.hasOwnProperty.call(e,t)}f();c();p();d();m();function it(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}f();c();p();d();m();function xn(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{Zi.has(e)||(Zi.add(e),yn(t,...r))};var V=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};le(V,"PrismaClientInitializationError");f();c();p();d();m();var oe=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};le(oe,"PrismaClientKnownRequestError");f();c();p();d();m();var ue=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};le(ue,"PrismaClientRustPanicError");f();c();p();d();m();var G=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};le(G,"PrismaClientUnknownRequestError");f();c();p();d();m();var ee=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};le(ee,"PrismaClientValidationError");f();c();p();d();m();f();c();p();d();m();var ot=9e15,$e=1e9,Pn="0123456789abcdef",cr="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",pr="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",vn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ot,maxE:ot,crypto:!1},no,Fe,_=!0,mr="[DecimalError] ",qe=mr+"Invalid argument: ",io=mr+"Precision limit exceeded",oo=mr+"crypto unavailable",so="[object Decimal]",te=Math.floor,J=Math.pow,Wl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Kl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Hl=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ao=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,de=1e7,F=7,zl=9007199254740991,Yl=cr.length-1,Tn=pr.length-1,S={toStringTag:so};S.absoluteValue=S.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),I(e)};S.ceil=function(){return I(new this.constructor(this),this.e+1,2)};S.clampedTo=S.clamp=function(e,t){var r,n=this,i=n.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(qe+t);return r=n.cmp(e),r<0?e:n.cmp(t)>0?t:new i(n)};S.comparedTo=S.cmp=function(e){var t,r,n,i,o=this,s=o.d,a=(e=new o.constructor(e)).d,l=o.s,u=e.s;if(!s||!a)return!l||!u?NaN:l!==u?l:s===a?0:!s^l<0?1:-1;if(!s[0]||!a[0])return s[0]?l:a[0]?-u:0;if(l!==u)return l;if(o.e!==e.e)return o.e>e.e^l<0?1:-1;for(n=s.length,i=a.length,t=0,r=na[t]^l<0?1:-1;return n===i?0:n>i^l<0?1:-1};S.cosine=S.cos=function(){var e,t,r=this,n=r.constructor;return r.d?r.d[0]?(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+F,n.rounding=1,r=Zl(n,mo(n,r)),n.precision=e,n.rounding=t,I(Fe==2||Fe==3?r.neg():r,e,t,!0)):new n(1):new n(NaN)};S.cubeRoot=S.cbrt=function(){var e,t,r,n,i,o,s,a,l,u,g=this,h=g.constructor;if(!g.isFinite()||g.isZero())return new h(g);for(_=!1,o=g.s*J(g.s*g,1/3),!o||Math.abs(o)==1/0?(r=Y(g.d),e=g.e,(o=(e-r.length+1)%3)&&(r+=o==1||o==-2?"0":"00"),o=J(r,1/3),e=te((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?r="5e"+e:(r=o.toExponential(),r=r.slice(0,r.indexOf("e")+1)+e),n=new h(r),n.s=g.s):n=new h(o.toString()),s=(e=h.precision)+3;;)if(a=n,l=a.times(a).times(a),u=l.plus(g),n=j(u.plus(g).times(a),u.plus(l),s+2,1),Y(a.d).slice(0,s)===(r=Y(n.d)).slice(0,s))if(r=r.slice(s-3,s+1),r=="9999"||!i&&r=="4999"){if(!i&&(I(a,e+1,0),a.times(a).times(a).eq(g))){n=a;break}s+=4,i=1}else{(!+r||!+r.slice(1)&&r.charAt(0)=="5")&&(I(n,e+1,1),t=!n.times(n).times(n).eq(g));break}return _=!0,I(n,e,h.rounding,t)};S.decimalPlaces=S.dp=function(){var e,t=this.d,r=NaN;if(t){if(e=t.length-1,r=(e-te(this.e/F))*F,e=t[e],e)for(;e%10==0;e/=10)r--;r<0&&(r=0)}return r};S.dividedBy=S.div=function(e){return j(this,new this.constructor(e))};S.dividedToIntegerBy=S.divToInt=function(e){var t=this,r=t.constructor;return I(j(t,new r(e),0,1,1),r.precision,r.rounding)};S.equals=S.eq=function(e){return this.cmp(e)===0};S.floor=function(){return I(new this.constructor(this),this.e+1,3)};S.greaterThan=S.gt=function(e){return this.cmp(e)>0};S.greaterThanOrEqualTo=S.gte=function(e){var t=this.cmp(e);return t==1||t===0};S.hyperbolicCosine=S.cosh=function(){var e,t,r,n,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;r=s.precision,n=s.rounding,s.precision=r+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/gr(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=st(s,1,o.times(t),new s(1),!0);for(var l,u=e,g=new s(8);u--;)l=o.times(o),o=a.minus(l.times(g.minus(l.times(g))));return I(o,s.precision=r,s.rounding=n,!0)};S.hyperbolicSine=S.sinh=function(){var e,t,r,n,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,r=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,n=i.d.length,n<3)i=st(o,2,i,i,!0);else{e=1.4*Math.sqrt(n),e=e>16?16:e|0,i=i.times(1/gr(5,e)),i=st(o,2,i,i,!0);for(var s,a=new o(5),l=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(l.times(s).plus(u))))}return o.precision=t,o.rounding=r,I(i,t,r,!0)};S.hyperbolicTangent=S.tanh=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+7,n.rounding=1,j(r.sinh(),r.cosh(),n.precision=e,n.rounding=t)):new n(r.s)};S.inverseCosine=S.acos=function(){var e=this,t=e.constructor,r=e.abs().cmp(1),n=t.precision,i=t.rounding;return r!==-1?r===0?e.isNeg()?ye(t,n,i):new t(0):new t(NaN):e.isZero()?ye(t,n+4,i).times(.5):(t.precision=n+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=n,t.rounding=i,e.times(2))};S.inverseHyperbolicCosine=S.acosh=function(){var e,t,r=this,n=r.constructor;return r.lte(1)?new n(r.eq(1)?0:NaN):r.isFinite()?(e=n.precision,t=n.rounding,n.precision=e+Math.max(Math.abs(r.e),r.sd())+4,n.rounding=1,_=!1,r=r.times(r).minus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln()):new n(r)};S.inverseHyperbolicSine=S.asinh=function(){var e,t,r=this,n=r.constructor;return!r.isFinite()||r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+2*Math.max(Math.abs(r.e),r.sd())+6,n.rounding=1,_=!1,r=r.times(r).plus(1).sqrt().plus(r),_=!0,n.precision=e,n.rounding=t,r.ln())};S.inverseHyperbolicTangent=S.atanh=function(){var e,t,r,n,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,n=i.sd(),Math.max(n,e)<2*-i.e-1?I(new o(i),e,t,!0):(o.precision=r=n-i.e,i=j(i.plus(1),new o(1).minus(i),r+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};S.inverseSine=S.asin=function(){var e,t,r,n,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),r=o.precision,n=o.rounding,t!==-1?t===0?(e=ye(o,r+4,n).times(.5),e.s=i.s,e):new o(NaN):(o.precision=r+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=r,o.rounding=n,i.times(2)))};S.inverseTangent=S.atan=function(){var e,t,r,n,i,o,s,a,l,u=this,g=u.constructor,h=g.precision,v=g.rounding;if(u.isFinite()){if(u.isZero())return new g(u);if(u.abs().eq(1)&&h+4<=Tn)return s=ye(g,h+4,v).times(.25),s.s=u.s,s}else{if(!u.s)return new g(NaN);if(h+4<=Tn)return s=ye(g,h+4,v).times(.5),s.s=u.s,s}for(g.precision=a=h+10,g.rounding=1,r=Math.min(28,a/F+2|0),e=r;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(_=!1,t=Math.ceil(a/F),n=1,l=u.times(u),s=new g(u),i=u;e!==-1;)if(i=i.times(l),o=s.minus(i.div(n+=2)),i=i.times(l),s=o.plus(i.div(n+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return r&&(s=s.times(2<this.d.length-2};S.isNaN=function(){return!this.s};S.isNegative=S.isNeg=function(){return this.s<0};S.isPositive=S.isPos=function(){return this.s>0};S.isZero=function(){return!!this.d&&this.d[0]===0};S.lessThan=S.lt=function(e){return this.cmp(e)<0};S.lessThanOrEqualTo=S.lte=function(e){return this.cmp(e)<1};S.logarithm=S.log=function(e){var t,r,n,i,o,s,a,l,u=this,g=u.constructor,h=g.precision,v=g.rounding,R=5;if(e==null)e=new g(10),t=!0;else{if(e=new g(e),r=e.d,e.s<0||!r||!r[0]||e.eq(1))return new g(NaN);t=e.eq(10)}if(r=u.d,u.s<0||!r||!r[0]||u.eq(1))return new g(r&&!r[0]?-1/0:u.s!=1?NaN:r?0:1/0);if(t)if(r.length>1)o=!0;else{for(i=r[0];i%10===0;)i/=10;o=i!==1}if(_=!1,a=h+R,s=Ne(u,a),n=t?dr(g,a+10):Ne(e,a),l=j(s,n,a,1),Lt(l.d,i=h,v))do if(a+=10,s=Ne(u,a),n=t?dr(g,a+10):Ne(e,a),l=j(s,n,a,1),!o){+Y(l.d).slice(i+1,i+15)+1==1e14&&(l=I(l,h+1,0));break}while(Lt(l.d,i+=10,v));return _=!0,I(l,h,v)};S.minus=S.sub=function(e){var t,r,n,i,o,s,a,l,u,g,h,v,R=this,C=R.constructor;if(e=new C(e),!R.d||!e.d)return!R.s||!e.s?e=new C(NaN):R.d?e.s=-e.s:e=new C(e.d||R.s!==e.s?R:NaN),e;if(R.s!=e.s)return e.s=-e.s,R.plus(e);if(u=R.d,v=e.d,a=C.precision,l=C.rounding,!u[0]||!v[0]){if(v[0])e.s=-e.s;else if(u[0])e=new C(R);else return new C(l===3?-0:0);return _?I(e,a,l):e}if(r=te(e.e/F),g=te(R.e/F),u=u.slice(),o=g-r,o){for(h=o<0,h?(t=u,o=-o,s=v.length):(t=v,r=g,s=u.length),n=Math.max(Math.ceil(a/F),s)+2,o>n&&(o=n,t.length=1),t.reverse(),n=o;n--;)t.push(0);t.reverse()}else{for(n=u.length,s=v.length,h=n0;--n)u[s++]=0;for(n=v.length;n>o;){if(u[--n]s?o+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=u.length,i=g.length,s-i<0&&(i=s,r=g,g=u,u=r),t=0;i;)t=(u[--i]=u[i]+g[i]+t)/de|0,u[i]%=de;for(t&&(u.unshift(t),++n),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=fr(u,n),_?I(e,a,l):e};S.precision=S.sd=function(e){var t,r=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(qe+e);return r.d?(t=lo(r.d),e&&r.e+1>t&&(t=r.e+1)):t=NaN,t};S.round=function(){var e=this,t=e.constructor;return I(new t(e),e.e+1,t.rounding)};S.sine=S.sin=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+Math.max(r.e,r.sd())+F,n.rounding=1,r=eu(n,mo(n,r)),n.precision=e,n.rounding=t,I(Fe>2?r.neg():r,e,t,!0)):new n(NaN)};S.squareRoot=S.sqrt=function(){var e,t,r,n,i,o,s=this,a=s.d,l=s.e,u=s.s,g=s.constructor;if(u!==1||!a||!a[0])return new g(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(_=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=Y(a),(t.length+l)%2==0&&(t+="0"),u=Math.sqrt(t),l=te((l+1)/2)-(l<0||l%2),u==1/0?t="5e"+l:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+l),n=new g(t)):n=new g(u.toString()),r=(l=g.precision)+3;;)if(o=n,n=o.plus(j(s,o,r+2,1)).times(.5),Y(o.d).slice(0,r)===(t=Y(n.d)).slice(0,r))if(t=t.slice(r-3,r+1),t=="9999"||!i&&t=="4999"){if(!i&&(I(o,l+1,0),o.times(o).eq(s))){n=o;break}r+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(I(n,l+1,1),e=!n.times(n).eq(s));break}return _=!0,I(n,l,g.rounding,e)};S.tangent=S.tan=function(){var e,t,r=this,n=r.constructor;return r.isFinite()?r.isZero()?new n(r):(e=n.precision,t=n.rounding,n.precision=e+10,n.rounding=1,r=r.sin(),r.s=1,r=j(r,new n(1).minus(r.times(r)).sqrt(),e+10,0),n.precision=e,n.rounding=t,I(Fe==2||Fe==4?r.neg():r,e,t,!0)):new n(NaN)};S.times=S.mul=function(e){var t,r,n,i,o,s,a,l,u,g=this,h=g.constructor,v=g.d,R=(e=new h(e)).d;if(e.s*=g.s,!v||!v[0]||!R||!R[0])return new h(!e.s||v&&!v[0]&&!R||R&&!R[0]&&!v?NaN:!v||!R?e.s/0:e.s*0);for(r=te(g.e/F)+te(e.e/F),l=v.length,u=R.length,l=0;){for(t=0,i=l+n;i>n;)a=o[i]+R[n]*v[i-n-1]+t,o[i--]=a%de|0,t=a/de|0;o[i]=(o[i]+t)%de|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=fr(o,r),_?I(e,h.precision,h.rounding):e};S.toBinary=function(e,t){return An(this,2,e,t)};S.toDecimalPlaces=S.toDP=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(se(e,0,$e),t===void 0?t=n.rounding:se(t,0,8),I(r,e+r.e+1,t))};S.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=we(n,!0):(se(e,0,$e),t===void 0?t=i.rounding:se(t,0,8),n=I(new i(n),e+1,t),r=we(n,!0,e+1)),n.isNeg()&&!n.isZero()?"-"+r:r};S.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?r=we(i):(se(e,0,$e),t===void 0?t=o.rounding:se(t,0,8),n=I(new o(i),e+i.e+1,t),r=we(n,!1,e+n.e+1)),i.isNeg()&&!i.isZero()?"-"+r:r};S.toFraction=function(e){var t,r,n,i,o,s,a,l,u,g,h,v,R=this,C=R.d,A=R.constructor;if(!C)return new A(R);if(u=r=new A(1),n=l=new A(0),t=new A(n),o=t.e=lo(C)-R.e-1,s=o%F,t.d[0]=J(10,s<0?F+s:s),e==null)e=o>0?t:u;else{if(a=new A(e),!a.isInt()||a.lt(u))throw Error(qe+a);e=a.gt(t)?o>0?t:u:a}for(_=!1,a=new A(Y(C)),g=A.precision,A.precision=o=C.length*F*2;h=j(a,t,0,1,1),i=r.plus(h.times(n)),i.cmp(e)!=1;)r=n,n=i,i=u,u=l.plus(h.times(i)),l=i,i=t,t=a.minus(h.times(i)),a=i;return i=j(e.minus(r),n,0,1,1),l=l.plus(i.times(u)),r=r.plus(i.times(n)),l.s=u.s=R.s,v=j(u,n,o,1).minus(R).abs().cmp(j(l,r,o,1).minus(R).abs())<1?[u,n]:[l,r],A.precision=g,_=!0,v};S.toHexadecimal=S.toHex=function(e,t){return An(this,16,e,t)};S.toNearest=function(e,t){var r=this,n=r.constructor;if(r=new n(r),e==null){if(!r.d)return r;e=new n(1),t=n.rounding}else{if(e=new n(e),t===void 0?t=n.rounding:se(t,0,8),!r.d)return e.s?r:e;if(!e.d)return e.s&&(e.s=r.s),e}return e.d[0]?(_=!1,r=j(r,e,0,t,1).times(e),_=!0,I(r)):(e.s=r.s,r=e),r};S.toNumber=function(){return+this};S.toOctal=function(e,t){return An(this,8,e,t)};S.toPower=S.pow=function(e){var t,r,n,i,o,s,a=this,l=a.constructor,u=+(e=new l(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new l(J(+a,u));if(a=new l(a),a.eq(1))return a;if(n=l.precision,o=l.rounding,e.eq(1))return I(a,n,o);if(t=te(e.e/F),t>=e.d.length-1&&(r=u<0?-u:u)<=zl)return i=uo(l,a,r,n),e.s<0?new l(1).div(i):I(i,n,o);if(s=a.s,s<0){if(tl.maxE+1||t0?s/0:0):(_=!1,l.rounding=a.s=1,r=Math.min(12,(t+"").length),i=Cn(e.times(Ne(a,n+r)),n),i.d&&(i=I(i,n+5,1),Lt(i.d,n,o)&&(t=n+10,i=I(Cn(e.times(Ne(a,t+r)),t),t+5,1),+Y(i.d).slice(n+1,n+15)+1==1e14&&(i=I(i,n+1,0)))),i.s=s,_=!0,l.rounding=o,I(i,n,o))};S.toPrecision=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=we(n,n.e<=i.toExpNeg||n.e>=i.toExpPos):(se(e,1,$e),t===void 0?t=i.rounding:se(t,0,8),n=I(new i(n),e,t),r=we(n,e<=n.e||n.e<=i.toExpNeg,e)),n.isNeg()&&!n.isZero()?"-"+r:r};S.toSignificantDigits=S.toSD=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(se(e,1,$e),t===void 0?t=n.rounding:se(t,0,8)),I(new n(r),e,t)};S.toString=function(){var e=this,t=e.constructor,r=we(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+r:r};S.truncated=S.trunc=function(){return I(new this.constructor(this),this.e+1,1)};S.valueOf=S.toJSON=function(){var e=this,t=e.constructor,r=we(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+r:r};function Y(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;tr)throw Error(qe+e)}function Lt(e,t,r,n){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=F,i=0):(i=Math.ceil((t+1)/F),t%=F),o=J(10,F-t),a=e[i]%o|0,n==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=r<4&&a==99999||r>3&&a==49999||a==5e4||a==0):s=(r<4&&a+1==o||r>3&&a+1==o/2)&&(e[i+1]/o/100|0)==J(10,t-2)-1||(a==o/2||a==0)&&(e[i+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(n||r<4)&&a==9999||!n&&r>3&&a==4999):s=((n||r<4)&&a+1==o||!n&&r>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==J(10,t-3)-1,s}function lr(e,t,r){for(var n,i=[0],o,s=0,a=e.length;sr-1&&(i[n+1]===void 0&&(i[n+1]=0),i[n+1]+=i[n]/r|0,i[n]%=r)}return i.reverse()}function Zl(e,t){var r,n,i;if(t.isZero())return t;n=t.d.length,n<32?(r=Math.ceil(n/3),i=(1/gr(4,r)).toString()):(r=16,i="2.3283064365386962890625e-10"),e.precision+=r,t=st(e,1,t.times(i),new e(1));for(var o=r;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=r,t}var j=function(){function e(n,i,o){var s,a=0,l=n.length;for(n=n.slice();l--;)s=n[l]*i+a,n[l]=s%o|0,a=s/o|0;return a&&n.unshift(a),n}function t(n,i,o,s){var a,l;if(o!=s)l=o>s?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function r(n,i,o,s){for(var a=0;o--;)n[o]-=a,a=n[o]1;)n.shift()}return function(n,i,o,s,a,l){var u,g,h,v,R,C,A,O,M,L,k,N,z,B,vt,Q,ne,Ce,Z,Ye,er=n.constructor,Zr=n.s==i.s?1:-1,X=n.d,$=i.d;if(!X||!X[0]||!$||!$[0])return new er(!n.s||!i.s||(X?$&&X[0]==$[0]:!$)?NaN:X&&X[0]==0||!$?Zr*0:Zr/0);for(l?(R=1,g=n.e-i.e):(l=de,R=F,g=te(n.e/R)-te(i.e/R)),Z=$.length,ne=X.length,M=new er(Zr),L=M.d=[],h=0;$[h]==(X[h]||0);h++);if($[h]>(X[h]||0)&&g--,o==null?(B=o=er.precision,s=er.rounding):a?B=o+(n.e-i.e)+1:B=o,B<0)L.push(1),C=!0;else{if(B=B/R+2|0,h=0,Z==1){for(v=0,$=$[0],B++;(h1&&($=e($,v,l),X=e(X,v,l),Z=$.length,ne=X.length),Q=Z,k=X.slice(0,Z),N=k.length;N=l/2&&++Ce;do v=0,u=t($,k,Z,N),u<0?(z=k[0],Z!=N&&(z=z*l+(k[1]||0)),v=z/Ce|0,v>1?(v>=l&&(v=l-1),A=e($,v,l),O=A.length,N=k.length,u=t(A,k,O,N),u==1&&(v--,r(A,Z=10;v/=10)h++;M.e=h+g*R-1,I(M,a?o+M.e+1:o,s,C)}return M}}();function I(e,t,r,n){var i,o,s,a,l,u,g,h,v,R=e.constructor;e:if(t!=null){if(h=e.d,!h)return e;for(i=1,a=h[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=F,s=t,g=h[v=0],l=g/J(10,i-s-1)%10|0;else if(v=Math.ceil((o+1)/F),a=h.length,v>=a)if(n){for(;a++<=v;)h.push(0);g=l=0,i=1,o%=F,s=o-F+1}else break e;else{for(g=a=h[v],i=1;a>=10;a/=10)i++;o%=F,s=o-F+i,l=s<0?0:g/J(10,i-s-1)%10|0}if(n=n||t<0||h[v+1]!==void 0||(s<0?g:g%J(10,i-s-1)),u=r<4?(l||n)&&(r==0||r==(e.s<0?3:2)):l>5||l==5&&(r==4||n||r==6&&(o>0?s>0?g/J(10,i-s):0:h[v-1])%10&1||r==(e.s<0?8:7)),t<1||!h[0])return h.length=0,u?(t-=e.e+1,h[0]=J(10,(F-t%F)%F),e.e=-t||0):h[0]=e.e=0,e;if(o==0?(h.length=v,a=1,v--):(h.length=v+1,a=J(10,F-o),h[v]=s>0?(g/J(10,i-s)%J(10,s)|0)*a:0),u)for(;;)if(v==0){for(o=1,s=h[0];s>=10;s/=10)o++;for(s=h[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,h[0]==de&&(h[0]=1));break}else{if(h[v]+=a,h[v]!=de)break;h[v--]=0,a=1}for(o=h.length;h[--o]===0;)h.pop()}return _&&(e.e>R.maxE?(e.d=null,e.e=NaN):e.e0?o=o.charAt(0)+"."+o.slice(1)+De(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+De(-i-1)+o,r&&(n=r-s)>0&&(o+=De(n))):i>=s?(o+=De(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+De(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=De(n))),o}function fr(e,t){var r=e[0];for(t*=F;r>=10;r/=10)t++;return t}function dr(e,t,r){if(t>Yl)throw _=!0,r&&(e.precision=r),Error(io);return I(new e(cr),t,1,!0)}function ye(e,t,r){if(t>Tn)throw Error(io);return I(new e(pr),t,r,!0)}function lo(e){var t=e.length-1,r=t*F+1;if(t=e[t],t){for(;t%10==0;t/=10)r--;for(t=e[0];t>=10;t/=10)r++}return r}function De(e){for(var t="";e--;)t+="0";return t}function uo(e,t,r,n){var i,o=new e(1),s=Math.ceil(n/F+4);for(_=!1;;){if(r%2&&(o=o.times(t),to(o.d,s)&&(i=!0)),r=te(r/2),r===0){r=o.d.length-1,i&&o.d[r]===0&&++o.d[r];break}t=t.times(t),to(t.d,s)}return _=!0,o}function eo(e){return e.d[e.d.length-1]&1}function co(e,t,r){for(var n,i,o=new e(t[0]),s=0;++s17)return new v(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(_=!1,l=C):l=t,a=new v(.03125);e.e>-2;)e=e.times(a),h+=5;for(n=Math.log(J(2,h))/Math.LN10*2+5|0,l+=n,r=o=s=new v(1),v.precision=l;;){if(o=I(o.times(e),l,1),r=r.times(++g),a=s.plus(j(o,r,l,1)),Y(a.d).slice(0,l)===Y(s.d).slice(0,l)){for(i=h;i--;)s=I(s.times(s),l,1);if(t==null)if(u<3&&Lt(s.d,l-n,R,u))v.precision=l+=10,r=o=a=new v(1),g=0,u++;else return I(s,v.precision=C,R,_=!0);else return v.precision=C,s}s=a}}function Ne(e,t){var r,n,i,o,s,a,l,u,g,h,v,R=1,C=10,A=e,O=A.d,M=A.constructor,L=M.rounding,k=M.precision;if(A.s<0||!O||!O[0]||!A.e&&O[0]==1&&O.length==1)return new M(O&&!O[0]?-1/0:A.s!=1?NaN:O?0:A);if(t==null?(_=!1,g=k):g=t,M.precision=g+=C,r=Y(O),n=r.charAt(0),Math.abs(o=A.e)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)A=A.times(e),r=Y(A.d),n=r.charAt(0),R++;o=A.e,n>1?(A=new M("0."+r),o++):A=new M(n+"."+r.slice(1))}else return u=dr(M,g+2,k).times(o+""),A=Ne(new M(n+"."+r.slice(1)),g-C).plus(u),M.precision=k,t==null?I(A,k,L,_=!0):A;for(h=A,l=s=A=j(A.minus(1),A.plus(1),g,1),v=I(A.times(A),g,1),i=3;;){if(s=I(s.times(v),g,1),u=l.plus(j(s,new M(i),g,1)),Y(u.d).slice(0,g)===Y(l.d).slice(0,g))if(l=l.times(2),o!==0&&(l=l.plus(dr(M,g+2,k).times(o+""))),l=j(l,new M(R),g,1),t==null)if(Lt(l.d,g-C,L,a))M.precision=g+=C,u=s=A=j(h.minus(1),h.plus(1),g,1),v=I(A.times(A),g,1),i=a=1;else return I(l,M.precision=k,L,_=!0);else return M.precision=k,l;l=u,i+=2}}function po(e){return String(e.s*e.s/0)}function ur(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;n++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(n,i),t){if(i-=n,e.e=r=r-n-1,e.d=[],n=(r+1)%F,r<0&&(n+=F),ne.constructor.maxE?(e.d=null,e.e=NaN):e.e-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),ao.test(t))return ur(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Kl.test(t))r=16,t=t.toLowerCase();else if(Wl.test(t))r=2;else if(Hl.test(t))r=8;else throw Error(qe+t);for(o=t.search(/p/i),o>0?(l=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,n=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=uo(n,new n(r),o,o*2)),u=lr(t,r,de),g=u.length-1,o=g;u[o]===0;--o)u.pop();return o<0?new n(e.s*0):(e.e=fr(u,g),e.d=u,_=!1,s&&(e=j(e,i,a*4)),l&&(e=e.times(Math.abs(l)<54?J(2,l):We.pow(2,l))),_=!0,e)}function eu(e,t){var r,n=t.d.length;if(n<3)return t.isZero()?t:st(e,2,t,t);r=1.4*Math.sqrt(n),r=r>16?16:r|0,t=t.times(1/gr(5,r)),t=st(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);r--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function st(e,t,r,n,i){var o,s,a,l,u=1,g=e.precision,h=Math.ceil(g/F);for(_=!1,l=r.times(r),a=new e(n);;){if(s=j(a.times(l),new e(t++*t++),g,1),a=i?n.plus(s):n.minus(s),n=j(s.times(l),new e(t++*t++),g,1),s=a.plus(n),s.d[h]!==void 0){for(o=h;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=n,n=s,s=o,u++}return _=!0,s.d.length=h+1,s}function gr(e,t){for(var r=e;--t;)r*=e;return r}function mo(e,t){var r,n=t.s<0,i=ye(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return Fe=n?4:1,t;if(r=t.divToInt(i),r.isZero())Fe=n?3:2;else{if(t=t.minus(r.times(i)),t.lte(o))return Fe=eo(r)?n?2:3:n?4:1,t;Fe=eo(r)?n?1:4:n?3:2}return t.minus(i).abs()}function An(e,t,r,n){var i,o,s,a,l,u,g,h,v,R=e.constructor,C=r!==void 0;if(C?(se(r,1,$e),n===void 0?n=R.rounding:se(n,0,8)):(r=R.precision,n=R.rounding),!e.isFinite())g=po(e);else{for(g=we(e),s=g.indexOf("."),C?(i=2,t==16?r=r*4-3:t==8&&(r=r*3-2)):i=t,s>=0&&(g=g.replace(".",""),v=new R(1),v.e=g.length-s,v.d=lr(we(v),10,i),v.e=v.d.length),h=lr(g,10,i),o=l=h.length;h[--l]==0;)h.pop();if(!h[0])g=C?"0p+0":"0";else{if(s<0?o--:(e=new R(e),e.d=h,e.e=o,e=j(e,v,r,n,0,i),h=e.d,o=e.e,u=no),s=h[r],a=i/2,u=u||h[r+1]!==void 0,u=n<4?(s!==void 0||u)&&(n===0||n===(e.s<0?3:2)):s>a||s===a&&(n===4||u||n===6&&h[r-1]&1||n===(e.s<0?8:7)),h.length=r,u)for(;++h[--r]>i-1;)h[r]=0,r||(++o,h.unshift(1));for(l=h.length;!h[l-1];--l);for(s=0,g="";s1)if(t==16||t==8){for(s=t==16?4:3,--l;l%s;l++)g+="0";for(h=lr(g,i,t),l=h.length;!h[l-1];--l);for(s=1,g="1.";sl)for(o-=l;o--;)g+="0";else ot)return e.length=t,!0}function tu(e){return new this(e).abs()}function ru(e){return new this(e).acos()}function nu(e){return new this(e).acosh()}function iu(e,t){return new this(e).plus(t)}function ou(e){return new this(e).asin()}function su(e){return new this(e).asinh()}function au(e){return new this(e).atan()}function lu(e){return new this(e).atanh()}function uu(e,t){e=new this(e),t=new this(t);var r,n=this.precision,i=this.rounding,o=n+4;return!e.s||!t.s?r=new this(NaN):!e.d&&!t.d?(r=ye(this,o,1).times(t.s>0?.25:.75),r.s=e.s):!t.d||e.isZero()?(r=t.s<0?ye(this,n,i):new this(0),r.s=e.s):!e.d||t.isZero()?(r=ye(this,o,1).times(.5),r.s=e.s):t.s<0?(this.precision=o,this.rounding=1,r=this.atan(j(e,t,o,1)),t=ye(this,o,1),this.precision=n,this.rounding=i,r=e.s<0?r.minus(t):r.plus(t)):r=this.atan(j(e,t,o,1)),r}function cu(e){return new this(e).cbrt()}function pu(e){return I(e=new this(e),e.e+1,2)}function du(e,t,r){return new this(e).clamp(t,r)}function mu(e){if(!e||typeof e!="object")throw Error(mr+"Object expected");var t,r,n,i=e.defaults===!0,o=["precision",1,$e,"rounding",0,8,"toExpNeg",-ot,0,"toExpPos",0,ot,"maxE",0,ot,"minE",-ot,0,"modulo",0,9];for(t=0;t=o[t+1]&&n<=o[t+2])this[r]=n;else throw Error(qe+r+": "+n);if(r="crypto",i&&(this[r]=vn[r]),(n=e[r])!==void 0)if(n===!0||n===!1||n===0||n===1)if(n)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[r]=!0;else throw Error(oo);else this[r]=!1;else throw Error(qe+r+": "+n);return this}function fu(e){return new this(e).cos()}function gu(e){return new this(e).cosh()}function fo(e){var t,r,n;function i(o){var s,a,l,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,ro(o)){u.s=o.s,_?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e=10;a/=10)s++;_?s>i.maxE?(u.e=NaN,u.d=null):s=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(n*=4);o=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=n/4}else throw Error(oo);else for(;o=10;i/=10)n++;nct,datamodelEnumToSchemaEnum:()=>Uu});f();c();p();d();m();f();c();p();d();m();function Uu(e){return{name:e.name,values:e.values.map(t=>t.name)}}f();c();p();d();m();var ct=(k=>(k.findUnique="findUnique",k.findUniqueOrThrow="findUniqueOrThrow",k.findFirst="findFirst",k.findFirstOrThrow="findFirstOrThrow",k.findMany="findMany",k.create="create",k.createMany="createMany",k.createManyAndReturn="createManyAndReturn",k.update="update",k.updateMany="updateMany",k.updateManyAndReturn="updateManyAndReturn",k.upsert="upsert",k.delete="delete",k.deleteMany="deleteMany",k.groupBy="groupBy",k.count="count",k.aggregate="aggregate",k.findRaw="findRaw",k.aggregateRaw="aggregateRaw",k))(ct||{});var Eo=Se(Ji());f();c();p();d();m();pn();f();c();p();d();m();f();c();p();d();m();f();c();p();d();m();var yo={keyword:ke,entity:ke,value:e=>pe(Je(e)),punctuation:Je,directive:ke,function:ke,variable:e=>pe(Je(e)),string:e=>pe(St(e)),boolean:Rt,number:ke,comment:kt};var Vu=e=>e,yr={},Qu=0,D={manual:yr.Prism&&yr.Prism.manual,disableWorkerMessageHandler:yr.Prism&&yr.Prism.disableWorkerMessageHandler,util:{encode:function(e){if(e instanceof me){let t=e;return new me(t.type,D.util.encode(t.content),t.alias)}else return Array.isArray(e)?e.map(D.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(Ce instanceof me)continue;if(z&&Q!=t.length-1){L.lastIndex=ne;var h=L.exec(e);if(!h)break;var g=h.index+(N?h[1].length:0),v=h.index+h[0].length,a=Q,l=ne;for(let $=t.length;a<$&&(l=l&&(++Q,ne=l);if(t[Q]instanceof me)continue;u=a-Q,Ce=e.slice(ne,l),h.index-=ne}else{L.lastIndex=0;var h=L.exec(Ce),u=1}if(!h){if(o)break;continue}N&&(B=h[1]?h[1].length:0);var g=h.index+B,h=h[0].slice(B),v=g+h.length,R=Ce.slice(0,g),C=Ce.slice(v);let Z=[Q,u];R&&(++Q,ne+=R.length,Z.push(R));let Ye=new me(A,k?D.tokenize(h,k):h,vt,h,z);if(Z.push(Ye),C&&Z.push(C),Array.prototype.splice.apply(t,Z),u!=1&&D.matchGrammar(e,t,r,Q,ne,!0,A),o)break}}}},tokenize:function(e,t){let r=[e],n=t.rest;if(n){for(let i in n)t[i]=n[i];delete t.rest}return D.matchGrammar(e,r,t,0,0,!1),r},hooks:{all:{},add:function(e,t){let r=D.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){let r=D.hooks.all[e];if(!(!r||!r.length))for(var n=0,i;i=r[n++];)i(t)}},Token:me};D.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};D.languages.javascript=D.languages.extend("clike",{"class-name":[D.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/});D.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/;D.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:D.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:D.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:D.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:D.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});D.languages.markup&&D.languages.markup.tag.addInlined("script","javascript");D.languages.js=D.languages.javascript;D.languages.typescript=D.languages.extend("javascript",{keyword:/\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/});D.languages.ts=D.languages.typescript;function me(e,t,r,n,i){this.type=e,this.content=t,this.alias=r,this.length=(n||"").length|0,this.greedy=!!i}me.stringify=function(e,t){return typeof e=="string"?e:Array.isArray(e)?e.map(function(r){return me.stringify(r,t)}).join(""):Gu(e.type)(e.content)};function Gu(e){return yo[e]||Vu}function wo(e){return Ju(e,D.languages.javascript)}function Ju(e,t){return D.tokenize(e,t).map(n=>me.stringify(n)).join("")}f();c();p();d();m();function bo(e){return gn(e)}var wr=class e{firstLineNumber;lines;static read(t){let r;try{r=or.readFileSync(t,"utf-8")}catch{return null}return e.fromContent(r)}static fromContent(t){let r=t.split(/\r?\n/);return new e(1,r)}constructor(t,r){this.firstLineNumber=t,this.lines=r}get lastLineNumber(){return this.firstLineNumber+this.lines.length-1}mapLineAt(t,r){if(tthis.lines.length+this.firstLineNumber)return this;let n=t-this.firstLineNumber,i=[...this.lines];return i[n]=r(i[n]),new e(this.firstLineNumber,i)}mapLines(t){return new e(this.firstLineNumber,this.lines.map((r,n)=>t(r,this.firstLineNumber+n)))}lineAt(t){return this.lines[t-this.firstLineNumber]}prependSymbolAt(t,r){return this.mapLines((n,i)=>i===t?`${r} ${n}`:` ${n}`)}slice(t,r){let n=this.lines.slice(t-1,r).join(` +`);return new e(t,bo(n).split(` +`))}highlight(){let t=wo(this.toString());return new e(this.firstLineNumber,t.split(` +`))}toString(){return this.lines.join(` +`)}};var Wu={red:Ge,gray:kt,dim:Ct,bold:pe,underline:At,highlightSource:e=>e.highlight()},Ku={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Hu({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function zu({callsite:e,message:t,originalMethod:r,isPanic:n,callArguments:i},o){let s=Hu({message:t,originalMethod:r,isPanic:n,callArguments:i});if(!e||typeof window<"u"||y.env.NODE_ENV==="production")return s;let a=e.getLocation();if(!a||!a.lineNumber||!a.columnNumber)return s;let l=Math.max(1,a.lineNumber-3),u=wr.read(a.fileName)?.slice(l,a.lineNumber),g=u?.lineAt(a.lineNumber);if(u&&g){let h=Zu(g),v=Yu(g);if(!v)return s;s.functionName=`${v.code})`,s.location=a,n||(u=u.mapLineAt(a.lineNumber,C=>C.slice(0,v.openingBraceIndex))),u=o.highlightSource(u);let R=String(u.lastLineNumber).length;if(s.contextLines=u.mapLines((C,A)=>o.gray(String(A).padStart(R))+" "+C).mapLines(C=>o.dim(C)).prependSymbolAt(a.lineNumber,o.bold(o.red("\u2192"))),i){let C=h+R+1;C+=2,s.callArguments=(0,Eo.default)(i,C).slice(C)}}return s}function Yu(e){let t=Object.keys(ct).join("|"),n=new RegExp(String.raw`\.(${t})\(`).exec(e);if(n){let i=n.index+n[0].length,o=e.lastIndexOf(" ",n.index)+1;return{code:e.slice(o,i),openingBraceIndex:i}}return null}function Zu(e){let t=0;for(let r=0;r"Unknown error")}function Co(e){return e.errors.flatMap(t=>t.kind==="Union"?Co(t):[t])}function tc(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:rc(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function rc(e,t){return[...new Set(e.concat(t))]}function nc(e){return xn(e,(t,r)=>{let n=Po(t),i=Po(r);return n!==i?n-i:vo(t)-vo(r)})}function Po(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function vo(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}f();c();p();d();m();var ce=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};f();c();p();d();m();f();c();p();d();m();So();f();c();p();d();m();var pt=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};Ao();f();c();p();d();m();f();c();p();d();m();var xr=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};f();c();p();d();m();var Pr=e=>e,vr={bold:Pr,red:Pr,green:Pr,dim:Pr,enabled:!1},Ro={bold:pe,red:Ge,green:St,dim:Ct,enabled:!0},dt={write(e){e.writeLine(",")}};f();c();p();d();m();var xe=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};f();c();p();d();m();var Be=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var mt=class extends Be{items=[];addItem(t){return this.items.push(new xr(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new xe("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(dt,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var ft=class e extends Be{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof mt&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new xe("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(dt,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};f();c();p();d();m();var H=class extends Be{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new xe(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};f();c();p();d();m();var qt=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(dt,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function Er(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":ic(e,t);break;case"IncludeOnScalar":oc(e,t);break;case"EmptySelection":sc(e,t,r);break;case"UnknownSelectionField":cc(e,t);break;case"InvalidSelectionValue":pc(e,t);break;case"UnknownArgument":dc(e,t);break;case"UnknownInputField":mc(e,t);break;case"RequiredArgumentMissing":fc(e,t);break;case"InvalidArgumentType":gc(e,t);break;case"InvalidArgumentValue":hc(e,t);break;case"ValueTooLarge":yc(e,t);break;case"SomeFieldsMissing":wc(e,t);break;case"TooManyFieldsGiven":bc(e,t);break;case"Union":To(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function ic(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function oc(e,t){let[r,n]=$t(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ce(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${jt(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function sc(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){ac(e,t,i);return}if(n.hasField("select")){lc(e,t);return}}if(r?.[je(e.outputType.name)]){uc(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function ac(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new ce(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function lc(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),Fo(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${jt(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function uc(e,t){let r=new qt;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new ce("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=$t(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let l=a?.value.asObject()??new ft;l.addSuggestion(n),a.value=l}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function cc(e,t){let r=Mo(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":Fo(n,e.outputType);break;case"include":Ec(n,e.outputType);break;case"omit":xc(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(jt(n)),i.join(" ")})}function pc(e,t){let r=Mo(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function dc(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),Pc(n,e.arguments)),t.addErrorMessage(i=>Oo(i,r,e.arguments.map(o=>o.name)))}function mc(e,t){let[r,n]=$t(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&_o(o,e.inputType)}t.addErrorMessage(o=>Oo(o,n,e.inputType.fields.map(s=>s.name)))}function Oo(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=Tc(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(jt(e)),n.join(" ")}function fc(e,t){let r;t.addErrorMessage(l=>r?.value instanceof H&&r.value.text==="null"?`Argument \`${l.green(o)}\` must not be ${l.red("null")}.`:`Argument \`${l.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=$t(e.argumentPath),s=new qt,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let l of e.inputTypes[0].fields)s.addField(l.name,l.typeNames.join(" | "));a.addSuggestion(new ce(o,s).makeRequired())}else{let l=e.inputTypes.map(Io).join(" | ");a.addSuggestion(new ce(o,l).makeRequired())}}function Io(e){return e.kind==="list"?`${Io(e.elementType)}[]`:e.name}function gc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=Tr("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function hc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=Tr("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function yc(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof H&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function wc(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&_o(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Tr("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(jt(i)),o.join(" ")})}function bc(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Tr("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function Fo(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ce(r.name,"true"))}function Ec(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new ce(r.name,"true"))}function xc(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new ce(r.name,"true"))}function Pc(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new ce(r.name,r.typeNames.join(" | ")))}function Mo(e,t){let[r,n]=$t(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),l=o?.getField(n);return o&&l?{parentKind:"select",parent:o,field:l,fieldName:n}:(l=s?.getField(n),s&&l?{parentKind:"include",field:l,parent:s,fieldName:n}:(l=a?.getField(n),a&&l?{parentKind:"omit",field:l,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function _o(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ce(r.name,r.typeNames.join(" | ")))}function $t(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function jt({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function Tr(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var vc=3;function Tc(e,t){let r=1/0,n;for(let i of t){let o=(0,ko.default)(e,i);o>vc||o`}};function gt(e){return e instanceof Bt}f();c();p();d();m();var Cr=Symbol(),On=new WeakMap,Me=class{constructor(t){t===Cr?On.set(this,`Prisma.${this._getName()}`):On.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return On.get(this)}},Ut=class extends Me{_getNamespace(){return"NullTypes"}},Vt=class extends Ut{#e};In(Vt,"DbNull");var Qt=class extends Ut{#e};In(Qt,"JsonNull");var Gt=class extends Ut{#e};In(Gt,"AnyNull");var Ar={classes:{DbNull:Vt,JsonNull:Qt,AnyNull:Gt},instances:{DbNull:new Vt(Cr),JsonNull:new Qt(Cr),AnyNull:new Gt(Cr)}};function In(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}f();c();p();d();m();var Lo=": ",Sr=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Lo.length}write(t){let r=new xe(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Lo).write(this.value)}};var Fn=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function ht(e){return new Fn(Do(e))}function Do(e){let t=new ft;for(let[r,n]of Object.entries(e)){let i=new Sr(r,No(n));t.addField(i)}return t}function No(e){if(typeof e=="string")return new H(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new H(String(e));if(typeof e=="bigint")return new H(`${e}n`);if(e===null)return new H("null");if(e===void 0)return new H("undefined");if(ut(e))return new H(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return w.Buffer.isBuffer(e)?new H(`Buffer.alloc(${e.byteLength})`):new H(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=hr(e)?e.toISOString():"Invalid Date";return new H(`new Date("${t}")`)}return e instanceof Me?new H(`Prisma.${e._getName()}`):gt(e)?new H(`prisma.${je(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?Cc(e):typeof e=="object"?Do(e):new H(Object.prototype.toString.call(e))}function Cc(e){let t=new mt;for(let r of e)t.addItem(No(r));return t}function Rr(e,t){let r=t==="pretty"?Ro:vr,n=e.renderAllMessages(r),i=new pt(0,{colors:r}).write(e).toString();return{message:n,args:i}}function kr({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=ht(e);for(let h of t)Er(h,a,s);let{message:l,args:u}=Rr(a,r),g=br({message:l,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:u});throw new ee(g,{clientVersion:o})}f();c();p();d();m();f();c();p();d();m();function Pe(e){return e.replace(/^./,t=>t.toLowerCase())}f();c();p();d();m();function $o(e,t,r){let n=Pe(r);return!t.result||!(t.result.$allModels||t.result[n])?e:Ac({...e,...qo(t.name,e,t.result.$allModels),...qo(t.name,e,t.result[n])})}function Ac(e){let t=new Ee,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return it(e,n=>({...n,needs:r(n.name,new Set)}))}function qo(e,t,r){return r?it(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Sc(t,o,i)})):{}}function Sc(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function jo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Bo(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var Or=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new Ee;modelExtensionsCache=new Ee;queryCallbacksCache=new Ee;clientExtensions=Dt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=Dt(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>$o(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Pe(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},yt=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new Or(t))}isEmpty(){return this.head===void 0}append(t){return new e(new Or(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};f();c();p();d();m();var Ir=class{constructor(t){this.name=t}};function Uo(e){return e instanceof Ir}function Vo(e){return new Ir(e)}f();c();p();d();m();f();c();p();d();m();var Qo=Symbol(),Jt=class{constructor(t){if(t!==Qo)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?Fr:t}},Fr=new Jt(Qo);function ve(e){return e instanceof Jt}var Rc={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Go="explicitly `undefined` values are not allowed";function Mr({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=yt.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:g}){let h=new Mn({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:l,previewFeatures:u,globalOmit:g});return{modelName:e,action:Rc[t],query:Wt(r,h)}}function Wt({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Wo(r,n),selection:kc(e,t,i,n)}}function kc(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),Mc(e,n)):Oc(n,t,r)}function Oc(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&Ic(n,t,e),Fc(n,r,e),n}function Ic(e,t,r){for(let[n,i]of Object.entries(t)){if(ve(i))continue;let o=r.nestSelection(n);if(_n(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=Wt(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=Wt(i,o)}}function Fc(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Bo(i,n);for(let[s,a]of Object.entries(o)){if(ve(a))continue;_n(a,r.nestSelection(s));let l=r.findField(s);n?.[s]&&!l||(e[s]=!a)}}function Mc(e,t){let r={},n=t.getComputedFields(),i=jo(e,n);for(let[o,s]of Object.entries(i)){if(ve(s))continue;let a=t.nestSelection(o);_n(s,a);let l=t.findField(o);if(!(n?.[o]&&!l)){if(s===!1||s===void 0||ve(s)){r[o]=!1;continue}if(s===!0){l?.kind==="object"?r[o]=Wt({},a):r[o]=!0;continue}r[o]=Wt(s,a)}}return r}function Jo(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(lt(e)){if(hr(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Uo(e))return{$type:"Param",value:e.name};if(gt(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return _c(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:w.Buffer.from(r,n,i).toString("base64")}}if(Lc(e))return e.values;if(ut(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Me){if(e!==Ar.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(Dc(e))return e.toJSON();if(typeof e=="object")return Wo(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Wo(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);ve(i)||(i!==void 0?r[n]=Jo(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:Go}))}return r}function _c(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[je(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:Ie(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};f();c();p();d();m();function Ko(e){if(!e._hasPreviewFlag("metrics"))throw new ee("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var wt=class{_client;constructor(t){this._client=t}prometheus(t){return Ko(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Ko(this._client),this._client._engine.metrics({format:"json",...t})}};f();c();p();d();m();function Ho(e,t){let r=Dt(()=>Nc(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function Nc(e){return{datamodel:{models:Ln(e.models),enums:Ln(e.enums),types:Ln(e.types)}}}function Ln(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}f();c();p();d();m();var Dn=new WeakMap,_r="$$PrismaTypedSql",Kt=class{constructor(t,r){Dn.set(this,{sql:t,values:r}),Object.defineProperty(this,_r,{value:_r})}get sql(){return Dn.get(this).sql}get values(){return Dn.get(this).values}};function zo(e){return(...t)=>new Kt(e,t)}function Lr(e){return e!=null&&e[_r]===_r}f();c();p();d();m();var ga=Se(Yo());f();c();p();d();m();Zo();pn();mn();f();c();p();d();m();var ae=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}f();c();p();d();m();f();c();p();d();m();var Nr={enumerable:!0,configurable:!0,writable:!0};function qr(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>Nr,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var ts=Symbol.for("nodejs.util.inspect.custom");function fe(e,t){let r=$c(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=rs(Reflect.ownKeys(o),r),a=rs(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let l=r.get(s);return l?l.getPropertyDescriptor?{...Nr,...l?.getPropertyDescriptor(s)}:Nr:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[ts]=function(){let o={...this};return delete o[ts],o},i}function $c(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function rs(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}f();c();p();d();m();function bt(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}f();c();p();d();m();function $r(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}f();c();p();d();m();function ns(e){if(e===void 0)return"";let t=ht(e);return new pt(0,{colors:vr}).write(t).toString()}f();c();p();d();m();var jc="P2037";function jr({error:e,user_facing_error:t},r,n){return t.error_code?new oe(Bc(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new G(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function Bc(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===jc&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}f();c();p();d();m();f();c();p();d();m();f();c();p();d();m();f();c();p();d();m();f();c();p();d();m();var zt="";function is(e){var t=e.split(` +`);return t.reduce(function(r,n){var i=Qc(n)||Jc(n)||Hc(n)||Xc(n)||Yc(n);return i&&r.push(i),r},[])}var Uc=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Vc=/\((\S*)(?::(\d+))(?::(\d+))\)/;function Qc(e){var t=Uc.exec(e);if(!t)return null;var r=t[2]&&t[2].indexOf("native")===0,n=t[2]&&t[2].indexOf("eval")===0,i=Vc.exec(t[2]);return n&&i!=null&&(t[2]=i[1],t[3]=i[2],t[4]=i[3]),{file:r?null:t[2],methodName:t[1]||zt,arguments:r?[t[2]]:[],lineNumber:t[3]?+t[3]:null,column:t[4]?+t[4]:null}}var Gc=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Jc(e){var t=Gc.exec(e);return t?{file:t[2],methodName:t[1]||zt,arguments:[],lineNumber:+t[3],column:t[4]?+t[4]:null}:null}var Wc=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,Kc=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function Hc(e){var t=Wc.exec(e);if(!t)return null;var r=t[3]&&t[3].indexOf(" > eval")>-1,n=Kc.exec(t[3]);return r&&n!=null&&(t[3]=n[1],t[4]=n[2],t[5]=null),{file:t[3],methodName:t[1]||zt,arguments:t[2]?t[2].split(","):[],lineNumber:t[4]?+t[4]:null,column:t[5]?+t[5]:null}}var zc=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function Yc(e){var t=zc.exec(e);return t?{file:t[3],methodName:t[1]||zt,arguments:[],lineNumber:+t[4],column:t[5]?+t[5]:null}:null}var Zc=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function Xc(e){var t=Zc.exec(e);return t?{file:t[2],methodName:t[1]||zt,arguments:[],lineNumber:+t[3],column:t[4]?+t[4]:null}:null}var $n=class{getLocation(){return null}},jn=class{_error;constructor(){this._error=new Error}getLocation(){let t=this._error.stack;if(!t)return null;let n=is(t).find(i=>{if(!i.file)return!1;let o=bn(i.file);return o!==""&&!o.includes("@prisma")&&!o.includes("/packages/client/src/runtime/")&&!o.endsWith("/runtime/binary.js")&&!o.endsWith("/runtime/library.js")&&!o.endsWith("/runtime/edge.js")&&!o.endsWith("/runtime/edge-esm.js")&&!o.startsWith("internal/")&&!i.methodName.includes("new ")&&!i.methodName.includes("getCallSite")&&!i.methodName.includes("Proxy.")&&i.methodName.split(".").length<4});return!n||!n.file?null:{fileName:n.file,lineNumber:n.lineNumber,columnNumber:n.column}}};function Ue(e){return e==="minimal"?typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new $n:new jn}f();c();p();d();m();f();c();p();d();m();f();c();p();d();m();var os={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function Et(e={}){let t=tp(e);return Object.entries(t).reduce((n,[i,o])=>(os[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function tp(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Br(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function ss(e,t){let r=Br(e);return t({action:"aggregate",unpacker:r,argsMapper:Et})(e)}f();c();p();d();m();function rp(e={}){let{select:t,...r}=e;return typeof t=="object"?Et({...r,_count:t}):Et({...r,_count:{_all:!0}})}function np(e={}){return typeof e.select=="object"?t=>Br(e)(t)._count:t=>Br(e)(t)._count._all}function as(e,t){return t({action:"count",unpacker:np(e),argsMapper:rp})(e)}f();c();p();d();m();function ip(e={}){let t=Et(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function op(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function ls(e,t){return t({action:"groupBy",unpacker:op(e),argsMapper:ip})(e)}function us(e,t,r){if(t==="aggregate")return n=>ss(n,r);if(t==="count")return n=>as(n,r);if(t==="groupBy")return n=>ls(n,r)}f();c();p();d();m();function cs(e,t){let r=t.fields.filter(i=>!i.relationName),n=go(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new Bt(e,o,s.type,s.isList,s.kind==="enum")},...qr(Object.keys(n))})}f();c();p();d();m();f();c();p();d();m();var ps=e=>Array.isArray(e)?e:e.split("."),Bn=(e,t)=>ps(t).reduce((r,n)=>r&&r[n],e),ds=(e,t,r)=>ps(t).reduceRight((n,i,o,s)=>Object.assign({},Bn(e,s.slice(0,o)),{[i]:n}),r);function sp(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function ap(e,t,r){return t===void 0?e??{}:ds(t,r,e||!0)}function Un(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((l,u)=>({...l,[u.name]:u}),{});return l=>{let u=Ue(e._errorFormat),g=sp(n,i),h=ap(l,o,g),v=r({dataPath:g,callsite:u})(h),R=lp(e,t);return new Proxy(v,{get(C,A){if(!R.includes(A))return C[A];let M=[a[A].type,r,A],L=[g,h];return Un(e,...M,...L)},...qr([...R,...Object.getOwnPropertyNames(v)])})}}function lp(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var up=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],cp=["aggregate","count","groupBy"];function Vn(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[pp(e,t),mp(e,t),Ht(r),re("name",()=>t),re("$name",()=>t),re("$parent",()=>e._appliedParent)];return fe({},n)}function pp(e,t){let r=Pe(t),n=Object.keys(ct).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>l=>{let u=Ue(e._errorFormat);return e._createPrismaPromise(g=>{let h={args:l,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:g,callsite:u};return e._request({...h,...a})},{action:o,args:l,model:t})};return up.includes(o)?Un(e,t,s):dp(i)?us(e,i,s):s({})}}}function dp(e){return cp.includes(e)}function mp(e,t){return Ke(re("fields",()=>{let r=e._runtimeDataModel.models[t];return cs(t,r)}))}f();c();p();d();m();function ms(e){return e.replace(/^./,t=>t.toUpperCase())}var Qn=Symbol();function Yt(e){let t=[fp(e),gp(e),re(Qn,()=>e),re("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(Ht(r)),fe(e,t)}function fp(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function gp(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Pe),n=[...new Set(t.concat(r))];return Ke({getKeys(){return n},getPropertyValue(i){let o=ms(i);if(e._runtimeDataModel.models[o]!==void 0)return Vn(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Vn(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function fs(e){return e[Qn]?e[Qn]:e}function gs(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Yt(t)}f();c();p();d();m();f();c();p();d();m();function hs({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let l of Object.values(o)){if(n){if(n[l.name])continue;let u=l.needs.filter(g=>n[g]);u.length>0&&a.push(bt(u))}else if(r){if(!r[l.name])continue;let u=l.needs.filter(g=>!r[g]);u.length>0&&a.push(bt(u))}hp(e,l.needs)&&s.push(yp(l,fe(e,s)))}return s.length>0||a.length>0?fe(e,[...s,...a]):e}function hp(e,t){return t.every(r=>En(e,r))}function yp(e,t){return Ke(re(e.name,()=>e.compute(t)))}f();c();p();d();m();function Ur({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sg.name===o);if(!l||l.kind!=="object"||!l.relationName)continue;let u=typeof s=="object"?s:{};t[o]=Ur({visitor:i,result:t[o],args:u,modelName:l.type,runtimeDataModel:n})}}function ws({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Ur({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,l,u)=>{let g=Pe(l);return hs({result:a,modelName:g,select:u.select,omit:u.select?void 0:{...o?.[g],...u.omit},extensions:n})}})}f();c();p();d();m();f();c();p();d();m();f();c();p();d();m();var wp=["$connect","$disconnect","$on","$transaction","$use","$extends"],bs=wp;function Es(e){if(e instanceof ae)return bp(e);if(Lr(e))return Ep(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:Es(t.args??{}),__internalParams:t,query:(s,a=t)=>{let l=a.customDataProxyFetch;return a.customDataProxyFetch=As(o,l),a.args=s,Ps(e,a,r,n+1)}})})}function vs(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return Ps(e,t,s)}function Ts(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?Cs(r,n,0,e):e(r)}}function Cs(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let l=a.customDataProxyFetch;return a.customDataProxyFetch=As(i,l),Cs(a,t,r+1,n)}})}var xs=e=>e;function As(e=xs,t=xs){return r=>e(t(r))}f();c();p();d();m();var Ss=K("prisma:client"),Rs={Vercel:"vercel","Netlify CI":"netlify"};function ks({postinstall:e,ciName:t,clientVersion:r}){if(Ss("checkPlatformCaching:postinstall",e),Ss("checkPlatformCaching:ciName",t),e===!0&&t&&t in Rs){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${Rs[t]}-build`;throw console.error(n),new V(n,r)}}f();c();p();d();m();function Os(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}f();c();p();d();m();f();c();p();d();m();var xp=()=>globalThis.process?.release?.name==="node",Pp=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,vp=()=>!!globalThis.Deno,Tp=()=>typeof globalThis.Netlify=="object",Cp=()=>typeof globalThis.EdgeRuntime=="object",Ap=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Sp(){return[[Tp,"netlify"],[Cp,"edge-light"],[Ap,"workerd"],[vp,"deno"],[Pp,"bun"],[xp,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var Rp={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Is(){let e=Sp();return{id:e,prettyName:Rp[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}f();c();p();d();m();f();c();p();d();m();var Gn=Se(wn());f();c();p();d();m();function Fs(e){return e?e.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,t=>`${t[0]}5`):""}f();c();p();d();m();function Ms(e){return e.split(` +`).map(t=>t.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/,"").replace(/\+\d+\s*ms$/,"")).join(` +`)}f();c();p();d();m();var _s=Se(Yi());function Ls({title:e,user:t="prisma",repo:r="prisma",template:n="bug_report.yml",body:i}){return(0,_s.default)({user:t,repo:r,template:n,title:e,body:i})}function Ds({version:e,binaryTarget:t,title:r,description:n,engineVersion:i,database:o,query:s}){let a=Mi(6e3-(s?.length??0)),l=Ms((0,Gn.default)(a)),u=n?`# Description +\`\`\` +${n} +\`\`\``:"",g=(0,Gn.default)(`Hi Prisma Team! My Prisma Client just crashed. This is the report: +## Versions + +| Name | Version | +|-----------------|--------------------| +| Node | ${y.version?.padEnd(19)}| +| OS | ${t?.padEnd(19)}| +| Prisma Client | ${e?.padEnd(19)}| +| Query Engine | ${i?.padEnd(19)}| +| Database | ${o?.padEnd(19)}| + +${u} + +## Logs +\`\`\` +${l} +\`\`\` + +## Client Snippet +\`\`\`ts +// PLEASE FILL YOUR CODE SNIPPET HERE +\`\`\` + +## Schema +\`\`\`prisma +// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE +\`\`\` + +## Prisma Engine Query +\`\`\` +${s?Fs(s):""} +\`\`\` +`),h=Ls({title:r,body:g});return`${r} + +This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic. + +${At(h)} + +If you want the Prisma team to look into it, please open the link above \u{1F64F} +To increase the chance of success, please post your schema and a snippet of +how you used Prisma Client in the issue. +`}f();c();p();d();m();f();c();p();d();m();f();c();p();d();m();f();c();p();d();m();function Jn(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}f();c();p();d();m();function Vr(e){return{ok:!0,value:e,map(t){return Vr(t(e))},flatMap(t){return t(e)}}}function He(e){return{ok:!1,error:e,map(){return He(e)},flatMap(){return He(e)}}}var Ns=K("driver-adapter-utils"),Wn=class{registeredErrors=[];consumeError(t){return this.registeredErrors[t]}registerNewError(t){let r=0;for(;this.registeredErrors[r]!==void 0;)r++;return this.registeredErrors[r]={error:t},r}};var Qr=(e,t=new Wn)=>{let r={adapterName:e.adapterName,errorRegistry:t,queryRaw:_e(t,e.queryRaw.bind(e)),executeRaw:_e(t,e.executeRaw.bind(e)),executeScript:_e(t,e.executeScript.bind(e)),dispose:_e(t,e.dispose.bind(e)),provider:e.provider,startTransaction:async(...n)=>(await _e(t,e.startTransaction.bind(e))(...n)).map(o=>kp(t,o))};return e.getConnectionInfo&&(r.getConnectionInfo=Op(t,e.getConnectionInfo.bind(e))),r},kp=(e,t)=>({adapterName:t.adapterName,provider:t.provider,options:t.options,queryRaw:_e(e,t.queryRaw.bind(t)),executeRaw:_e(e,t.executeRaw.bind(t)),commit:_e(e,t.commit.bind(t)),rollback:_e(e,t.rollback.bind(t))});function _e(e,t){return async(...r)=>{try{return Vr(await t(...r))}catch(n){if(Ns("[error@wrapAsync]",n),Jn(n))return He(n.cause);let i=e.registerNewError(n);return He({kind:"GenericJs",id:i})}}}function Op(e,t){return(...r)=>{try{return Vr(t(...r))}catch(n){if(Ns("[error@wrapSync]",n),Jn(n))return He(n.cause);let i=e.registerNewError(n);return He({kind:"GenericJs",id:i})}}}var qs="6.11.1";f();c();p();d();m();function Gr({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new V(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new V("error: Missing URL environment variable, value, or override.",n);return i}f();c();p();d();m();f();c();p();d();m();function $s(e){if(e?.kind==="itx")return e.options.id}f();c();p();d();m();var Kn=class{engineObject;constructor(t,r,n){this.engineObject=__PrismaProxy.create({datamodel:t.datamodel,env:y.env,ignoreEnvVarErrors:!0,datasourceOverrides:t.datasourceOverrides??{},logLevel:t.logLevel,logQueries:t.logQueries??!1,logCallback:r,enableTracing:t.enableTracing})}async connect(t,r){return __PrismaProxy.connect(this.engineObject,t,r)}async disconnect(t,r){return __PrismaProxy.disconnect(this.engineObject,t,r)}query(t,r,n,i){return __PrismaProxy.execute(this.engineObject,t,r,n,i)}compile(){throw new Error("not implemented")}sdlSchema(){return Promise.resolve("{}")}dmmf(t){return Promise.resolve("{}")}async startTransaction(t,r,n){return __PrismaProxy.startTransaction(this.engineObject,t,r,n)}async commitTransaction(t,r,n){return __PrismaProxy.commitTransaction(this.engineObject,t,r,n)}async rollbackTransaction(t,r,n){return __PrismaProxy.rollbackTransaction(this.engineObject,t,r,n)}metrics(t){return Promise.resolve("{}")}async applyPendingMigrations(){return __PrismaProxy.applyPendingMigrations(this.engineObject)}trace(t){return __PrismaProxy.trace(this.engineObject,t)}},js={async loadLibrary(e){if(!__PrismaProxy)throw new V("__PrismaProxy not detected make sure React Native bindings are installed",e.clientVersion);return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:Kn}}};var Fp="P2036",Te=K("prisma:client:libraryEngine");function Mp(e){return e.item_type==="query"&&"query"in e}function _p(e){return"level"in e?e.level==="error"&&e.message==="PANIC":!1}var X2=[...dn,"native"],Lp=0xffffffffffffffffn,Hn=1n;function Dp(){let e=Hn++;return Hn>Lp&&(Hn=1n),e}var Xt=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(t,r){this.libraryLoader=js,this.config=t,this.libraryStarted=!1,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(t.overrideDatasources)[0],i=t.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(t){return{applyPendingMigrations:t.applyPendingMigrations?.bind(t),commitTransaction:this.withRequestId(t.commitTransaction.bind(t)),connect:this.withRequestId(t.connect.bind(t)),disconnect:this.withRequestId(t.disconnect.bind(t)),metrics:t.metrics?.bind(t),query:this.withRequestId(t.query.bind(t)),rollbackTransaction:this.withRequestId(t.rollbackTransaction.bind(t)),sdlSchema:t.sdlSchema?.bind(t),startTransaction:this.withRequestId(t.startTransaction.bind(t)),trace:t.trace.bind(t),free:t.free?.bind(t)}}withRequestId(t){return async(...r)=>{let n=Dp().toString();try{return await t(...r,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){await this.start(),await this.engine?.applyPendingMigrations()}async transaction(t,r,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(r),s;if(t==="start"){let l=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(l,o)}else t==="commit"?s=await this.engine?.commitTransaction(n.id,o):t==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(Np(a)){let l=this.getExternalAdapterError(a,i?.errorRegistry);throw l?l.error:new oe(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new G(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(Te("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){}parseEngineResponse(t){if(!t)throw new G("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(t)}catch{throw new G("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let t=new b(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(Qr));let r=await this.adapterPromise;r&&Te("Using driver adapter: %O",r),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:y.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{t.deref()?.logger(n)},r))}catch(t){let r=t,n=this.parseInitError(r.message);throw typeof n=="string"?r:new V(n.message,this.config.clientVersion,n.error_code)}}}logger(t){let r=this.parseEngineResponse(t);r&&(r.level=r?.level.toLowerCase()??"unknown",Mp(r)?this.logEmitter.emit("query",{timestamp:new Date,query:r.query,params:r.params,duration:Number(r.duration_ms),target:r.module_path}):_p(r)?this.loggerRustPanic=new ue(zn(this,`${r.message}: ${r.reason} in ${r.file}:${r.line}:${r.column}`),this.config.clientVersion):this.logEmitter.emit(r.level,{timestamp:new Date,message:r.message,target:r.module_path}))}parseInitError(t){try{return JSON.parse(t)}catch{}return t}parseRequestError(t){try{return JSON.parse(t)}catch{}return t}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(this.libraryInstantiationPromise||(this.libraryInstantiationPromise=this.instantiateLibrary()),await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return Te(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let t=async()=>{Te("library starting");try{let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(r)),this.libraryStarted=!0,this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(Qr)),await this.adapterPromise,Te("library started")}catch(r){let n=this.parseInitError(r.message);throw typeof n=="string"?r:new V(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",t),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return Te("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted){await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0;return}let t=async()=>{await new Promise(n=>setImmediate(n)),Te("library stopping");let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(r)),this.engine?.free&&this.engine.free(),this.engine=void 0,this.libraryStarted=!1,this.libraryStoppingPromise=void 0,this.libraryInstantiationPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,Te("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",t),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(t){return this.library?.debugPanic(t)}async request(t,{traceparent:r,interactiveTransaction:n}){Te(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:r}),o=JSON.stringify(t);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new G(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof V)throw s;if(s.code==="GenericFailure"&&s.message?.startsWith("PANIC:"))throw new ue(zn(this,s.message),this.config.clientVersion);let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new G(`${a.message} +${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(t,{transaction:r,traceparent:n}){Te("requestBatch");let i=$r(t,r);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine?.query(this.lastQuery,JSON.stringify({traceparent:n}),$s(r));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new G(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:l,errors:u}=a;if(Array.isArray(l))return l.map(g=>g.errors&&g.errors.length>0?this.loggerRustPanic??this.buildQueryError(g.errors[0],o?.errorRegistry):{data:g});throw u&&u.length===1?new Error(u[0].error):new Error(JSON.stringify(a))}buildQueryError(t,r){if(t.user_facing_error.is_panic)return new ue(zn(this,t.user_facing_error.message),this.config.clientVersion);let n=this.getExternalAdapterError(t.user_facing_error,r);return n?n.error:jr(t,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(t,r){if(t.error_code===Fp&&r){let n=t.meta?.id;sr(typeof n=="number","Malformed external JS error received from the engine");let i=r.consumeError(n);return sr(i,"External error with reported id was not registered"),i}}async metrics(t){await this.start();let r=await this.engine.metrics(JSON.stringify(t));return t.format==="prometheus"?r:this.parseEngineResponse(r)}};function Np(e){return typeof e=="object"&&e!==null&&e.error_code!==void 0}function zn(e,t){return Ds({binaryTarget:e.binaryTarget,title:t,version:e.config.clientVersion,engineVersion:e.versionInfo?.commit,database:e.config.activeProvider,query:e.lastQuery})}f();c();p();d();m();function Bs({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=A=>{i.push({_tag:"warning",value:A})},a=A=>{let O=A.join(` +`);o.push({_tag:"error",value:O})},l=!!e?.startsWith("prisma://"),u=hn(e),g=!!t,h=l||u;!g&&r&&h&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let v=h||!r;g&&(v||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):r?l&&a(["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]):a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let R={accelerate:v,ppg:u,driverAdapters:g};function C(A){return A.length>0}return C(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:R}:{ok:!0,diagnostics:{warnings:i},isUsing:R}}function Us({copyEngine:e=!0},t){let r;try{r=Gr({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...y.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=Bs({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"react-native"});for(let g of o.warnings)_t(...g.value);if(!n){let g=o.errors[0];throw new ee(g.value,{clientVersion:t.clientVersion})}let s=nt(t.generator),a=s==="library",l=s==="binary",u=s==="client";return new Xt(t)}f();c();p();d();m();function Jr({generator:e}){return e?.previewFeatures??[]}f();c();p();d();m();var Vs=e=>({command:e});f();c();p();d();m();f();c();p();d();m();var Qs=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);f();c();p();d();m();function xt(e){try{return Gs(e,"fast")}catch{return Gs(e,"slow")}}function Gs(e,t){return JSON.stringify(e.map(r=>Ws(r,t)))}function Ws(e,t){if(Array.isArray(e))return e.map(r=>Ws(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(lt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(be.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(w.Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(qp(e))return{prisma__type:"bytes",prisma__value:w.Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:w.Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?Ks(e):e}function qp(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Ks(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(Js);let t={};for(let r of Object.keys(e))t[r]=Js(e[r]);return t}function Js(e){return typeof e=="bigint"?e.toString():Ks(e)}var $p=/^(\s*alter\s)/i,Hs=K("prisma:client");function Yn(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&$p.exec(t))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var Zn=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Lr(r))n=r.sql,i={values:xt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:xt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:xt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:xt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=Qs(r),i={values:xt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Hs(`prisma.${e}(${n}, ${i.values})`):Hs(`prisma.${e}(${n})`),{query:n,parameters:i}},zs={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new ae(t,r)}},Ys={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};f();c();p();d();m();function Xn(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Zs(r(s)):Zs(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Zs(e){return typeof e.then=="function"?e:Promise.resolve(e)}f();c();p();d();m();var jp=fn.split(".")[0],Bp={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},ei=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${jp}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??Bp}};function Xs(){return new ei}f();c();p();d();m();function ea(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}f();c();p();d();m();function ta(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}f();c();p();d();m();var Wr=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};f();c();p();d();m();var na=Se(wn());f();c();p();d();m();function Kr(e){return typeof e.batchRequestIdx=="number"}f();c();p();d();m();function ra(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(ti(e.query.arguments)),t.push(ti(e.query.selection)),t.join("")}function ti(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${ti(n)})`:r}).join(" ")})`}f();c();p();d();m();var Up={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function ri(e){return Up[e]}f();c();p();d();m();var Hr=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,y.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;ize("bigint",r));case"bytes-array":return t.map(r=>ze("bytes",r));case"decimal-array":return t.map(r=>ze("decimal",r));case"datetime-array":return t.map(r=>ze("datetime",r));case"date-array":return t.map(r=>ze("date",r));case"time-array":return t.map(r=>ze("time",r));default:return t}}function zr(e){let t=[],r=Vp(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(h=>h.protocolQuery),l=this.client._tracingHelper.getTraceParent(s),u=n.some(h=>ri(h.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:l,transaction:Gp(o),containsWrite:u,customDataProxyFetch:i})).map((h,v)=>{if(h instanceof Error)return h;try{return this.mapQueryEngineResult(n[v],h)}catch(R){return R}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?ia(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:ri(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:ra(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return y.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Qp(t),Jp(t,i))throw t;if(t instanceof oe&&Wp(t)){let u=oa(t.meta);kr({args:o,errors:[u],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let l=t.message;if(n&&(l=br({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:l})),l=this.sanitizeMessage(l),t.code){let u=s?{modelName:s,...t.meta}:t.meta;throw new oe(l,{code:t.code,clientVersion:this.client._clientVersion,meta:u,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new ue(l,this.client._clientVersion);if(t instanceof G)throw new G(l,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof V)throw new V(l,this.client._clientVersion);if(t instanceof ue)throw new ue(l,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,na.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(u=>u!=="select"&&u!=="include"),a=Bn(o,s),l=i==="queryRaw"?zr(a):at(a);return n?n(l):l}get[Symbol.toStringTag](){return"RequestHandler"}};function Gp(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:ia(e)};Ie(e,"Unknown transaction kind")}}function ia(e){return{id:e.id,payload:e.payload}}function Jp(e,t){return Kr(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function Wp(e){return e.code==="P2009"||e.code==="P2012"}function oa(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(oa)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}f();c();p();d();m();var sa=qs;f();c();p();d();m();var pa=Se(Rn());f();c();p();d();m();var q=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};le(q,"PrismaClientConstructorValidationError");var aa=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],la=["pretty","colorless","minimal"],ua=["info","query","warn","error"],Kp={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=Pt(r,t)||` Available datasources: ${t.join(", ")}`;throw new q(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new q(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new q(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&&nt(t.generator)==="client")throw new q('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new q('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Jr(t).includes("driverAdapters"))throw new q('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(nt(t.generator)==="binary")throw new q('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new q(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!la.includes(e)){let t=Pt(e,la);throw new q(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new q(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!ua.includes(r)){let n=Pt(r,ua);throw new q(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=Pt(i,o);throw new q(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new q(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new q(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new q(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new q('"omit" option is expected to be an object.');if(e===null)throw new q('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=zp(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let l=o.fields.find(u=>u.name===s);if(!l){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(l.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new q(Yp(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new q(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=Pt(r,t);throw new q(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function da(e,t){for(let[r,n]of Object.entries(e)){if(!aa.includes(r)){let i=Pt(r,aa);throw new q(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}Kp[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new q('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function Pt(e,t){if(t.length===0||typeof e!="string")return"";let r=Hp(e,t);return r?` Did you mean "${r}"?`:""}function Hp(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,pa.default)(e,i)}));r.sort((i,o)=>i.distanceje(n)===t);if(r)return e[r]}function Yp(e,t){let r=ht(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Rr(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}f();c();p();d();m();function ma(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},l=u=>{o||(o=!0,r(u))};for(let u=0;u{n[u]=g,a()},g=>{if(!Kr(g)){l(g);return}g.batchRequestIdx===u?l(g):(i||(i=g),a())})})}var Ve=K("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var Zp={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},Xp=Symbol.for("prisma.client.transaction.id"),ed={id:0,nextId(){return++this.id}};function ha(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Wr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=Xn();constructor(n){e=n?.__internal?.configOverride?.(e)??e,ks(e),n&&da(n,e);let i=new Dr().on("error",()=>{});this._extensions=yt.empty(),this._previewFeatures=Jr(e),this._clientVersion=e.clientVersion??sa,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Xs();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&Oe.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&Oe.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let l=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==l)throw new V(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new V("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let l=n??{},u=l.__internal??{},g=u.debug===!0;g&&K.enable("prisma:client");let h=Oe.resolve(e.dirname,e.relativePath);or.existsSync(h)||(h=e.dirname),Ve("dirname",e.dirname),Ve("relativePath",e.relativePath),Ve("cwd",h);let v=u.engine||{};if(l.errorFormat?this._errorFormat=l.errorFormat:y.env.NODE_ENV==="production"?this._errorFormat="minimal":y.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:h,dirname:e.dirname,enableDebugLogs:g,allowTriggerPanic:v.allowTriggerPanic,prismaPath:v.binaryPath??void 0,engineEndpoint:v.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:l.log&&ta(l.log),logQueries:l.log&&!!(typeof l.log=="string"?l.log==="query":l.log.find(R=>typeof R=="string"?R==="query":R.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Os(l,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:l.transactionOptions?.maxWait??2e3,timeout:l.transactionOptions?.timeout??5e3,isolationLevel:l.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:Gr,getBatchRequestPayload:$r,prismaGraphQLToJSError:jr,PrismaClientUnknownRequestError:G,PrismaClientInitializationError:V,PrismaClientKnownRequestError:oe,debug:K("prisma:client:accelerateEngine"),engineVersion:ga.version,clientVersion:e.clientVersion}},Ve("clientVersion",e.clientVersion),this._engine=Us(e,this._engineConfig),this._requestHandler=new Yr(this,i),l.log)for(let R of l.log){let C=typeof R=="string"?R:R.emit==="stdout"?R.level:null;C&&this.$on(C,A=>{Mt.log(`${Mt.tags[C]??""}`,A.message||A.query)})}}catch(l){throw l.clientVersion=this._clientVersion,l}return this._appliedParent=Yt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{_i()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:Zn({clientMethod:i,activeProvider:a}),callsite:Ue(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=fa(n,i);return Yn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new ee("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Yn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new ee(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Vs,callsite:Ue(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:Zn({clientMethod:i,activeProvider:a}),callsite:Ue(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...fa(n,i));throw new ee("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new ee("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=ed.nextId(),s=ea(n.length),a=n.map((l,u)=>{if(l?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let g=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,h={kind:"batch",id:o,index:u,isolationLevel:g,lock:s};return l.requestTransaction?.(h)??l});return ma(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),l;try{let u={kind:"itx",...a};l=await n(this._createItxClient(u)),await this._engine.transaction("commit",o,a)}catch(u){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),u}return l}_createItxClient(n){return fe(Yt(fe(fs(this),[re("_appliedParent",()=>this._appliedParent._createItxClient(n)),re("_createPrismaPromise",()=>Xn(n)),re(Xp,()=>n.id)])),[bt(bs)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??Zp,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,l=async u=>{let g=this._middlewares.get(++a);if(g)return this._tracingHelper.runInChildSpan(s.middleware,O=>g(u,M=>(O?.end(),l(M))));let{runInTransaction:h,args:v,...R}=u,C={...n,...R};v&&(C.args=i.middlewareArgsToRequestArgs(v)),n.transaction!==void 0&&h===!1&&delete C.transaction;let A=await vs(this,C);return C.model?ws({result:A,modelName:C.model,args:C.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):A};return this._tracingHelper.runInChildSpan(s.operation,()=>l(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:l,argsMapper:u,transaction:g,unpacker:h,otelParentCtx:v,customDataProxyFetch:R}){try{n=u?u(n):n;let C={name:"serialize"},A=this._tracingHelper.runInChildSpan(C,()=>Mr({modelName:l,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return K.enabled("prisma:client")&&(Ve("Prisma Client call:"),Ve(`prisma.${i}(${ns(n)})`),Ve("Generated request:"),Ve(JSON.stringify(A,null,2)+` +`)),g?.kind==="batch"&&await g.lock,this._requestHandler.request({protocolQuery:A,modelName:l,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:g,unpacker:h,otelParentCtx:v,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:R})}catch(C){throw C.clientVersion=this._clientVersion,C}}$metrics=new wt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=gs}return t}function fa(e,t){return td(e)?[new ae(e,t),zs]:[e,Ys]}function td(e){return Array.isArray(e)&&Array.isArray(e.raw)}f();c();p();d();m();var rd=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function ya(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!rd.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}f();c();p();d();m();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +//# sourceMappingURL=react-native.js.map diff --git a/generated/prisma/runtime/wasm-compiler-edge.js b/generated/prisma/runtime/wasm-compiler-edge.js new file mode 100644 index 0000000..9e1186c --- /dev/null +++ b/generated/prisma/runtime/wasm-compiler-edge.js @@ -0,0 +1,83 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +"use strict";var Gu=Object.create;var Gr=Object.defineProperty;var Hu=Object.getOwnPropertyDescriptor;var Wu=Object.getOwnPropertyNames;var Ju=Object.getPrototypeOf,Ku=Object.prototype.hasOwnProperty;var fe=(e,t)=>()=>(e&&(t=e(e=0)),t);var se=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),pt=(e,t)=>{for(var r in t)Gr(e,r,{get:t[r],enumerable:!0})},So=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Wu(t))!Ku.call(e,i)&&i!==r&&Gr(e,i,{get:()=>t[i],enumerable:!(n=Hu(t,i))||n.enumerable});return e};var _e=(e,t,r)=>(r=e!=null?Gu(Ju(e)):{},So(t||!e||!e.__esModule?Gr(r,"default",{value:e,enumerable:!0}):r,e)),Io=e=>So(Gr({},"__esModule",{value:!0}),e);function Xn(e,t){if(t=t.toLowerCase(),t==="utf8"||t==="utf-8")return new h(Xu.encode(e));if(t==="base64"||t==="base64url")return e=e.replace(/-/g,"+").replace(/_/g,"/"),e=e.replace(/[^A-Za-z0-9+/]/g,""),new h([...atob(e)].map(r=>r.charCodeAt(0)));if(t==="binary"||t==="ascii"||t==="latin1"||t==="latin-1")return new h([...e].map(r=>r.charCodeAt(0)));if(t==="ucs2"||t==="ucs-2"||t==="utf16le"||t==="utf-16le"){let r=new h(e.length*2),n=new DataView(r.buffer);for(let i=0;ia.startsWith("get")||a.startsWith("set")),n=r.map(a=>a.replace("get","read").replace("set","write")),i=(a,f)=>function(w=0){return z(w,"offset"),pe(w,"offset"),Z(w,"offset",this.length-1),new DataView(this.buffer)[r[a]](w,f)},o=(a,f)=>function(w,v=0){let A=r[a].match(/set(\w+\d+)/)[1].toLowerCase(),R=Zu[A];return z(v,"offset"),pe(v,"offset"),Z(v,"offset",this.length-1),Yu(w,"value",R[0],R[1]),new DataView(this.buffer)[r[a]](v,w,f),v+parseInt(r[a].match(/\d+/)[0])/8},s=a=>{a.forEach(f=>{f.includes("Uint")&&(e[f.replace("Uint","UInt")]=e[f]),f.includes("Float64")&&(e[f.replace("Float64","Double")]=e[f]),f.includes("Float32")&&(e[f.replace("Float32","Float")]=e[f])})};n.forEach((a,f)=>{a.startsWith("read")&&(e[a]=i(f,!1),e[a+"LE"]=i(f,!0),e[a+"BE"]=i(f,!1)),a.startsWith("write")&&(e[a]=o(f,!1),e[a+"LE"]=o(f,!0),e[a+"BE"]=o(f,!1)),s([a,a+"LE",a+"BE"])})}function ko(e){throw new Error(`Buffer polyfill does not implement "${e}"`)}function Hr(e,t){if(!(e instanceof Uint8Array))throw new TypeError(`The "${t}" argument must be an instance of Buffer or Uint8Array`)}function Z(e,t,r=rc+1){if(e<0||e>r){let n=new RangeError(`The value of "${t}" is out of range. It must be >= 0 && <= ${r}. Received ${e}`);throw n.code="ERR_OUT_OF_RANGE",n}}function z(e,t){if(typeof e!="number"){let r=new TypeError(`The "${t}" argument must be of type number. Received type ${typeof e}.`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function pe(e,t){if(!Number.isInteger(e)||Number.isNaN(e)){let r=new RangeError(`The value of "${t}" is out of range. It must be an integer. Received ${e}`);throw r.code="ERR_OUT_OF_RANGE",r}}function Yu(e,t,r,n){if(en){let i=new RangeError(`The value of "${t}" is out of range. It must be >= ${r} and <= ${n}. Received ${e}`);throw i.code="ERR_OUT_OF_RANGE",i}}function Oo(e,t){if(typeof e!="string"){let r=new TypeError(`The "${t}" argument must be of type string. Received type ${typeof e}`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function nc(e,t="utf8"){return h.from(e,t)}var h,Zu,Xu,ec,tc,rc,y,ei,u=fe(()=>{"use strict";h=class e extends Uint8Array{_isBuffer=!0;get offset(){return this.byteOffset}static alloc(t,r=0,n="utf8"){return Oo(n,"encoding"),e.allocUnsafe(t).fill(r,n)}static allocUnsafe(t){return e.from(t)}static allocUnsafeSlow(t){return e.from(t)}static isBuffer(t){return t&&!!t._isBuffer}static byteLength(t,r="utf8"){if(typeof t=="string")return Xn(t,r).byteLength;if(t&&t.byteLength)return t.byteLength;let n=new TypeError('The "string" argument must be of type string or an instance of Buffer or ArrayBuffer.');throw n.code="ERR_INVALID_ARG_TYPE",n}static isEncoding(t){return tc.includes(t)}static compare(t,r){Hr(t,"buff1"),Hr(r,"buff2");for(let n=0;nr[n])return 1}return t.length===r.length?0:t.length>r.length?1:-1}static from(t,r="utf8"){if(t&&typeof t=="object"&&t.type==="Buffer")return new e(t.data);if(typeof t=="number")return new e(new Uint8Array(t));if(typeof t=="string")return Xn(t,r);if(ArrayBuffer.isView(t)){let{byteOffset:n,byteLength:i,buffer:o}=t;return"map"in t&&typeof t.map=="function"?new e(t.map(s=>s%256),n,i):new e(o,n,i)}if(t&&typeof t=="object"&&("length"in t||"byteLength"in t||"buffer"in t))return new e(t);throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}static concat(t,r){if(t.length===0)return e.alloc(0);let n=[].concat(...t.map(o=>[...o])),i=e.alloc(r!==void 0?r:n.length);return i.set(r!==void 0?n.slice(0,r):n),i}slice(t=0,r=this.length){return this.subarray(t,r)}subarray(t=0,r=this.length){return Object.setPrototypeOf(super.subarray(t,r),e.prototype)}reverse(){return super.reverse(),this}readIntBE(t,r){z(t,"offset"),pe(t,"offset"),Z(t,"offset",this.length-1),z(r,"byteLength"),pe(r,"byteLength");let n=new DataView(this.buffer,t,r),i=0;for(let o=0;o=0;o--)i.setUint8(o,t&255),t=t/256;return r+n}writeUintBE(t,r,n){return this.writeUIntBE(t,r,n)}writeUIntLE(t,r,n){z(r,"offset"),pe(r,"offset"),Z(r,"offset",this.length-1),z(n,"byteLength"),pe(n,"byteLength");let i=new DataView(this.buffer,r,n);for(let o=0;or===t[n])}copy(t,r=0,n=0,i=this.length){Z(r,"targetStart"),Z(n,"sourceStart",this.length),Z(i,"sourceEnd"),r>>>=0,n>>>=0,i>>>=0;let o=0;for(;n=this.length?this.length-a:t.length),a);return this}includes(t,r=null,n="utf-8"){return this.indexOf(t,r,n)!==-1}lastIndexOf(t,r=null,n="utf-8"){return this.indexOf(t,r,n,!0)}indexOf(t,r=null,n="utf-8",i=!1){let o=i?this.findLastIndex.bind(this):this.findIndex.bind(this);n=typeof r=="string"?r:n;let s=e.from(typeof t=="number"?[t]:t,n),a=typeof r=="string"?0:r;return a=typeof r=="number"?a:null,a=Number.isNaN(a)?null:a,a??=i?this.length:0,a=a<0?this.length+a:a,s.length===0&&i===!1?a>=this.length?this.length:a:s.length===0&&i===!0?(a>=this.length?this.length:a)||this.length:o((f,w)=>(i?w<=a:w>=a)&&this[w]===s[0]&&s.every((A,R)=>this[w+R]===A))}toString(t="utf8",r=0,n=this.length){if(r=r<0?0:r,t=t.toString().toLowerCase(),n<=0)return"";if(t==="utf8"||t==="utf-8")return ec.decode(this.slice(r,n));if(t==="base64"||t==="base64url"){let i=btoa(this.reduce((o,s)=>o+ei(s),""));return t==="base64url"?i.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):i}if(t==="binary"||t==="ascii"||t==="latin1"||t==="latin-1")return this.slice(r,n).reduce((i,o)=>i+ei(o&(t==="ascii"?127:255)),"");if(t==="ucs2"||t==="ucs-2"||t==="utf16le"||t==="utf-16le"){let i=new DataView(this.buffer.slice(r,n));return Array.from({length:i.byteLength/2},(o,s)=>s*2+1i+o.toString(16).padStart(2,"0"),"");ko(`encoding "${t}"`)}toLocaleString(){return this.toString()}inspect(){return``}};Zu={int8:[-128,127],int16:[-32768,32767],int32:[-2147483648,2147483647],uint8:[0,255],uint16:[0,65535],uint32:[0,4294967295],float32:[-1/0,1/0],float64:[-1/0,1/0],bigint64:[-0x8000000000000000n,0x7fffffffffffffffn],biguint64:[0n,0xffffffffffffffffn]},Xu=new TextEncoder,ec=new TextDecoder,tc=["utf8","utf-8","hex","base64","ascii","binary","base64url","ucs2","ucs-2","utf16le","utf-16le","latin1","latin-1"],rc=4294967295;zu(h.prototype);y=new Proxy(nc,{construct(e,[t,r]){return h.from(t,r)},get(e,t){return h[t]}}),ei=String.fromCodePoint});var g,c=fe(()=>{"use strict";g={nextTick:(e,...t)=>{setTimeout(()=>{e(...t)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4}});var b,p=fe(()=>{"use strict";b=globalThis.performance??(()=>{let e=Date.now();return{now:()=>Date.now()-e}})()});var E,m=fe(()=>{"use strict";E=()=>{};E.prototype=E});var d=fe(()=>{"use strict"});function No(e,t){var r,n,i,o,s,a,f,w,v=e.constructor,A=v.precision;if(!e.s||!t.s)return t.s||(t=new v(e)),H?$(t,A):t;if(f=e.d,w=t.d,s=e.e,i=t.e,f=f.slice(),o=s-i,o){for(o<0?(n=f,o=-o,a=w.length):(n=w,i=s,a=f.length),s=Math.ceil(A/j),a=s>a?s+1:a+1,o>a&&(o=a,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(a=f.length,o=w.length,a-o<0&&(o=a,n=w,w=f,f=n),r=0;o;)r=(f[--o]=f[o]+w[o]+r)/ee|0,f[o]%=ee;for(r&&(f.unshift(r),++i),a=f.length;f[--a]==0;)f.pop();return t.d=f,t.e=i,H?$(t,A):t}function Ce(e,t,r){if(e!==~~e||er)throw Error(Ye+e)}function Ae(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t16)throw Error(ri+Y(e));if(!e.s)return new v(ge);for(t==null?(H=!1,a=A):a=t,s=new v(.03125);e.abs().gte(.1);)e=e.times(s),w+=5;for(n=Math.log(ze(2,w))/Math.LN10*2+5|0,a+=n,r=i=o=new v(ge),v.precision=a;;){if(i=$(i.times(e),a),r=r.times(++f),s=o.plus(Me(i,r,a)),Ae(s.d).slice(0,a)===Ae(o.d).slice(0,a)){for(;w--;)o=$(o.times(o),a);return v.precision=A,t==null?(H=!0,$(o,A)):o}o=s}}function Y(e){for(var t=e.e*j,r=e.d[0];r>=10;r/=10)t++;return t}function ti(e,t,r){if(t>e.LN10.sd())throw H=!0,r&&(e.precision=r),Error(he+"LN10 precision limit exceeded");return $(new e(e.LN10),t)}function $e(e){for(var t="";e--;)t+="0";return t}function jt(e,t){var r,n,i,o,s,a,f,w,v,A=1,R=10,C=e,D=C.d,I=C.constructor,_=I.precision;if(C.s<1)throw Error(he+(C.s?"NaN":"-Infinity"));if(C.eq(ge))return new I(0);if(t==null?(H=!1,w=_):w=t,C.eq(10))return t==null&&(H=!0),ti(I,w);if(w+=R,I.precision=w,r=Ae(D),n=r.charAt(0),o=Y(C),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)C=C.times(e),r=Ae(C.d),n=r.charAt(0),A++;o=Y(C),n>1?(C=new I("0."+r),o++):C=new I(n+"."+r.slice(1))}else return f=ti(I,w+2,_).times(o+""),C=jt(new I(n+"."+r.slice(1)),w-R).plus(f),I.precision=_,t==null?(H=!0,$(C,_)):C;for(a=s=C=Me(C.minus(ge),C.plus(ge),w),v=$(C.times(C),w),i=3;;){if(s=$(s.times(v),w),f=a.plus(Me(s,new I(i),w)),Ae(f.d).slice(0,w)===Ae(a.d).slice(0,w))return a=a.times(2),o!==0&&(a=a.plus(ti(I,w+2,_).times(o+""))),a=Me(a,new I(A),w),I.precision=_,t==null?(H=!0,$(a,_)):a;a=f,i+=2}}function Do(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=dt(r/j),e.d=[],n=(r+1)%j,r<0&&(n+=j),nWr||e.e<-Wr))throw Error(ri+r)}else e.s=0,e.e=0,e.d=[0];return e}function $(e,t,r){var n,i,o,s,a,f,w,v,A=e.d;for(s=1,o=A[0];o>=10;o/=10)s++;if(n=t-s,n<0)n+=j,i=t,w=A[v=0];else{if(v=Math.ceil((n+1)/j),o=A.length,v>=o)return e;for(w=o=A[v],s=1;o>=10;o/=10)s++;n%=j,i=n-j+s}if(r!==void 0&&(o=ze(10,s-i-1),a=w/o%10|0,f=t<0||A[v+1]!==void 0||w%o,f=r<4?(a||f)&&(r==0||r==(e.s<0?3:2)):a>5||a==5&&(r==4||f||r==6&&(n>0?i>0?w/ze(10,s-i):0:A[v-1])%10&1||r==(e.s<0?8:7))),t<1||!A[0])return f?(o=Y(e),A.length=1,t=t-o-1,A[0]=ze(10,(j-t%j)%j),e.e=dt(-t/j)||0):(A.length=1,A[0]=e.e=e.s=0),e;if(n==0?(A.length=v,o=1,v--):(A.length=v+1,o=ze(10,j-n),A[v]=i>0?(w/ze(10,s-i)%ze(10,i)|0)*o:0),f)for(;;)if(v==0){(A[0]+=o)==ee&&(A[0]=1,++e.e);break}else{if(A[v]+=o,A[v]!=ee)break;A[v--]=0,o=1}for(n=A.length;A[--n]===0;)A.pop();if(H&&(e.e>Wr||e.e<-Wr))throw Error(ri+Y(e));return e}function Uo(e,t){var r,n,i,o,s,a,f,w,v,A,R=e.constructor,C=R.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new R(e),H?$(t,C):t;if(f=e.d,A=t.d,n=t.e,w=e.e,f=f.slice(),s=w-n,s){for(v=s<0,v?(r=f,s=-s,a=A.length):(r=A,n=w,a=f.length),i=Math.max(Math.ceil(C/j),a)+2,s>i&&(s=i,r.length=1),r.reverse(),i=s;i--;)r.push(0);r.reverse()}else{for(i=f.length,a=A.length,v=i0;--i)f[a++]=0;for(i=A.length;i>s;){if(f[--i]0?o=o.charAt(0)+"."+o.slice(1)+$e(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+$e(-i-1)+o,r&&(n=r-s)>0&&(o+=$e(n))):i>=s?(o+=$e(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+$e(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=$e(n))),e.s<0?"-"+o:o}function _o(e,t){if(e.length>t)return e.length=t,!0}function Fo(e){var t,r,n;function i(o){var s=this;if(!(s instanceof i))return new i(o);if(s.constructor=i,o instanceof i){s.s=o.s,s.e=o.e,s.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(Ye+o);if(o>0)s.s=1;else if(o<0)o=-o,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(o===~~o&&o<1e7){s.e=0,s.d=[o];return}return Do(s,o.toString())}else if(typeof o!="string")throw Error(Ye+o);if(o.charCodeAt(0)===45?(o=o.slice(1),s.s=-1):s.s=1,oc.test(o))Do(s,o);else throw Error(Ye+o)}if(i.prototype=S,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=Fo,i.config=i.set=sc,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(Ye+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(Ye+r+": "+n);return this}var mt,ic,ni,H,he,Ye,ri,dt,ze,oc,ge,ee,j,Mo,Wr,S,Me,ni,Jr,$o=fe(()=>{"use strict";u();c();p();m();d();l();mt=1e9,ic={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},H=!0,he="[DecimalError] ",Ye=he+"Invalid argument: ",ri=he+"Exponent out of range: ",dt=Math.floor,ze=Math.pow,oc=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ee=1e7,j=7,Mo=9007199254740991,Wr=dt(Mo/j),S={};S.absoluteValue=S.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e};S.comparedTo=S.cmp=function(e){var t,r,n,i,o=this;if(e=new o.constructor(e),o.s!==e.s)return o.s||-e.s;if(o.e!==e.e)return o.e>e.e^o.s<0?1:-1;for(n=o.d.length,i=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};S.decimalPlaces=S.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*j;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};S.dividedBy=S.div=function(e){return Me(this,new this.constructor(e))};S.dividedToIntegerBy=S.idiv=function(e){var t=this,r=t.constructor;return $(Me(t,new r(e),0,1),r.precision)};S.equals=S.eq=function(e){return!this.cmp(e)};S.exponent=function(){return Y(this)};S.greaterThan=S.gt=function(e){return this.cmp(e)>0};S.greaterThanOrEqualTo=S.gte=function(e){return this.cmp(e)>=0};S.isInteger=S.isint=function(){return this.e>this.d.length-2};S.isNegative=S.isneg=function(){return this.s<0};S.isPositive=S.ispos=function(){return this.s>0};S.isZero=function(){return this.s===0};S.lessThan=S.lt=function(e){return this.cmp(e)<0};S.lessThanOrEqualTo=S.lte=function(e){return this.cmp(e)<1};S.logarithm=S.log=function(e){var t,r=this,n=r.constructor,i=n.precision,o=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(ge))throw Error(he+"NaN");if(r.s<1)throw Error(he+(r.s?"NaN":"-Infinity"));return r.eq(ge)?new n(0):(H=!1,t=Me(jt(r,o),jt(e,o),o),H=!0,$(t,i))};S.minus=S.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Uo(t,e):No(t,(e.s=-e.s,e))};S.modulo=S.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(he+"NaN");return r.s?(H=!1,t=Me(r,e,0,1).times(e),H=!0,r.minus(t)):$(new n(r),i)};S.naturalExponential=S.exp=function(){return Lo(this)};S.naturalLogarithm=S.ln=function(){return jt(this)};S.negated=S.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};S.plus=S.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?No(t,e):Uo(t,(e.s=-e.s,e))};S.precision=S.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Ye+e);if(t=Y(i)+1,n=i.d.length-1,r=n*j+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};S.squareRoot=S.sqrt=function(){var e,t,r,n,i,o,s,a=this,f=a.constructor;if(a.s<1){if(!a.s)return new f(0);throw Error(he+"NaN")}for(e=Y(a),H=!1,i=Math.sqrt(+a),i==0||i==1/0?(t=Ae(a.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=dt((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new f(t)):n=new f(i.toString()),r=f.precision,i=s=r+3;;)if(o=n,n=o.plus(Me(a,o,s+2)).times(.5),Ae(o.d).slice(0,s)===(t=Ae(n.d)).slice(0,s)){if(t=t.slice(s-3,s+1),i==s&&t=="4999"){if($(o,r+1,0),o.times(o).eq(a)){n=o;break}}else if(t!="9999")break;s+=4}return H=!0,$(n,r)};S.times=S.mul=function(e){var t,r,n,i,o,s,a,f,w,v=this,A=v.constructor,R=v.d,C=(e=new A(e)).d;if(!v.s||!e.s)return new A(0);for(e.s*=v.s,r=v.e+e.e,f=R.length,w=C.length,f=0;){for(t=0,i=f+n;i>n;)a=o[i]+C[n]*R[i-n-1]+t,o[i--]=a%ee|0,t=a/ee|0;o[i]=(o[i]+t)%ee|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,H?$(e,A.precision):e};S.toDecimalPlaces=S.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(Ce(e,0,mt),t===void 0?t=n.rounding:Ce(t,0,8),$(r,e+Y(r)+1,t))};S.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=Ze(n,!0):(Ce(e,0,mt),t===void 0?t=i.rounding:Ce(t,0,8),n=$(new i(n),e+1,t),r=Ze(n,!0,e+1)),r};S.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?Ze(i):(Ce(e,0,mt),t===void 0?t=o.rounding:Ce(t,0,8),n=$(new o(i),e+Y(i)+1,t),r=Ze(n.abs(),!1,e+Y(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};S.toInteger=S.toint=function(){var e=this,t=e.constructor;return $(new t(e),Y(e)+1,t.rounding)};S.toNumber=function(){return+this};S.toPower=S.pow=function(e){var t,r,n,i,o,s,a=this,f=a.constructor,w=12,v=+(e=new f(e));if(!e.s)return new f(ge);if(a=new f(a),!a.s){if(e.s<1)throw Error(he+"Infinity");return a}if(a.eq(ge))return a;if(n=f.precision,e.eq(ge))return $(a,n);if(t=e.e,r=e.d.length-1,s=t>=r,o=a.s,s){if((r=v<0?-v:v)<=Mo){for(i=new f(ge),t=Math.ceil(n/j+4),H=!1;r%2&&(i=i.times(a),_o(i.d,t)),r=dt(r/2),r!==0;)a=a.times(a),_o(a.d,t);return H=!0,e.s<0?new f(ge).div(i):$(i,n)}}else if(o<0)throw Error(he+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,a.s=1,H=!1,i=e.times(jt(a,n+w)),H=!0,i=Lo(i),i.s=o,i};S.toPrecision=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?(r=Y(i),n=Ze(i,r<=o.toExpNeg||r>=o.toExpPos)):(Ce(e,1,mt),t===void 0?t=o.rounding:Ce(t,0,8),i=$(new o(i),e,t),r=Y(i),n=Ze(i,e<=r||r<=o.toExpNeg,e)),n};S.toSignificantDigits=S.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(Ce(e,1,mt),t===void 0?t=n.rounding:Ce(t,0,8)),$(new n(r),e,t)};S.toString=S.valueOf=S.val=S.toJSON=S[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Y(e),r=e.constructor;return Ze(e,t<=r.toExpNeg||t>=r.toExpPos)};Me=function(){function e(n,i){var o,s=0,a=n.length;for(n=n.slice();a--;)o=n[a]*i+s,n[a]=o%ee|0,s=o/ee|0;return s&&n.unshift(s),n}function t(n,i,o,s){var a,f;if(o!=s)f=o>s?1:-1;else for(a=f=0;ai[a]?1:-1;break}return f}function r(n,i,o){for(var s=0;o--;)n[o]-=s,s=n[o]1;)n.shift()}return function(n,i,o,s){var a,f,w,v,A,R,C,D,I,_,be,ue,V,ce,Ke,Zn,Ee,jr,Qr=n.constructor,Qu=n.s==i.s?1:-1,ve=n.d,K=i.d;if(!n.s)return new Qr(n);if(!i.s)throw Error(he+"Division by zero");for(f=n.e-i.e,Ee=K.length,Ke=ve.length,C=new Qr(Qu),D=C.d=[],w=0;K[w]==(ve[w]||0);)++w;if(K[w]>(ve[w]||0)&&--f,o==null?ue=o=Qr.precision:s?ue=o+(Y(n)-Y(i))+1:ue=o,ue<0)return new Qr(0);if(ue=ue/j+2|0,w=0,Ee==1)for(v=0,K=K[0],ue++;(w1&&(K=e(K,v),ve=e(ve,v),Ee=K.length,Ke=ve.length),ce=Ee,I=ve.slice(0,Ee),_=I.length;_=ee/2&&++Zn;do v=0,a=t(K,I,Ee,_),a<0?(be=I[0],Ee!=_&&(be=be*ee+(I[1]||0)),v=be/Zn|0,v>1?(v>=ee&&(v=ee-1),A=e(K,v),R=A.length,_=I.length,a=t(A,I,R,_),a==1&&(v--,r(A,Ee{"use strict";$o();T=class extends Jr{static isDecimal(t){return t instanceof Jr}static random(t=20){{let n=globalThis.crypto.getRandomValues(new Uint8Array(t)).reduce((i,o)=>i+o,"");return new Jr(`0.${n.slice(0,t)}`)}}},re=T});function mc(){return!1}function rs(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function dc(){return rs()}function fc(){return[]}function gc(e){e(null,[])}function yc(){return""}function hc(){return""}function wc(){}function bc(){}function Ec(){}function xc(){}function Pc(){}function Tc(){}var vc,Ac,ns,is=fe(()=>{"use strict";u();c();p();m();d();l();vc={},Ac={existsSync:mc,lstatSync:rs,statSync:dc,readdirSync:fc,readdir:gc,readlinkSync:yc,realpathSync:hc,chmodSync:wc,renameSync:bc,mkdirSync:Ec,rmdirSync:xc,rmSync:Pc,unlinkSync:Tc,promises:vc},ns=Ac});var os=se(()=>{"use strict";u();c();p();m();d();l()});function Cc(...e){return e.join("/")}function Rc(...e){return e.join("/")}function Sc(e){let t=ss(e),r=as(e),[n,i]=t.split(".");return{root:"/",dir:r,base:t,ext:i,name:n}}function ss(e){let t=e.split("/");return t[t.length-1]}function as(e){return e.split("/").slice(0,-1).join("/")}var ls,Ic,Oc,Zr,us=fe(()=>{"use strict";u();c();p();m();d();l();ls="/",Ic={sep:ls},Oc={basename:ss,dirname:as,join:Rc,parse:Sc,posix:Ic,resolve:Cc,sep:ls},Zr=Oc});var cs=se((fy,kc)=>{kc.exports={name:"@prisma/internals",version:"6.11.1",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-engine-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var ui={};pt(ui,{Hash:()=>Ht,createHash:()=>ps,default:()=>yt,randomFillSync:()=>en,randomUUID:()=>Xr,webcrypto:()=>Wt});function Xr(){return globalThis.crypto.randomUUID()}function en(e,t,r){return t!==void 0&&(r!==void 0?e=e.subarray(t,t+r):e=e.subarray(t)),globalThis.crypto.getRandomValues(e)}function ps(e){return new Ht(e)}var Wt,Ht,yt,Xe=fe(()=>{"use strict";u();c();p();m();d();l();Wt=globalThis.crypto;Ht=class{#e=[];#t;constructor(t){this.#t=t}update(t){this.#e.push(t)}async digest(){let t=new Uint8Array(this.#e.reduce((i,o)=>i+o.length,0)),r=0;for(let i of this.#e)t.set(i,r),r+=i.length;let n=await globalThis.crypto.subtle.digest(this.#t,t);return new Uint8Array(n)}},yt={webcrypto:Wt,randomUUID:Xr,randomFillSync:en,createHash:ps,Hash:Ht}});var fs=se((By,ds)=>{"use strict";u();c();p();m();d();l();ds.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var hs=se((rh,ys)=>{"use strict";u();c();p();m();d();l();ys.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var mi=se((uh,ws)=>{"use strict";u();c();p();m();d();l();var $c=hs();ws.exports=e=>typeof e=="string"?e.replace($c(),""):e});var bs=se((Th,nn)=>{"use strict";u();c();p();m();d();l();nn.exports=(e={})=>{let t;if(e.repoUrl)t=e.repoUrl;else if(e.user&&e.repo)t=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let r=new URL(`${t}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}r.searchParams.set(i,o)}}return r.toString()};nn.exports.default=nn.exports});var yi=se((vx,vs)=>{"use strict";u();c();p();m();d();l();vs.exports=function(){function e(t,r,n,i,o){return tn?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";u();c();p();m();d();l()});var Os=fe(()=>{"use strict";u();c();p();m();d();l()});var ea=se((TC,Dp)=>{Dp.exports={name:"@prisma/engines-version",version:"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"f40f79ec31188888a2e33acda0ecc8fd10a853a9"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var Tn,ta=fe(()=>{"use strict";u();c();p();m();d();l();Tn=class{events={};on(t,r){return this.events[t]||(this.events[t]=[]),this.events[t].push(r),this}emit(t,...r){return this.events[t]?(this.events[t].forEach(n=>{n(...r)}),!0):!1}}});var qi=se(rt=>{"use strict";u();c();p();m();d();l();Object.defineProperty(rt,"__esModule",{value:!0});rt.anumber=Vi;rt.abytes=Ha;rt.ahash=xm;rt.aexists=Pm;rt.aoutput=Tm;function Vi(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Em(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ha(e,...t){if(!Em(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function xm(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Vi(e.outputLen),Vi(e.blockLen)}function Pm(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Tm(e,t){Ha(e);let r=t.outputLen;if(e.length{"use strict";u();c();p();m();d();l();Object.defineProperty(k,"__esModule",{value:!0});k.add5L=k.add5H=k.add4H=k.add4L=k.add3H=k.add3L=k.rotlBL=k.rotlBH=k.rotlSL=k.rotlSH=k.rotr32L=k.rotr32H=k.rotrBL=k.rotrBH=k.rotrSL=k.rotrSH=k.shrSL=k.shrSH=k.toBig=void 0;k.fromBig=ji;k.split=Wa;k.add=al;var kn=BigInt(2**32-1),Bi=BigInt(32);function ji(e,t=!1){return t?{h:Number(e&kn),l:Number(e>>Bi&kn)}:{h:Number(e>>Bi&kn)|0,l:Number(e&kn)|0}}function Wa(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;iBigInt(e>>>0)<>>0);k.toBig=Ja;var Ka=(e,t,r)=>e>>>r;k.shrSH=Ka;var za=(e,t,r)=>e<<32-r|t>>>r;k.shrSL=za;var Ya=(e,t,r)=>e>>>r|t<<32-r;k.rotrSH=Ya;var Za=(e,t,r)=>e<<32-r|t>>>r;k.rotrSL=Za;var Xa=(e,t,r)=>e<<64-r|t>>>r-32;k.rotrBH=Xa;var el=(e,t,r)=>e>>>r-32|t<<64-r;k.rotrBL=el;var tl=(e,t)=>t;k.rotr32H=tl;var rl=(e,t)=>e;k.rotr32L=rl;var nl=(e,t,r)=>e<>>32-r;k.rotlSH=nl;var il=(e,t,r)=>t<>>32-r;k.rotlSL=il;var ol=(e,t,r)=>t<>>64-r;k.rotlBH=ol;var sl=(e,t,r)=>e<>>64-r;k.rotlBL=sl;function al(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var ll=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);k.add3L=ll;var ul=(e,t,r,n)=>t+r+n+(e/2**32|0)|0;k.add3H=ul;var cl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0);k.add4L=cl;var pl=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0;k.add4H=pl;var ml=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0);k.add5L=ml;var dl=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;k.add5H=dl;var vm={fromBig:ji,split:Wa,toBig:Ja,shrSH:Ka,shrSL:za,rotrSH:Ya,rotrSL:Za,rotrBH:Xa,rotrBL:el,rotr32H:tl,rotr32L:rl,rotlSH:nl,rotlSL:il,rotlBH:ol,rotlBL:sl,add:al,add3L:ll,add3H:ul,add4L:cl,add4H:pl,add5H:dl,add5L:ml};k.default=vm});var gl=se(Dn=>{"use strict";u();c();p();m();d();l();Object.defineProperty(Dn,"__esModule",{value:!0});Dn.crypto=void 0;var Ge=(Xe(),Io(ui));Dn.crypto=Ge&&typeof Ge=="object"&&"webcrypto"in Ge?Ge.webcrypto:Ge&&typeof Ge=="object"&&"randomBytes"in Ge?Ge:void 0});var wl=se(U=>{"use strict";u();c();p();m();d();l();Object.defineProperty(U,"__esModule",{value:!0});U.Hash=U.nextTick=U.byteSwapIfBE=U.isLE=void 0;U.isBytes=Am;U.u8=Cm;U.u32=Rm;U.createView=Sm;U.rotr=Im;U.rotl=Om;U.byteSwap=Hi;U.byteSwap32=km;U.bytesToHex=_m;U.hexToBytes=Mm;U.asyncLoop=Lm;U.utf8ToBytes=hl;U.toBytes=_n;U.concatBytes=Um;U.checkOpts=Fm;U.wrapConstructor=$m;U.wrapConstructorWithOpts=Vm;U.wrapXOFConstructorWithOpts=qm;U.randomBytes=Bm;var kt=gl(),Gi=qi();function Am(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Cm(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Rm(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Sm(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Im(e,t){return e<<32-t|e>>>t}function Om(e,t){return e<>>32-t>>>0}U.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Hi(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}U.byteSwapIfBE=U.isLE?e=>e:e=>Hi(e);function km(e){for(let t=0;tt.toString(16).padStart(2,"0"));function _m(e){(0,Gi.abytes)(e);let t="";for(let r=0;r=Le._0&&e<=Le._9)return e-Le._0;if(e>=Le.A&&e<=Le.F)return e-(Le.A-10);if(e>=Le.a&&e<=Le.f)return e-(Le.a-10)}function Mm(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let i=0,o=0;i{};U.nextTick=Nm;async function Lm(e,t,r){let n=Date.now();for(let i=0;i=0&&oe().update(_n(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Vm(e){let t=(n,i)=>e(i).update(_n(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}function qm(e){let t=(n,i)=>e(i).update(_n(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}function Bm(e=32){if(kt.crypto&&typeof kt.crypto.getRandomValues=="function")return kt.crypto.getRandomValues(new Uint8Array(e));if(kt.crypto&&typeof kt.crypto.randomBytes=="function")return kt.crypto.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}});var Cl=se(G=>{"use strict";u();c();p();m();d();l();Object.defineProperty(G,"__esModule",{value:!0});G.shake256=G.shake128=G.keccak_512=G.keccak_384=G.keccak_256=G.keccak_224=G.sha3_512=G.sha3_384=G.sha3_256=G.sha3_224=G.Keccak=void 0;G.keccakP=vl;var Dt=qi(),wr=fl(),Ue=wl(),xl=[],Pl=[],Tl=[],jm=BigInt(0),hr=BigInt(1),Qm=BigInt(2),Gm=BigInt(7),Hm=BigInt(256),Wm=BigInt(113);for(let e=0,t=hr,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],xl.push(2*(5*n+r)),Pl.push((e+1)*(e+2)/2%64);let i=jm;for(let o=0;o<7;o++)t=(t<>Gm)*Wm)%Hm,t&Qm&&(i^=hr<<(hr<r>32?(0,wr.rotlBH)(e,t,r):(0,wr.rotlSH)(e,t,r),El=(e,t,r)=>r>32?(0,wr.rotlBL)(e,t,r):(0,wr.rotlSL)(e,t,r);function vl(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let s=0;s<10;s++)r[s]=e[s]^e[s+10]^e[s+20]^e[s+30]^e[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,f=(s+2)%10,w=r[f],v=r[f+1],A=bl(w,v,1)^r[a],R=El(w,v,1)^r[a+1];for(let C=0;C<50;C+=10)e[s+C]^=A,e[s+C+1]^=R}let i=e[2],o=e[3];for(let s=0;s<24;s++){let a=Pl[s],f=bl(i,o,a),w=El(i,o,a),v=xl[s];i=e[v],o=e[v+1],e[v]=f,e[v+1]=w}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=e[s+a];for(let a=0;a<10;a++)e[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=Jm[n],e[1]^=Km[n]}r.fill(0)}var br=class e extends Ue.Hash{constructor(t,r,n,i=!1,o=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,Dt.anumber)(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,Ue.u32)(this.state)}keccak(){Ue.isLE||(0,Ue.byteSwap32)(this.state32),vl(this.state32,this.rounds),Ue.isLE||(0,Ue.byteSwap32)(this.state32),this.posOut=0,this.pos=0}update(t){(0,Dt.aexists)(this);let{blockLen:r,state:n}=this;t=(0,Ue.toBytes)(t);let i=t.length;for(let o=0;o=n&&this.keccak();let s=Math.min(n-this.posOut,o-i);t.set(r.subarray(this.posOut,this.posOut+s),i),this.posOut+=s,i+=s}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,Dt.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,Dt.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:r,suffix:n,outputLen:i,rounds:o,enableXOF:s}=this;return t||(t=new e(r,n,i,s,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=n,t.outputLen=i,t.enableXOF=s,t.destroyed=this.destroyed,t}};G.Keccak=br;var He=(e,t,r)=>(0,Ue.wrapConstructor)(()=>new br(t,e,r));G.sha3_224=He(6,144,224/8);G.sha3_256=He(6,136,256/8);G.sha3_384=He(6,104,384/8);G.sha3_512=He(6,72,512/8);G.keccak_224=He(1,144,224/8);G.keccak_256=He(1,136,256/8);G.keccak_384=He(1,104,384/8);G.keccak_512=He(1,72,512/8);var Al=(e,t,r)=>(0,Ue.wrapXOFConstructorWithOpts)((n={})=>new br(t,e,n.dkLen===void 0?r:n.dkLen,!0));G.shake128=Al(31,168,128/8);G.shake256=Al(31,136,256/8)});var Ml=se((_1,We)=>{"use strict";u();c();p();m();d();l();var{sha3_512:zm}=Cl(),Sl=24,Er=32,Wi=(e=4,t=Math.random)=>{let r="";for(;r.lengthIl(zm(e)).toString(36).slice(1),Rl=Array.from({length:26},(e,t)=>String.fromCharCode(t+97)),Ym=e=>Rl[Math.floor(e()*Rl.length)],kl=({globalObj:e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},random:t=Math.random}={})=>{let r=Object.keys(e).toString(),n=r.length?r+Wi(Er,t):Wi(Er,t);return Ol(n).substring(0,Er)},Dl=e=>()=>e++,Zm=476782367,_l=({random:e=Math.random,counter:t=Dl(Math.floor(e()*Zm)),length:r=Sl,fingerprint:n=kl({random:e})}={})=>function(){let o=Ym(e),s=Date.now().toString(36),a=t().toString(36),f=Wi(r,e),w=`${s+f+a+n}`;return`${o+Ol(w).substring(1,r)}`},Xm=_l(),ed=(e,{minLength:t=2,maxLength:r=Er}={})=>{let n=e.length,i=/^[0-9a-z]+$/;try{if(typeof e=="string"&&n>=t&&n<=r&&i.test(e))return!0}finally{}return!1};We.exports.getConstants=()=>({defaultLength:Sl,bigLength:Er});We.exports.init=_l;We.exports.createId=Xm;We.exports.bufToBigInt=Il;We.exports.createCounter=Dl;We.exports.createFingerprint=kl;We.exports.isCuid=ed});var Nl=se((V1,xr)=>{"use strict";u();c();p();m();d();l();var{createId:td,init:rd,getConstants:nd,isCuid:id}=Ml();xr.exports.createId=td;xr.exports.init=rd;xr.exports.getConstants=nd;xr.exports.isCuid=id});var sf={};pt(sf,{DMMF:()=>Xt,Debug:()=>J,Decimal:()=>re,Extensions:()=>ii,MetricsClient:()=>Rt,PrismaClientInitializationError:()=>L,PrismaClientKnownRequestError:()=>X,PrismaClientRustPanicError:()=>ae,PrismaClientUnknownRequestError:()=>oe,PrismaClientValidationError:()=>ne,Public:()=>oi,Sql:()=>me,createParam:()=>Hs,defineDmmfProperty:()=>Zs,deserializeJsonResponse:()=>Ve,deserializeRawResult:()=>zn,dmmfToRuntimeDataModel:()=>Ts,empty:()=>na,getPrismaClient:()=>qu,getRuntime:()=>Qe,join:()=>ra,makeStrictEnum:()=>Bu,makeTypedQueryFactory:()=>Xs,objectEnumValues:()=>dn,raw:()=>Ai,serializeJsonQuery:()=>En,skip:()=>bn,sqltag:()=>Ci,warnEnvConflicts:()=>void 0,warnOnce:()=>zt});module.exports=Io(sf);u();c();p();m();d();l();var ii={};pt(ii,{defineExtension:()=>Vo,getExtensionContext:()=>qo});u();c();p();m();d();l();u();c();p();m();d();l();function Vo(e){return typeof e=="function"?e:t=>t.$extends(e)}u();c();p();m();d();l();function qo(e){return e}var oi={};pt(oi,{validator:()=>Bo});u();c();p();m();d();l();u();c();p();m();d();l();function Bo(...e){return t=>t}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var si,jo,Qo,Go,Ho=!0;typeof g<"u"&&({FORCE_COLOR:si,NODE_DISABLE_COLORS:jo,NO_COLOR:Qo,TERM:Go}=g.env||{},Ho=g.stdout&&g.stdout.isTTY);var ac={enabled:!jo&&Qo==null&&Go!=="dumb"&&(si!=null&&si!=="0"||Ho)};function q(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!ac.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var ig=q(0,0),Kr=q(1,22),zr=q(2,22),og=q(3,23),Yr=q(4,24),sg=q(7,27),ag=q(8,28),lg=q(9,29),ug=q(30,39),ft=q(31,39),Wo=q(32,39),Jo=q(33,39),Ko=q(34,39),cg=q(35,39),zo=q(36,39),pg=q(37,39),Yo=q(90,39),mg=q(90,39),dg=q(40,49),fg=q(41,49),gg=q(42,49),yg=q(43,49),hg=q(44,49),wg=q(45,49),bg=q(46,49),Eg=q(47,49);u();c();p();m();d();l();var lc=100,Zo=["green","yellow","blue","magenta","cyan","red"],Qt=[],Xo=Date.now(),uc=0,ai=typeof g<"u"?g.env:{};globalThis.DEBUG??=ai.DEBUG??"";globalThis.DEBUG_COLORS??=ai.DEBUG_COLORS?ai.DEBUG_COLORS==="true":!0;var Gt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function cc(e){let t={color:Zo[uc++%Zo.length],enabled:Gt.enabled(e),namespace:e,log:Gt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&Qt.push([o,...n]),Qt.length>lc&&Qt.shift(),Gt.enabled(o)||i){let f=n.map(v=>typeof v=="string"?v:pc(v)),w=`+${Date.now()-Xo}ms`;Xo=Date.now(),a(o,...f,w)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var J=new Proxy(cc,{get:(e,t)=>Gt[t],set:(e,t,r)=>Gt[t]=r});function pc(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function es(e=7500){let t=Qt.map(([r,...n])=>`${r} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(` +`);return t.lengthUc,info:()=>Lc,log:()=>Nc,query:()=>Fc,should:()=>gs,tags:()=>Jt,warn:()=>pi});u();c();p();m();d();l();var Jt={error:ft("prisma:error"),warn:Jo("prisma:warn"),info:zo("prisma:info"),query:Ko("prisma:query")},gs={warn:()=>!g.env.PRISMA_DISABLE_WARNINGS};function Nc(...e){console.log(...e)}function pi(e,...t){gs.warn()&&console.warn(`${Jt.warn} ${e}`,...t)}function Lc(e,...t){console.info(`${Jt.info} ${e}`,...t)}function Uc(e,...t){console.error(`${Jt.error} ${e}`,...t)}function Fc(e,...t){console.log(`${Jt.query} ${e}`,...t)}u();c();p();m();d();l();function xe(e,t){throw new Error(t)}u();c();p();m();d();l();function di(e,t){return Object.prototype.hasOwnProperty.call(e,t)}u();c();p();m();d();l();function ht(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}u();c();p();m();d();l();function fi(e,t){if(e.length===0)return;let r=e[0];for(let n=1;n{Es.has(e)||(Es.add(e),pi(t,...r))};var L=class e extends Error{clientVersion;errorCode;retryable;constructor(t,r,n){super(t),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(e)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};O(L,"PrismaClientInitializationError");u();c();p();m();d();l();var X=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(t,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(t),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};O(X,"PrismaClientKnownRequestError");u();c();p();m();d();l();var ae=class extends Error{clientVersion;constructor(t,r){super(t),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};O(ae,"PrismaClientRustPanicError");u();c();p();m();d();l();var oe=class extends Error{clientVersion;batchRequestIdx;constructor(t,{clientVersion:r,batchRequestIdx:n}){super(t),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};O(oe,"PrismaClientUnknownRequestError");u();c();p();m();d();l();var ne=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(t,{clientVersion:r}){super(t),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};O(ne,"PrismaClientValidationError");u();c();p();m();d();l();l();function Ve(e){return e===null?e:Array.isArray(e)?e.map(Ve):typeof e=="object"?Vc(e)?qc(e):e.constructor!==null&&e.constructor.name!=="Object"?e:ht(e,Ve):e}function Vc(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function qc({$type:e,value:t}){switch(e){case"BigInt":return BigInt(t);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=y.from(t,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(t);case"Decimal":return new re(t);case"Json":return JSON.parse(t);default:xe(t,"Unknown tagged value")}}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var Re=class{_map=new Map;get(t){return this._map.get(t)?.value}set(t,r){this._map.set(t,{value:r})}getOrCreate(t,r){let n=this._map.get(t);if(n)return n.value;let i=r();return this.set(t,i),i}};u();c();p();m();d();l();function qe(e){return e.substring(0,1).toLowerCase()+e.substring(1)}u();c();p();m();d();l();function Ps(e,t){let r={};for(let n of e){let i=n[t];r[i]=n}return r}u();c();p();m();d();l();function Yt(e){let t;return{get(){return t||(t={value:e()}),t.value}}}u();c();p();m();d();l();function Ts(e){return{models:gi(e.models),enums:gi(e.enums),types:gi(e.types)}}function gi(e){let t={};for(let{name:r,...n}of e)t[r]=n;return t}u();c();p();m();d();l();function wt(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function on(e){return e.toString()!=="Invalid Date"}u();c();p();m();d();l();l();function bt(e){return T.isDecimal(e)?!0:e!==null&&typeof e=="object"&&typeof e.s=="number"&&typeof e.e=="number"&&typeof e.toFixed=="function"&&Array.isArray(e.d)}u();c();p();m();d();l();u();c();p();m();d();l();var Xt={};pt(Xt,{ModelAction:()=>Zt,datamodelEnumToSchemaEnum:()=>Bc});u();c();p();m();d();l();u();c();p();m();d();l();function Bc(e){return{name:e.name,values:e.values.map(t=>t.name)}}u();c();p();m();d();l();var Zt=(V=>(V.findUnique="findUnique",V.findUniqueOrThrow="findUniqueOrThrow",V.findFirst="findFirst",V.findFirstOrThrow="findFirstOrThrow",V.findMany="findMany",V.create="create",V.createMany="createMany",V.createManyAndReturn="createManyAndReturn",V.update="update",V.updateMany="updateMany",V.updateManyAndReturn="updateManyAndReturn",V.upsert="upsert",V.delete="delete",V.deleteMany="deleteMany",V.groupBy="groupBy",V.count="count",V.aggregate="aggregate",V.findRaw="findRaw",V.aggregateRaw="aggregateRaw",V))(Zt||{});var jc=_e(fs());var Qc={red:ft,gray:Yo,dim:zr,bold:Kr,underline:Yr,highlightSource:e=>e.highlight()},Gc={red:e=>e,gray:e=>e,dim:e=>e,bold:e=>e,underline:e=>e,highlightSource:e=>e};function Hc({message:e,originalMethod:t,isPanic:r,callArguments:n}){return{functionName:`prisma.${t}()`,message:e,isPanic:r??!1,callArguments:n}}function Wc({functionName:e,location:t,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],f=t?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${f}`))):a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${f}`)),t&&a.push(s.underline(Jc(t))),i){a.push("");let w=[i.toString()];o&&(w.push(o),w.push(s.dim(")"))),a.push(w.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function Jc(e){let t=[e.fileName];return e.lineNumber&&t.push(String(e.lineNumber)),e.columnNumber&&t.push(String(e.columnNumber)),t.join(":")}function sn(e){let t=e.showColors?Qc:Gc,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(e,t):r=Hc(e),Wc(r,t)}u();c();p();m();d();l();var Ds=_e(yi());u();c();p();m();d();l();function Rs(e,t,r){let n=Ss(e),i=Kc(n),o=Yc(i);o?an(o,t,r):t.addErrorMessage(()=>"Unknown error")}function Ss(e){return e.errors.flatMap(t=>t.kind==="Union"?Ss(t):[t])}function Kc(e){let t=new Map,r=[];for(let n of e){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=t.get(i);o?t.set(i,{...n,argument:{...n.argument,typeNames:zc(o.argument.typeNames,n.argument.typeNames)}}):t.set(i,n)}return r.push(...t.values()),r}function zc(e,t){return[...new Set(e.concat(t))]}function Yc(e){return fi(e,(t,r)=>{let n=As(t),i=As(r);return n!==i?n-i:Cs(t)-Cs(r)})}function As(e){let t=0;return Array.isArray(e.selectionPath)&&(t+=e.selectionPath.length),Array.isArray(e.argumentPath)&&(t+=e.argumentPath.length),t}function Cs(e){switch(e.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}u();c();p();m();d();l();var ye=class{constructor(t,r){this.name=t;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(t){let{colors:{green:r}}=t.context;t.addMarginSymbol(r(this.isRequired?"+":"?")),t.write(r(this.name)),this.isRequired||t.write(r("?")),t.write(r(": ")),typeof this.value=="string"?t.write(r(this.value)):t.write(this.value)}};u();c();p();m();d();l();u();c();p();m();d();l();Os();u();c();p();m();d();l();var Et=class{constructor(t=0,r){this.context=r;this.currentIndent=t}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(t){return typeof t=="string"?this.currentLine+=t:t.write(this),this}writeJoined(t,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(t){return this.marginSymbol=t,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let t=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+t.slice(1):t}};Is();u();c();p();m();d();l();u();c();p();m();d();l();var ln=class{constructor(t){this.value=t}write(t){t.write(this.value)}markAsError(){this.value.markAsError()}};u();c();p();m();d();l();var un=e=>e,cn={bold:un,red:un,green:un,dim:un,enabled:!1},ks={bold:Kr,red:ft,green:Wo,dim:zr,enabled:!0},xt={write(e){e.writeLine(",")}};u();c();p();m();d();l();var Se=class{constructor(t){this.contents=t}isUnderlined=!1;color=t=>t;underline(){return this.isUnderlined=!0,this}setColor(t){return this.color=t,this}write(t){let r=t.getCurrentLineLength();t.write(this.color(this.contents)),this.isUnderlined&&t.afterNextNewline(()=>{t.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};u();c();p();m();d();l();var Be=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var Pt=class extends Be{items=[];addItem(t){return this.items.push(new ln(t)),this}getField(t){return this.items[t]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(t){if(this.items.length===0){this.writeEmpty(t);return}this.writeWithItems(t)}writeEmpty(t){let r=new Se("[]");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithItems(t){let{colors:r}=t.context;t.writeLine("[").withIndent(()=>t.writeJoined(xt,this.items).newLine()).write("]"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var Tt=class e extends Be{fields={};suggestions=[];addField(t){this.fields[t.name]=t}addSuggestion(t){this.suggestions.push(t)}getField(t){return this.fields[t]}getDeepField(t){let[r,...n]=t,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof e?a=o.value.getField(s):o.value instanceof Pt&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(t){return t.length===0?this:this.getDeepField(t)?.value}hasField(t){return!!this.getField(t)}removeAllFields(){this.fields={}}removeField(t){delete this.fields[t]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(t){return this.getField(t)?.value}getDeepSubSelectionValue(t){let r=this;for(let n of t){if(!(r instanceof e))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(t){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of t){let o=n.value.getFieldValue(i);if(!o||!(o instanceof e))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let t=this.getField("select")?.value.asObject();if(t)return{kind:"select",value:t};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(t){return this.getSelectionParent()?.value.fields[t].value}getPrintWidth(){let t=Object.values(this.fields);return t.length==0?2:Math.max(...t.map(n=>n.getPrintWidth()))+2}write(t){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(t);return}this.writeWithContents(t,r)}asObject(){return this}writeEmpty(t){let r=new Se("{}");this.hasError&&r.setColor(t.context.colors.red).underline(),t.write(r)}writeWithContents(t,r){t.writeLine("{").withIndent(()=>{t.writeJoined(xt,[...r,...this.suggestions]).newLine()}),t.write("}"),this.hasError&&t.afterNextNewline(()=>{t.writeLine(t.context.colors.red("~".repeat(this.getPrintWidth())))})}};u();c();p();m();d();l();var te=class extends Be{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new Se(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};u();c();p();m();d();l();var er=class{fields=[];addField(t,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${t}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(t){let{colors:{green:r}}=t.context;t.writeLine(r("{")).withIndent(()=>{t.writeJoined(xt,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function an(e,t,r){switch(e.kind){case"MutuallyExclusiveFields":Zc(e,t);break;case"IncludeOnScalar":Xc(e,t);break;case"EmptySelection":ep(e,t,r);break;case"UnknownSelectionField":ip(e,t);break;case"InvalidSelectionValue":op(e,t);break;case"UnknownArgument":sp(e,t);break;case"UnknownInputField":ap(e,t);break;case"RequiredArgumentMissing":lp(e,t);break;case"InvalidArgumentType":up(e,t);break;case"InvalidArgumentValue":cp(e,t);break;case"ValueTooLarge":pp(e,t);break;case"SomeFieldsMissing":mp(e,t);break;case"TooManyFieldsGiven":dp(e,t);break;case"Union":Rs(e,t,r);break;default:throw new Error("not implemented: "+e.kind)}}function Zc(e,t){let r=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();r&&(r.getField(e.firstField)?.markAsError(),r.getField(e.secondField)?.markAsError()),t.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function Xc(e,t){let[r,n]=tr(e.selectionPath),i=e.outputType,o=t.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new ye(s.name,"true"));t.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${rr(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function ep(e,t,r){let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){tp(e,t,i);return}if(n.hasField("select")){rp(e,t);return}}if(r?.[qe(e.outputType.name)]){np(e,t);return}t.addErrorMessage(()=>`Unknown field at "${e.selectionPath.join(".")} selection"`)}function tp(e,t,r){r.removeAllFields();for(let n of e.outputType.fields)r.addSuggestion(new ye(n.name,"false"));t.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`)}function rp(e,t){let r=e.outputType,n=t.arguments.getDeepSelectionParent(e.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),Ns(n,r)),t.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${rr(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function np(e,t){let r=new er;for(let i of e.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new ye("omit",r).makeRequired();if(e.selectionPath.length===0)t.arguments.addSuggestion(n);else{let[i,o]=tr(e.selectionPath),a=t.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let f=a?.value.asObject()??new Tt;f.addSuggestion(n),a.value=f}}t.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`)}function ip(e,t){let r=Ls(e.selectionPath,t);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":Ns(n,e.outputType);break;case"include":fp(n,e.outputType);break;case"omit":gp(n,e.outputType);break}}t.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`),i.push(rr(n)),i.join(" ")})}function op(e,t){let r=Ls(e.selectionPath,t);r.parentKind!=="unknown"&&r.field.value.markAsError(),t.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${e.underlyingError}`)}function sp(e,t){let r=e.argumentPath[0],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),yp(n,e.arguments)),t.addErrorMessage(i=>_s(i,r,e.arguments.map(o=>o.name)))}function ap(e,t){let[r,n]=tr(e.argumentPath),i=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(i){i.getDeepField(e.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&Us(o,e.inputType)}t.addErrorMessage(o=>_s(o,n,e.inputType.fields.map(s=>s.name)))}function _s(e,t,r){let n=[`Unknown argument \`${e.red(t)}\`.`],i=wp(t,r);return i&&n.push(`Did you mean \`${e.green(i)}\`?`),r.length>0&&n.push(rr(e)),n.join(" ")}function lp(e,t){let r;t.addErrorMessage(f=>r?.value instanceof te&&r.value.text==="null"?`Argument \`${f.green(o)}\` must not be ${f.red("null")}.`:`Argument \`${f.green(o)}\` is missing.`);let n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(!n)return;let[i,o]=tr(e.argumentPath),s=new er,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),e.inputTypes.length===1&&e.inputTypes[0].kind==="object"){for(let f of e.inputTypes[0].fields)s.addField(f.name,f.typeNames.join(" | "));a.addSuggestion(new ye(o,s).makeRequired())}else{let f=e.inputTypes.map(Ms).join(" | ");a.addSuggestion(new ye(o,f).makeRequired())}}function Ms(e){return e.kind==="list"?`${Ms(e.elementType)}[]`:e.name}function up(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=pn("or",e.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`})}function cp(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();n&&n.getDeepFieldValue(e.argumentPath)?.markAsError(),t.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(e.underlyingError&&o.push(`: ${e.underlyingError}`),o.push("."),e.argument.typeNames.length>0){let s=pn("or",e.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function pp(e,t){let r=e.argument.name,n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(e.argumentPath)?.value;s?.markAsError(),s instanceof te&&(i=s.text)}t.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function mp(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(e.argumentPath)?.asObject();i&&Us(i,e.inputType)}t.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1?e.constraints.requiredFields?o.push(`${i.green("at least one of")} ${pn("or",e.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`),o.push(rr(i)),o.join(" ")})}function dp(e,t){let r=e.argumentPath[e.argumentPath.length-1],n=t.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(e.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}t.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(e.inputType.name)} needs`];return e.constraints.minFieldCount===1&&e.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):e.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${pn("and",i.map(a=>o.red(a)))}. Please choose`),e.constraints.maxFieldCount===1?s.push("one."):s.push(`${e.constraints.maxFieldCount}.`),s.join(" ")})}function Ns(e,t){for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ye(r.name,"true"))}function fp(e,t){for(let r of t.fields)r.isRelation&&!e.hasField(r.name)&&e.addSuggestion(new ye(r.name,"true"))}function gp(e,t){for(let r of t.fields)!e.hasField(r.name)&&!r.isRelation&&e.addSuggestion(new ye(r.name,"true"))}function yp(e,t){for(let r of t)e.hasField(r.name)||e.addSuggestion(new ye(r.name,r.typeNames.join(" | ")))}function Ls(e,t){let[r,n]=tr(e),i=t.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),f=o?.getField(n);return o&&f?{parentKind:"select",parent:o,field:f,fieldName:n}:(f=s?.getField(n),s&&f?{parentKind:"include",field:f,parent:s,fieldName:n}:(f=a?.getField(n),a&&f?{parentKind:"omit",field:f,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function Us(e,t){if(t.kind==="object")for(let r of t.fields)e.hasField(r.name)||e.addSuggestion(new ye(r.name,r.typeNames.join(" | ")))}function tr(e){let t=[...e],r=t.pop();if(!r)throw new Error("unexpected empty path");return[t,r]}function rr({green:e,enabled:t}){return"Available options are "+(t?`listed in ${e("green")}`:"marked with ?")+"."}function pn(e,t){if(t.length===1)return t[0];let r=[...t],n=r.pop();return`${r.join(", ")} ${e} ${n}`}var hp=3;function wp(e,t){let r=1/0,n;for(let i of t){let o=(0,Ds.default)(e,i);o>hp||o`}};function vt(e){return e instanceof nr}u();c();p();m();d();l();var mn=Symbol(),wi=new WeakMap,Ne=class{constructor(t){t===mn?wi.set(this,`Prisma.${this._getName()}`):wi.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return wi.get(this)}},ir=class extends Ne{_getNamespace(){return"NullTypes"}},or=class extends ir{#e};bi(or,"DbNull");var sr=class extends ir{#e};bi(sr,"JsonNull");var ar=class extends ir{#e};bi(ar,"AnyNull");var dn={classes:{DbNull:or,JsonNull:sr,AnyNull:ar},instances:{DbNull:new or(mn),JsonNull:new sr(mn),AnyNull:new ar(mn)}};function bi(e,t){Object.defineProperty(e,"name",{value:t,configurable:!0})}u();c();p();m();d();l();var Fs=": ",fn=class{constructor(t,r){this.name=t;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+Fs.length}write(t){let r=new Se(this.name);this.hasError&&r.underline().setColor(t.context.colors.red),t.write(r).write(Fs).write(this.value)}};var Ei=class{arguments;errorMessages=[];constructor(t){this.arguments=t}write(t){t.write(this.arguments)}addErrorMessage(t){this.errorMessages.push(t)}renderAllMessages(t){return this.errorMessages.map(r=>r(t)).join(` +`)}};function At(e){return new Ei($s(e))}function $s(e){let t=new Tt;for(let[r,n]of Object.entries(e)){let i=new fn(r,Vs(n));t.addField(i)}return t}function Vs(e){if(typeof e=="string")return new te(JSON.stringify(e));if(typeof e=="number"||typeof e=="boolean")return new te(String(e));if(typeof e=="bigint")return new te(`${e}n`);if(e===null)return new te("null");if(e===void 0)return new te("undefined");if(bt(e))return new te(`new Prisma.Decimal("${e.toFixed()}")`);if(e instanceof Uint8Array)return y.isBuffer(e)?new te(`Buffer.alloc(${e.byteLength})`):new te(`new Uint8Array(${e.byteLength})`);if(e instanceof Date){let t=on(e)?e.toISOString():"Invalid Date";return new te(`new Date("${t}")`)}return e instanceof Ne?new te(`Prisma.${e._getName()}`):vt(e)?new te(`prisma.${qe(e.modelName)}.$fields.${e.name}`):Array.isArray(e)?bp(e):typeof e=="object"?$s(e):new te(Object.prototype.toString.call(e))}function bp(e){let t=new Pt;for(let r of e)t.addItem(Vs(r));return t}function gn(e,t){let r=t==="pretty"?ks:cn,n=e.renderAllMessages(r),i=new Et(0,{colors:r}).write(e).toString();return{message:n,args:i}}function yn({args:e,errors:t,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=At(e);for(let A of t)an(A,a,s);let{message:f,args:w}=gn(a,r),v=sn({message:f,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:w});throw new ne(v,{clientVersion:o})}u();c();p();m();d();l();u();c();p();m();d();l();function Ie(e){return e.replace(/^./,t=>t.toLowerCase())}u();c();p();m();d();l();function Bs(e,t,r){let n=Ie(r);return!t.result||!(t.result.$allModels||t.result[n])?e:Ep({...e,...qs(t.name,e,t.result.$allModels),...qs(t.name,e,t.result[n])})}function Ep(e){let t=new Re,r=(n,i)=>t.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),e[n]?e[n].needs.flatMap(o=>r(o,i)):[n]));return ht(e,n=>({...n,needs:r(n.name,new Set)}))}function qs(e,t,r){return r?ht(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:xp(t,o,i)})):{}}function xp(e,t,r){let n=e?.[t]?.compute;return n?i=>r({...i,[t]:n(i)}):r}function js(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(e[n.name])for(let i of n.needs)r[i]=!0;return r}function Qs(e,t){if(!t)return e;let r={...e};for(let n of Object.values(t))if(!e[n.name])for(let i of n.needs)delete r[i];return r}var hn=class{constructor(t,r){this.extension=t;this.previous=r}computedFieldsCache=new Re;modelExtensionsCache=new Re;queryCallbacksCache=new Re;clientExtensions=Yt(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=Yt(()=>{let t=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?t.concat(r):t});getAllComputedFields(t){return this.computedFieldsCache.getOrCreate(t,()=>Bs(this.previous?.getAllComputedFields(t),this.extension,t))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(t){return this.modelExtensionsCache.getOrCreate(t,()=>{let r=Ie(t);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(t):{...this.previous?.getAllModelExtensions(t),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(t,r){return this.queryCallbacksCache.getOrCreate(`${t}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(t,r)??[],i=[],o=this.extension.query;return!o||!(o[t]||o.$allModels||o[r]||o.$allOperations)?n:(o[t]!==void 0&&(o[t][r]!==void 0&&i.push(o[t][r]),o[t].$allOperations!==void 0&&i.push(o[t].$allOperations)),t!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},Ct=class e{constructor(t){this.head=t}static empty(){return new e}static single(t){return new e(new hn(t))}isEmpty(){return this.head===void 0}append(t){return new e(new hn(t,this.head))}getAllComputedFields(t){return this.head?.getAllComputedFields(t)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(t){return this.head?.getAllModelExtensions(t)}getAllQueryCallbacks(t,r){return this.head?.getAllQueryCallbacks(t,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};u();c();p();m();d();l();var wn=class{constructor(t){this.name=t}};function Gs(e){return e instanceof wn}function Hs(e){return new wn(e)}u();c();p();m();d();l();u();c();p();m();d();l();var Ws=Symbol(),lr=class{constructor(t){if(t!==Ws)throw new Error("Skip instance can not be constructed directly")}ifUndefined(t){return t===void 0?bn:t}},bn=new lr(Ws);function Oe(e){return e instanceof lr}var Pp={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Js="explicitly `undefined` values are not allowed";function En({modelName:e,action:t,args:r,runtimeDataModel:n,extensions:i=Ct.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:f,previewFeatures:w,globalOmit:v}){let A=new xi({runtimeDataModel:n,modelName:e,action:t,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:f,previewFeatures:w,globalOmit:v});return{modelName:e,action:Pp[t],query:ur(r,A)}}function ur({select:e,include:t,...r}={},n){let i=r.omit;return delete r.omit,{arguments:zs(r,n),selection:Tp(e,t,i,n)}}function Tp(e,t,r,n){return e?(t?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),Rp(e,n)):vp(n,t,r)}function vp(e,t,r){let n={};return e.modelOrType&&!e.isRawAction()&&(n.$composites=!0,n.$scalars=!0),t&&Ap(n,t,e),Cp(n,r,e),n}function Ap(e,t,r){for(let[n,i]of Object.entries(t)){if(Oe(i))continue;let o=r.nestSelection(n);if(Pi(i,o),i===!1||i===void 0){e[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){e[n]=ur(i===!0?{}:i,o);continue}if(i===!0){e[n]=!0;continue}e[n]=ur(i,o)}}function Cp(e,t,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...t},o=Qs(i,n);for(let[s,a]of Object.entries(o)){if(Oe(a))continue;Pi(a,r.nestSelection(s));let f=r.findField(s);n?.[s]&&!f||(e[s]=!a)}}function Rp(e,t){let r={},n=t.getComputedFields(),i=js(e,n);for(let[o,s]of Object.entries(i)){if(Oe(s))continue;let a=t.nestSelection(o);Pi(s,a);let f=t.findField(o);if(!(n?.[o]&&!f)){if(s===!1||s===void 0||Oe(s)){r[o]=!1;continue}if(s===!0){f?.kind==="object"?r[o]=ur({},a):r[o]=!0;continue}r[o]=ur(s,a)}}return r}function Ks(e,t){if(e===null)return null;if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="bigint")return{$type:"BigInt",value:String(e)};if(wt(e)){if(on(e))return{$type:"DateTime",value:e.toISOString()};t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Gs(e))return{$type:"Param",value:e.name};if(vt(e))return{$type:"FieldRef",value:{_ref:e.name,_container:e.modelName}};if(Array.isArray(e))return Sp(e,t);if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{$type:"Bytes",value:y.from(r,n,i).toString("base64")}}if(Ip(e))return e.values;if(bt(e))return{$type:"Decimal",value:e.toFixed()};if(e instanceof Ne){if(e!==dn.instances[e._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:e._getName()}}if(Op(e))return e.toJSON();if(typeof e=="object")return zs(e,t);t.throwValidationError({kind:"InvalidArgumentValue",selectionPath:t.getSelectionPath(),argumentPath:t.getArgumentPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function zs(e,t){if(e.$type)return{$type:"Raw",value:e};let r={};for(let n in e){let i=e[n],o=t.nestArgument(n);Oe(i)||(i!==void 0?r[n]=Ks(i,o):t.isPreviewFeatureOn("strictUndefinedChecks")&&t.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:t.getSelectionPath(),argument:{name:t.getArgumentName(),typeNames:[]},underlyingError:Js}))}return r}function Sp(e,t){let r=[];for(let n=0;n({name:t.name,typeName:"boolean",isRelation:t.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(t){return this.params.previewFeatures.includes(t)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(t){return this.modelOrType?.fields.find(r=>r.name===t)}nestSelection(t){let r=this.findField(t),n=r?.kind==="object"?r.type:void 0;return new e({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(t)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[qe(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:xe(this.params.action,"Unknown action")}}nestArgument(t){return new e({...this.params,argumentPath:this.params.argumentPath.concat(t)})}};u();c();p();m();d();l();function Ys(e){if(!e._hasPreviewFlag("metrics"))throw new ne("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:e._clientVersion})}var Rt=class{_client;constructor(t){this._client=t}prometheus(t){return Ys(this._client),this._client._engine.metrics({format:"prometheus",...t})}json(t){return Ys(this._client),this._client._engine.metrics({format:"json",...t})}};u();c();p();m();d();l();function Zs(e,t){let r=Yt(()=>kp(t));Object.defineProperty(e,"dmmf",{get:()=>r.get()})}function kp(e){throw new Error("Prisma.dmmf is not available when running in edge runtimes.")}function Ti(e){return Object.entries(e).map(([t,r])=>({name:t,...r}))}u();c();p();m();d();l();var vi=new WeakMap,xn="$$PrismaTypedSql",cr=class{constructor(t,r){vi.set(this,{sql:t,values:r}),Object.defineProperty(this,xn,{value:xn})}get sql(){return vi.get(this).sql}get values(){return vi.get(this).values}};function Xs(e){return(...t)=>new cr(e,t)}function Pn(e){return e!=null&&e[xn]===xn}u();c();p();m();d();l();var Vu=_e(ea());u();c();p();m();d();l();ta();is();us();u();c();p();m();d();l();var me=class e{constructor(t,r){if(t.length-1!==r.length)throw t.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${t.length} strings to have ${t.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof e?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=t[0];let i=0,o=0;for(;ie.getPropertyValue(r))},getPropertyDescriptor(r){return e.getPropertyDescriptor?.(r)}}}u();c();p();m();d();l();u();c();p();m();d();l();var vn={enumerable:!0,configurable:!0,writable:!0};function An(e){let t=new Set(e);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>vn,has:(r,n)=>t.has(n),set:(r,n,i)=>t.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...t]}}var ia=Symbol.for("nodejs.util.inspect.custom");function Pe(e,t){let r=_p(t),n=new Set,i=new Proxy(e,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=oa(Reflect.ownKeys(o),r),a=oa(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let f=r.get(s);return f?f.getPropertyDescriptor?{...vn,...f?.getPropertyDescriptor(s)}:vn:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[ia]=function(){let o={...this};return delete o[ia],o},i}function _p(e){let t=new Map;for(let r of e){let n=r.getKeys();for(let i of n)t.set(i,r)}return t}function oa(e,t){return e.filter(r=>t.get(r)?.has?.(r)??!0)}u();c();p();m();d();l();function St(e){return{getKeys(){return e},has(){return!1},getPropertyValue(){}}}u();c();p();m();d();l();function It(e,t){return{batch:e,transaction:t?.kind==="batch"?{isolationLevel:t.options.isolationLevel}:void 0}}u();c();p();m();d();l();function sa(e){if(e===void 0)return"";let t=At(e);return new Et(0,{colors:cn}).write(t).toString()}u();c();p();m();d();l();var Mp="P2037";function Cn({error:e,user_facing_error:t},r,n){return t.error_code?new X(Np(t,n),{code:t.error_code,clientVersion:r,meta:t.meta,batchRequestIdx:t.batch_request_idx}):new oe(e,{clientVersion:r,batchRequestIdx:t.batch_request_idx})}function Np(e,t){let r=e.message;return(t==="postgresql"||t==="postgres"||t==="mysql")&&e.error_code===Mp&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var Ri=class{getLocation(){return null}};function je(e){return typeof $EnabledCallSite=="function"&&e!=="minimal"?new $EnabledCallSite:new Ri}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();var aa={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function Ot(e={}){let t=Up(e);return Object.entries(t).reduce((n,[i,o])=>(aa[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function Up(e={}){return typeof e._count=="boolean"?{...e,_count:{_all:e._count}}:e}function Rn(e={}){return t=>(typeof e._count=="boolean"&&(t._count=t._count._all),t)}function la(e,t){let r=Rn(e);return t({action:"aggregate",unpacker:r,argsMapper:Ot})(e)}u();c();p();m();d();l();function Fp(e={}){let{select:t,...r}=e;return typeof t=="object"?Ot({...r,_count:t}):Ot({...r,_count:{_all:!0}})}function $p(e={}){return typeof e.select=="object"?t=>Rn(e)(t)._count:t=>Rn(e)(t)._count._all}function ua(e,t){return t({action:"count",unpacker:$p(e),argsMapper:Fp})(e)}u();c();p();m();d();l();function Vp(e={}){let t=Ot(e);if(Array.isArray(t.by))for(let r of t.by)typeof r=="string"&&(t.select[r]=!0);else typeof t.by=="string"&&(t.select[t.by]=!0);return t}function qp(e={}){return t=>(typeof e?._count=="boolean"&&t.forEach(r=>{r._count=r._count._all}),t)}function ca(e,t){return t({action:"groupBy",unpacker:qp(e),argsMapper:Vp})(e)}function pa(e,t,r){if(t==="aggregate")return n=>la(n,r);if(t==="count")return n=>ua(n,r);if(t==="groupBy")return n=>ca(n,r)}u();c();p();m();d();l();function ma(e,t){let r=t.fields.filter(i=>!i.relationName),n=Ps(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new nr(e,o,s.type,s.isList,s.kind==="enum")},...An(Object.keys(n))})}u();c();p();m();d();l();u();c();p();m();d();l();var da=e=>Array.isArray(e)?e:e.split("."),Si=(e,t)=>da(t).reduce((r,n)=>r&&r[n],e),fa=(e,t,r)=>da(t).reduceRight((n,i,o,s)=>Object.assign({},Si(e,s.slice(0,o)),{[i]:n}),r);function Bp(e,t){return e===void 0||t===void 0?[]:[...t,"select",e]}function jp(e,t,r){return t===void 0?e??{}:fa(t,r,e||!0)}function Ii(e,t,r,n,i,o){let a=e._runtimeDataModel.models[t].fields.reduce((f,w)=>({...f,[w.name]:w}),{});return f=>{let w=je(e._errorFormat),v=Bp(n,i),A=jp(f,o,v),R=r({dataPath:v,callsite:w})(A),C=Qp(e,t);return new Proxy(R,{get(D,I){if(!C.includes(I))return D[I];let be=[a[I].type,r,I],ue=[v,A];return Ii(e,...be,...ue)},...An([...C,...Object.getOwnPropertyNames(R)])})}}function Qp(e,t){return e._runtimeDataModel.models[t].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Gp=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Hp=["aggregate","count","groupBy"];function Oi(e,t){let r=e._extensions.getAllModelExtensions(t)??{},n=[Wp(e,t),Kp(e,t),pr(r),le("name",()=>t),le("$name",()=>t),le("$parent",()=>e._appliedParent)];return Pe({},n)}function Wp(e,t){let r=Ie(t),n=Object.keys(Zt).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>f=>{let w=je(e._errorFormat);return e._createPrismaPromise(v=>{let A={args:f,dataPath:[],action:o,model:t,clientMethod:`${r}.${i}`,jsModelName:r,transaction:v,callsite:w};return e._request({...A,...a})},{action:o,args:f,model:t})};return Gp.includes(o)?Ii(e,t,s):Jp(i)?pa(e,i,s):s({})}}}function Jp(e){return Hp.includes(e)}function Kp(e,t){return et(le("fields",()=>{let r=e._runtimeDataModel.models[t];return ma(t,r)}))}u();c();p();m();d();l();function ga(e){return e.replace(/^./,t=>t.toUpperCase())}var ki=Symbol();function mr(e){let t=[zp(e),Yp(e),le(ki,()=>e),le("$parent",()=>e._appliedParent)],r=e._extensions.getAllClientExtensions();return r&&t.push(pr(r)),Pe(e,t)}function zp(e){let t=Object.getPrototypeOf(e._originalClient),r=[...new Set(Object.getOwnPropertyNames(t))];return{getKeys(){return r},getPropertyValue(n){return e[n]}}}function Yp(e){let t=Object.keys(e._runtimeDataModel.models),r=t.map(Ie),n=[...new Set(t.concat(r))];return et({getKeys(){return n},getPropertyValue(i){let o=ga(i);if(e._runtimeDataModel.models[o]!==void 0)return Oi(e,o);if(e._runtimeDataModel.models[i]!==void 0)return Oi(e,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function ya(e){return e[ki]?e[ki]:e}function ha(e){if(typeof e=="function")return e(this);if(e.client?.__AccelerateEngine){let r=e.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let t=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(e)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return mr(t)}u();c();p();m();d();l();u();c();p();m();d();l();function wa({result:e,modelName:t,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(t);if(!o)return e;let s=[],a=[];for(let f of Object.values(o)){if(n){if(n[f.name])continue;let w=f.needs.filter(v=>n[v]);w.length>0&&a.push(St(w))}else if(r){if(!r[f.name])continue;let w=f.needs.filter(v=>!r[v]);w.length>0&&a.push(St(w))}Zp(e,f.needs)&&s.push(Xp(f,Pe(e,s)))}return s.length>0||a.length>0?Pe(e,[...s,...a]):e}function Zp(e,t){return t.every(r=>di(e,r))}function Xp(e,t){return et(le(e.name,()=>e.compute(t)))}u();c();p();m();d();l();function Sn({visitor:e,result:t,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(t)){for(let s=0;sv.name===o);if(!f||f.kind!=="object"||!f.relationName)continue;let w=typeof s=="object"?s:{};t[o]=Sn({visitor:i,result:t[o],args:w,modelName:f.type,runtimeDataModel:n})}}function Ea({result:e,modelName:t,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||e==null||typeof e!="object"||!i.models[t]?e:Sn({result:e,args:r??{},modelName:t,runtimeDataModel:i,visitor:(a,f,w)=>{let v=Ie(f);return wa({result:a,modelName:v,select:w.select,omit:w.select?void 0:{...o?.[v],...w.omit},extensions:n})}})}u();c();p();m();d();l();u();c();p();m();d();l();l();u();c();p();m();d();l();var em=["$connect","$disconnect","$on","$transaction","$use","$extends"],xa=em;function Pa(e){if(e instanceof me)return tm(e);if(Pn(e))return rm(e);if(Array.isArray(e)){let r=[e[0]];for(let n=1;n{let o=t.customDataProxyFetch;return"transaction"in t&&i!==void 0&&(t.transaction?.kind==="batch"&&t.transaction.lock.then(),t.transaction=i),n===r.length?e._executeRequest(t):r[n]({model:t.model,operation:t.model?t.action:t.clientMethod,args:Pa(t.args??{}),__internalParams:t,query:(s,a=t)=>{let f=a.customDataProxyFetch;return a.customDataProxyFetch=Sa(o,f),a.args=s,va(e,a,r,n+1)}})})}function Aa(e,t){let{jsModelName:r,action:n,clientMethod:i}=t,o=r?n:i;if(e._extensions.isEmpty())return e._executeRequest(t);let s=e._extensions.getAllQueryCallbacks(r??"$none",o);return va(e,t,s)}function Ca(e){return t=>{let r={requests:t},n=t[0].extensions.getAllBatchQueryCallbacks();return n.length?Ra(r,n,0,e):e(r)}}function Ra(e,t,r,n){if(r===t.length)return n(e);let i=e.customDataProxyFetch,o=e.requests[0].transaction;return t[r]({args:{queries:e.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:e,query(s,a=e){let f=a.customDataProxyFetch;return a.customDataProxyFetch=Sa(i,f),Ra(a,t,r+1,n)}})}var Ta=e=>e;function Sa(e=Ta,t=Ta){return r=>e(t(r))}u();c();p();m();d();l();var Ia=J("prisma:client"),Oa={Vercel:"vercel","Netlify CI":"netlify"};function ka({postinstall:e,ciName:t,clientVersion:r}){if(Ia("checkPlatformCaching:postinstall",e),Ia("checkPlatformCaching:ciName",t),e===!0&&t&&t in Oa){let n=`Prisma has detected that this project was built on ${t}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${Oa[t]}-build`;throw console.error(n),new L(n,r)}}u();c();p();m();d();l();function Da(e,t){return e?e.datasources?e.datasources:e.datasourceUrl?{[t[0]]:{url:e.datasourceUrl}}:{}:{}}u();c();p();m();d();l();u();c();p();m();d();l();var nm=()=>globalThis.process?.release?.name==="node",im=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,om=()=>!!globalThis.Deno,sm=()=>typeof globalThis.Netlify=="object",am=()=>typeof globalThis.EdgeRuntime=="object",lm=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function um(){return[[sm,"netlify"],[am,"edge-light"],[lm,"workerd"],[om,"deno"],[im,"bun"],[nm,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var cm={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Qe(){let e=um();return{id:e,prettyName:cm[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}u();c();p();m();d();l();u();c();p();m();d();l();var Di=_e(mi());u();c();p();m();d();l();function _a(e){return e?e.replace(/".*"/g,'"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g,t=>`${t[0]}5`):""}u();c();p();m();d();l();function Ma(e){return e.split(` +`).map(t=>t.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/,"").replace(/\+\d+\s*ms$/,"")).join(` +`)}u();c();p();m();d();l();var Na=_e(bs());function La({title:e,user:t="prisma",repo:r="prisma",template:n="bug_report.yml",body:i}){return(0,Na.default)({user:t,repo:r,template:n,title:e,body:i})}function Ua({version:e,binaryTarget:t,title:r,description:n,engineVersion:i,database:o,query:s}){let a=es(6e3-(s?.length??0)),f=Ma((0,Di.default)(a)),w=n?`# Description +\`\`\` +${n} +\`\`\``:"",v=(0,Di.default)(`Hi Prisma Team! My Prisma Client just crashed. This is the report: +## Versions + +| Name | Version | +|-----------------|--------------------| +| Node | ${g.version?.padEnd(19)}| +| OS | ${t?.padEnd(19)}| +| Prisma Client | ${e?.padEnd(19)}| +| Query Engine | ${i?.padEnd(19)}| +| Database | ${o?.padEnd(19)}| + +${w} + +## Logs +\`\`\` +${f} +\`\`\` + +## Client Snippet +\`\`\`ts +// PLEASE FILL YOUR CODE SNIPPET HERE +\`\`\` + +## Schema +\`\`\`prisma +// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE +\`\`\` + +## Prisma Engine Query +\`\`\` +${s?_a(s):""} +\`\`\` +`),A=La({title:r,body:v});return`${r} + +This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic. + +${Yr(A)} + +If you want the Prisma team to look into it, please open the link above \u{1F64F} +To increase the chance of success, please post your schema and a snippet of +how you used Prisma Client in the issue. +`}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();l();u();c();p();m();d();l();l();function Q(e,t){throw new Error(t)}function _i(e,t){return e===t||e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(r=>_i(e[r],t[r]))}function fr(e,t){let r=Object.keys(e),n=Object.keys(t);return(r.length{if(typeof e[o]!=typeof t[o]){if(typeof e[o]=="number"||typeof t[o]=="number")return`${e[o]}`==`${t[o]}`;if(typeof e[o]=="bigint"||typeof t[o]=="bigint")return BigInt(`${e[o]}`.replace(/n$/,""))===BigInt(`${t[o]}`.replace(/n$/,""));if(e[o]instanceof Date||t[o]instanceof Date)return new Date(`${e[o]}`).getTime()===new Date(`${t[o]}`).getTime();if(re.isDecimal(e[o])||re.isDecimal(t[o]))return new re(`${e[o]}`).equals(new re(`${t[o]}`))}return _i(e[o],t[o])})}function gr(e){return JSON.stringify(e,(t,r)=>typeof r=="bigint"?r.toString():r instanceof Uint8Array?y.from(r).toString("base64"):r)}var W=class extends Error{name="DataMapperError"};function Va(e,t,r){switch(t.type){case"AffectedRows":if(typeof e!="number")throw new W(`Expected an affected rows count, got: ${typeof e} (${e})`);return{count:e};case"Object":return Mi(e,t.fields,r);case"Value":return Ni(e,"",t.resultType,r);default:Q(t,`Invalid data mapping type: '${t.type}'`)}}function Mi(e,t,r){if(e===null)return null;if(Array.isArray(e))return e.map(i=>Fa(i,t,r));if(typeof e=="object")return Fa(e,t,r);if(typeof e=="string"){let n;try{n=JSON.parse(e)}catch(i){throw new W("Expected an array or object, got a string that is not valid JSON",{cause:i})}return Mi(n,t,r)}throw new W(`Expected an array or an object, got: ${typeof e}`)}function Fa(e,t,r){if(typeof e!="object")throw new W(`Expected an object, but got '${typeof e}'`);let n={};for(let[i,o]of Object.entries(t))switch(o.type){case"AffectedRows":throw new W(`Unexpected 'AffectedRows' node in data mapping for field '${i}'`);case"Object":{if(o.serializedName!==null&&!Object.hasOwn(e,o.serializedName))throw new W(`Missing data field (Object): '${i}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`);let s=o.serializedName!==null?e[o.serializedName]:e;n[i]=Mi(s,o.fields,r);break}case"Value":{let s=o.dbName;if(Object.hasOwn(e,s))n[i]=Ni(e[s],s,o.resultType,r);else throw new W(`Missing data field (Value): '${s}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`)}break;default:Q(o,`DataMapper: Invalid data mapping node type: '${o.type}'`)}return n}function Ni(e,t,r,n){if(e===null)return r.type==="Array"?[]:null;switch(r.type){case"Any":return e;case"String":{if(typeof e!="string")throw new W(`Expected a string in column '${t}', got ${typeof e}: ${e}`);return e}case"Int":switch(typeof e){case"number":return Math.trunc(e);case"string":{let i=Math.trunc(Number(e));if(Number.isNaN(i)||!Number.isFinite(i))throw new W(`Expected an integer in column '${t}', got string: ${e}`);if(!Number.isSafeInteger(i))throw new W(`Integer value in column '${t}' is too large to represent as a JavaScript number without loss of precision, got: ${e}. Consider using BigInt type.`);return i}default:throw new W(`Expected an integer in column '${t}', got ${typeof e}: ${e}`)}case"BigInt":{if(typeof e!="number"&&typeof e!="string")throw new W(`Expected a bigint in column '${t}', got ${typeof e}: ${e}`);return{$type:"BigInt",value:e}}case"Float":{if(typeof e=="number")return e;if(typeof e=="string"){let i=Number(e);if(Number.isNaN(i)&&!/^[-+]?nan$/.test(e.toLowerCase()))throw new W(`Expected a float in column '${t}', got string: ${e}`);return i}throw new W(`Expected a float in column '${t}', got ${typeof e}: ${e}`)}case"Boolean":{if(typeof e=="boolean")return e;if(typeof e=="number")return e===1;if(typeof e=="string"){if(e==="true"||e==="TRUE"||e==="1")return!0;if(e==="false"||e==="FALSE"||e==="0")return!1;throw new W(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}if(e instanceof Uint8Array){for(let i of e)if(i!==0)return!0;return!1}throw new W(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}case"Decimal":if(typeof e!="number"&&typeof e!="string"&&!re.isDecimal(e))throw new W(`Expected a decimal in column '${t}', got ${typeof e}: ${e}`);return{$type:"Decimal",value:e};case"Date":{if(typeof e=="string")return{$type:"DateTime",value:$a(e)};if(typeof e=="number"||e instanceof Date)return{$type:"DateTime",value:e};throw new W(`Expected a date in column '${t}', got ${typeof e}: ${e}`)}case"Time":{if(typeof e=="string")return{$type:"DateTime",value:`1970-01-01T${$a(e)}`};throw new W(`Expected a time in column '${t}', got ${typeof e}: ${e}`)}case"Array":return e.map((o,s)=>Ni(o,`${t}[${s}]`,r.inner,n));case"Object":return{$type:"Json",value:typeof e=="string"?e:gr(e)};case"Bytes":{if(typeof e=="string"&&e.startsWith("\\x"))return{$type:"Bytes",value:y.from(e.slice(2),"hex").toString("base64")};if(Array.isArray(e))return{$type:"Bytes",value:y.from(e).toString("base64")};if(e instanceof Uint8Array)return{$type:"Bytes",value:y.from(e).toString("base64")};throw new W(`Expected a byte array in column '${t}', got ${typeof e}: ${e}`)}case"Enum":{let i=n[r.inner];if(i===void 0)throw new W(`Unknown enum '${r.inner}'`);let o=i[`${e}`];if(o===void 0)throw new W(`Unknown enum value '${e}' for enum '${r.inner}'`);return o}default:Q(r,`DataMapper: Unknown result type: ${r.type}`)}}var pm=/Z$|(?{let o=new Date,s=b.now(),a=await i(),f=b.now();return n?.({timestamp:o,duration:f-s,query:e.sql,params:e.args}),a})}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();function Li(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}u();c();p();m();d();l();var M={Int32:0,Int64:1,Float:2,Double:3,Numeric:4,Boolean:5,Character:6,Text:7,Date:8,Time:9,DateTime:10,Json:11,Enum:12,Bytes:13,Set:14,Uuid:15,Int32Array:64,Int64Array:65,FloatArray:66,DoubleArray:67,NumericArray:68,BooleanArray:69,CharacterArray:70,TextArray:71,DateArray:72,TimeArray:73,DateTimeArray:74,JsonArray:75,EnumArray:76,BytesArray:77,UuidArray:78,UnknownNumber:128};var ke=class extends Error{name="UserFacingError";code;meta;constructor(t,r,n){super(t),this.code=r,this.meta=n??{}}toQueryResponseErrorObject(){return{error:this.message,user_facing_error:{is_panic:!1,message:this.message,meta:this.meta,error_code:this.code}}}};function qa(e){if(!Li(e))throw e;let t=dm(e),r=fm(e);throw!t||!r?e:new ke(r,t,{driverAdapterError:e})}function dm(e){switch(e.cause.kind){case"AuthenticationFailed":return"P1000";case"DatabaseDoesNotExist":return"P1003";case"SocketTimeout":return"P1008";case"DatabaseAlreadyExists":return"P1009";case"DatabaseAccessDenied":return"P1010";case"TransactionAlreadyClosed":return"P1018";case"LengthMismatch":return"P2000";case"UniqueConstraintViolation":return"P2002";case"ForeignKeyConstraintViolation":return"P2003";case"UnsupportedNativeDataType":return"P2010";case"NullConstraintViolation":return"P2011";case"ValueOutOfRange":return"P2020";case"TableDoesNotExist":return"P2021";case"ColumnNotFound":return"P2022";case"InvalidIsolationLevel":case"InconsistentColumnData":return"P2023";case"MissingFullTextSearchIndex":return"P2030";case"TransactionWriteConflict":return"P2034";case"GenericJs":return"P2036";case"TooManyConnections":return"P2037";case"postgres":case"sqlite":case"mysql":case"mssql":return;default:Q(e.cause,`Unknown error: ${e.cause}`)}}function fm(e){switch(e.cause.kind){case"AuthenticationFailed":return`Authentication failed against the database server, the provided database credentials for \`${e.cause.user??"(not available)"}\` are not valid`;case"DatabaseDoesNotExist":return`Database \`${e.cause.db??"(not available)"}\` does not exist on the database server`;case"SocketTimeout":return"Operation has timed out";case"DatabaseAlreadyExists":return`Database \`${e.cause.db??"(not available)"}\` already exists on the database server`;case"DatabaseAccessDenied":return`User was denied access on the database \`${e.cause.db??"(not available)"}\``;case"TransactionAlreadyClosed":return e.cause.cause;case"LengthMismatch":return`The provided value for the column is too long for the column's type. Column: ${e.cause.column??"(not available)"}`;case"UniqueConstraintViolation":return`Unique constraint failed on the ${Ui(e.cause.constraint)}`;case"ForeignKeyConstraintViolation":return`Foreign key constraint violated on the ${Ui(e.cause.constraint)}`;case"UnsupportedNativeDataType":return`Failed to deserialize column of type '${e.cause.type}'. If you're using $queryRaw and this column is explicitly marked as \`Unsupported\` in your Prisma schema, try casting this column to any supported Prisma type such as \`String\`.`;case"NullConstraintViolation":return`Null constraint violation on the ${Ui(e.cause.constraint)}`;case"ValueOutOfRange":return`Value out of range for the type: ${e.cause.cause}`;case"TableDoesNotExist":return`The table \`${e.cause.table??"(not available)"}\` does not exist in the current database.`;case"ColumnNotFound":return`The column \`${e.cause.column??"(not available)"}\` does not exist in the current database.`;case"InvalidIsolationLevel":return`Invalid isolation level \`${e.cause.level}\``;case"InconsistentColumnData":return`Inconsistent column data: ${e.cause.cause}`;case"MissingFullTextSearchIndex":return"Cannot find a fulltext index to use for the native search, try adding a @@fulltext([Fields...]) to your schema";case"TransactionWriteConflict":return"Transaction failed due to a write conflict or a deadlock. Please retry your transaction";case"GenericJs":return`Error in external connector (id ${e.cause.id})`;case"TooManyConnections":return`Too many database connections opened: ${e.cause.cause}`;case"sqlite":case"postgres":case"mysql":case"mssql":return;default:Q(e.cause,`Unknown error: ${e.cause}`)}}function Ui(e){return e&&"fields"in e?`fields: (${e.fields.map(t=>`\`${t}\``).join(", ")})`:e&&"index"in e?`constraint: \`${e.index}\``:e&&"foreignKey"in e?"foreign key":"(not available)"}u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();u();c();p();m();d();l();function tt(e,t){var r="000000000"+e;return r.substr(r.length-t)}var Ba=_e(os(),1);function gm(){try{return Ba.default.hostname()}catch{return g.env._CLUSTER_NETWORK_NAME_||g.env.COMPUTERNAME||"hostname"}}var ja=2,ym=tt(g.pid.toString(36),ja),Qa=gm(),hm=Qa.length,wm=tt(Qa.split("").reduce(function(e,t){return+e+t.charCodeAt(0)},+hm+36).toString(36),ja);function Fi(){return ym+wm}u();c();p();m();d();l();u();c();p();m();d();l();function On(e){return typeof e=="string"&&/^c[a-z0-9]{20,32}$/.test(e)}function $i(e){let n=Math.pow(36,4),i=0;function o(){return tt((Math.random()*n<<0).toString(36),4)}function s(){return i=int.length&&(Wt.getRandomValues(nt),_t=0),_t+=e}function Ji(e=21){sd(e|=0);let t="";for(let r=_t-e;r<_t;r++)t+=Ll[nt[r]&63];return t}u();c();p();m();d();l();Xe();var Fl="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Pr=32;var ad=16,$l=10,Ul=0xffffffffffff;var it;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(it||(it={}));var ot=class extends Error{constructor(t,r){super(`${r} (${t})`),this.name="ULIDError",this.code=t}};function ld(e){let t=Math.floor(e()*Pr);return t===Pr&&(t=Pr-1),Fl.charAt(t)}function ud(e){let t=cd(),r=t&&(t.crypto||t.msCrypto)||(typeof yt<"u"?yt:null);if(typeof r?.getRandomValues=="function")return()=>{let n=new Uint8Array(1);return r.getRandomValues(n),n[0]/255};if(typeof r?.randomBytes=="function")return()=>r.randomBytes(1).readUInt8()/255;if(yt?.randomBytes)return()=>yt.randomBytes(1).readUInt8()/255;throw new ot(it.PRNGDetectFailure,"Failed to find a reliable PRNG")}function cd(){return dd()?self:typeof window<"u"?window:typeof globalThis<"u"||typeof globalThis<"u"?globalThis:null}function pd(e,t){let r="";for(;e>0;e--)r=ld(t)+r;return r}function md(e,t=$l){if(isNaN(e))throw new ot(it.EncodeTimeValueMalformed,`Time must be a number: ${e}`);if(e>Ul)throw new ot(it.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Ul}: ${e}`);if(e<0)throw new ot(it.EncodeTimeNegative,`Time must be positive: ${e}`);if(Number.isInteger(e)===!1)throw new ot(it.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let r,n="";for(let i=t;i>0;i--)r=e%Pr,n=Fl.charAt(r)+n,e=(e-r)/Pr;return n}function dd(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Vl(e,t){let r=t||ud(),n=!e||isNaN(e)?Date.now():e;return md(n,$l)+pd(ad,r)}u();c();p();m();d();l();u();c();p();m();d();l();var ie=[];for(let e=0;e<256;++e)ie.push((e+256).toString(16).slice(1));function Mn(e,t=0){return(ie[e[t+0]]+ie[e[t+1]]+ie[e[t+2]]+ie[e[t+3]]+"-"+ie[e[t+4]]+ie[e[t+5]]+"-"+ie[e[t+6]]+ie[e[t+7]]+"-"+ie[e[t+8]]+ie[e[t+9]]+"-"+ie[e[t+10]]+ie[e[t+11]]+ie[e[t+12]]+ie[e[t+13]]+ie[e[t+14]]+ie[e[t+15]]).toLowerCase()}u();c();p();m();d();l();Xe();var Ln=new Uint8Array(256),Nn=Ln.length;function Mt(){return Nn>Ln.length-16&&(en(Ln),Nn=0),Ln.slice(Nn,Nn+=16)}u();c();p();m();d();l();u();c();p();m();d();l();Xe();var Ki={randomUUID:Xr};function fd(e,t,r){if(Ki.randomUUID&&!t&&!e)return Ki.randomUUID();e=e||{};let n=e.random??e.rng?.()??Mt();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Mn(n)}var zi=fd;u();c();p();m();d();l();var Yi={};function gd(e,t,r){let n;if(e)n=ql(e.random??e.rng?.()??Mt(),e.msecs,e.seq,t,r);else{let i=Date.now(),o=Mt();yd(Yi,i,o),n=ql(o,Yi.msecs,Yi.seq,t,r)}return t??Mn(n)}function yd(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function ql(e,t,r,n,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),i=0;else if(i<0||i+16>n.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],n[i++]=t/1099511627776&255,n[i++]=t/4294967296&255,n[i++]=t/16777216&255,n[i++]=t/65536&255,n[i++]=t/256&255,n[i++]=t&255,n[i++]=112|r>>>28&15,n[i++]=r>>>20&255,n[i++]=128|r>>>14&63,n[i++]=r>>>6&255,n[i++]=r<<2&255|e[10]&3,n[i++]=e[11],n[i++]=e[12],n[i++]=e[13],n[i++]=e[14],n[i++]=e[15],n}var Zi=gd;var Un=class{#e={};constructor(){this.register("uuid",new to),this.register("cuid",new ro),this.register("ulid",new no),this.register("nanoid",new io),this.register("product",new oo)}snapshot(t){return Object.create(this.#e,{now:{value:t==="mysql"?new eo:new Xi}})}register(t,r){this.#e[t]=r}},Xi=class{#e=new Date;generate(){return this.#e.toISOString()}},eo=class{#e=new Date;generate(){return this.#e.toISOString().replace("T"," ").replace("Z","")}},to=class{generate(t){if(t===4)return zi();if(t===7)return Zi();throw new Error("Invalid UUID generator arguments")}},ro=class{generate(t){if(t===1)return Ga();if(t===2)return(0,Bl.createId)();throw new Error("Invalid CUID generator arguments")}},no=class{generate(){return Vl()}},io=class{generate(t){if(typeof t=="number")return Ji(t);if(t===void 0)return Ji();throw new Error("Invalid Nanoid generator arguments")}},oo=class{generate(t,r){if(t===void 0||r===void 0)throw new Error("Invalid Product generator arguments");return Array.isArray(t)&&Array.isArray(r)?t.flatMap(n=>r.map(i=>[n,i])):Array.isArray(t)?t.map(n=>[n,r]):Array.isArray(r)?r.map(n=>[t,n]):[[t,r]]}};u();c();p();m();d();l();u();c();p();m();d();l();function so(e){return typeof e=="object"&&e!==null&&e.prisma__type==="param"}function ao(e){return typeof e=="object"&&e!==null&&e.prisma__type==="generatorCall"}function jl(e){return typeof e=="object"&&e!==null&&e.prisma__type==="bytes"}function Ql(e){return typeof e=="object"&&e!==null&&e.prisma__type==="bigint"}function uo(e,t,r){let n=e.type;switch(n){case"rawSql":return Hl(e.sql,Gl(e.params,t,r));case"templateSql":return hd(e.fragments,e.placeholderFormat,Gl(e.params,t,r));default:Q(n,"Invalid query type")}}function Gl(e,t,r){return e.map(n=>Te(n,t,r))}function Te(e,t,r){let n=e;for(;bd(n);)if(so(n)){let i=t[n.prisma__value.name];if(i===void 0)throw new Error(`Missing value for query variable ${n.prisma__value.name}`);n=i}else if(ao(n)){let{name:i,args:o}=n.prisma__value,s=r[i];if(!s)throw new Error(`Encountered an unknown generator '${i}'`);n=s.generate(...o.map(a=>Te(a,t,r)))}else Q(n,`Unexpected unevaluated value type: ${n}`);return Array.isArray(n)?n=n.map(i=>Te(i,t,r)):jl(n)?n=y.from(n.prisma__value,"base64"):Ql(n)&&(n=BigInt(n.prisma__value)),n}function hd(e,t,r){let n=0,i=1,o=[],s=e.map(a=>{let f=a.type;switch(f){case"parameter":if(n>=r.length)throw new Error(`Malformed query template. Fragments attempt to read over ${r.length} parameters.`);return o.push(r[n++]),lo(t,i++);case"stringChunk":return a.chunk;case"parameterTuple":{if(n>=r.length)throw new Error(`Malformed query template. Fragments attempt to read over ${r.length} parameters.`);let w=r[n++],v=Array.isArray(w)?w:[w];return`(${v.length==0?"NULL":v.map(R=>(o.push(R),lo(t,i++))).join(",")})`}case"parameterTupleList":{if(n>=r.length)throw new Error(`Malformed query template. Fragments attempt to read over ${r.length} parameters.`);let w=r[n++];if(!Array.isArray(w))throw new Error("Malformed query template. Tuple list expected.");if(w.length===0)throw new Error("Malformed query template. Tuple list cannot be empty.");return w.map(A=>{if(!Array.isArray(A))throw new Error("Malformed query template. Tuple expected.");let R=A.map(C=>(o.push(C),lo(t,i++))).join(a.itemSeparator);return`${a.itemPrefix}${R}${a.itemSuffix}`}).join(a.groupSeparator)}default:Q(f,"Invalid fragment type")}}).join("");return Hl(s,o)}function lo(e,t){return e.hasNumbering?`${e.prefix}${t}`:e.prefix}function Hl(e,t){let r=t.map(n=>wd(n));return{sql:e,args:t,argTypes:r}}function wd(e){return typeof e=="string"?"Text":typeof e=="number"?"Numeric":typeof e=="boolean"?"Boolean":Array.isArray(e)?"Array":y.isBuffer(e)?"Bytes":"Unknown"}function bd(e){return so(e)||ao(e)}u();c();p();m();d();l();function Jl(e){let t=e.columnTypes.map(r=>{switch(r){case M.Bytes:return n=>Array.isArray(n)?new Uint8Array(n):n;default:return n=>n}});return e.rows.map(r=>r.map((n,i)=>t[i](n)).reduce((n,i,o)=>{let s=e.columnNames[o].split("."),a=n;for(let f=0;fWl(n)).map(n=>{switch(n){case"bytes":return i=>Array.isArray(i)?new Uint8Array(i):i;case"int":return i=>i===null?null:typeof i=="number"?i:parseInt(`${i}`,10);case"bigint":return i=>i===null?null:typeof i=="bigint"?i:BigInt(`${i}`);case"json":return i=>typeof i=="string"?JSON.parse(i):i;case"bool":return i=>typeof i=="string"?i==="true"||i==="1":typeof i=="number"?i===1:i;default:return i=>i}});return{columns:e.columnNames,types:e.columnTypes.map(n=>Wl(n)),rows:e.rows.map(n=>n.map((i,o)=>r[o](i)))}}function Wl(e){switch(e){case M.Int32:return"int";case M.Int64:return"bigint";case M.Float:return"float";case M.Double:return"double";case M.Text:return"string";case M.Enum:return"enum";case M.Bytes:return"bytes";case M.Boolean:return"bool";case M.Character:return"char";case M.Numeric:return"decimal";case M.Json:return"json";case M.Uuid:return"uuid";case M.DateTime:return"datetime";case M.Date:return"date";case M.Time:return"time";case M.Int32Array:return"int-array";case M.Int64Array:return"bigint-array";case M.FloatArray:return"float-array";case M.DoubleArray:return"double-array";case M.TextArray:return"string-array";case M.EnumArray:return"string-array";case M.BytesArray:return"bytes-array";case M.BooleanArray:return"bool-array";case M.CharacterArray:return"char-array";case M.NumericArray:return"decimal-array";case M.JsonArray:return"json-array";case M.UuidArray:return"uuid-array";case M.DateTimeArray:return"datetime-array";case M.DateArray:return"date-array";case M.TimeArray:return"time-array";case M.UnknownNumber:return"unknown";case M.Set:return"string";default:Q(e,`Unexpected column type: ${e}`)}}u();c();p();m();d();l();function zl(e,t,r){if(!t.every(n=>co(e,n))){let n=Ed(e,r),i=xd(r);throw new ke(n,i,r.context)}}function co(e,t){switch(t.type){case"rowCountEq":return Array.isArray(e)?e.length===t.args:e===null?t.args===0:t.args===1;case"rowCountNeq":return Array.isArray(e)?e.length!==t.args:e===null?t.args!==0:t.args!==1;case"affectedRowCountEq":return e===t.args;case"never":return!1;default:Q(t,`Unknown rule type: ${t.type}`)}}function Ed(e,t){switch(t.error_identifier){case"RELATION_VIOLATION":return`The change you are trying to make would violate the required relation '${t.context.relation}' between the \`${t.context.modelA}\` and \`${t.context.modelB}\` models.`;case"MISSING_RECORD":return`An operation failed because it depends on one or more records that were required but not found. No record was found for ${t.context.operation}.`;case"MISSING_RELATED_RECORD":{let r=t.context.neededFor?` (needed to ${t.context.neededFor})`:"";return`An operation failed because it depends on one or more records that were required but not found. No '${t.context.model}' record${r} was found for ${t.context.operation} on ${t.context.relationType} relation '${t.context.relation}'.`}case"INCOMPLETE_CONNECT_INPUT":return`An operation failed because it depends on one or more records that were required but not found. Expected ${t.context.expectedRows} records to be connected, found only ${Array.isArray(e)?e.length:e}.`;case"INCOMPLETE_CONNECT_OUTPUT":return`The required connected records were not found. Expected ${t.context.expectedRows} records to be connected after connect operation on ${t.context.relationType} relation '${t.context.relation}', found ${Array.isArray(e)?e.length:e}.`;case"RECORDS_NOT_CONNECTED":return`The records for relation \`${t.context.relation}\` between the \`${t.context.parent}\` and \`${t.context.child}\` models are not connected.`;default:Q(t,`Unknown error identifier: ${t}`)}}function xd(e){switch(e.error_identifier){case"RELATION_VIOLATION":return"P2014";case"RECORDS_NOT_CONNECTED":return"P2017";case"INCOMPLETE_CONNECT_OUTPUT":return"P2018";case"MISSING_RECORD":case"MISSING_RELATED_RECORD":case"INCOMPLETE_CONNECT_INPUT":return"P2025";default:Q(e,`Unknown error identifier: ${e}`)}}var Nt=class e{#e;#t;#r;#s=new Un;#i;#n;#a;constructor({transactionManager:t,placeholderValues:r,onQuery:n,tracingHelper:i,serializer:o,rawSerializer:s}){this.#e=t,this.#t=r,this.#r=n,this.#i=i,this.#n=o,this.#a=s??o}static forSql(t){return new e({transactionManager:t.transactionManager,placeholderValues:t.placeholderValues,onQuery:t.onQuery,tracingHelper:t.tracingHelper,serializer:Jl,rawSerializer:Kl})}async run(t,r){let{value:n}=await this.interpretNode(t,r,this.#t,this.#s.snapshot(r.provider)).catch(i=>qa(i));return n}async interpretNode(t,r,n,i){switch(t.type){case"value":return{value:Te(t.args,n,i)};case"seq":{let o;for(let s of t.args)o=await this.interpretNode(s,r,n,i);return o??{value:void 0}}case"get":return{value:n[t.args.name]};case"let":{let o=Object.create(n);for(let s of t.args.bindings){let{value:a}=await this.interpretNode(s.expr,r,o,i);o[s.name]=a}return this.interpretNode(t.args.expr,r,o,i)}case"getFirstNonEmpty":{for(let o of t.args.names){let s=n[o];if(!Yl(s))return{value:s}}return{value:[]}}case"concat":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>s.concat(Tr(a)),[]):[]}}case"sum":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>De(s)+De(a)):0}}case"execute":{let o=uo(t.args,n,i);return this.#l(o,r,async()=>({value:await r.executeRaw(o)}))}case"query":{let o=uo(t.args,n,i);return this.#l(o,r,async()=>{let s=await r.queryRaw(o);return t.args.type==="rawSql"?{value:this.#a(s),lastInsertId:s.lastInsertId}:{value:this.#n(s),lastInsertId:s.lastInsertId}})}case"reverse":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);return{value:Array.isArray(o)?o.reverse():o,lastInsertId:s}}case"unique":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(!Array.isArray(o))return{value:o,lastInsertId:s};if(o.length>1)throw new Error(`Expected zero or one element, got ${o.length}`);return{value:o[0]??null,lastInsertId:s}}case"required":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(Yl(o))throw new Error("Required value is empty");return{value:o,lastInsertId:s}}case"mapField":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.records,r,n,i);return{value:Xl(o,t.args.field),lastInsertId:s}}case"join":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.parent,r,n,i);if(o===null)return{value:null,lastInsertId:s};let a=await Promise.all(t.args.children.map(async f=>({joinExpr:f,childRecords:(await this.interpretNode(f.child,r,n,i)).value})));return{value:Pd(o,a),lastInsertId:s}}case"transaction":{if(!this.#e.enabled)return this.interpretNode(t.args,r,n,i);let o=this.#e.manager,s=await o.startTransaction(),a=o.getTransaction(s,"query");try{let f=await this.interpretNode(t.args,a,n,i);return await o.commitTransaction(s.id),f}catch(f){throw await o.rollbackTransaction(s.id),f}}case"dataMap":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:Va(o,t.args.structure,t.args.enums),lastInsertId:s}}case"validate":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return zl(o,t.args.rules,t.args),{value:o,lastInsertId:s}}case"if":{let{value:o}=await this.interpretNode(t.args.value,r,n,i);return co(o,t.args.rule)?await this.interpretNode(t.args.then,r,n,i):await this.interpretNode(t.args.else,r,n,i)}case"unit":return{value:void 0};case"diff":{let{value:o}=await this.interpretNode(t.args.from,r,n,i),{value:s}=await this.interpretNode(t.args.to,r,n,i),a=new Set(Tr(s));return{value:Tr(o).filter(f=>!a.has(f))}}case"distinctBy":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i),a=new Set,f=[];for(let w of Tr(o)){let v=Fn(w,t.args.fields);a.has(v)||(a.add(v),f.push(w))}return{value:f,lastInsertId:s}}case"paginate":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i),a=Tr(o),f=t.args.pagination.linkingFields;if(f!==null){let w=new Map;for(let A of a){let R=Fn(A,f);w.has(R)||w.set(R,[]),w.get(R).push(A)}let v=Array.from(w.entries());return v.sort(([A],[R])=>AR?1:0),{value:v.flatMap(([,A])=>Zl(A,t.args.pagination)),lastInsertId:s}}return{value:Zl(a,t.args.pagination),lastInsertId:s}}case"initializeRecord":{let{lastInsertId:o}=await this.interpretNode(t.args.expr,r,n,i),s={};for(let[a,f]of Object.entries(t.args.fields))s[a]=Td(f,o,n,i);return{value:s,lastInsertId:o}}case"mapRecord":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i),a=o===null?{}:po(o);for(let[f,w]of Object.entries(t.args.fields))a[f]=vd(w,a[f],n,i);return{value:a,lastInsertId:s}}default:Q(t,`Unexpected node type: ${t.type}`)}}#l(t,r,n){return In({query:t,queryable:r,execute:n,tracingHelper:this.#i,onQuery:this.#r})}};function Yl(e){return Array.isArray(e)?e.length===0:e==null}function Tr(e){return Array.isArray(e)?e:[e]}function De(e){if(typeof e=="number")return e;if(typeof e=="string")return Number(e);throw new Error(`Expected number, got ${typeof e}`)}function po(e){if(typeof e=="object"&&e!==null)return e;throw new Error(`Expected object, got ${typeof e}`)}function Xl(e,t){return Array.isArray(e)?e.map(r=>Xl(r,t)):typeof e=="object"&&e!==null?e[t]??null:e}function Pd(e,t){for(let{joinExpr:r,childRecords:n}of t){let i=r.on.map(([a])=>a),o=r.on.map(([,a])=>a),s={};for(let a of Array.isArray(e)?e:[e]){let f=po(a),w=Fn(f,i);s[w]||(s[w]=[]),s[w].push(f),r.isRelationUnique?f[r.parentField]=null:f[r.parentField]=[]}for(let a of Array.isArray(n)?n:[n]){if(a===null)continue;let f=Fn(po(a),o);for(let w of s[f]??[])r.isRelationUnique?w[r.parentField]=a:w[r.parentField].push(a)}}return e}function Zl(e,{cursor:t,skip:r,take:n}){let i=t!==null?e.findIndex(a=>fr(a,t)):0;if(i===-1)return[];let o=i+(r??0),s=n!==null?o+n:e.length;return e.slice(o,s)}function Fn(e,t){return JSON.stringify(t.map(r=>e[r]))}function Td(e,t,r,n){switch(e.type){case"value":return Te(e.value,r,n);case"lastInsertId":return t;default:Q(e,`Unexpected field initializer type: ${e.type}`)}}function vd(e,t,r,n){switch(e.type){case"set":return Te(e.value,r,n);case"add":return De(t)+De(Te(e.value,r,n));case"subtract":return De(t)-De(Te(e.value,r,n));case"multiply":return De(t)*De(Te(e.value,r,n));case"divide":{let i=De(t),o=De(Te(e.value,r,n));return o===0?null:i/o}default:Q(e,`Unexpected field operation type: ${e.type}`)}}u();c();p();m();d();l();u();c();p();m();d();l();async function Ad(){return globalThis.crypto??await Promise.resolve().then(()=>(Xe(),ui))}async function eu(){return(await Ad()).randomUUID()}u();c();p();m();d();l();var we=class extends ke{name="TransactionManagerError";constructor(t,r){super("Transaction API error: "+t,"P2028",r)}},vr=class extends we{constructor(){super("Transaction not found. Transaction ID is invalid, refers to an old closed transaction Prisma doesn't have information about anymore, or was obtained before disconnecting.")}},$n=class extends we{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a committed transaction.`)}},Vn=class extends we{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a transaction that was rolled back.`)}},qn=class extends we{constructor(){super("Unable to start a transaction in the given time.")}},Bn=class extends we{constructor(t,{timeout:r,timeTaken:n}){super(`A ${t} cannot be executed on an expired transaction. The timeout for this transaction was ${r} ms, however ${n} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction`,{operation:t,timeout:r,timeTaken:n})}},Lt=class extends we{constructor(t){super(`Internal Consistency Error: ${t}`)}},jn=class extends we{constructor(t){super(`Invalid isolation level: ${t}`,{isolationLevel:t})}};var Cd=100,Ar=J("prisma:client:transactionManager"),Rd=()=>({sql:"COMMIT",args:[],argTypes:[]}),Sd=()=>({sql:"ROLLBACK",args:[],argTypes:[]}),Id=()=>({sql:'-- Implicit "COMMIT" query via underlying driver',args:[],argTypes:[]}),Od=()=>({sql:'-- Implicit "ROLLBACK" query via underlying driver',args:[],argTypes:[]}),Cr=class{transactions=new Map;closedTransactions=[];driverAdapter;transactionOptions;tracingHelper;#e;constructor({driverAdapter:t,transactionOptions:r,tracingHelper:n,onQuery:i}){this.driverAdapter=t,this.transactionOptions=r,this.tracingHelper=n,this.#e=i}async startTransaction(t){return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#t(t))}async#t(t){let r=t!==void 0?this.validateOptions(t):this.transactionOptions,n={id:await eu(),status:"waiting",timer:void 0,timeout:r.timeout,startedAt:Date.now(),transaction:void 0};this.transactions.set(n.id,n);let i=setTimeout(()=>n.status="timed_out",r.maxWait);switch(n.transaction=await this.driverAdapter.startTransaction(r.isolationLevel),clearTimeout(i),n.status){case"waiting":return n.status="running",n.timer=this.startTransactionTimeout(n.id,r.timeout),{id:n.id};case"timed_out":throw await this.closeTransaction(n,"timed_out"),new qn;case"running":case"committed":case"rolled_back":throw new Lt(`Transaction in invalid state ${n.status} although it just finished startup.`);default:Q(n.status,"Unknown transaction status.")}}async commitTransaction(t){return await this.tracingHelper.runInChildSpan("commit_transaction",async()=>{let r=this.getActiveTransaction(t,"commit");await this.closeTransaction(r,"committed")})}async rollbackTransaction(t){return await this.tracingHelper.runInChildSpan("rollback_transaction",async()=>{let r=this.getActiveTransaction(t,"rollback");await this.closeTransaction(r,"rolled_back")})}getTransaction(t,r){let n=this.getActiveTransaction(t.id,r);if(!n.transaction)throw new vr;return n.transaction}getActiveTransaction(t,r){let n=this.transactions.get(t);if(!n){let i=this.closedTransactions.find(o=>o.id===t);if(i)switch(Ar("Transaction already closed.",{transactionId:t,status:i.status}),i.status){case"waiting":case"running":throw new Lt("Active transaction found in closed transactions list.");case"committed":throw new $n(r);case"rolled_back":throw new Vn(r);case"timed_out":throw new Bn(r,{timeout:i.timeout,timeTaken:Date.now()-i.startedAt})}else throw Ar("Transaction not found.",t),new vr}if(["committed","rolled_back","timed_out"].includes(n.status))throw new Lt("Closed transaction found in active transactions map.");return n}async cancelAllTransactions(){await Promise.allSettled([...this.transactions.values()].map(t=>this.closeTransaction(t,"rolled_back")))}startTransactionTimeout(t,r){let n=Date.now();return setTimeout(async()=>{Ar("Transaction timed out.",{transactionId:t,timeoutStartedAt:n,timeout:r});let i=this.transactions.get(t);i&&["running","waiting"].includes(i.status)?await this.closeTransaction(i,"timed_out"):Ar("Transaction already committed or rolled back when timeout happened.",t)},r)}async closeTransaction(t,r){Ar("Closing transaction.",{transactionId:t.id,status:r}),t.status=r;try{if(t.transaction&&r==="committed")if(t.transaction.options.usePhantomQuery)await this.#r(Id(),t.transaction,()=>t.transaction.commit());else{let n=Rd();await this.#r(n,t.transaction,()=>t.transaction.executeRaw(n)),await t.transaction.commit()}else if(t.transaction)if(t.transaction.options.usePhantomQuery)await this.#r(Od(),t.transaction,()=>t.transaction.rollback());else{let n=Sd();await this.#r(n,t.transaction,()=>t.transaction.executeRaw(n)),await t.transaction.rollback()}}finally{clearTimeout(t.timer),t.timer=void 0,this.transactions.delete(t.id),this.closedTransactions.push(t),this.closedTransactions.length>Cd&&this.closedTransactions.shift()}}validateOptions(t){if(!t.timeout)throw new we("timeout is required");if(!t.maxWait)throw new we("maxWait is required");if(t.isolationLevel==="SNAPSHOT")throw new jn(t.isolationLevel);return{...t,timeout:t.timeout,maxWait:t.maxWait}}#r(t,r,n){return In({query:t,queryable:r,execute:n,tracingHelper:this.tracingHelper,onQuery:this.#e})}};var Qn="6.11.1";u();c();p();m();d();l();var mo,tu={async loadQueryCompiler(e){let{clientVersion:t,adapter:r,compilerWasm:n}=e;if(r===void 0)throw new L(`The \`adapter\` option for \`PrismaClient\` is required in this context (${Qe().prettyName})`,t);if(n===void 0)throw new L("WASM query compiler was unexpectedly `undefined`",t);return mo===void 0&&(mo=(async()=>{let i=await n.getRuntime(),o=await n.getQueryCompilerWasmModule();if(o==null)throw new L("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",t);let s={"./query_compiler_bg.js":i},a=new WebAssembly.Instance(o,s),f=a.exports.__wbindgen_start;return i.__wbg_set_wasm(a.exports),f(),i.QueryCompiler})()),await mo}};var ru="P2038",Rr=J("prisma:client:clientEngine"),iu=globalThis;iu.PRISMA_WASM_PANIC_REGISTRY={set_message(e){throw new ae(e,Qn)}};var Sr=class{name="ClientEngine";#e;#t={type:"disconnected"};#r;#s;config;datamodel;logEmitter;logQueries;logLevel;tracingHelper;#i;constructor(t,r){if(!t.previewFeatures?.includes("driverAdapters"))throw new L("EngineType `client` requires the driverAdapters preview feature to be enabled.",t.clientVersion,ru);if(t.adapter)this.#r=t.adapter,Rr("Using driver adapter: %O",t.adapter);else throw new L("Missing configured driver adapter. Engine type `client` requires an active driver adapter. Please check your PrismaClient initialization code.",t.clientVersion,ru);this.#s=r??tu,this.config=t,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug"),this.logQueries&&(this.#i=n=>{this.logEmitter.emit("query",{...n,params:gr(n.params),target:"ClientEngine"})})}applyPendingMigrations(){throw new Error("Cannot call applyPendingMigrations on engine type client.")}async#n(){switch(this.#t.type){case"disconnected":{let t=this.tracingHelper.runInChildSpan("connect",async()=>{let r,n,i;try{r=await this.#r.connect(),n=this.#a(r),i=await this.#l(r)}catch(s){throw this.#t={type:"disconnected"},i?.free(),await r?.dispose(),s}let o={driverAdapter:r,transactionManager:n,queryCompiler:i};return this.#t={type:"connected",engine:o},o});return this.#t={type:"connecting",promise:t},await t}case"connecting":return await this.#t.promise;case"connected":return this.#t.engine;case"disconnecting":return await this.#t.promise,await this.#n()}}#a(t){return new Cr({driverAdapter:t,transactionOptions:{...this.config.transactionOptions,isolationLevel:this.#p(this.config.transactionOptions.isolationLevel)},tracingHelper:this.tracingHelper,onQuery:this.#i})}async#l(t){let r=this.#e;r===void 0&&(r=await this.#s.loadQueryCompiler(this.config),this.#e=r);let n=t?.getConnectionInfo?.()??{supportsRelationJoins:!1};try{return this.#c(()=>new r({datamodel:this.datamodel,provider:this.#r.provider,connectionInfo:n}),void 0,!1)}catch(i){throw this.#m(i)}}#m(t){if(t instanceof ae)return t;try{let r=JSON.parse(t.message);return new L(r.message,this.config.clientVersion,r.error_code)}catch{return t}}#o(t,r){if(t instanceof L)return t;if(t.code==="GenericFailure"&&t.message?.startsWith("PANIC:"))return new ae(nu(this,t.message,r),this.config.clientVersion);if(t instanceof ke)return new X(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion});try{let n=JSON.parse(t);return new oe(`${n.message} +${n.backtrace}`,{clientVersion:this.config.clientVersion})}catch{return t}}#u(t){return t instanceof ae?t:typeof t.message=="string"&&typeof t.code=="string"?new X(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion}):t}#c(t,r,n=!0){let i=iu.PRISMA_WASM_PANIC_REGISTRY.set_message,o;globalThis.PRISMA_WASM_PANIC_REGISTRY.set_message=s=>{o=s};try{return t()}finally{if(globalThis.PRISMA_WASM_PANIC_REGISTRY.set_message=i,o)throw this.#e=void 0,n&&this.stop().catch(s=>Rr("failed to disconnect:",s)),new ae(nu(this,o,r),this.config.clientVersion)}}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the client engine, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){await this.#n()}async stop(){switch(this.#t.type){case"disconnected":return;case"connecting":return await this.#t.promise,await this.stop();case"connected":{let t=this.#t.engine,r=this.tracingHelper.runInChildSpan("disconnect",async()=>{try{await t.transactionManager.cancelAllTransactions(),await t.driverAdapter.dispose(),t.queryCompiler.free()}finally{this.#t={type:"disconnected"}}});return this.#t={type:"disconnecting",promise:r},await r}case"disconnecting":return await this.#t.promise}}version(){return"unknown"}async transaction(t,r,n){let i,{transactionManager:o}=await this.#n();try{if(t==="start"){let s=n;i=await o.startTransaction({...s,isolationLevel:this.#p(s.isolationLevel)})}else if(t==="commit"){let s=n;await o.commitTransaction(s.id)}else if(t==="rollback"){let s=n;await o.rollbackTransaction(s.id)}else xe(t,"Invalid transaction action.")}catch(s){throw this.#o(s)}return i?{id:i.id,payload:void 0}:void 0}async request(t,{interactiveTransaction:r}){Rr("sending request");let n=JSON.stringify(t),{driverAdapter:i,transactionManager:o,queryCompiler:s}=await this.#n().catch(f=>{throw this.#o(f,n)}),a;try{a=this.#c(()=>s.compile(n),n)}catch(f){throw this.#u(f)}try{Rr("query plan created",a);let f=r?o.getTransaction(r,"query"):i,w=r?{enabled:!1}:{enabled:!0,manager:o},v={},R=await Nt.forSql({transactionManager:w,placeholderValues:v,onQuery:this.#i,tracingHelper:this.tracingHelper}).run(a,f);return Rr("query plan executed"),{data:{[t.action]:R}}}catch(f){throw this.#o(f,n)}}async requestBatch(t,{transaction:r,traceparent:n}){if(t.length===0)return[];let i=t[0].action,o=JSON.stringify(It(t,r)),{transactionManager:s,queryCompiler:a}=await this.#n().catch(w=>{throw this.#o(w,o)}),f;try{f=a.compileBatch(o)}catch(w){throw this.#u(w)}try{let w;if(r?.kind==="itx")w=r.options;else{let D=r?.options.isolationLevel?{...this.config.transactionOptions,isolationLevel:r.options.isolationLevel}:this.config.transactionOptions;w=await this.transaction("start",{},D)}let v={},A=Nt.forSql({transactionManager:{enabled:!1},placeholderValues:v,onQuery:this.#i,tracingHelper:this.tracingHelper}),R=s.getTransaction(w,"batch query"),C=[];switch(f.type){case"multi":{C=await Promise.all(f.plans.map((D,I)=>A.run(D,R).then(_=>({data:{[t[I].action]:_}}),_=>_)));break}case"compacted":{if(!t.every(I=>I.action===i))throw new Error("All queries in a batch must have the same action");let D=await A.run(f.plan,R);C=this.#d(D,f,i);break}}return r?.kind!=="itx"&&await this.transaction("commit",{},w),C}catch(w){throw this.#o(w,o)}}metrics(t){throw new Error("Method not implemented.")}#d(t,r,n){let i=t.map(s=>r.keys.reduce((a,f)=>(a[f]=Ve(s[f]),a),{})),o=new Set(r.nestedSelection);return r.arguments.map(s=>{let a=i.findIndex(f=>fr(f,s));if(a===-1)return r.expectNonEmpty?new X("An operation failed because it depends on one or more records that were required but not found",{code:"P2025",clientVersion:this.config.clientVersion}):{data:{[n]:null}};{let f=Object.entries(t[a]).filter(([w])=>o.has(w));return{data:{[n]:Object.fromEntries(f)}}}})}#p(t){switch(t){case void 0:return;case"ReadUncommitted":return"READ UNCOMMITTED";case"ReadCommitted":return"READ COMMITTED";case"RepeatableRead":return"REPEATABLE READ";case"Serializable":return"SERIALIZABLE";case"Snapshot":return"SNAPSHOT";default:throw new X(`Inconsistent column data: Conversion failed: Invalid isolation level \`${t}\``,{code:"P2023",clientVersion:this.config.clientVersion,meta:{providedIsolationLevel:t}})}}};function nu(e,t,r){return Ua({binaryTarget:void 0,title:t,version:e.config.clientVersion,engineVersion:"unknown",database:e.config.activeProvider,query:r})}u();c();p();m();d();l();u();c();p();m();d();l();function Ut({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw Qe().id==="workerd"?new L(`error: Environment variable not found: ${s.fromEnvVar}. + +In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new L(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new L("error: Missing URL environment variable, value, or override.",n);return i}u();c();p();m();d();l();u();c();p();m();d();l();var Gn=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var de=class extends Gn{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};u();c();p();m();d();l();u();c();p();m();d();l();function N(e,t){return{...e,isRetryable:t}}var Ft=class extends de{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",N(t,!0))}};O(Ft,"ForcedRetryError");u();c();p();m();d();l();var st=class extends de{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,N(r,!1))}};O(st,"InvalidDatasourceError");u();c();p();m();d();l();var at=class extends de{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,N(r,!1))}};O(at,"NotImplementedYetError");u();c();p();m();d();l();u();c();p();m();d();l();var B=class extends de{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var lt=class extends B{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",N(t,!0))}};O(lt,"SchemaMissingError");u();c();p();m();d();l();u();c();p();m();d();l();var fo="This request could not be understood by the server",Ir=class extends B{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||fo,N(t,!1)),n&&(this.code=n)}};O(Ir,"BadRequestError");u();c();p();m();d();l();var Or=class extends B{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",N(t,!0)),this.logs=r}};O(Or,"HealthcheckTimeoutError");u();c();p();m();d();l();var kr=class extends B{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,N(t,!0)),this.logs=n}};O(kr,"EngineStartupError");u();c();p();m();d();l();var Dr=class extends B{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",N(t,!1))}};O(Dr,"EngineVersionNotSupportedError");u();c();p();m();d();l();var go="Request timed out",_r=class extends B{name="GatewayTimeoutError";code="P5009";constructor(t,r=go){super(r,N(t,!1))}};O(_r,"GatewayTimeoutError");u();c();p();m();d();l();var Dd="Interactive transaction error",Mr=class extends B{name="InteractiveTransactionError";code="P5015";constructor(t,r=Dd){super(r,N(t,!1))}};O(Mr,"InteractiveTransactionError");u();c();p();m();d();l();var _d="Request parameters are invalid",Nr=class extends B{name="InvalidRequestError";code="P5011";constructor(t,r=_d){super(r,N(t,!1))}};O(Nr,"InvalidRequestError");u();c();p();m();d();l();var yo="Requested resource does not exist",Lr=class extends B{name="NotFoundError";code="P5003";constructor(t,r=yo){super(r,N(t,!1))}};O(Lr,"NotFoundError");u();c();p();m();d();l();var ho="Unknown server error",$t=class extends B{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||ho,N(t,!0)),this.logs=n}};O($t,"ServerError");u();c();p();m();d();l();var wo="Unauthorized, check your connection string",Ur=class extends B{name="UnauthorizedError";code="P5007";constructor(t,r=wo){super(r,N(t,!1))}};O(Ur,"UnauthorizedError");u();c();p();m();d();l();var bo="Usage exceeded, retry again later",Fr=class extends B{name="UsageExceededError";code="P5008";constructor(t,r=bo){super(r,N(t,!0))}};O(Fr,"UsageExceededError");async function Md(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function $r(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await Md(e);if(n.type==="QueryEngineError")throw new X(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new $t(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new lt(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new Dr(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new kr(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new L(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new Or(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new Mr(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Nr(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new Ur(r,Vt(wo,n));if(e.status===404)return new Lr(r,Vt(yo,n));if(e.status===429)throw new Fr(r,Vt(bo,n));if(e.status===504)throw new _r(r,Vt(go,n));if(e.status>=500)throw new $t(r,Vt(ho,n));if(e.status>=400)throw new Ir(r,Vt(fo,n))}function Vt(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}u();c();p();m();d();l();function ou(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}u();c();p();m();d();l();var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function su(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,f,w,v;for(let A=0;A>18,a=(v&258048)>>12,f=(v&4032)>>6,w=v&63,r+=Fe[s]+Fe[a]+Fe[f]+Fe[w];return i==1?(v=t[o],s=(v&252)>>2,a=(v&3)<<4,r+=Fe[s]+Fe[a]+"=="):i==2&&(v=t[o]<<8|t[o+1],s=(v&64512)>>10,a=(v&1008)>>4,f=(v&15)<<2,r+=Fe[s]+Fe[a]+Fe[f]+"="),r}u();c();p();m();d();l();function au(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new L("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}u();c();p();m();d();l();function Nd(e){return e[0]*1e3+e[1]/1e6}function Eo(e){return new Date(Nd(e))}u();c();p();m();d();l();var lu={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};u();c();p();m();d();l();u();c();p();m();d();l();var Vr=class extends de{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service: +${t}`,N(r,!0))}};O(Vr,"RequestError");async function ut(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new Vr(a,{clientVersion:n,cause:s})}}var Ud=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,uu=J("prisma:client:dataproxyEngine");async function Fd(e,t){let r=lu["@prisma/engines-version"],n=t.clientVersion??"unknown";if(g.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return g.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&Ud.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,f,w]=s.split("."),v=$d(`<=${a}.${f}.${w}`),A=await ut(v,{clientVersion:n});if(!A.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${A.status} ${A.statusText}, response body: ${await A.text()||""}`);let R=await A.text();uu("length of body fetched from unpkg.com",R.length);let C;try{C=JSON.parse(R)}catch(D){throw console.error("JSON.parse error: body fetched from unpkg.com: ",R),D}return C.version}throw new at("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function cu(e,t){let r=await Fd(e,t);return uu("version",r),r}function $d(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var pu=3,qr=J("prisma:client:dataproxyEngine"),xo=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,interactiveTransaction:r}={}){let n={Authorization:`Bearer ${this.apiKey}`,"Prisma-Engine-Hash":this.engineHash};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-transaction-id"]=r.id);let i=this.buildCaptureSettings();return i.length>0&&(n["X-capture-telemetry"]=i.join(", ")),n}buildCaptureSettings(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}},Br=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){au(t),this.config=t,this.env={...t.env,...typeof g<"u"?g.env:{}},this.inlineSchema=su(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.headerBuilder=new xo({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel,logQueries:this.config.logQueries,engineHash:this.engineHash}),this.protocol=ci(r)?"http":"https",this.remoteClientVersion=await cu(this.host,this.config),qr("host",this.host),qr("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":qr(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Eo(r.timestamp),message:r.attributes.message??"",target:r.target});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Eo(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}://${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await ut(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||qr("schema response status",r.status);let n=await $r(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=It(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(f=>(f.extensions&&this.propagateResponseExtensions(f.extensions),"errors"in f?this.convertProtocolErrorsToClientError(f.errors):f))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await ut(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,interactiveTransaction:i}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||qr("graphql response status",a.status),await this.handleError(await $r(a,this.clientVersion));let f=await a.json();if(f.extensions&&this.propagateResponseExtensions(f.extensions),"errors"in f)throw this.convertProtocolErrorsToClientError(f.errors);return"batchResult"in f?f.batchResult:f}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let f=await ut(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await $r(f,this.clientVersion));let w=await f.json(),{extensions:v}=w;v&&this.propagateResponseExtensions(v);let A=w.id,R=w["data-proxy"].endpoint;return{id:A,payload:{endpoint:R}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await ut(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await $r(a,this.clientVersion));let f=await a.json(),{extensions:w}=f;w&&this.propagateResponseExtensions(w);return}}})}getURLAndAPIKey(){let t={clientVersion:this.clientVersion},r=Object.keys(this.inlineDatasources)[0],n=Ut({inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources,clientVersion:this.clientVersion,env:this.env}),i;try{i=new URL(n)}catch{throw new st(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==tn)throw new st(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new st(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);return{apiKey:a,url:i}}metrics(){throw new at("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof de)||!i.isRetryable)throw i;if(r>=pu)throw i instanceof Ft?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${pu} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await ou(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof lt)throw await this.uploadSchema(),new Ft({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?Cn(t[0],this.config.clientVersion,this.config.activeProvider):new oe(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};u();c();p();m();d();l();function mu({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=I=>{i.push({_tag:"warning",value:I})},a=I=>{let _=I.join(` +`);o.push({_tag:"error",value:_})},f=!!e?.startsWith("prisma://"),w=rn(e),v=!!t,A=f||w;!v&&r&&A&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let R=A||!r;v&&(R||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):r?f&&a(["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]):a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let C={accelerate:R,ppg:w,driverAdapters:v};function D(I){return I.length>0}return D(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:C}:{ok:!0,diagnostics:{warnings:i},isUsing:C}}function du({copyEngine:e=!0},t){let r;try{r=Ut({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...g.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=mu({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"wasm-compiler-edge"});for(let v of o.warnings)zt(...v.value);if(!n){let v=o.errors[0];throw new ne(v.value,{clientVersion:t.clientVersion})}let s=gt(t.generator),a=s==="library",f=s==="binary",w=s==="client";if(i.accelerate)return new Br(t);if(i.driverAdapters,i.accelerate,w)return new Sr(t);{let v=[`PrismaClient failed to initialize because it wasn't configured to run in this environment (${Qe().prettyName}).`,"In order to run Prisma Client in an edge runtime, you will need to configure one of the following options:","- Enable Driver Adapters: https://pris.ly/d/driver-adapters","- Enable Accelerate: https://pris.ly/d/accelerate"];throw new ne(v.join(` +`),{clientVersion:t.clientVersion})}return"wasm-compiler-edge"}u();c();p();m();d();l();function Hn({generator:e}){return e?.previewFeatures??[]}u();c();p();m();d();l();var fu=e=>({command:e});u();c();p();m();d();l();u();c();p();m();d();l();var gu=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);u();c();p();m();d();l();l();function qt(e){try{return yu(e,"fast")}catch{return yu(e,"slow")}}function yu(e,t){return JSON.stringify(e.map(r=>wu(r,t)))}function wu(e,t){if(Array.isArray(e))return e.map(r=>wu(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(wt(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(re.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(y.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Vd(e))return{prisma__type:"bytes",prisma__value:y.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:y.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?bu(e):e}function Vd(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function bu(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(hu);let t={};for(let r of Object.keys(e))t[r]=hu(e[r]);return t}function hu(e){return typeof e=="bigint"?e.toString():bu(e)}var qd=/^(\s*alter\s)/i,Eu=J("prisma:client");function Po(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&qd.exec(t))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var To=({clientMethod:e,activeProvider:t})=>r=>{let n="",i;if(Pn(r))n=r.sql,i={values:qt(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:qt(s||[]),__prismaRawParameters__:!0}}else switch(t){case"sqlite":case"mysql":{n=r.sql,i={values:qt(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:qt(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=gu(r),i={values:qt(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${t} provider does not support ${e}`)}return i?.values?Eu(`prisma.${e}(${n}, ${i.values})`):Eu(`prisma.${e}(${n})`),{query:n,parameters:i}},xu={requestArgsToMiddlewareArgs(e){return[e.strings,...e.values]},middlewareArgsToRequestArgs(e){let[t,...r]=e;return new me(t,r)}},Pu={requestArgsToMiddlewareArgs(e){return[e]},middlewareArgsToRequestArgs(e){return e[0]}};u();c();p();m();d();l();function vo(e){return function(r,n){let i,o=(s=e)=>{try{return s===void 0||s?.kind==="itx"?i??=Tu(r(s)):Tu(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function Tu(e){return typeof e.then=="function"?e:Promise.resolve(e)}u();c();p();m();d();l();var Bd=li.split(".")[0],jd={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(e,t){return t()}},Ao=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(t){return this.getGlobalTracingHelper().getTraceParent(t)}dispatchEngineSpans(t){return this.getGlobalTracingHelper().dispatchEngineSpans(t)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(t,r){return this.getGlobalTracingHelper().runInChildSpan(t,r)}getGlobalTracingHelper(){let t=globalThis[`V${Bd}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return t?.helper??r?.helper??jd}};function vu(){return new Ao}u();c();p();m();d();l();function Au(e,t=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--e===0&&r(t()),i?.(n)}}}u();c();p();m();d();l();function Cu(e){return typeof e=="string"?e:e.reduce((t,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?t:t&&(r==="info"||t==="info")?"info":n},void 0)}u();c();p();m();d();l();var Wn=class{_middlewares=[];use(t){this._middlewares.push(t)}get(t){return this._middlewares[t]}has(t){return!!this._middlewares[t]}length(){return this._middlewares.length}};u();c();p();m();d();l();var Su=_e(mi());u();c();p();m();d();l();function Jn(e){return typeof e.batchRequestIdx=="number"}u();c();p();m();d();l();function Ru(e){if(e.action!=="findUnique"&&e.action!=="findUniqueOrThrow")return;let t=[];return e.modelName&&t.push(e.modelName),e.query.arguments&&t.push(Co(e.query.arguments)),t.push(Co(e.query.selection)),t.join("")}function Co(e){return`(${Object.keys(e).sort().map(r=>{let n=e[r];return typeof n=="object"&&n!==null?`(${r} ${Co(n)})`:r}).join(" ")})`}u();c();p();m();d();l();var Qd={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function Ro(e){return Qd[e]}u();c();p();m();d();l();var Kn=class{constructor(t){this.options=t;this.batches={}}batches;tickActive=!1;request(t){let r=this.options.batchBy(t);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,g.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:t,resolve:n,reject:i})})):this.options.singleLoader(t)}dispatchBatches(){for(let t in this.batches){let r=this.batches[t];delete this.batches[t],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;ict("bigint",r));case"bytes-array":return t.map(r=>ct("bytes",r));case"decimal-array":return t.map(r=>ct("decimal",r));case"datetime-array":return t.map(r=>ct("datetime",r));case"date-array":return t.map(r=>ct("date",r));case"time-array":return t.map(r=>ct("time",r));default:return t}}function zn(e){let t=[],r=Gd(e);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(A=>A.protocolQuery),f=this.client._tracingHelper.getTraceParent(s),w=n.some(A=>Ro(A.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:f,transaction:Wd(o),containsWrite:w,customDataProxyFetch:i})).map((A,R)=>{if(A instanceof Error)return A;try{return this.mapQueryEngineResult(n[R],A)}catch(C){return C}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?Iu(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:Ro(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Ru(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(t){try{return await this.dataloader.request(t)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=t;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:t.globalOmit})}}mapQueryEngineResult({dataPath:t,unpacker:r},n){let i=n?.data,o=this.unpack(i,t,r);return g.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(t){try{this.handleRequestError(t)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:t.clientMethod,timestamp:new Date}),r}}handleRequestError({error:t,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Hd(t),Jd(t,i))throw t;if(t instanceof X&&Kd(t)){let w=Ou(t.meta);yn({args:o,errors:[w],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let f=t.message;if(n&&(f=sn({callsite:n,originalMethod:r,isPanic:t.isPanic,showColors:this.client._errorFormat==="pretty",message:f})),f=this.sanitizeMessage(f),t.code){let w=s?{modelName:s,...t.meta}:t.meta;throw new X(f,{code:t.code,clientVersion:this.client._clientVersion,meta:w,batchRequestIdx:t.batchRequestIdx})}else{if(t.isPanic)throw new ae(f,this.client._clientVersion);if(t instanceof oe)throw new oe(f,{clientVersion:this.client._clientVersion,batchRequestIdx:t.batchRequestIdx});if(t instanceof L)throw new L(f,this.client._clientVersion);if(t instanceof ae)throw new ae(f,this.client._clientVersion)}throw t.clientVersion=this.client._clientVersion,t}sanitizeMessage(t){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,Su.default)(t):t}unpack(t,r,n){if(!t||(t.data&&(t=t.data),!t))return t;let i=Object.keys(t)[0],o=Object.values(t)[0],s=r.filter(w=>w!=="select"&&w!=="include"),a=Si(o,s),f=i==="queryRaw"?zn(a):Ve(a);return n?n(f):f}get[Symbol.toStringTag](){return"RequestHandler"}};function Wd(e){if(e){if(e.kind==="batch")return{kind:"batch",options:{isolationLevel:e.isolationLevel}};if(e.kind==="itx")return{kind:"itx",options:Iu(e)};xe(e,"Unknown transaction kind")}}function Iu(e){return{id:e.id,payload:e.payload}}function Jd(e,t){return Jn(e)&&t?.kind==="batch"&&e.batchRequestIdx!==t.index}function Kd(e){return e.code==="P2009"||e.code==="P2012"}function Ou(e){if(e.kind==="Union")return{kind:"Union",errors:e.errors.map(Ou)};if(Array.isArray(e.selectionPath)){let[,...t]=e.selectionPath;return{...e,selectionPath:t}}return e}u();c();p();m();d();l();var ku=Qn;u();c();p();m();d();l();var Lu=_e(yi());u();c();p();m();d();l();var F=class extends Error{constructor(t){super(t+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};O(F,"PrismaClientConstructorValidationError");var Du=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],_u=["pretty","colorless","minimal"],Mu=["info","query","warn","error"],zd={datasources:(e,{datasourceNames:t})=>{if(e){if(typeof e!="object"||Array.isArray(e))throw new F(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(e)){if(!t.includes(r)){let i=Bt(r,t)||` Available datasources: ${t.join(", ")}`;throw new F(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new F(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new F(`Invalid value ${JSON.stringify(e)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new F(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(e,t)=>{if(!e&>(t.generator)==="client")throw new F('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(e===null)return;if(e===void 0)throw new F('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!Hn(t).includes("driverAdapters"))throw new F('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(gt(t.generator)==="binary")throw new F('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:e=>{if(typeof e<"u"&&typeof e!="string")throw new F(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:e=>{if(e){if(typeof e!="string")throw new F(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`);if(!_u.includes(e)){let t=Bt(e,_u);throw new F(`Invalid errorFormat ${e} provided to PrismaClient constructor.${t}`)}}},log:e=>{if(!e)return;if(!Array.isArray(e))throw new F(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`);function t(r){if(typeof r=="string"&&!Mu.includes(r)){let n=Bt(r,Mu);throw new F(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of e){t(r);let n={level:t,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=Bt(i,o);throw new F(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new F(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:e=>{if(!e)return;let t=e.maxWait;if(t!=null&&t<=0)throw new F(`Invalid value ${t} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=e.timeout;if(r!=null&&r<=0)throw new F(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(e,t)=>{if(typeof e!="object")throw new F('"omit" option is expected to be an object.');if(e===null)throw new F('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(e)){let o=Zd(n,t.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let f=o.fields.find(w=>w.name===s);if(!f){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(f.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new F(Xd(e,r))},__internal:e=>{if(!e)return;let t=["debug","engine","configOverride"];if(typeof e!="object")throw new F(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(e))if(!t.includes(r)){let n=Bt(r,t);throw new F(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function Uu(e,t){for(let[r,n]of Object.entries(e)){if(!Du.includes(r)){let i=Bt(r,Du);throw new F(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}zd[r](n,t)}if(e.datasourceUrl&&e.datasources)throw new F('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function Bt(e,t){if(t.length===0||typeof e!="string")return"";let r=Yd(e,t);return r?` Did you mean "${r}"?`:""}function Yd(e,t){if(t.length===0)return null;let r=t.map(i=>({value:i,distance:(0,Lu.default)(e,i)}));r.sort((i,o)=>i.distanceqe(n)===t);if(r)return e[r]}function Xd(e,t){let r=At(e);for(let o of t)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=gn(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}u();c();p();m();d();l();function Fu(e){return e.length===0?Promise.resolve([]):new Promise((t,r)=>{let n=new Array(e.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===e.length&&(o=!0,i?r(i):t(n)))},f=w=>{o||(o=!0,r(w))};for(let w=0;w{n[w]=v,a()},v=>{if(!Jn(v)){f(v);return}v.batchRequestIdx===w?f(v):(i||(i=v),a())})})}var Je=J("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var ef={requestArgsToMiddlewareArgs:e=>e,middlewareArgsToRequestArgs:e=>e},tf=Symbol.for("prisma.client.transaction.id"),rf={id:0,nextId(){return++this.id}};function qu(e){class t{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new Wn;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=vo();constructor(n){e=n?.__internal?.configOverride?.(e)??e,ka(e),n&&Uu(n,e);let i=new Tn().on("error",()=>{});this._extensions=Ct.empty(),this._previewFeatures=Hn(e),this._clientVersion=e.clientVersion??ku,this._activeProvider=e.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=vu();let o=e.relativeEnvPaths&&{rootEnvPath:e.relativeEnvPaths.rootEnvPath&&Zr.resolve(e.dirname,e.relativeEnvPaths.rootEnvPath),schemaEnvPath:e.relativeEnvPaths.schemaEnvPath&&Zr.resolve(e.dirname,e.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let f=e.activeProvider==="postgresql"||e.activeProvider==="cockroachdb"?"postgres":e.activeProvider;if(s.provider!==f)throw new L(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${f}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new L("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=e.injectableEdgeEnv?.();try{let f=n??{},w=f.__internal??{},v=w.debug===!0;v&&J.enable("prisma:client");let A=Zr.resolve(e.dirname,e.relativePath);ns.existsSync(A)||(A=e.dirname),Je("dirname",e.dirname),Je("relativePath",e.relativePath),Je("cwd",A);let R=w.engine||{};if(f.errorFormat?this._errorFormat=f.errorFormat:g.env.NODE_ENV==="production"?this._errorFormat="minimal":g.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=e.runtimeDataModel,this._engineConfig={cwd:A,dirname:e.dirname,enableDebugLogs:v,allowTriggerPanic:R.allowTriggerPanic,prismaPath:R.binaryPath??void 0,engineEndpoint:R.endpoint,generator:e.generator,showColors:this._errorFormat==="pretty",logLevel:f.log&&Cu(f.log),logQueries:f.log&&!!(typeof f.log=="string"?f.log==="query":f.log.find(C=>typeof C=="string"?C==="query":C.level==="query")),env:a?.parsed??{},flags:[],engineWasm:e.engineWasm,compilerWasm:e.compilerWasm,clientVersion:e.clientVersion,engineVersion:e.engineVersion,previewFeatures:this._previewFeatures,activeProvider:e.activeProvider,inlineSchema:e.inlineSchema,overrideDatasources:Da(f,e.datasourceNames),inlineDatasources:e.inlineDatasources,inlineSchemaHash:e.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:f.transactionOptions?.maxWait??2e3,timeout:f.transactionOptions?.timeout??5e3,isolationLevel:f.transactionOptions?.isolationLevel},logEmitter:i,isBundled:e.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:Ut,getBatchRequestPayload:It,prismaGraphQLToJSError:Cn,PrismaClientUnknownRequestError:oe,PrismaClientInitializationError:L,PrismaClientKnownRequestError:X,debug:J("prisma:client:accelerateEngine"),engineVersion:Vu.version,clientVersion:e.clientVersion}},Je("clientVersion",e.clientVersion),this._engine=du(e,this._engineConfig),this._requestHandler=new Yn(this,i),f.log)for(let C of f.log){let D=typeof C=="string"?C:C.emit==="stdout"?C.level:null;D&&this.$on(D,I=>{Kt.log(`${Kt.tags[D]??""}`,I.message||I.query)})}}catch(f){throw f.clientVersion=this._clientVersion,f}return this._appliedParent=mr(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{ts()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:To({clientMethod:i,activeProvider:a}),callsite:je(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=$u(n,i);return Po(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new ne("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(Po(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(e.activeProvider!=="mongodb")throw new ne(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:fu,callsite:je(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:To({clientMethod:i,activeProvider:a}),callsite:je(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...$u(n,i));throw new ne("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new ne("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=rf.nextId(),s=Au(n.length),a=n.map((f,w)=>{if(f?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let v=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,A={kind:"batch",id:o,index:w,isolationLevel:v,lock:s};return f.requestTransaction?.(A)??f});return Fu(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),f;try{let w={kind:"itx",...a};f=await n(this._createItxClient(w)),await this._engine.transaction("commit",o,a)}catch(w){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),w}return f}_createItxClient(n){return Pe(mr(Pe(ya(this),[le("_appliedParent",()=>this._appliedParent._createItxClient(n)),le("_createPrismaPromise",()=>vo(n)),le(tf,()=>n.id)])),[St(xa)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??ef,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,f=async w=>{let v=this._middlewares.get(++a);if(v)return this._tracingHelper.runInChildSpan(s.middleware,_=>v(w,be=>(_?.end(),f(be))));let{runInTransaction:A,args:R,...C}=w,D={...n,...C};R&&(D.args=i.middlewareArgsToRequestArgs(R)),n.transaction!==void 0&&A===!1&&delete D.transaction;let I=await Aa(this,D);return D.model?Ea({result:I,modelName:D.model,args:D.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):I};return this._tracingHelper.runInChildSpan(s.operation,()=>f(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:f,argsMapper:w,transaction:v,unpacker:A,otelParentCtx:R,customDataProxyFetch:C}){try{n=w?w(n):n;let D={name:"serialize"},I=this._tracingHelper.runInChildSpan(D,()=>En({modelName:f,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return J.enabled("prisma:client")&&(Je("Prisma Client call:"),Je(`prisma.${i}(${sa(n)})`),Je("Generated request:"),Je(JSON.stringify(I,null,2)+` +`)),v?.kind==="batch"&&await v.lock,this._requestHandler.request({protocolQuery:I,modelName:f,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:v,unpacker:A,otelParentCtx:R,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:C})}catch(D){throw D.clientVersion=this._clientVersion,D}}$metrics=new Rt(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=ha}return t}function $u(e,t){return nf(e)?[new me(e,t),xu]:[e,Pu]}function nf(e){return Array.isArray(e)&&Array.isArray(e.raw)}u();c();p();m();d();l();var of=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function Bu(e){return new Proxy(e,{get(t,r){if(r in t)return t[r];if(!of.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}u();c();p();m();d();l();l();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +//# sourceMappingURL=wasm-compiler-edge.js.map diff --git a/generated/prisma/runtime/wasm-engine-edge.js b/generated/prisma/runtime/wasm-engine-edge.js new file mode 100644 index 0000000..baa6cbc --- /dev/null +++ b/generated/prisma/runtime/wasm-engine-edge.js @@ -0,0 +1,35 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +"use strict";var Yo=Object.create;var Ot=Object.defineProperty;var Xo=Object.getOwnPropertyDescriptor;var Zo=Object.getOwnPropertyNames;var es=Object.getPrototypeOf,ts=Object.prototype.hasOwnProperty;var ne=(t,e)=>()=>(t&&(e=t(t=0)),e);var Le=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rt=(t,e)=>{for(var r in e)Ot(t,r,{get:e[r],enumerable:!0})},cn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Zo(e))!ts.call(t,i)&&i!==r&&Ot(t,i,{get:()=>e[i],enumerable:!(n=Xo(e,i))||n.enumerable});return t};var nt=(t,e,r)=>(r=t!=null?Yo(es(t)):{},cn(e||!t||!t.__esModule?Ot(r,"default",{value:t,enumerable:!0}):r,t)),rs=t=>cn(Ot({},"__esModule",{value:!0}),t);function xr(t,e){if(e=e.toLowerCase(),e==="utf8"||e==="utf-8")return new y(ss.encode(t));if(e==="base64"||e==="base64url")return t=t.replace(/-/g,"+").replace(/_/g,"/"),t=t.replace(/[^A-Za-z0-9+/]/g,""),new y([...atob(t)].map(r=>r.charCodeAt(0)));if(e==="binary"||e==="ascii"||e==="latin1"||e==="latin-1")return new y([...t].map(r=>r.charCodeAt(0)));if(e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le"){let r=new y(t.length*2),n=new DataView(r.buffer);for(let i=0;ia.startsWith("get")||a.startsWith("set")),n=r.map(a=>a.replace("get","read").replace("set","write")),i=(a,f)=>function(h=0){return B(h,"offset"),Y(h,"offset"),V(h,"offset",this.length-1),new DataView(this.buffer)[r[a]](h,f)},o=(a,f)=>function(h,T=0){let C=r[a].match(/set(\w+\d+)/)[1].toLowerCase(),k=os[C];return B(T,"offset"),Y(T,"offset"),V(T,"offset",this.length-1),is(h,"value",k[0],k[1]),new DataView(this.buffer)[r[a]](T,h,f),T+parseInt(r[a].match(/\d+/)[0])/8},s=a=>{a.forEach(f=>{f.includes("Uint")&&(t[f.replace("Uint","UInt")]=t[f]),f.includes("Float64")&&(t[f.replace("Float64","Double")]=t[f]),f.includes("Float32")&&(t[f.replace("Float32","Float")]=t[f])})};n.forEach((a,f)=>{a.startsWith("read")&&(t[a]=i(f,!1),t[a+"LE"]=i(f,!0),t[a+"BE"]=i(f,!1)),a.startsWith("write")&&(t[a]=o(f,!1),t[a+"LE"]=o(f,!0),t[a+"BE"]=o(f,!1)),s([a,a+"LE",a+"BE"])})}function pn(t){throw new Error(`Buffer polyfill does not implement "${t}"`)}function It(t,e){if(!(t instanceof Uint8Array))throw new TypeError(`The "${e}" argument must be an instance of Buffer or Uint8Array`)}function V(t,e,r=us+1){if(t<0||t>r){let n=new RangeError(`The value of "${e}" is out of range. It must be >= 0 && <= ${r}. Received ${t}`);throw n.code="ERR_OUT_OF_RANGE",n}}function B(t,e){if(typeof t!="number"){let r=new TypeError(`The "${e}" argument must be of type number. Received type ${typeof t}.`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function Y(t,e){if(!Number.isInteger(t)||Number.isNaN(t)){let r=new RangeError(`The value of "${e}" is out of range. It must be an integer. Received ${t}`);throw r.code="ERR_OUT_OF_RANGE",r}}function is(t,e,r,n){if(tn){let i=new RangeError(`The value of "${e}" is out of range. It must be >= ${r} and <= ${n}. Received ${t}`);throw i.code="ERR_OUT_OF_RANGE",i}}function mn(t,e){if(typeof t!="string"){let r=new TypeError(`The "${e}" argument must be of type string. Received type ${typeof t}`);throw r.code="ERR_INVALID_ARG_TYPE",r}}function cs(t,e="utf8"){return y.from(t,e)}var y,os,ss,as,ls,us,b,Pr,u=ne(()=>{"use strict";y=class t extends Uint8Array{_isBuffer=!0;get offset(){return this.byteOffset}static alloc(e,r=0,n="utf8"){return mn(n,"encoding"),t.allocUnsafe(e).fill(r,n)}static allocUnsafe(e){return t.from(e)}static allocUnsafeSlow(e){return t.from(e)}static isBuffer(e){return e&&!!e._isBuffer}static byteLength(e,r="utf8"){if(typeof e=="string")return xr(e,r).byteLength;if(e&&e.byteLength)return e.byteLength;let n=new TypeError('The "string" argument must be of type string or an instance of Buffer or ArrayBuffer.');throw n.code="ERR_INVALID_ARG_TYPE",n}static isEncoding(e){return ls.includes(e)}static compare(e,r){It(e,"buff1"),It(r,"buff2");for(let n=0;nr[n])return 1}return e.length===r.length?0:e.length>r.length?1:-1}static from(e,r="utf8"){if(e&&typeof e=="object"&&e.type==="Buffer")return new t(e.data);if(typeof e=="number")return new t(new Uint8Array(e));if(typeof e=="string")return xr(e,r);if(ArrayBuffer.isView(e)){let{byteOffset:n,byteLength:i,buffer:o}=e;return"map"in e&&typeof e.map=="function"?new t(e.map(s=>s%256),n,i):new t(o,n,i)}if(e&&typeof e=="object"&&("length"in e||"byteLength"in e||"buffer"in e))return new t(e);throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}static concat(e,r){if(e.length===0)return t.alloc(0);let n=[].concat(...e.map(o=>[...o])),i=t.alloc(r!==void 0?r:n.length);return i.set(r!==void 0?n.slice(0,r):n),i}slice(e=0,r=this.length){return this.subarray(e,r)}subarray(e=0,r=this.length){return Object.setPrototypeOf(super.subarray(e,r),t.prototype)}reverse(){return super.reverse(),this}readIntBE(e,r){B(e,"offset"),Y(e,"offset"),V(e,"offset",this.length-1),B(r,"byteLength"),Y(r,"byteLength");let n=new DataView(this.buffer,e,r),i=0;for(let o=0;o=0;o--)i.setUint8(o,e&255),e=e/256;return r+n}writeUintBE(e,r,n){return this.writeUIntBE(e,r,n)}writeUIntLE(e,r,n){B(r,"offset"),Y(r,"offset"),V(r,"offset",this.length-1),B(n,"byteLength"),Y(n,"byteLength");let i=new DataView(this.buffer,r,n);for(let o=0;or===e[n])}copy(e,r=0,n=0,i=this.length){V(r,"targetStart"),V(n,"sourceStart",this.length),V(i,"sourceEnd"),r>>>=0,n>>>=0,i>>>=0;let o=0;for(;n=this.length?this.length-a:e.length),a);return this}includes(e,r=null,n="utf-8"){return this.indexOf(e,r,n)!==-1}lastIndexOf(e,r=null,n="utf-8"){return this.indexOf(e,r,n,!0)}indexOf(e,r=null,n="utf-8",i=!1){let o=i?this.findLastIndex.bind(this):this.findIndex.bind(this);n=typeof r=="string"?r:n;let s=t.from(typeof e=="number"?[e]:e,n),a=typeof r=="string"?0:r;return a=typeof r=="number"?a:null,a=Number.isNaN(a)?null:a,a??=i?this.length:0,a=a<0?this.length+a:a,s.length===0&&i===!1?a>=this.length?this.length:a:s.length===0&&i===!0?(a>=this.length?this.length:a)||this.length:o((f,h)=>(i?h<=a:h>=a)&&this[h]===s[0]&&s.every((C,k)=>this[h+k]===C))}toString(e="utf8",r=0,n=this.length){if(r=r<0?0:r,e=e.toString().toLowerCase(),n<=0)return"";if(e==="utf8"||e==="utf-8")return as.decode(this.slice(r,n));if(e==="base64"||e==="base64url"){let i=btoa(this.reduce((o,s)=>o+Pr(s),""));return e==="base64url"?i.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):i}if(e==="binary"||e==="ascii"||e==="latin1"||e==="latin-1")return this.slice(r,n).reduce((i,o)=>i+Pr(o&(e==="ascii"?127:255)),"");if(e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le"){let i=new DataView(this.buffer.slice(r,n));return Array.from({length:i.byteLength/2},(o,s)=>s*2+1i+o.toString(16).padStart(2,"0"),"");pn(`encoding "${e}"`)}toLocaleString(){return this.toString()}inspect(){return``}};os={int8:[-128,127],int16:[-32768,32767],int32:[-2147483648,2147483647],uint8:[0,255],uint16:[0,65535],uint32:[0,4294967295],float32:[-1/0,1/0],float64:[-1/0,1/0],bigint64:[-0x8000000000000000n,0x7fffffffffffffffn],biguint64:[0n,0xffffffffffffffffn]},ss=new TextEncoder,as=new TextDecoder,ls=["utf8","utf-8","hex","base64","ascii","binary","base64url","ucs2","ucs-2","utf16le","utf-16le","latin1","latin-1"],us=4294967295;ns(y.prototype);b=new Proxy(cs,{construct(t,[e,r]){return y.from(e,r)},get(t,e){return y[e]}}),Pr=String.fromCodePoint});var g,c=ne(()=>{"use strict";g={nextTick:(t,...e)=>{setTimeout(()=>{t(...e)},0)},env:{},version:"",cwd:()=>"/",stderr:{},argv:["/bin/node"],pid:1e4}});var x,m=ne(()=>{"use strict";x=globalThis.performance??(()=>{let t=Date.now();return{now:()=>Date.now()-t}})()});var E,p=ne(()=>{"use strict";E=()=>{};E.prototype=E});var w,d=ne(()=>{"use strict";w=class{value;constructor(e){this.value=e}deref(){return this.value}}});function yn(t,e){var r,n,i,o,s,a,f,h,T=t.constructor,C=T.precision;if(!t.s||!e.s)return e.s||(e=new T(t)),q?_(e,C):e;if(f=t.d,h=e.d,s=t.e,i=e.e,f=f.slice(),o=s-i,o){for(o<0?(n=f,o=-o,a=h.length):(n=h,i=s,a=f.length),s=Math.ceil(C/N),a=s>a?s+1:a+1,o>a&&(o=a,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(a=f.length,o=h.length,a-o<0&&(o=a,n=h,h=f,f=n),r=0;o;)r=(f[--o]=f[o]+h[o]+r)/Q|0,f[o]%=Q;for(r&&(f.unshift(r),++i),a=f.length;f[--a]==0;)f.pop();return e.d=f,e.e=i,q?_(e,C):e}function ce(t,e,r){if(t!==~~t||tr)throw Error(Oe+t)}function ue(t){var e,r,n,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e16)throw Error(Tr+$(t));if(!t.s)return new T(ee);for(e==null?(q=!1,a=C):a=e,s=new T(.03125);t.abs().gte(.1);)t=t.times(s),h+=5;for(n=Math.log(ke(2,h))/Math.LN10*2+5|0,a+=n,r=i=o=new T(ee),T.precision=a;;){if(i=_(i.times(t),a),r=r.times(++f),s=o.plus(he(i,r,a)),ue(s.d).slice(0,a)===ue(o.d).slice(0,a)){for(;h--;)o=_(o.times(o),a);return T.precision=C,e==null?(q=!0,_(o,C)):o}o=s}}function $(t){for(var e=t.e*N,r=t.d[0];r>=10;r/=10)e++;return e}function vr(t,e,r){if(e>t.LN10.sd())throw q=!0,r&&(t.precision=r),Error(ie+"LN10 precision limit exceeded");return _(new t(t.LN10),e)}function Pe(t){for(var e="";t--;)e+="0";return e}function it(t,e){var r,n,i,o,s,a,f,h,T,C=1,k=10,R=t,O=R.d,S=R.constructor,I=S.precision;if(R.s<1)throw Error(ie+(R.s?"NaN":"-Infinity"));if(R.eq(ee))return new S(0);if(e==null?(q=!1,h=I):h=e,R.eq(10))return e==null&&(q=!0),vr(S,h);if(h+=k,S.precision=h,r=ue(O),n=r.charAt(0),o=$(R),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)R=R.times(t),r=ue(R.d),n=r.charAt(0),C++;o=$(R),n>1?(R=new S("0."+r),o++):R=new S(n+"."+r.slice(1))}else return f=vr(S,h+2,I).times(o+""),R=it(new S(n+"."+r.slice(1)),h-k).plus(f),S.precision=I,e==null?(q=!0,_(R,I)):R;for(a=s=R=he(R.minus(ee),R.plus(ee),h),T=_(R.times(R),h),i=3;;){if(s=_(s.times(T),h),f=a.plus(he(s,new S(i),h)),ue(f.d).slice(0,h)===ue(a.d).slice(0,h))return a=a.times(2),o!==0&&(a=a.plus(vr(S,h+2,I).times(o+""))),a=he(a,new S(C),h),S.precision=I,e==null?(q=!0,_(a,I)):a;a=f,i+=2}}function dn(t,e){var r,n,i;for((r=e.indexOf("."))>-1&&(e=e.replace(".","")),(n=e.search(/e/i))>0?(r<0&&(r=n),r+=+e.slice(n+1),e=e.substring(0,n)):r<0&&(r=e.length),n=0;e.charCodeAt(n)===48;)++n;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(n,i),e){if(i-=n,r=r-n-1,t.e=Ne(r/N),t.d=[],n=(r+1)%N,r<0&&(n+=N),nMt||t.e<-Mt))throw Error(Tr+r)}else t.s=0,t.e=0,t.d=[0];return t}function _(t,e,r){var n,i,o,s,a,f,h,T,C=t.d;for(s=1,o=C[0];o>=10;o/=10)s++;if(n=e-s,n<0)n+=N,i=e,h=C[T=0];else{if(T=Math.ceil((n+1)/N),o=C.length,T>=o)return t;for(h=o=C[T],s=1;o>=10;o/=10)s++;n%=N,i=n-N+s}if(r!==void 0&&(o=ke(10,s-i-1),a=h/o%10|0,f=e<0||C[T+1]!==void 0||h%o,f=r<4?(a||f)&&(r==0||r==(t.s<0?3:2)):a>5||a==5&&(r==4||f||r==6&&(n>0?i>0?h/ke(10,s-i):0:C[T-1])%10&1||r==(t.s<0?8:7))),e<1||!C[0])return f?(o=$(t),C.length=1,e=e-o-1,C[0]=ke(10,(N-e%N)%N),t.e=Ne(-e/N)||0):(C.length=1,C[0]=t.e=t.s=0),t;if(n==0?(C.length=T,o=1,T--):(C.length=T+1,o=ke(10,N-n),C[T]=i>0?(h/ke(10,s-i)%ke(10,i)|0)*o:0),f)for(;;)if(T==0){(C[0]+=o)==Q&&(C[0]=1,++t.e);break}else{if(C[T]+=o,C[T]!=Q)break;C[T--]=0,o=1}for(n=C.length;C[--n]===0;)C.pop();if(q&&(t.e>Mt||t.e<-Mt))throw Error(Tr+$(t));return t}function bn(t,e){var r,n,i,o,s,a,f,h,T,C,k=t.constructor,R=k.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new k(t),q?_(e,R):e;if(f=t.d,C=e.d,n=e.e,h=t.e,f=f.slice(),s=h-n,s){for(T=s<0,T?(r=f,s=-s,a=C.length):(r=C,n=h,a=f.length),i=Math.max(Math.ceil(R/N),a)+2,s>i&&(s=i,r.length=1),r.reverse(),i=s;i--;)r.push(0);r.reverse()}else{for(i=f.length,a=C.length,T=i0;--i)f[a++]=0;for(i=C.length;i>s;){if(f[--i]0?o=o.charAt(0)+"."+o.slice(1)+Pe(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Pe(-i-1)+o,r&&(n=r-s)>0&&(o+=Pe(n))):i>=s?(o+=Pe(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Pe(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Pe(n))),t.s<0?"-"+o:o}function fn(t,e){if(t.length>e)return t.length=e,!0}function wn(t){var e,r,n;function i(o){var s=this;if(!(s instanceof i))return new i(o);if(s.constructor=i,o instanceof i){s.s=o.s,s.e=o.e,s.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(Oe+o);if(o>0)s.s=1;else if(o<0)o=-o,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(o===~~o&&o<1e7){s.e=0,s.d=[o];return}return dn(s,o.toString())}else if(typeof o!="string")throw Error(Oe+o);if(o.charCodeAt(0)===45?(o=o.slice(1),s.s=-1):s.s=1,ps.test(o))dn(s,o);else throw Error(Oe+o)}if(i.prototype=A,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=wn,i.config=i.set=ds,t===void 0&&(t={}),t)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&n<=i[e+2])this[r]=n;else throw Error(Oe+r+": "+n);if((n=t[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(Oe+r+": "+n);return this}var Fe,ms,Cr,q,ie,Oe,Tr,Ne,ke,ps,ee,Q,N,gn,Mt,A,he,Cr,Dt,En=ne(()=>{"use strict";u();c();m();p();d();l();Fe=1e9,ms={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},q=!0,ie="[DecimalError] ",Oe=ie+"Invalid argument: ",Tr=ie+"Exponent out of range: ",Ne=Math.floor,ke=Math.pow,ps=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Q=1e7,N=7,gn=9007199254740991,Mt=Ne(gn/N),A={};A.absoluteValue=A.abs=function(){var t=new this.constructor(this);return t.s&&(t.s=1),t};A.comparedTo=A.cmp=function(t){var e,r,n,i,o=this;if(t=new o.constructor(t),o.s!==t.s)return o.s||-t.s;if(o.e!==t.e)return o.e>t.e^o.s<0?1:-1;for(n=o.d.length,i=t.d.length,e=0,r=nt.d[e]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};A.decimalPlaces=A.dp=function(){var t=this,e=t.d.length-1,r=(e-t.e)*N;if(e=t.d[e],e)for(;e%10==0;e/=10)r--;return r<0?0:r};A.dividedBy=A.div=function(t){return he(this,new this.constructor(t))};A.dividedToIntegerBy=A.idiv=function(t){var e=this,r=e.constructor;return _(he(e,new r(t),0,1),r.precision)};A.equals=A.eq=function(t){return!this.cmp(t)};A.exponent=function(){return $(this)};A.greaterThan=A.gt=function(t){return this.cmp(t)>0};A.greaterThanOrEqualTo=A.gte=function(t){return this.cmp(t)>=0};A.isInteger=A.isint=function(){return this.e>this.d.length-2};A.isNegative=A.isneg=function(){return this.s<0};A.isPositive=A.ispos=function(){return this.s>0};A.isZero=function(){return this.s===0};A.lessThan=A.lt=function(t){return this.cmp(t)<0};A.lessThanOrEqualTo=A.lte=function(t){return this.cmp(t)<1};A.logarithm=A.log=function(t){var e,r=this,n=r.constructor,i=n.precision,o=i+5;if(t===void 0)t=new n(10);else if(t=new n(t),t.s<1||t.eq(ee))throw Error(ie+"NaN");if(r.s<1)throw Error(ie+(r.s?"NaN":"-Infinity"));return r.eq(ee)?new n(0):(q=!1,e=he(it(r,o),it(t,o),o),q=!0,_(e,i))};A.minus=A.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?bn(e,t):yn(e,(t.s=-t.s,t))};A.modulo=A.mod=function(t){var e,r=this,n=r.constructor,i=n.precision;if(t=new n(t),!t.s)throw Error(ie+"NaN");return r.s?(q=!1,e=he(r,t,0,1).times(t),q=!0,r.minus(e)):_(new n(r),i)};A.naturalExponential=A.exp=function(){return hn(this)};A.naturalLogarithm=A.ln=function(){return it(this)};A.negated=A.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};A.plus=A.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?yn(e,t):bn(e,(t.s=-t.s,t))};A.precision=A.sd=function(t){var e,r,n,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(Oe+t);if(e=$(i)+1,n=i.d.length-1,r=n*N+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return t&&e>r?e:r};A.squareRoot=A.sqrt=function(){var t,e,r,n,i,o,s,a=this,f=a.constructor;if(a.s<1){if(!a.s)return new f(0);throw Error(ie+"NaN")}for(t=$(a),q=!1,i=Math.sqrt(+a),i==0||i==1/0?(e=ue(a.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=Ne((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),n=new f(e)):n=new f(i.toString()),r=f.precision,i=s=r+3;;)if(o=n,n=o.plus(he(a,o,s+2)).times(.5),ue(o.d).slice(0,s)===(e=ue(n.d)).slice(0,s)){if(e=e.slice(s-3,s+1),i==s&&e=="4999"){if(_(o,r+1,0),o.times(o).eq(a)){n=o;break}}else if(e!="9999")break;s+=4}return q=!0,_(n,r)};A.times=A.mul=function(t){var e,r,n,i,o,s,a,f,h,T=this,C=T.constructor,k=T.d,R=(t=new C(t)).d;if(!T.s||!t.s)return new C(0);for(t.s*=T.s,r=T.e+t.e,f=k.length,h=R.length,f=0;){for(e=0,i=f+n;i>n;)a=o[i]+R[n]*k[i-n-1]+e,o[i--]=a%Q|0,e=a/Q|0;o[i]=(o[i]+e)%Q|0}for(;!o[--s];)o.pop();return e?++r:o.shift(),t.d=o,t.e=r,q?_(t,C.precision):t};A.toDecimalPlaces=A.todp=function(t,e){var r=this,n=r.constructor;return r=new n(r),t===void 0?r:(ce(t,0,Fe),e===void 0?e=n.rounding:ce(e,0,8),_(r,t+$(r)+1,e))};A.toExponential=function(t,e){var r,n=this,i=n.constructor;return t===void 0?r=Ie(n,!0):(ce(t,0,Fe),e===void 0?e=i.rounding:ce(e,0,8),n=_(new i(n),t+1,e),r=Ie(n,!0,t+1)),r};A.toFixed=function(t,e){var r,n,i=this,o=i.constructor;return t===void 0?Ie(i):(ce(t,0,Fe),e===void 0?e=o.rounding:ce(e,0,8),n=_(new o(i),t+$(i)+1,e),r=Ie(n.abs(),!1,t+$(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};A.toInteger=A.toint=function(){var t=this,e=t.constructor;return _(new e(t),$(t)+1,e.rounding)};A.toNumber=function(){return+this};A.toPower=A.pow=function(t){var e,r,n,i,o,s,a=this,f=a.constructor,h=12,T=+(t=new f(t));if(!t.s)return new f(ee);if(a=new f(a),!a.s){if(t.s<1)throw Error(ie+"Infinity");return a}if(a.eq(ee))return a;if(n=f.precision,t.eq(ee))return _(a,n);if(e=t.e,r=t.d.length-1,s=e>=r,o=a.s,s){if((r=T<0?-T:T)<=gn){for(i=new f(ee),e=Math.ceil(n/N+4),q=!1;r%2&&(i=i.times(a),fn(i.d,e)),r=Ne(r/2),r!==0;)a=a.times(a),fn(a.d,e);return q=!0,t.s<0?new f(ee).div(i):_(i,n)}}else if(o<0)throw Error(ie+"NaN");return o=o<0&&t.d[Math.max(e,r)]&1?-1:1,a.s=1,q=!1,i=t.times(it(a,n+h)),q=!0,i=hn(i),i.s=o,i};A.toPrecision=function(t,e){var r,n,i=this,o=i.constructor;return t===void 0?(r=$(i),n=Ie(i,r<=o.toExpNeg||r>=o.toExpPos)):(ce(t,1,Fe),e===void 0?e=o.rounding:ce(e,0,8),i=_(new o(i),t,e),r=$(i),n=Ie(i,t<=r||r<=o.toExpNeg,t)),n};A.toSignificantDigits=A.tosd=function(t,e){var r=this,n=r.constructor;return t===void 0?(t=n.precision,e=n.rounding):(ce(t,1,Fe),e===void 0?e=n.rounding:ce(e,0,8)),_(new n(r),t,e)};A.toString=A.valueOf=A.val=A.toJSON=A[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=$(t),r=t.constructor;return Ie(t,e<=r.toExpNeg||e>=r.toExpPos)};he=function(){function t(n,i){var o,s=0,a=n.length;for(n=n.slice();a--;)o=n[a]*i+s,n[a]=o%Q|0,s=o/Q|0;return s&&n.unshift(s),n}function e(n,i,o,s){var a,f;if(o!=s)f=o>s?1:-1;else for(a=f=0;ai[a]?1:-1;break}return f}function r(n,i,o){for(var s=0;o--;)n[o]-=s,s=n[o]1;)n.shift()}return function(n,i,o,s){var a,f,h,T,C,k,R,O,S,I,oe,H,L,z,Se,Er,se,St,kt=n.constructor,zo=n.s==i.s?1:-1,le=n.d,U=i.d;if(!n.s)return new kt(n);if(!i.s)throw Error(ie+"Division by zero");for(f=n.e-i.e,se=U.length,Se=le.length,R=new kt(zo),O=R.d=[],h=0;U[h]==(le[h]||0);)++h;if(U[h]>(le[h]||0)&&--f,o==null?H=o=kt.precision:s?H=o+($(n)-$(i))+1:H=o,H<0)return new kt(0);if(H=H/N+2|0,h=0,se==1)for(T=0,U=U[0],H++;(h1&&(U=t(U,T),le=t(le,T),se=U.length,Se=le.length),z=se,S=le.slice(0,se),I=S.length;I=Q/2&&++Er;do T=0,a=e(U,S,se,I),a<0?(oe=S[0],se!=I&&(oe=oe*Q+(S[1]||0)),T=oe/Er|0,T>1?(T>=Q&&(T=Q-1),C=t(U,T),k=C.length,I=S.length,a=e(C,S,k,I),a==1&&(T--,r(C,se{"use strict";En();v=class extends Dt{static isDecimal(e){return e instanceof Dt}static random(e=20){{let n=globalThis.crypto.getRandomValues(new Uint8Array(e)).reduce((i,o)=>i+o,"");return new Dt(`0.${n.slice(0,e)}`)}}},me=v});function ws(){return!1}function Nn(){return{dev:0,ino:0,mode:0,nlink:0,uid:0,gid:0,rdev:0,size:0,blksize:0,blocks:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date}}function Es(){return Nn()}function xs(){return[]}function Ps(t){t(null,[])}function vs(){return""}function Ts(){return""}function Cs(){}function Rs(){}function As(){}function Ss(){}function ks(){}function Os(){}var Is,Ms,qn,Un=ne(()=>{"use strict";u();c();m();p();d();l();Is={},Ms={existsSync:ws,lstatSync:Nn,statSync:Es,readdirSync:xs,readdir:Ps,readlinkSync:vs,realpathSync:Ts,chmodSync:Cs,renameSync:Rs,mkdirSync:As,rmdirSync:Ss,rmSync:ks,unlinkSync:Os,promises:Is},qn=Ms});function Ds(...t){return t.join("/")}function _s(...t){return t.join("/")}function Ls(t){let e=Bn(t),r=$n(t),[n,i]=e.split(".");return{root:"/",dir:r,base:e,ext:i,name:n}}function Bn(t){let e=t.split("/");return e[e.length-1]}function $n(t){return t.split("/").slice(0,-1).join("/")}var Vn,Fs,Ns,Nt,jn=ne(()=>{"use strict";u();c();m();p();d();l();Vn="/",Fs={sep:Vn},Ns={basename:Bn,dirname:$n,join:_s,parse:Ls,posix:Fs,resolve:Ds,sep:Vn},Nt=Ns});var Qn=Le((em,qs)=>{qs.exports={name:"@prisma/internals",version:"6.11.1",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek ",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",esbuild:"0.25.1","escape-string-regexp":"5.0.0",execa:"5.1.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","fs-jetpack":"5.1.0","global-dirs":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0","read-package-up":"11.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-ansi":"6.0.1","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-node":"10.9.2","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-engine-wasm":"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Kn=Le((Pm,Wn)=>{"use strict";u();c();m();p();d();l();Wn.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))}});var Yn=Le((Fm,zn)=>{"use strict";u();c();m();p();d();l();zn.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var Zn=Le((jm,Xn)=>{"use strict";u();c();m();p();d();l();var Gs=Yn();Xn.exports=t=>typeof t=="string"?t.replace(Gs(),""):t});var Nr=Le((ay,ii)=>{"use strict";u();c();m();p();d();l();ii.exports=function(){function t(e,r,n,i,o){return en?n+1:e+1:i===o?r:r+1}return function(e,r){if(e===r)return 0;if(e.length>r.length){var n=e;e=r,r=n}for(var i=e.length,o=r.length;i>0&&e.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s{"use strict";u();c();m();p();d();l()});var ci=ne(()=>{"use strict";u();c();m();p();d();l()});var _i=Le((sP,Ua)=>{Ua.exports={name:"@prisma/engines-version",version:"6.11.1-1.f40f79ec31188888a2e33acda0ecc8fd10a853a9",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek ",prisma:{enginesVersion:"f40f79ec31188888a2e33acda0ecc8fd10a853a9"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var nr,Li=ne(()=>{"use strict";u();c();m();p();d();l();nr=class{events={};on(e,r){return this.events[e]||(this.events[e]=[]),this.events[e].push(r),this}emit(e,...r){return this.events[e]?(this.events[e].forEach(n=>{n(...r)}),!0):!1}}});var Gl={};rt(Gl,{DMMF:()=>mt,Debug:()=>J,Decimal:()=>me,Extensions:()=>Rr,MetricsClient:()=>Ye,PrismaClientInitializationError:()=>M,PrismaClientKnownRequestError:()=>X,PrismaClientRustPanicError:()=>we,PrismaClientUnknownRequestError:()=>j,PrismaClientValidationError:()=>W,Public:()=>Ar,Sql:()=>Z,createParam:()=>Ri,defineDmmfProperty:()=>Mi,deserializeJsonResponse:()=>$e,deserializeRawResult:()=>br,dmmfToRuntimeDataModel:()=>ni,empty:()=>Ni,getPrismaClient:()=>Wo,getRuntime:()=>Re,join:()=>Fi,makeStrictEnum:()=>Ko,makeTypedQueryFactory:()=>Di,objectEnumValues:()=>Wt,raw:()=>Gr,serializeJsonQuery:()=>er,skip:()=>Zt,sqltag:()=>Wr,warnEnvConflicts:()=>void 0,warnOnce:()=>lt});module.exports=rs(Gl);u();c();m();p();d();l();var Rr={};rt(Rr,{defineExtension:()=>xn,getExtensionContext:()=>Pn});u();c();m();p();d();l();u();c();m();p();d();l();function xn(t){return typeof t=="function"?t:e=>e.$extends(t)}u();c();m();p();d();l();function Pn(t){return t}var Ar={};rt(Ar,{validator:()=>vn});u();c();m();p();d();l();u();c();m();p();d();l();function vn(...t){return e=>e}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var Sr,Tn,Cn,Rn,An=!0;typeof g<"u"&&({FORCE_COLOR:Sr,NODE_DISABLE_COLORS:Tn,NO_COLOR:Cn,TERM:Rn}=g.env||{},An=g.stdout&&g.stdout.isTTY);var fs={enabled:!Tn&&Cn==null&&Rn!=="dumb"&&(Sr!=null&&Sr!=="0"||An)};function F(t,e){let r=new RegExp(`\\x1b\\[${e}m`,"g"),n=`\x1B[${t}m`,i=`\x1B[${e}m`;return function(o){return!fs.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var Qu=F(0,0),_t=F(1,22),Lt=F(2,22),Ju=F(3,23),Sn=F(4,24),Gu=F(7,27),Wu=F(8,28),Ku=F(9,29),Hu=F(30,39),qe=F(31,39),kn=F(32,39),On=F(33,39),In=F(34,39),zu=F(35,39),Mn=F(36,39),Yu=F(37,39),Dn=F(90,39),Xu=F(90,39),Zu=F(40,49),ec=F(41,49),tc=F(42,49),rc=F(43,49),nc=F(44,49),ic=F(45,49),oc=F(46,49),sc=F(47,49);u();c();m();p();d();l();var gs=100,_n=["green","yellow","blue","magenta","cyan","red"],Ft=[],Ln=Date.now(),ys=0,kr=typeof g<"u"?g.env:{};globalThis.DEBUG??=kr.DEBUG??"";globalThis.DEBUG_COLORS??=kr.DEBUG_COLORS?kr.DEBUG_COLORS==="true":!0;var ot={enable(t){typeof t=="string"&&(globalThis.DEBUG=t)},disable(){let t=globalThis.DEBUG;return globalThis.DEBUG="",t},enabled(t){let e=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=e.some(i=>i===""||i[0]==="-"?!1:t.match(RegExp(i.split("*").join(".*")+"$"))),n=e.some(i=>i===""||i[0]!=="-"?!1:t.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...t)=>{let[e,r,...n]=t;(console.warn??console.log)(`${e} ${r}`,...n)},formatters:{}};function hs(t){let e={color:_n[ys++%_n.length],enabled:ot.enabled(t),namespace:t,log:ot.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=e;if(n.length!==0&&Ft.push([o,...n]),Ft.length>gs&&Ft.shift(),ot.enabled(o)||i){let f=n.map(T=>typeof T=="string"?T:bs(T)),h=`+${Date.now()-Ln}ms`;Ln=Date.now(),a(o,...f,h)}};return new Proxy(r,{get:(n,i)=>e[i],set:(n,i,o)=>e[i]=o})}var J=new Proxy(hs,{get:(t,e)=>ot[e],set:(t,e,r)=>ot[e]=r});function bs(t,e=2){let r=new Set;return JSON.stringify(t,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},e)}function Fn(){Ft.length=0}u();c();m();p();d();l();u();c();m();p();d();l();var Or=["darwin","darwin-arm64","debian-openssl-1.0.x","debian-openssl-1.1.x","debian-openssl-3.0.x","rhel-openssl-1.0.x","rhel-openssl-1.1.x","rhel-openssl-3.0.x","linux-arm64-openssl-1.1.x","linux-arm64-openssl-1.0.x","linux-arm64-openssl-3.0.x","linux-arm-openssl-1.1.x","linux-arm-openssl-1.0.x","linux-arm-openssl-3.0.x","linux-musl","linux-musl-openssl-3.0.x","linux-musl-arm64-openssl-1.1.x","linux-musl-arm64-openssl-3.0.x","linux-nixos","linux-static-x64","linux-static-arm64","windows","freebsd11","freebsd12","freebsd13","freebsd14","freebsd15","openbsd","netbsd","arm"];u();c();m();p();d();l();var Us=Qn(),Ir=Us.version;u();c();m();p();d();l();function Ue(t){let e=Bs();return e||(t?.config.engineType==="library"?"library":t?.config.engineType==="binary"?"binary":t?.config.engineType==="client"?"client":$s(t))}function Bs(){let t=g.env.PRISMA_CLIENT_ENGINE_TYPE;return t==="library"?"library":t==="binary"?"binary":t==="client"?"client":void 0}function $s(t){return t?.previewFeatures.includes("queryCompiler")?"client":"library"}u();c();m();p();d();l();var Jn="prisma+postgres",Gn=`${Jn}:`;function Mr(t){return t?.toString().startsWith(`${Gn}//`)??!1}var at={};rt(at,{error:()=>Qs,info:()=>js,log:()=>Vs,query:()=>Js,should:()=>Hn,tags:()=>st,warn:()=>Dr});u();c();m();p();d();l();var st={error:qe("prisma:error"),warn:On("prisma:warn"),info:Mn("prisma:info"),query:In("prisma:query")},Hn={warn:()=>!g.env.PRISMA_DISABLE_WARNINGS};function Vs(...t){console.log(...t)}function Dr(t,...e){Hn.warn()&&console.warn(`${st.warn} ${t}`,...e)}function js(t,...e){console.info(`${st.info} ${t}`,...e)}function Qs(t,...e){console.error(`${st.error} ${t}`,...e)}function Js(t,...e){console.log(`${st.query} ${t}`,...e)}u();c();m();p();d();l();function qt(t,e){if(!t)throw new Error(`${e}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`)}u();c();m();p();d();l();function be(t,e){throw new Error(e)}u();c();m();p();d();l();function _r(t,e){return Object.prototype.hasOwnProperty.call(t,e)}u();c();m();p();d();l();function Be(t,e){let r={};for(let n of Object.keys(t))r[n]=e(t[n],n);return r}u();c();m();p();d();l();function Lr(t,e){if(t.length===0)return;let r=t[0];for(let n=1;n{ei.has(t)||(ei.add(t),Dr(e,...r))};var M=class t extends Error{clientVersion;errorCode;retryable;constructor(e,r,n){super(e),this.name="PrismaClientInitializationError",this.clientVersion=r,this.errorCode=n,Error.captureStackTrace(t)}get[Symbol.toStringTag](){return"PrismaClientInitializationError"}};te(M,"PrismaClientInitializationError");u();c();m();p();d();l();var X=class extends Error{code;meta;clientVersion;batchRequestIdx;constructor(e,{code:r,clientVersion:n,meta:i,batchRequestIdx:o}){super(e),this.name="PrismaClientKnownRequestError",this.code=r,this.clientVersion=n,this.meta=i,Object.defineProperty(this,"batchRequestIdx",{value:o,enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return"PrismaClientKnownRequestError"}};te(X,"PrismaClientKnownRequestError");u();c();m();p();d();l();var we=class extends Error{clientVersion;constructor(e,r){super(e),this.name="PrismaClientRustPanicError",this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientRustPanicError"}};te(we,"PrismaClientRustPanicError");u();c();m();p();d();l();var j=class extends Error{clientVersion;batchRequestIdx;constructor(e,{clientVersion:r,batchRequestIdx:n}){super(e),this.name="PrismaClientUnknownRequestError",this.clientVersion=r,Object.defineProperty(this,"batchRequestIdx",{value:n,writable:!0,enumerable:!1})}get[Symbol.toStringTag](){return"PrismaClientUnknownRequestError"}};te(j,"PrismaClientUnknownRequestError");u();c();m();p();d();l();var W=class extends Error{name="PrismaClientValidationError";clientVersion;constructor(e,{clientVersion:r}){super(e),this.clientVersion=r}get[Symbol.toStringTag](){return"PrismaClientValidationError"}};te(W,"PrismaClientValidationError");u();c();m();p();d();l();l();function $e(t){return t===null?t:Array.isArray(t)?t.map($e):typeof t=="object"?Ws(t)?Ks(t):t.constructor!==null&&t.constructor.name!=="Object"?t:Be(t,$e):t}function Ws(t){return t!==null&&typeof t=="object"&&typeof t.$type=="string"}function Ks({$type:t,value:e}){switch(t){case"BigInt":return BigInt(e);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=b.from(e,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(e);case"Decimal":return new me(e);case"Json":return JSON.parse(e);default:be(e,"Unknown tagged value")}}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var pe=class{_map=new Map;get(e){return this._map.get(e)?.value}set(e,r){this._map.set(e,{value:r})}getOrCreate(e,r){let n=this._map.get(e);if(n)return n.value;let i=r();return this.set(e,i),i}};u();c();m();p();d();l();function ve(t){return t.substring(0,1).toLowerCase()+t.substring(1)}u();c();m();p();d();l();function ri(t,e){let r={};for(let n of t){let i=n[e];r[i]=n}return r}u();c();m();p();d();l();function ut(t){let e;return{get(){return e||(e={value:t()}),e.value}}}u();c();m();p();d();l();function ni(t){return{models:Fr(t.models),enums:Fr(t.enums),types:Fr(t.types)}}function Fr(t){let e={};for(let{name:r,...n}of t)e[r]=n;return e}u();c();m();p();d();l();function Ve(t){return t instanceof Date||Object.prototype.toString.call(t)==="[object Date]"}function Ut(t){return t.toString()!=="Invalid Date"}u();c();m();p();d();l();l();function je(t){return v.isDecimal(t)?!0:t!==null&&typeof t=="object"&&typeof t.s=="number"&&typeof t.e=="number"&&typeof t.toFixed=="function"&&Array.isArray(t.d)}u();c();m();p();d();l();u();c();m();p();d();l();var mt={};rt(mt,{ModelAction:()=>ct,datamodelEnumToSchemaEnum:()=>Hs});u();c();m();p();d();l();u();c();m();p();d();l();function Hs(t){return{name:t.name,values:t.values.map(e=>e.name)}}u();c();m();p();d();l();var ct=(L=>(L.findUnique="findUnique",L.findUniqueOrThrow="findUniqueOrThrow",L.findFirst="findFirst",L.findFirstOrThrow="findFirstOrThrow",L.findMany="findMany",L.create="create",L.createMany="createMany",L.createManyAndReturn="createManyAndReturn",L.update="update",L.updateMany="updateMany",L.updateManyAndReturn="updateManyAndReturn",L.upsert="upsert",L.delete="delete",L.deleteMany="deleteMany",L.groupBy="groupBy",L.count="count",L.aggregate="aggregate",L.findRaw="findRaw",L.aggregateRaw="aggregateRaw",L))(ct||{});var zs=nt(Kn());var Ys={red:qe,gray:Dn,dim:Lt,bold:_t,underline:Sn,highlightSource:t=>t.highlight()},Xs={red:t=>t,gray:t=>t,dim:t=>t,bold:t=>t,underline:t=>t,highlightSource:t=>t};function Zs({message:t,originalMethod:e,isPanic:r,callArguments:n}){return{functionName:`prisma.${e}()`,message:t,isPanic:r??!1,callArguments:n}}function ea({functionName:t,location:e,message:r,isPanic:n,contextLines:i,callArguments:o},s){let a=[""],f=e?" in":":";if(n?(a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)),a.push(s.red(`It occurred in the ${s.bold(`\`${t}\``)} invocation${f}`))):a.push(s.red(`Invalid ${s.bold(`\`${t}\``)} invocation${f}`)),e&&a.push(s.underline(ta(e))),i){a.push("");let h=[i.toString()];o&&(h.push(o),h.push(s.dim(")"))),a.push(h.join("")),o&&a.push("")}else a.push(""),o&&a.push(o),a.push("");return a.push(r),a.join(` +`)}function ta(t){let e=[t.fileName];return t.lineNumber&&e.push(String(t.lineNumber)),t.columnNumber&&e.push(String(t.columnNumber)),e.join(":")}function Bt(t){let e=t.showColors?Ys:Xs,r;return typeof $getTemplateParameters<"u"?r=$getTemplateParameters(t,e):r=Zs(t),ea(r,e)}u();c();m();p();d();l();var pi=nt(Nr());u();c();m();p();d();l();function ai(t,e,r){let n=li(t),i=ra(n),o=ia(i);o?$t(o,e,r):e.addErrorMessage(()=>"Unknown error")}function li(t){return t.errors.flatMap(e=>e.kind==="Union"?li(e):[e])}function ra(t){let e=new Map,r=[];for(let n of t){if(n.kind!=="InvalidArgumentType"){r.push(n);continue}let i=`${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`,o=e.get(i);o?e.set(i,{...n,argument:{...n.argument,typeNames:na(o.argument.typeNames,n.argument.typeNames)}}):e.set(i,n)}return r.push(...e.values()),r}function na(t,e){return[...new Set(t.concat(e))]}function ia(t){return Lr(t,(e,r)=>{let n=oi(e),i=oi(r);return n!==i?n-i:si(e)-si(r)})}function oi(t){let e=0;return Array.isArray(t.selectionPath)&&(e+=t.selectionPath.length),Array.isArray(t.argumentPath)&&(e+=t.argumentPath.length),e}function si(t){switch(t.kind){case"InvalidArgumentValue":case"ValueTooLarge":return 20;case"InvalidArgumentType":return 10;case"RequiredArgumentMissing":return-10;default:return 0}}u();c();m();p();d();l();var re=class{constructor(e,r){this.name=e;this.value=r}isRequired=!1;makeRequired(){return this.isRequired=!0,this}write(e){let{colors:{green:r}}=e.context;e.addMarginSymbol(r(this.isRequired?"+":"?")),e.write(r(this.name)),this.isRequired||e.write(r("?")),e.write(r(": ")),typeof this.value=="string"?e.write(r(this.value)):e.write(this.value)}};u();c();m();p();d();l();u();c();m();p();d();l();ci();u();c();m();p();d();l();var Qe=class{constructor(e=0,r){this.context=r;this.currentIndent=e}lines=[];currentLine="";currentIndent=0;marginSymbol;afterNextNewLineCallback;write(e){return typeof e=="string"?this.currentLine+=e:e.write(this),this}writeJoined(e,r,n=(i,o)=>o.write(i)){let i=r.length-1;for(let o=0;o0&&this.currentIndent--,this}addMarginSymbol(e){return this.marginSymbol=e,this}toString(){return this.lines.concat(this.indentedCurrentLine()).join(` +`)}getCurrentLineLength(){return this.currentLine.length}indentedCurrentLine(){let e=this.currentLine.padStart(this.currentLine.length+2*this.currentIndent);return this.marginSymbol?this.marginSymbol+e.slice(1):e}};ui();u();c();m();p();d();l();u();c();m();p();d();l();var Vt=class{constructor(e){this.value=e}write(e){e.write(this.value)}markAsError(){this.value.markAsError()}};u();c();m();p();d();l();var jt=t=>t,Qt={bold:jt,red:jt,green:jt,dim:jt,enabled:!1},mi={bold:_t,red:qe,green:kn,dim:Lt,enabled:!0},Je={write(t){t.writeLine(",")}};u();c();m();p();d();l();var de=class{constructor(e){this.contents=e}isUnderlined=!1;color=e=>e;underline(){return this.isUnderlined=!0,this}setColor(e){return this.color=e,this}write(e){let r=e.getCurrentLineLength();e.write(this.color(this.contents)),this.isUnderlined&&e.afterNextNewline(()=>{e.write(" ".repeat(r)).writeLine(this.color("~".repeat(this.contents.length)))})}};u();c();m();p();d();l();var Te=class{hasError=!1;markAsError(){return this.hasError=!0,this}};var Ge=class extends Te{items=[];addItem(e){return this.items.push(new Vt(e)),this}getField(e){return this.items[e]}getPrintWidth(){return this.items.length===0?2:Math.max(...this.items.map(r=>r.value.getPrintWidth()))+2}write(e){if(this.items.length===0){this.writeEmpty(e);return}this.writeWithItems(e)}writeEmpty(e){let r=new de("[]");this.hasError&&r.setColor(e.context.colors.red).underline(),e.write(r)}writeWithItems(e){let{colors:r}=e.context;e.writeLine("[").withIndent(()=>e.writeJoined(Je,this.items).newLine()).write("]"),this.hasError&&e.afterNextNewline(()=>{e.writeLine(r.red("~".repeat(this.getPrintWidth())))})}asObject(){}};var We=class t extends Te{fields={};suggestions=[];addField(e){this.fields[e.name]=e}addSuggestion(e){this.suggestions.push(e)}getField(e){return this.fields[e]}getDeepField(e){let[r,...n]=e,i=this.getField(r);if(!i)return;let o=i;for(let s of n){let a;if(o.value instanceof t?a=o.value.getField(s):o.value instanceof Ge&&(a=o.value.getField(Number(s))),!a)return;o=a}return o}getDeepFieldValue(e){return e.length===0?this:this.getDeepField(e)?.value}hasField(e){return!!this.getField(e)}removeAllFields(){this.fields={}}removeField(e){delete this.fields[e]}getFields(){return this.fields}isEmpty(){return Object.keys(this.fields).length===0}getFieldValue(e){return this.getField(e)?.value}getDeepSubSelectionValue(e){let r=this;for(let n of e){if(!(r instanceof t))return;let i=r.getSubSelectionValue(n);if(!i)return;r=i}return r}getDeepSelectionParent(e){let r=this.getSelectionParent();if(!r)return;let n=r;for(let i of e){let o=n.value.getFieldValue(i);if(!o||!(o instanceof t))return;let s=o.getSelectionParent();if(!s)return;n=s}return n}getSelectionParent(){let e=this.getField("select")?.value.asObject();if(e)return{kind:"select",value:e};let r=this.getField("include")?.value.asObject();if(r)return{kind:"include",value:r}}getSubSelectionValue(e){return this.getSelectionParent()?.value.fields[e].value}getPrintWidth(){let e=Object.values(this.fields);return e.length==0?2:Math.max(...e.map(n=>n.getPrintWidth()))+2}write(e){let r=Object.values(this.fields);if(r.length===0&&this.suggestions.length===0){this.writeEmpty(e);return}this.writeWithContents(e,r)}asObject(){return this}writeEmpty(e){let r=new de("{}");this.hasError&&r.setColor(e.context.colors.red).underline(),e.write(r)}writeWithContents(e,r){e.writeLine("{").withIndent(()=>{e.writeJoined(Je,[...r,...this.suggestions]).newLine()}),e.write("}"),this.hasError&&e.afterNextNewline(()=>{e.writeLine(e.context.colors.red("~".repeat(this.getPrintWidth())))})}};u();c();m();p();d();l();var G=class extends Te{constructor(r){super();this.text=r}getPrintWidth(){return this.text.length}write(r){let n=new de(this.text);this.hasError&&n.underline().setColor(r.context.colors.red),r.write(n)}asObject(){}};u();c();m();p();d();l();var pt=class{fields=[];addField(e,r){return this.fields.push({write(n){let{green:i,dim:o}=n.context.colors;n.write(i(o(`${e}: ${r}`))).addMarginSymbol(i(o("+")))}}),this}write(e){let{colors:{green:r}}=e.context;e.writeLine(r("{")).withIndent(()=>{e.writeJoined(Je,this.fields).newLine()}).write(r("}")).addMarginSymbol(r("+"))}};function $t(t,e,r){switch(t.kind){case"MutuallyExclusiveFields":oa(t,e);break;case"IncludeOnScalar":sa(t,e);break;case"EmptySelection":aa(t,e,r);break;case"UnknownSelectionField":ma(t,e);break;case"InvalidSelectionValue":pa(t,e);break;case"UnknownArgument":da(t,e);break;case"UnknownInputField":fa(t,e);break;case"RequiredArgumentMissing":ga(t,e);break;case"InvalidArgumentType":ya(t,e);break;case"InvalidArgumentValue":ha(t,e);break;case"ValueTooLarge":ba(t,e);break;case"SomeFieldsMissing":wa(t,e);break;case"TooManyFieldsGiven":Ea(t,e);break;case"Union":ai(t,e,r);break;default:throw new Error("not implemented: "+t.kind)}}function oa(t,e){let r=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();r&&(r.getField(t.firstField)?.markAsError(),r.getField(t.secondField)?.markAsError()),e.addErrorMessage(n=>`Please ${n.bold("either")} use ${n.green(`\`${t.firstField}\``)} or ${n.green(`\`${t.secondField}\``)}, but ${n.red("not both")} at the same time.`)}function sa(t,e){let[r,n]=dt(t.selectionPath),i=t.outputType,o=e.arguments.getDeepSelectionParent(r)?.value;if(o&&(o.getField(n)?.markAsError(),i))for(let s of i.fields)s.isRelation&&o.addSuggestion(new re(s.name,"true"));e.addErrorMessage(s=>{let a=`Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`;return i?a+=` on model ${s.bold(i.name)}. ${ft(s)}`:a+=".",a+=` +Note that ${s.bold("include")} statements only accept relation fields.`,a})}function aa(t,e,r){let n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(n){let i=n.getField("omit")?.value.asObject();if(i){la(t,e,i);return}if(n.hasField("select")){ua(t,e);return}}if(r?.[ve(t.outputType.name)]){ca(t,e);return}e.addErrorMessage(()=>`Unknown field at "${t.selectionPath.join(".")} selection"`)}function la(t,e,r){r.removeAllFields();for(let n of t.outputType.fields)r.addSuggestion(new re(n.name,"false"));e.addErrorMessage(n=>`The ${n.red("omit")} statement includes every field of the model ${n.bold(t.outputType.name)}. At least one field must be included in the result`)}function ua(t,e){let r=t.outputType,n=e.arguments.getDeepSelectionParent(t.selectionPath)?.value,i=n?.isEmpty()??!1;n&&(n.removeAllFields(),gi(n,r)),e.addErrorMessage(o=>i?`The ${o.red("`select`")} statement for type ${o.bold(r.name)} must not be empty. ${ft(o)}`:`The ${o.red("`select`")} statement for type ${o.bold(r.name)} needs ${o.bold("at least one truthy value")}.`)}function ca(t,e){let r=new pt;for(let i of t.outputType.fields)i.isRelation||r.addField(i.name,"false");let n=new re("omit",r).makeRequired();if(t.selectionPath.length===0)e.arguments.addSuggestion(n);else{let[i,o]=dt(t.selectionPath),a=e.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o);if(a){let f=a?.value.asObject()??new We;f.addSuggestion(n),a.value=f}}e.addErrorMessage(i=>`The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(t.outputType.name)}. At least one field must be included in the result`)}function ma(t,e){let r=yi(t.selectionPath,e);if(r.parentKind!=="unknown"){r.field.markAsError();let n=r.parent;switch(r.parentKind){case"select":gi(n,t.outputType);break;case"include":xa(n,t.outputType);break;case"omit":Pa(n,t.outputType);break}}e.addErrorMessage(n=>{let i=[`Unknown field ${n.red(`\`${r.fieldName}\``)}`];return r.parentKind!=="unknown"&&i.push(`for ${n.bold(r.parentKind)} statement`),i.push(`on model ${n.bold(`\`${t.outputType.name}\``)}.`),i.push(ft(n)),i.join(" ")})}function pa(t,e){let r=yi(t.selectionPath,e);r.parentKind!=="unknown"&&r.field.value.markAsError(),e.addErrorMessage(n=>`Invalid value for selection field \`${n.red(r.fieldName)}\`: ${t.underlyingError}`)}function da(t,e){let r=t.argumentPath[0],n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();n&&(n.getField(r)?.markAsError(),va(n,t.arguments)),e.addErrorMessage(i=>di(i,r,t.arguments.map(o=>o.name)))}function fa(t,e){let[r,n]=dt(t.argumentPath),i=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(i){i.getDeepField(t.argumentPath)?.markAsError();let o=i.getDeepFieldValue(r)?.asObject();o&&hi(o,t.inputType)}e.addErrorMessage(o=>di(o,n,t.inputType.fields.map(s=>s.name)))}function di(t,e,r){let n=[`Unknown argument \`${t.red(e)}\`.`],i=Ca(e,r);return i&&n.push(`Did you mean \`${t.green(i)}\`?`),r.length>0&&n.push(ft(t)),n.join(" ")}function ga(t,e){let r;e.addErrorMessage(f=>r?.value instanceof G&&r.value.text==="null"?`Argument \`${f.green(o)}\` must not be ${f.red("null")}.`:`Argument \`${f.green(o)}\` is missing.`);let n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(!n)return;let[i,o]=dt(t.argumentPath),s=new pt,a=n.getDeepFieldValue(i)?.asObject();if(a)if(r=a.getField(o),r&&a.removeField(o),t.inputTypes.length===1&&t.inputTypes[0].kind==="object"){for(let f of t.inputTypes[0].fields)s.addField(f.name,f.typeNames.join(" | "));a.addSuggestion(new re(o,s).makeRequired())}else{let f=t.inputTypes.map(fi).join(" | ");a.addSuggestion(new re(o,f).makeRequired())}}function fi(t){return t.kind==="list"?`${fi(t.elementType)}[]`:t.name}function ya(t,e){let r=t.argument.name,n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();n&&n.getDeepFieldValue(t.argumentPath)?.markAsError(),e.addErrorMessage(i=>{let o=Jt("or",t.argument.typeNames.map(s=>i.green(s)));return`Argument \`${i.bold(r)}\`: Invalid value provided. Expected ${o}, provided ${i.red(t.inferredType)}.`})}function ha(t,e){let r=t.argument.name,n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();n&&n.getDeepFieldValue(t.argumentPath)?.markAsError(),e.addErrorMessage(i=>{let o=[`Invalid value for argument \`${i.bold(r)}\``];if(t.underlyingError&&o.push(`: ${t.underlyingError}`),o.push("."),t.argument.typeNames.length>0){let s=Jt("or",t.argument.typeNames.map(a=>i.green(a)));o.push(` Expected ${s}.`)}return o.join("")})}function ba(t,e){let r=t.argument.name,n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject(),i;if(n){let s=n.getDeepField(t.argumentPath)?.value;s?.markAsError(),s instanceof G&&(i=s.text)}e.addErrorMessage(o=>{let s=["Unable to fit value"];return i&&s.push(o.red(i)),s.push(`into a 64-bit signed integer for field \`${o.bold(r)}\``),s.join(" ")})}function wa(t,e){let r=t.argumentPath[t.argumentPath.length-1],n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject();if(n){let i=n.getDeepFieldValue(t.argumentPath)?.asObject();i&&hi(i,t.inputType)}e.addErrorMessage(i=>{let o=[`Argument \`${i.bold(r)}\` of type ${i.bold(t.inputType.name)} needs`];return t.constraints.minFieldCount===1?t.constraints.requiredFields?o.push(`${i.green("at least one of")} ${Jt("or",t.constraints.requiredFields.map(s=>`\`${i.bold(s)}\``))} arguments.`):o.push(`${i.green("at least one")} argument.`):o.push(`${i.green(`at least ${t.constraints.minFieldCount}`)} arguments.`),o.push(ft(i)),o.join(" ")})}function Ea(t,e){let r=t.argumentPath[t.argumentPath.length-1],n=e.arguments.getDeepSubSelectionValue(t.selectionPath)?.asObject(),i=[];if(n){let o=n.getDeepFieldValue(t.argumentPath)?.asObject();o&&(o.markAsError(),i=Object.keys(o.getFields()))}e.addErrorMessage(o=>{let s=[`Argument \`${o.bold(r)}\` of type ${o.bold(t.inputType.name)} needs`];return t.constraints.minFieldCount===1&&t.constraints.maxFieldCount==1?s.push(`${o.green("exactly one")} argument,`):t.constraints.maxFieldCount==1?s.push(`${o.green("at most one")} argument,`):s.push(`${o.green(`at most ${t.constraints.maxFieldCount}`)} arguments,`),s.push(`but you provided ${Jt("and",i.map(a=>o.red(a)))}. Please choose`),t.constraints.maxFieldCount===1?s.push("one."):s.push(`${t.constraints.maxFieldCount}.`),s.join(" ")})}function gi(t,e){for(let r of e.fields)t.hasField(r.name)||t.addSuggestion(new re(r.name,"true"))}function xa(t,e){for(let r of e.fields)r.isRelation&&!t.hasField(r.name)&&t.addSuggestion(new re(r.name,"true"))}function Pa(t,e){for(let r of e.fields)!t.hasField(r.name)&&!r.isRelation&&t.addSuggestion(new re(r.name,"true"))}function va(t,e){for(let r of e)t.hasField(r.name)||t.addSuggestion(new re(r.name,r.typeNames.join(" | ")))}function yi(t,e){let[r,n]=dt(t),i=e.arguments.getDeepSubSelectionValue(r)?.asObject();if(!i)return{parentKind:"unknown",fieldName:n};let o=i.getFieldValue("select")?.asObject(),s=i.getFieldValue("include")?.asObject(),a=i.getFieldValue("omit")?.asObject(),f=o?.getField(n);return o&&f?{parentKind:"select",parent:o,field:f,fieldName:n}:(f=s?.getField(n),s&&f?{parentKind:"include",field:f,parent:s,fieldName:n}:(f=a?.getField(n),a&&f?{parentKind:"omit",field:f,parent:a,fieldName:n}:{parentKind:"unknown",fieldName:n}))}function hi(t,e){if(e.kind==="object")for(let r of e.fields)t.hasField(r.name)||t.addSuggestion(new re(r.name,r.typeNames.join(" | ")))}function dt(t){let e=[...t],r=e.pop();if(!r)throw new Error("unexpected empty path");return[e,r]}function ft({green:t,enabled:e}){return"Available options are "+(e?`listed in ${t("green")}`:"marked with ?")+"."}function Jt(t,e){if(e.length===1)return e[0];let r=[...e],n=r.pop();return`${r.join(", ")} ${t} ${n}`}var Ta=3;function Ca(t,e){let r=1/0,n;for(let i of e){let o=(0,pi.default)(t,i);o>Ta||o`}};function Ke(t){return t instanceof gt}u();c();m();p();d();l();var Gt=Symbol(),Ur=new WeakMap,Ee=class{constructor(e){e===Gt?Ur.set(this,`Prisma.${this._getName()}`):Ur.set(this,`new Prisma.${this._getNamespace()}.${this._getName()}()`)}_getName(){return this.constructor.name}toString(){return Ur.get(this)}},yt=class extends Ee{_getNamespace(){return"NullTypes"}},ht=class extends yt{#e};Br(ht,"DbNull");var bt=class extends yt{#e};Br(bt,"JsonNull");var wt=class extends yt{#e};Br(wt,"AnyNull");var Wt={classes:{DbNull:ht,JsonNull:bt,AnyNull:wt},instances:{DbNull:new ht(Gt),JsonNull:new bt(Gt),AnyNull:new wt(Gt)}};function Br(t,e){Object.defineProperty(t,"name",{value:e,configurable:!0})}u();c();m();p();d();l();var bi=": ",Kt=class{constructor(e,r){this.name=e;this.value=r}hasError=!1;markAsError(){this.hasError=!0}getPrintWidth(){return this.name.length+this.value.getPrintWidth()+bi.length}write(e){let r=new de(this.name);this.hasError&&r.underline().setColor(e.context.colors.red),e.write(r).write(bi).write(this.value)}};var $r=class{arguments;errorMessages=[];constructor(e){this.arguments=e}write(e){e.write(this.arguments)}addErrorMessage(e){this.errorMessages.push(e)}renderAllMessages(e){return this.errorMessages.map(r=>r(e)).join(` +`)}};function He(t){return new $r(wi(t))}function wi(t){let e=new We;for(let[r,n]of Object.entries(t)){let i=new Kt(r,Ei(n));e.addField(i)}return e}function Ei(t){if(typeof t=="string")return new G(JSON.stringify(t));if(typeof t=="number"||typeof t=="boolean")return new G(String(t));if(typeof t=="bigint")return new G(`${t}n`);if(t===null)return new G("null");if(t===void 0)return new G("undefined");if(je(t))return new G(`new Prisma.Decimal("${t.toFixed()}")`);if(t instanceof Uint8Array)return b.isBuffer(t)?new G(`Buffer.alloc(${t.byteLength})`):new G(`new Uint8Array(${t.byteLength})`);if(t instanceof Date){let e=Ut(t)?t.toISOString():"Invalid Date";return new G(`new Date("${e}")`)}return t instanceof Ee?new G(`Prisma.${t._getName()}`):Ke(t)?new G(`prisma.${ve(t.modelName)}.$fields.${t.name}`):Array.isArray(t)?Ra(t):typeof t=="object"?wi(t):new G(Object.prototype.toString.call(t))}function Ra(t){let e=new Ge;for(let r of t)e.addItem(Ei(r));return e}function Ht(t,e){let r=e==="pretty"?mi:Qt,n=t.renderAllMessages(r),i=new Qe(0,{colors:r}).write(t).toString();return{message:n,args:i}}function zt({args:t,errors:e,errorFormat:r,callsite:n,originalMethod:i,clientVersion:o,globalOmit:s}){let a=He(t);for(let C of e)$t(C,a,s);let{message:f,args:h}=Ht(a,r),T=Bt({message:f,callsite:n,originalMethod:i,showColors:r==="pretty",callArguments:h});throw new W(T,{clientVersion:o})}u();c();m();p();d();l();u();c();m();p();d();l();function fe(t){return t.replace(/^./,e=>e.toLowerCase())}u();c();m();p();d();l();function Pi(t,e,r){let n=fe(r);return!e.result||!(e.result.$allModels||e.result[n])?t:Aa({...t,...xi(e.name,t,e.result.$allModels),...xi(e.name,t,e.result[n])})}function Aa(t){let e=new pe,r=(n,i)=>e.getOrCreate(n,()=>i.has(n)?[n]:(i.add(n),t[n]?t[n].needs.flatMap(o=>r(o,i)):[n]));return Be(t,n=>({...n,needs:r(n.name,new Set)}))}function xi(t,e,r){return r?Be(r,({needs:n,compute:i},o)=>({name:o,needs:n?Object.keys(n).filter(s=>n[s]):[],compute:Sa(e,o,i)})):{}}function Sa(t,e,r){let n=t?.[e]?.compute;return n?i=>r({...i,[e]:n(i)}):r}function vi(t,e){if(!e)return t;let r={...t};for(let n of Object.values(e))if(t[n.name])for(let i of n.needs)r[i]=!0;return r}function Ti(t,e){if(!e)return t;let r={...t};for(let n of Object.values(e))if(!t[n.name])for(let i of n.needs)delete r[i];return r}var Yt=class{constructor(e,r){this.extension=e;this.previous=r}computedFieldsCache=new pe;modelExtensionsCache=new pe;queryCallbacksCache=new pe;clientExtensions=ut(()=>this.extension.client?{...this.previous?.getAllClientExtensions(),...this.extension.client}:this.previous?.getAllClientExtensions());batchCallbacks=ut(()=>{let e=this.previous?.getAllBatchQueryCallbacks()??[],r=this.extension.query?.$__internalBatch;return r?e.concat(r):e});getAllComputedFields(e){return this.computedFieldsCache.getOrCreate(e,()=>Pi(this.previous?.getAllComputedFields(e),this.extension,e))}getAllClientExtensions(){return this.clientExtensions.get()}getAllModelExtensions(e){return this.modelExtensionsCache.getOrCreate(e,()=>{let r=fe(e);return!this.extension.model||!(this.extension.model[r]||this.extension.model.$allModels)?this.previous?.getAllModelExtensions(e):{...this.previous?.getAllModelExtensions(e),...this.extension.model.$allModels,...this.extension.model[r]}})}getAllQueryCallbacks(e,r){return this.queryCallbacksCache.getOrCreate(`${e}:${r}`,()=>{let n=this.previous?.getAllQueryCallbacks(e,r)??[],i=[],o=this.extension.query;return!o||!(o[e]||o.$allModels||o[r]||o.$allOperations)?n:(o[e]!==void 0&&(o[e][r]!==void 0&&i.push(o[e][r]),o[e].$allOperations!==void 0&&i.push(o[e].$allOperations)),e!=="$none"&&o.$allModels!==void 0&&(o.$allModels[r]!==void 0&&i.push(o.$allModels[r]),o.$allModels.$allOperations!==void 0&&i.push(o.$allModels.$allOperations)),o[r]!==void 0&&i.push(o[r]),o.$allOperations!==void 0&&i.push(o.$allOperations),n.concat(i))})}getAllBatchQueryCallbacks(){return this.batchCallbacks.get()}},ze=class t{constructor(e){this.head=e}static empty(){return new t}static single(e){return new t(new Yt(e))}isEmpty(){return this.head===void 0}append(e){return new t(new Yt(e,this.head))}getAllComputedFields(e){return this.head?.getAllComputedFields(e)}getAllClientExtensions(){return this.head?.getAllClientExtensions()}getAllModelExtensions(e){return this.head?.getAllModelExtensions(e)}getAllQueryCallbacks(e,r){return this.head?.getAllQueryCallbacks(e,r)??[]}getAllBatchQueryCallbacks(){return this.head?.getAllBatchQueryCallbacks()??[]}};u();c();m();p();d();l();var Xt=class{constructor(e){this.name=e}};function Ci(t){return t instanceof Xt}function Ri(t){return new Xt(t)}u();c();m();p();d();l();u();c();m();p();d();l();var Ai=Symbol(),Et=class{constructor(e){if(e!==Ai)throw new Error("Skip instance can not be constructed directly")}ifUndefined(e){return e===void 0?Zt:e}},Zt=new Et(Ai);function ge(t){return t instanceof Et}var ka={findUnique:"findUnique",findUniqueOrThrow:"findUniqueOrThrow",findFirst:"findFirst",findFirstOrThrow:"findFirstOrThrow",findMany:"findMany",count:"aggregate",create:"createOne",createMany:"createMany",createManyAndReturn:"createManyAndReturn",update:"updateOne",updateMany:"updateMany",updateManyAndReturn:"updateManyAndReturn",upsert:"upsertOne",delete:"deleteOne",deleteMany:"deleteMany",executeRaw:"executeRaw",queryRaw:"queryRaw",aggregate:"aggregate",groupBy:"groupBy",runCommandRaw:"runCommandRaw",findRaw:"findRaw",aggregateRaw:"aggregateRaw"},Si="explicitly `undefined` values are not allowed";function er({modelName:t,action:e,args:r,runtimeDataModel:n,extensions:i=ze.empty(),callsite:o,clientMethod:s,errorFormat:a,clientVersion:f,previewFeatures:h,globalOmit:T}){let C=new Vr({runtimeDataModel:n,modelName:t,action:e,rootArgs:r,callsite:o,extensions:i,selectionPath:[],argumentPath:[],originalMethod:s,errorFormat:a,clientVersion:f,previewFeatures:h,globalOmit:T});return{modelName:t,action:ka[e],query:xt(r,C)}}function xt({select:t,include:e,...r}={},n){let i=r.omit;return delete r.omit,{arguments:Oi(r,n),selection:Oa(t,e,i,n)}}function Oa(t,e,r,n){return t?(e?n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"include",secondField:"select",selectionPath:n.getSelectionPath()}):r&&n.throwValidationError({kind:"MutuallyExclusiveFields",firstField:"omit",secondField:"select",selectionPath:n.getSelectionPath()}),_a(t,n)):Ia(n,e,r)}function Ia(t,e,r){let n={};return t.modelOrType&&!t.isRawAction()&&(n.$composites=!0,n.$scalars=!0),e&&Ma(n,e,t),Da(n,r,t),n}function Ma(t,e,r){for(let[n,i]of Object.entries(e)){if(ge(i))continue;let o=r.nestSelection(n);if(jr(i,o),i===!1||i===void 0){t[n]=!1;continue}let s=r.findField(n);if(s&&s.kind!=="object"&&r.throwValidationError({kind:"IncludeOnScalar",selectionPath:r.getSelectionPath().concat(n),outputType:r.getOutputTypeDescription()}),s){t[n]=xt(i===!0?{}:i,o);continue}if(i===!0){t[n]=!0;continue}t[n]=xt(i,o)}}function Da(t,e,r){let n=r.getComputedFields(),i={...r.getGlobalOmit(),...e},o=Ti(i,n);for(let[s,a]of Object.entries(o)){if(ge(a))continue;jr(a,r.nestSelection(s));let f=r.findField(s);n?.[s]&&!f||(t[s]=!a)}}function _a(t,e){let r={},n=e.getComputedFields(),i=vi(t,n);for(let[o,s]of Object.entries(i)){if(ge(s))continue;let a=e.nestSelection(o);jr(s,a);let f=e.findField(o);if(!(n?.[o]&&!f)){if(s===!1||s===void 0||ge(s)){r[o]=!1;continue}if(s===!0){f?.kind==="object"?r[o]=xt({},a):r[o]=!0;continue}r[o]=xt(s,a)}}return r}function ki(t,e){if(t===null)return null;if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="bigint")return{$type:"BigInt",value:String(t)};if(Ve(t)){if(Ut(t))return{$type:"DateTime",value:t.toISOString()};e.throwValidationError({kind:"InvalidArgumentValue",selectionPath:e.getSelectionPath(),argumentPath:e.getArgumentPath(),argument:{name:e.getArgumentName(),typeNames:["Date"]},underlyingError:"Provided Date object is invalid"})}if(Ci(t))return{$type:"Param",value:t.name};if(Ke(t))return{$type:"FieldRef",value:{_ref:t.name,_container:t.modelName}};if(Array.isArray(t))return La(t,e);if(ArrayBuffer.isView(t)){let{buffer:r,byteOffset:n,byteLength:i}=t;return{$type:"Bytes",value:b.from(r,n,i).toString("base64")}}if(Fa(t))return t.values;if(je(t))return{$type:"Decimal",value:t.toFixed()};if(t instanceof Ee){if(t!==Wt.instances[t._getName()])throw new Error("Invalid ObjectEnumValue");return{$type:"Enum",value:t._getName()}}if(Na(t))return t.toJSON();if(typeof t=="object")return Oi(t,e);e.throwValidationError({kind:"InvalidArgumentValue",selectionPath:e.getSelectionPath(),argumentPath:e.getArgumentPath(),argument:{name:e.getArgumentName(),typeNames:[]},underlyingError:`We could not serialize ${Object.prototype.toString.call(t)} value. Serialize the object to JSON or implement a ".toJSON()" method on it`})}function Oi(t,e){if(t.$type)return{$type:"Raw",value:t};let r={};for(let n in t){let i=t[n],o=e.nestArgument(n);ge(i)||(i!==void 0?r[n]=ki(i,o):e.isPreviewFeatureOn("strictUndefinedChecks")&&e.throwValidationError({kind:"InvalidArgumentValue",argumentPath:o.getArgumentPath(),selectionPath:e.getSelectionPath(),argument:{name:e.getArgumentName(),typeNames:[]},underlyingError:Si}))}return r}function La(t,e){let r=[];for(let n=0;n({name:e.name,typeName:"boolean",isRelation:e.kind==="object"}))}}isRawAction(){return["executeRaw","queryRaw","runCommandRaw","findRaw","aggregateRaw"].includes(this.params.action)}isPreviewFeatureOn(e){return this.params.previewFeatures.includes(e)}getComputedFields(){if(this.params.modelName)return this.params.extensions.getAllComputedFields(this.params.modelName)}findField(e){return this.modelOrType?.fields.find(r=>r.name===e)}nestSelection(e){let r=this.findField(e),n=r?.kind==="object"?r.type:void 0;return new t({...this.params,modelName:n,selectionPath:this.params.selectionPath.concat(e)})}getGlobalOmit(){return this.params.modelName&&this.shouldApplyGlobalOmit()?this.params.globalOmit?.[ve(this.params.modelName)]??{}:{}}shouldApplyGlobalOmit(){switch(this.params.action){case"findFirst":case"findFirstOrThrow":case"findUniqueOrThrow":case"findMany":case"upsert":case"findUnique":case"createManyAndReturn":case"create":case"update":case"updateManyAndReturn":case"delete":return!0;case"executeRaw":case"aggregateRaw":case"runCommandRaw":case"findRaw":case"createMany":case"deleteMany":case"groupBy":case"updateMany":case"count":case"aggregate":case"queryRaw":return!1;default:be(this.params.action,"Unknown action")}}nestArgument(e){return new t({...this.params,argumentPath:this.params.argumentPath.concat(e)})}};u();c();m();p();d();l();function Ii(t){if(!t._hasPreviewFlag("metrics"))throw new W("`metrics` preview feature must be enabled in order to access metrics API",{clientVersion:t._clientVersion})}var Ye=class{_client;constructor(e){this._client=e}prometheus(e){return Ii(this._client),this._client._engine.metrics({format:"prometheus",...e})}json(e){return Ii(this._client),this._client._engine.metrics({format:"json",...e})}};u();c();m();p();d();l();function Mi(t,e){let r=ut(()=>qa(e));Object.defineProperty(t,"dmmf",{get:()=>r.get()})}function qa(t){throw new Error("Prisma.dmmf is not available when running in edge runtimes.")}function Qr(t){return Object.entries(t).map(([e,r])=>({name:e,...r}))}u();c();m();p();d();l();var Jr=new WeakMap,tr="$$PrismaTypedSql",Pt=class{constructor(e,r){Jr.set(this,{sql:e,values:r}),Object.defineProperty(this,tr,{value:tr})}get sql(){return Jr.get(this).sql}get values(){return Jr.get(this).values}};function Di(t){return(...e)=>new Pt(t,e)}function rr(t){return t!=null&&t[tr]===tr}u();c();m();p();d();l();var Go=nt(_i());u();c();m();p();d();l();Li();Un();jn();u();c();m();p();d();l();var Z=class t{constructor(e,r){if(e.length-1!==r.length)throw e.length===0?new TypeError("Expected at least 1 string"):new TypeError(`Expected ${e.length} strings to have ${e.length-1} values`);let n=r.reduce((s,a)=>s+(a instanceof t?a.values.length:1),0);this.values=new Array(n),this.strings=new Array(n+1),this.strings[0]=e[0];let i=0,o=0;for(;it.getPropertyValue(r))},getPropertyDescriptor(r){return t.getPropertyDescriptor?.(r)}}}u();c();m();p();d();l();u();c();m();p();d();l();var ir={enumerable:!0,configurable:!0,writable:!0};function or(t){let e=new Set(t);return{getPrototypeOf:()=>Object.prototype,getOwnPropertyDescriptor:()=>ir,has:(r,n)=>e.has(n),set:(r,n,i)=>e.add(n)&&Reflect.set(r,n,i),ownKeys:()=>[...e]}}var qi=Symbol.for("nodejs.util.inspect.custom");function ae(t,e){let r=Ba(e),n=new Set,i=new Proxy(t,{get(o,s){if(n.has(s))return o[s];let a=r.get(s);return a?a.getPropertyValue(s):o[s]},has(o,s){if(n.has(s))return!0;let a=r.get(s);return a?a.has?.(s)??!0:Reflect.has(o,s)},ownKeys(o){let s=Ui(Reflect.ownKeys(o),r),a=Ui(Array.from(r.keys()),r);return[...new Set([...s,...a,...n])]},set(o,s,a){return r.get(s)?.getPropertyDescriptor?.(s)?.writable===!1?!1:(n.add(s),Reflect.set(o,s,a))},getOwnPropertyDescriptor(o,s){let a=Reflect.getOwnPropertyDescriptor(o,s);if(a&&!a.configurable)return a;let f=r.get(s);return f?f.getPropertyDescriptor?{...ir,...f?.getPropertyDescriptor(s)}:ir:a},defineProperty(o,s,a){return n.add(s),Reflect.defineProperty(o,s,a)},getPrototypeOf:()=>Object.prototype});return i[qi]=function(){let o={...this};return delete o[qi],o},i}function Ba(t){let e=new Map;for(let r of t){let n=r.getKeys();for(let i of n)e.set(i,r)}return e}function Ui(t,e){return t.filter(r=>e.get(r)?.has?.(r)??!0)}u();c();m();p();d();l();function Xe(t){return{getKeys(){return t},has(){return!1},getPropertyValue(){}}}u();c();m();p();d();l();function sr(t,e){return{batch:t,transaction:e?.kind==="batch"?{isolationLevel:e.options.isolationLevel}:void 0}}u();c();m();p();d();l();function Bi(t){if(t===void 0)return"";let e=He(t);return new Qe(0,{colors:Qt}).write(e).toString()}u();c();m();p();d();l();var $a="P2037";function ar({error:t,user_facing_error:e},r,n){return e.error_code?new X(Va(e,n),{code:e.error_code,clientVersion:r,meta:e.meta,batchRequestIdx:e.batch_request_idx}):new j(t,{clientVersion:r,batchRequestIdx:e.batch_request_idx})}function Va(t,e){let r=t.message;return(e==="postgresql"||e==="postgres"||e==="mysql")&&t.error_code===$a&&(r+=` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`),r}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var Kr=class{getLocation(){return null}};function Ce(t){return typeof $EnabledCallSite=="function"&&t!=="minimal"?new $EnabledCallSite:new Kr}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();var $i={_avg:!0,_count:!0,_sum:!0,_min:!0,_max:!0};function Ze(t={}){let e=Qa(t);return Object.entries(e).reduce((n,[i,o])=>($i[i]!==void 0?n.select[i]={select:o}:n[i]=o,n),{select:{}})}function Qa(t={}){return typeof t._count=="boolean"?{...t,_count:{_all:t._count}}:t}function lr(t={}){return e=>(typeof t._count=="boolean"&&(e._count=e._count._all),e)}function Vi(t,e){let r=lr(t);return e({action:"aggregate",unpacker:r,argsMapper:Ze})(t)}u();c();m();p();d();l();function Ja(t={}){let{select:e,...r}=t;return typeof e=="object"?Ze({...r,_count:e}):Ze({...r,_count:{_all:!0}})}function Ga(t={}){return typeof t.select=="object"?e=>lr(t)(e)._count:e=>lr(t)(e)._count._all}function ji(t,e){return e({action:"count",unpacker:Ga(t),argsMapper:Ja})(t)}u();c();m();p();d();l();function Wa(t={}){let e=Ze(t);if(Array.isArray(e.by))for(let r of e.by)typeof r=="string"&&(e.select[r]=!0);else typeof e.by=="string"&&(e.select[e.by]=!0);return e}function Ka(t={}){return e=>(typeof t?._count=="boolean"&&e.forEach(r=>{r._count=r._count._all}),e)}function Qi(t,e){return e({action:"groupBy",unpacker:Ka(t),argsMapper:Wa})(t)}function Ji(t,e,r){if(e==="aggregate")return n=>Vi(n,r);if(e==="count")return n=>ji(n,r);if(e==="groupBy")return n=>Qi(n,r)}u();c();m();p();d();l();function Gi(t,e){let r=e.fields.filter(i=>!i.relationName),n=ri(r,"name");return new Proxy({},{get(i,o){if(o in i||typeof o=="symbol")return i[o];let s=n[o];if(s)return new gt(t,o,s.type,s.isList,s.kind==="enum")},...or(Object.keys(n))})}u();c();m();p();d();l();u();c();m();p();d();l();var Wi=t=>Array.isArray(t)?t:t.split("."),Hr=(t,e)=>Wi(e).reduce((r,n)=>r&&r[n],t),Ki=(t,e,r)=>Wi(e).reduceRight((n,i,o,s)=>Object.assign({},Hr(t,s.slice(0,o)),{[i]:n}),r);function Ha(t,e){return t===void 0||e===void 0?[]:[...e,"select",t]}function za(t,e,r){return e===void 0?t??{}:Ki(e,r,t||!0)}function zr(t,e,r,n,i,o){let a=t._runtimeDataModel.models[e].fields.reduce((f,h)=>({...f,[h.name]:h}),{});return f=>{let h=Ce(t._errorFormat),T=Ha(n,i),C=za(f,o,T),k=r({dataPath:T,callsite:h})(C),R=Ya(t,e);return new Proxy(k,{get(O,S){if(!R.includes(S))return O[S];let oe=[a[S].type,r,S],H=[T,C];return zr(t,...oe,...H)},...or([...R,...Object.getOwnPropertyNames(k)])})}}function Ya(t,e){return t._runtimeDataModel.models[e].fields.filter(r=>r.kind==="object").map(r=>r.name)}var Xa=["findUnique","findUniqueOrThrow","findFirst","findFirstOrThrow","create","update","upsert","delete"],Za=["aggregate","count","groupBy"];function Yr(t,e){let r=t._extensions.getAllModelExtensions(e)??{},n=[el(t,e),rl(t,e),vt(r),K("name",()=>e),K("$name",()=>e),K("$parent",()=>t._appliedParent)];return ae({},n)}function el(t,e){let r=fe(e),n=Object.keys(ct).concat("count");return{getKeys(){return n},getPropertyValue(i){let o=i,s=a=>f=>{let h=Ce(t._errorFormat);return t._createPrismaPromise(T=>{let C={args:f,dataPath:[],action:o,model:e,clientMethod:`${r}.${i}`,jsModelName:r,transaction:T,callsite:h};return t._request({...C,...a})},{action:o,args:f,model:e})};return Xa.includes(o)?zr(t,e,s):tl(i)?Ji(t,i,s):s({})}}}function tl(t){return Za.includes(t)}function rl(t,e){return Me(K("fields",()=>{let r=t._runtimeDataModel.models[e];return Gi(e,r)}))}u();c();m();p();d();l();function Hi(t){return t.replace(/^./,e=>e.toUpperCase())}var Xr=Symbol();function Tt(t){let e=[nl(t),il(t),K(Xr,()=>t),K("$parent",()=>t._appliedParent)],r=t._extensions.getAllClientExtensions();return r&&e.push(vt(r)),ae(t,e)}function nl(t){let e=Object.getPrototypeOf(t._originalClient),r=[...new Set(Object.getOwnPropertyNames(e))];return{getKeys(){return r},getPropertyValue(n){return t[n]}}}function il(t){let e=Object.keys(t._runtimeDataModel.models),r=e.map(fe),n=[...new Set(e.concat(r))];return Me({getKeys(){return n},getPropertyValue(i){let o=Hi(i);if(t._runtimeDataModel.models[o]!==void 0)return Yr(t,o);if(t._runtimeDataModel.models[i]!==void 0)return Yr(t,i)},getPropertyDescriptor(i){if(!r.includes(i))return{enumerable:!1}}})}function zi(t){return t[Xr]?t[Xr]:t}function Yi(t){if(typeof t=="function")return t(this);if(t.client?.__AccelerateEngine){let r=t.client.__AccelerateEngine;this._originalClient._engine=new r(this._originalClient._accelerateEngineConfig)}let e=Object.create(this._originalClient,{_extensions:{value:this._extensions.append(t)},_appliedParent:{value:this,configurable:!0},$use:{value:void 0},$on:{value:void 0}});return Tt(e)}u();c();m();p();d();l();u();c();m();p();d();l();function Xi({result:t,modelName:e,select:r,omit:n,extensions:i}){let o=i.getAllComputedFields(e);if(!o)return t;let s=[],a=[];for(let f of Object.values(o)){if(n){if(n[f.name])continue;let h=f.needs.filter(T=>n[T]);h.length>0&&a.push(Xe(h))}else if(r){if(!r[f.name])continue;let h=f.needs.filter(T=>!r[T]);h.length>0&&a.push(Xe(h))}ol(t,f.needs)&&s.push(sl(f,ae(t,s)))}return s.length>0||a.length>0?ae(t,[...s,...a]):t}function ol(t,e){return e.every(r=>_r(t,r))}function sl(t,e){return Me(K(t.name,()=>t.compute(e)))}u();c();m();p();d();l();function ur({visitor:t,result:e,args:r,runtimeDataModel:n,modelName:i}){if(Array.isArray(e)){for(let s=0;sT.name===o);if(!f||f.kind!=="object"||!f.relationName)continue;let h=typeof s=="object"?s:{};e[o]=ur({visitor:i,result:e[o],args:h,modelName:f.type,runtimeDataModel:n})}}function eo({result:t,modelName:e,args:r,extensions:n,runtimeDataModel:i,globalOmit:o}){return n.isEmpty()||t==null||typeof t!="object"||!i.models[e]?t:ur({result:t,args:r??{},modelName:e,runtimeDataModel:i,visitor:(a,f,h)=>{let T=fe(f);return Xi({result:a,modelName:T,select:h.select,omit:h.select?void 0:{...o?.[T],...h.omit},extensions:n})}})}u();c();m();p();d();l();u();c();m();p();d();l();l();u();c();m();p();d();l();var al=["$connect","$disconnect","$on","$transaction","$use","$extends"],to=al;function ro(t){if(t instanceof Z)return ll(t);if(rr(t))return ul(t);if(Array.isArray(t)){let r=[t[0]];for(let n=1;n{let o=e.customDataProxyFetch;return"transaction"in e&&i!==void 0&&(e.transaction?.kind==="batch"&&e.transaction.lock.then(),e.transaction=i),n===r.length?t._executeRequest(e):r[n]({model:e.model,operation:e.model?e.action:e.clientMethod,args:ro(e.args??{}),__internalParams:e,query:(s,a=e)=>{let f=a.customDataProxyFetch;return a.customDataProxyFetch=lo(o,f),a.args=s,io(t,a,r,n+1)}})})}function oo(t,e){let{jsModelName:r,action:n,clientMethod:i}=e,o=r?n:i;if(t._extensions.isEmpty())return t._executeRequest(e);let s=t._extensions.getAllQueryCallbacks(r??"$none",o);return io(t,e,s)}function so(t){return e=>{let r={requests:e},n=e[0].extensions.getAllBatchQueryCallbacks();return n.length?ao(r,n,0,t):t(r)}}function ao(t,e,r,n){if(r===e.length)return n(t);let i=t.customDataProxyFetch,o=t.requests[0].transaction;return e[r]({args:{queries:t.requests.map(s=>({model:s.modelName,operation:s.action,args:s.args})),transaction:o?{isolationLevel:o.kind==="batch"?o.isolationLevel:void 0}:void 0},__internalParams:t,query(s,a=t){let f=a.customDataProxyFetch;return a.customDataProxyFetch=lo(i,f),ao(a,e,r+1,n)}})}var no=t=>t;function lo(t=no,e=no){return r=>t(e(r))}u();c();m();p();d();l();var uo=J("prisma:client"),co={Vercel:"vercel","Netlify CI":"netlify"};function mo({postinstall:t,ciName:e,clientVersion:r}){if(uo("checkPlatformCaching:postinstall",t),uo("checkPlatformCaching:ciName",e),t===!0&&e&&e in co){let n=`Prisma has detected that this project was built on ${e}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${co[e]}-build`;throw console.error(n),new M(n,r)}}u();c();m();p();d();l();function po(t,e){return t?t.datasources?t.datasources:t.datasourceUrl?{[e[0]]:{url:t.datasourceUrl}}:{}:{}}u();c();m();p();d();l();u();c();m();p();d();l();var cl=()=>globalThis.process?.release?.name==="node",ml=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,pl=()=>!!globalThis.Deno,dl=()=>typeof globalThis.Netlify=="object",fl=()=>typeof globalThis.EdgeRuntime=="object",gl=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function yl(){return[[dl,"netlify"],[fl,"edge-light"],[gl,"workerd"],[pl,"deno"],[ml,"bun"],[cl,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var hl={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Re(){let t=yl();return{id:t,prettyName:hl[t]||t,isEdge:["workerd","deno","netlify","edge-light"].includes(t)}}u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();u();c();m();p();d();l();function Zr(t){return t.name==="DriverAdapterError"&&typeof t.cause=="object"}u();c();m();p();d();l();function cr(t){return{ok:!0,value:t,map(e){return cr(e(t))},flatMap(e){return e(t)}}}function De(t){return{ok:!1,error:t,map(){return De(t)},flatMap(){return De(t)}}}var fo=J("driver-adapter-utils"),en=class{registeredErrors=[];consumeError(e){return this.registeredErrors[e]}registerNewError(e){let r=0;for(;this.registeredErrors[r]!==void 0;)r++;return this.registeredErrors[r]={error:e},r}};var mr=(t,e=new en)=>{let r={adapterName:t.adapterName,errorRegistry:e,queryRaw:xe(e,t.queryRaw.bind(t)),executeRaw:xe(e,t.executeRaw.bind(t)),executeScript:xe(e,t.executeScript.bind(t)),dispose:xe(e,t.dispose.bind(t)),provider:t.provider,startTransaction:async(...n)=>(await xe(e,t.startTransaction.bind(t))(...n)).map(o=>bl(e,o))};return t.getConnectionInfo&&(r.getConnectionInfo=wl(e,t.getConnectionInfo.bind(t))),r},bl=(t,e)=>({adapterName:e.adapterName,provider:e.provider,options:e.options,queryRaw:xe(t,e.queryRaw.bind(e)),executeRaw:xe(t,e.executeRaw.bind(e)),commit:xe(t,e.commit.bind(e)),rollback:xe(t,e.rollback.bind(e))});function xe(t,e){return async(...r)=>{try{return cr(await e(...r))}catch(n){if(fo("[error@wrapAsync]",n),Zr(n))return De(n.cause);let i=t.registerNewError(n);return De({kind:"GenericJs",id:i})}}}function wl(t,e){return(...r)=>{try{return cr(e(...r))}catch(n){if(fo("[error@wrapSync]",n),Zr(n))return De(n.cause);let i=t.registerNewError(n);return De({kind:"GenericJs",id:i})}}}var go="6.11.1";u();c();m();p();d();l();function pr({inlineDatasources:t,overrideDatasources:e,env:r,clientVersion:n}){let i,o=Object.keys(t)[0],s=t[o]?.url,a=e[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw Re().id==="workerd"?new M(`error: Environment variable not found: ${s.fromEnvVar}. + +In Cloudflare module Workers, environment variables are available only in the Worker's \`env\` parameter of \`fetch\`. +To solve this, provide the connection string directly: https://pris.ly/d/cloudflare-datasource-url`,n):new M(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new M("error: Missing URL environment variable, value, or override.",n);return i}u();c();m();p();d();l();u();c();m();p();d();l();function yo(t){if(t?.kind==="itx")return t.options.id}u();c();m();p();d();l();var tn,ho={async loadLibrary(t){let{clientVersion:e,adapter:r,engineWasm:n}=t;if(r===void 0)throw new M(`The \`adapter\` option for \`PrismaClient\` is required in this context (${Re().prettyName})`,e);if(n===void 0)throw new M("WASM engine was unexpectedly `undefined`",e);tn===void 0&&(tn=(async()=>{let o=await n.getRuntime(),s=await n.getQueryEngineWasmModule();if(s==null)throw new M("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",e);let a={"./query_engine_bg.js":o},f=new WebAssembly.Instance(s,a),h=f.exports.__wbindgen_start;return o.__wbg_set_wasm(f.exports),h(),o.QueryEngine})());let i=await tn;return{debugPanic(){return Promise.reject("{}")},dmmf(){return Promise.resolve("{}")},version(){return{commit:"unknown",version:"unknown"}},QueryEngine:i}}};var xl="P2036",ye=J("prisma:client:libraryEngine");function Pl(t){return t.item_type==="query"&&"query"in t}function vl(t){return"level"in t?t.level==="error"&&t.message==="PANIC":!1}var IS=[...Or,"native"],Tl=0xffffffffffffffffn,rn=1n;function Cl(){let t=rn++;return rn>Tl&&(rn=1n),t}var Rt=class{name="LibraryEngine";engine;libraryInstantiationPromise;libraryStartingPromise;libraryStoppingPromise;libraryStarted;executingQueryPromise;config;QueryEngineConstructor;libraryLoader;library;logEmitter;libQueryEnginePath;binaryTarget;datasourceOverrides;datamodel;logQueries;logLevel;lastQuery;loggerRustPanic;tracingHelper;adapterPromise;versionInfo;constructor(e,r){this.libraryLoader=r??ho,this.config=e,this.libraryStarted=!1,this.logQueries=e.logQueries??!1,this.logLevel=e.logLevel??"error",this.logEmitter=e.logEmitter,this.datamodel=e.inlineSchema,this.tracingHelper=e.tracingHelper,e.enableDebugLogs&&(this.logLevel="debug");let n=Object.keys(e.overrideDatasources)[0],i=e.overrideDatasources[n]?.url;n!==void 0&&i!==void 0&&(this.datasourceOverrides={[n]:i}),this.libraryInstantiationPromise=this.instantiateLibrary()}wrapEngine(e){return{applyPendingMigrations:e.applyPendingMigrations?.bind(e),commitTransaction:this.withRequestId(e.commitTransaction.bind(e)),connect:this.withRequestId(e.connect.bind(e)),disconnect:this.withRequestId(e.disconnect.bind(e)),metrics:e.metrics?.bind(e),query:this.withRequestId(e.query.bind(e)),rollbackTransaction:this.withRequestId(e.rollbackTransaction.bind(e)),sdlSchema:e.sdlSchema?.bind(e),startTransaction:this.withRequestId(e.startTransaction.bind(e)),trace:e.trace.bind(e),free:e.free?.bind(e)}}withRequestId(e){return async(...r)=>{let n=Cl().toString();try{return await e(...r,n)}finally{if(this.tracingHelper.isEnabled()){let i=await this.engine?.trace(n);if(i){let o=JSON.parse(i);this.tracingHelper.dispatchEngineSpans(o.spans)}}}}}async applyPendingMigrations(){throw new Error("Cannot call this method from this type of engine instance")}async transaction(e,r,n){await this.start();let i=await this.adapterPromise,o=JSON.stringify(r),s;if(e==="start"){let f=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel});s=await this.engine?.startTransaction(f,o)}else e==="commit"?s=await this.engine?.commitTransaction(n.id,o):e==="rollback"&&(s=await this.engine?.rollbackTransaction(n.id,o));let a=this.parseEngineResponse(s);if(Rl(a)){let f=this.getExternalAdapterError(a,i?.errorRegistry);throw f?f.error:new X(a.message,{code:a.error_code,clientVersion:this.config.clientVersion,meta:a.meta})}else if(typeof a.message=="string")throw new j(a.message,{clientVersion:this.config.clientVersion});return a}async instantiateLibrary(){if(ye("internalSetup"),this.libraryInstantiationPromise)return this.libraryInstantiationPromise;this.binaryTarget=await this.getCurrentBinaryTarget(),await this.tracingHelper.runInChildSpan("load_engine",()=>this.loadEngine()),this.version()}async getCurrentBinaryTarget(){}parseEngineResponse(e){if(!e)throw new j("Response from the Engine was empty",{clientVersion:this.config.clientVersion});try{return JSON.parse(e)}catch{throw new j("Unable to JSON.parse response from engine",{clientVersion:this.config.clientVersion})}}async loadEngine(){if(!this.engine){this.QueryEngineConstructor||(this.library=await this.libraryLoader.loadLibrary(this.config),this.QueryEngineConstructor=this.library.QueryEngine);try{let e=new w(this);this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(mr));let r=await this.adapterPromise;r&&ye("Using driver adapter: %O",r),this.engine=this.wrapEngine(new this.QueryEngineConstructor({datamodel:this.datamodel,env:g.env,logQueries:this.config.logQueries??!1,ignoreEnvVarErrors:!0,datasourceOverrides:this.datasourceOverrides??{},logLevel:this.logLevel,configDir:this.config.cwd,engineProtocol:"json",enableTracing:this.tracingHelper.isEnabled()},n=>{e.deref()?.logger(n)},r))}catch(e){let r=e,n=this.parseInitError(r.message);throw typeof n=="string"?r:new M(n.message,this.config.clientVersion,n.error_code)}}}logger(e){let r=this.parseEngineResponse(e);r&&(r.level=r?.level.toLowerCase()??"unknown",Pl(r)?this.logEmitter.emit("query",{timestamp:new Date,query:r.query,params:r.params,duration:Number(r.duration_ms),target:r.module_path}):(vl(r),this.logEmitter.emit(r.level,{timestamp:new Date,message:r.message,target:r.module_path})))}parseInitError(e){try{return JSON.parse(e)}catch{}return e}parseRequestError(e){try{return JSON.parse(e)}catch{}return e}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){if(this.libraryInstantiationPromise||(this.libraryInstantiationPromise=this.instantiateLibrary()),await this.libraryInstantiationPromise,await this.libraryStoppingPromise,this.libraryStartingPromise)return ye(`library already starting, this.libraryStarted: ${this.libraryStarted}`),this.libraryStartingPromise;if(this.libraryStarted)return;let e=async()=>{ye("library starting");try{let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.connect(JSON.stringify(r)),this.libraryStarted=!0,this.adapterPromise||(this.adapterPromise=this.config.adapter?.connect()?.then(mr)),await this.adapterPromise,ye("library started")}catch(r){let n=this.parseInitError(r.message);throw typeof n=="string"?r:new M(n.message,this.config.clientVersion,n.error_code)}finally{this.libraryStartingPromise=void 0}};return this.libraryStartingPromise=this.tracingHelper.runInChildSpan("connect",e),this.libraryStartingPromise}async stop(){if(await this.libraryInstantiationPromise,await this.libraryStartingPromise,await this.executingQueryPromise,this.libraryStoppingPromise)return ye("library is already stopping"),this.libraryStoppingPromise;if(!this.libraryStarted){await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0;return}let e=async()=>{await new Promise(n=>setImmediate(n)),ye("library stopping");let r={traceparent:this.tracingHelper.getTraceParent()};await this.engine?.disconnect(JSON.stringify(r)),this.engine?.free&&this.engine.free(),this.engine=void 0,this.libraryStarted=!1,this.libraryStoppingPromise=void 0,this.libraryInstantiationPromise=void 0,await(await this.adapterPromise)?.dispose(),this.adapterPromise=void 0,ye("library stopped")};return this.libraryStoppingPromise=this.tracingHelper.runInChildSpan("disconnect",e),this.libraryStoppingPromise}version(){return this.versionInfo=this.library?.version(),this.versionInfo?.version??"unknown"}debugPanic(e){return this.library?.debugPanic(e)}async request(e,{traceparent:r,interactiveTransaction:n}){ye(`sending request, this.libraryStarted: ${this.libraryStarted}`);let i=JSON.stringify({traceparent:r}),o=JSON.stringify(e);try{await this.start();let s=await this.adapterPromise;this.executingQueryPromise=this.engine?.query(o,i,n?.id),this.lastQuery=o;let a=this.parseEngineResponse(await this.executingQueryPromise);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],s?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});if(this.loggerRustPanic)throw this.loggerRustPanic;return{data:a}}catch(s){if(s instanceof M)throw s;s.code==="GenericFailure"&&s.message?.startsWith("PANIC:");let a=this.parseRequestError(s.message);throw typeof a=="string"?s:new j(`${a.message} +${a.backtrace}`,{clientVersion:this.config.clientVersion})}}async requestBatch(e,{transaction:r,traceparent:n}){ye("requestBatch");let i=sr(e,r);await this.start();let o=await this.adapterPromise;this.lastQuery=JSON.stringify(i),this.executingQueryPromise=this.engine?.query(this.lastQuery,JSON.stringify({traceparent:n}),yo(r));let s=await this.executingQueryPromise,a=this.parseEngineResponse(s);if(a.errors)throw a.errors.length===1?this.buildQueryError(a.errors[0],o?.errorRegistry):new j(JSON.stringify(a.errors),{clientVersion:this.config.clientVersion});let{batchResult:f,errors:h}=a;if(Array.isArray(f))return f.map(T=>T.errors&&T.errors.length>0?this.loggerRustPanic??this.buildQueryError(T.errors[0],o?.errorRegistry):{data:T});throw h&&h.length===1?new Error(h[0].error):new Error(JSON.stringify(a))}buildQueryError(e,r){e.user_facing_error.is_panic;let n=this.getExternalAdapterError(e.user_facing_error,r);return n?n.error:ar(e,this.config.clientVersion,this.config.activeProvider)}getExternalAdapterError(e,r){if(e.error_code===xl&&r){let n=e.meta?.id;qt(typeof n=="number","Malformed external JS error received from the engine");let i=r.consumeError(n);return qt(i,"External error with reported id was not registered"),i}}async metrics(e){await this.start();let r=await this.engine.metrics(JSON.stringify(e));return e.format==="prometheus"?r:this.parseEngineResponse(r)}};function Rl(t){return typeof t=="object"&&t!==null&&t.error_code!==void 0}u();c();m();p();d();l();var At="Accelerate has not been setup correctly. Make sure your client is using `.$extends(withAccelerate())`. See https://pris.ly/d/accelerate-getting-started",dr=class{constructor(e){this.config=e;this.resolveDatasourceUrl=this.config.accelerateUtils?.resolveDatasourceUrl,this.getBatchRequestPayload=this.config.accelerateUtils?.getBatchRequestPayload,this.prismaGraphQLToJSError=this.config.accelerateUtils?.prismaGraphQLToJSError,this.PrismaClientUnknownRequestError=this.config.accelerateUtils?.PrismaClientUnknownRequestError,this.PrismaClientInitializationError=this.config.accelerateUtils?.PrismaClientInitializationError,this.PrismaClientKnownRequestError=this.config.accelerateUtils?.PrismaClientKnownRequestError,this.debug=this.config.accelerateUtils?.debug,this.engineVersion=this.config.accelerateUtils?.engineVersion,this.clientVersion=this.config.accelerateUtils?.clientVersion}name="AccelerateEngine";resolveDatasourceUrl;getBatchRequestPayload;prismaGraphQLToJSError;PrismaClientUnknownRequestError;PrismaClientInitializationError;PrismaClientKnownRequestError;debug;engineVersion;clientVersion;onBeforeExit(e){}async start(){}async stop(){}version(e){return"unknown"}transaction(e,r,n){throw new M(At,this.config.clientVersion)}metrics(e){throw new M(At,this.config.clientVersion)}request(e,r){throw new M(At,this.config.clientVersion)}requestBatch(e,r){throw new M(At,this.config.clientVersion)}applyPendingMigrations(){throw new M(At,this.config.clientVersion)}};u();c();m();p();d();l();function bo({url:t,adapter:e,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=S=>{i.push({_tag:"warning",value:S})},a=S=>{let I=S.join(` +`);o.push({_tag:"error",value:I})},f=!!t?.startsWith("prisma://"),h=Mr(t),T=!!e,C=f||h;!T&&r&&C&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let k=C||!r;T&&(k||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):r?f&&a(["Prisma Client was configured to use the `adapter` option but the URL was a `prisma://` URL.","Please either use the `prisma://` URL or remove the `adapter` from the Prisma Client constructor."]):a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let R={accelerate:k,ppg:h,driverAdapters:T};function O(S){return S.length>0}return O(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:R}:{ok:!0,diagnostics:{warnings:i},isUsing:R}}function wo({copyEngine:t=!0},e){let r;try{r=pr({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,env:{...e.env,...g.env},clientVersion:e.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=bo({url:r,adapter:e.adapter,copyEngine:t,targetBuildType:"wasm-engine-edge"});for(let T of o.warnings)lt(...T.value);if(!n){let T=o.errors[0];throw new W(T.value,{clientVersion:e.clientVersion})}let s=Ue(e.generator),a=s==="library",f=s==="binary",h=s==="client";if(i.accelerate,i.driverAdapters)return new Rt(e);if(i.accelerate)return new dr(e);{let T=[`PrismaClient failed to initialize because it wasn't configured to run in this environment (${Re().prettyName}).`,"In order to run Prisma Client in an edge runtime, you will need to configure one of the following options:","- Enable Driver Adapters: https://pris.ly/d/driver-adapters","- Enable Accelerate: https://pris.ly/d/accelerate"];throw new W(T.join(` +`),{clientVersion:e.clientVersion})}return"wasm-engine-edge"}u();c();m();p();d();l();function fr({generator:t}){return t?.previewFeatures??[]}u();c();m();p();d();l();var Eo=t=>({command:t});u();c();m();p();d();l();u();c();m();p();d();l();var xo=t=>t.strings.reduce((e,r,n)=>`${e}@P${n}${r}`);u();c();m();p();d();l();l();function et(t){try{return Po(t,"fast")}catch{return Po(t,"slow")}}function Po(t,e){return JSON.stringify(t.map(r=>To(r,e)))}function To(t,e){if(Array.isArray(t))return t.map(r=>To(r,e));if(typeof t=="bigint")return{prisma__type:"bigint",prisma__value:t.toString()};if(Ve(t))return{prisma__type:"date",prisma__value:t.toJSON()};if(me.isDecimal(t))return{prisma__type:"decimal",prisma__value:t.toJSON()};if(b.isBuffer(t))return{prisma__type:"bytes",prisma__value:t.toString("base64")};if(Al(t))return{prisma__type:"bytes",prisma__value:b.from(t).toString("base64")};if(ArrayBuffer.isView(t)){let{buffer:r,byteOffset:n,byteLength:i}=t;return{prisma__type:"bytes",prisma__value:b.from(r,n,i).toString("base64")}}return typeof t=="object"&&e==="slow"?Co(t):t}function Al(t){return t instanceof ArrayBuffer||t instanceof SharedArrayBuffer?!0:typeof t=="object"&&t!==null?t[Symbol.toStringTag]==="ArrayBuffer"||t[Symbol.toStringTag]==="SharedArrayBuffer":!1}function Co(t){if(typeof t!="object"||t===null)return t;if(typeof t.toJSON=="function")return t.toJSON();if(Array.isArray(t))return t.map(vo);let e={};for(let r of Object.keys(t))e[r]=vo(t[r]);return e}function vo(t){return typeof t=="bigint"?t.toString():Co(t)}var Sl=/^(\s*alter\s)/i,Ro=J("prisma:client");function nn(t,e,r,n){if(!(t!=="postgresql"&&t!=="cockroachdb")&&r.length>0&&Sl.exec(e))throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`)}var on=({clientMethod:t,activeProvider:e})=>r=>{let n="",i;if(rr(r))n=r.sql,i={values:et(r.values),__prismaRawParameters__:!0};else if(Array.isArray(r)){let[o,...s]=r;n=o,i={values:et(s||[]),__prismaRawParameters__:!0}}else switch(e){case"sqlite":case"mysql":{n=r.sql,i={values:et(r.values),__prismaRawParameters__:!0};break}case"cockroachdb":case"postgresql":case"postgres":{n=r.text,i={values:et(r.values),__prismaRawParameters__:!0};break}case"sqlserver":{n=xo(r),i={values:et(r.values),__prismaRawParameters__:!0};break}default:throw new Error(`The ${e} provider does not support ${t}`)}return i?.values?Ro(`prisma.${t}(${n}, ${i.values})`):Ro(`prisma.${t}(${n})`),{query:n,parameters:i}},Ao={requestArgsToMiddlewareArgs(t){return[t.strings,...t.values]},middlewareArgsToRequestArgs(t){let[e,...r]=t;return new Z(e,r)}},So={requestArgsToMiddlewareArgs(t){return[t]},middlewareArgsToRequestArgs(t){return t[0]}};u();c();m();p();d();l();function sn(t){return function(r,n){let i,o=(s=t)=>{try{return s===void 0||s?.kind==="itx"?i??=ko(r(s)):ko(r(s))}catch(a){return Promise.reject(a)}};return{get spec(){return n},then(s,a){return o().then(s,a)},catch(s){return o().catch(s)},finally(s){return o().finally(s)},requestTransaction(s){let a=o(s);return a.requestTransaction?a.requestTransaction(s):a},[Symbol.toStringTag]:"PrismaPromise"}}}function ko(t){return typeof t.then=="function"?t:Promise.resolve(t)}u();c();m();p();d();l();var kl=Ir.split(".")[0],Ol={isEnabled(){return!1},getTraceParent(){return"00-10-10-00"},dispatchEngineSpans(){},getActiveContext(){},runInChildSpan(t,e){return e()}},an=class{isEnabled(){return this.getGlobalTracingHelper().isEnabled()}getTraceParent(e){return this.getGlobalTracingHelper().getTraceParent(e)}dispatchEngineSpans(e){return this.getGlobalTracingHelper().dispatchEngineSpans(e)}getActiveContext(){return this.getGlobalTracingHelper().getActiveContext()}runInChildSpan(e,r){return this.getGlobalTracingHelper().runInChildSpan(e,r)}getGlobalTracingHelper(){let e=globalThis[`V${kl}_PRISMA_INSTRUMENTATION`],r=globalThis.PRISMA_INSTRUMENTATION;return e?.helper??r?.helper??Ol}};function Oo(){return new an}u();c();m();p();d();l();function Io(t,e=()=>{}){let r,n=new Promise(i=>r=i);return{then(i){return--t===0&&r(e()),i?.(n)}}}u();c();m();p();d();l();function Mo(t){return typeof t=="string"?t:t.reduce((e,r)=>{let n=typeof r=="string"?r:r.level;return n==="query"?e:e&&(r==="info"||e==="info")?"info":n},void 0)}u();c();m();p();d();l();var gr=class{_middlewares=[];use(e){this._middlewares.push(e)}get(e){return this._middlewares[e]}has(e){return!!this._middlewares[e]}length(){return this._middlewares.length}};u();c();m();p();d();l();var _o=nt(Zn());u();c();m();p();d();l();function yr(t){return typeof t.batchRequestIdx=="number"}u();c();m();p();d();l();function Do(t){if(t.action!=="findUnique"&&t.action!=="findUniqueOrThrow")return;let e=[];return t.modelName&&e.push(t.modelName),t.query.arguments&&e.push(ln(t.query.arguments)),e.push(ln(t.query.selection)),e.join("")}function ln(t){return`(${Object.keys(t).sort().map(r=>{let n=t[r];return typeof n=="object"&&n!==null?`(${r} ${ln(n)})`:r}).join(" ")})`}u();c();m();p();d();l();var Il={aggregate:!1,aggregateRaw:!1,createMany:!0,createManyAndReturn:!0,createOne:!0,deleteMany:!0,deleteOne:!0,executeRaw:!0,findFirst:!1,findFirstOrThrow:!1,findMany:!1,findRaw:!1,findUnique:!1,findUniqueOrThrow:!1,groupBy:!1,queryRaw:!1,runCommandRaw:!0,updateMany:!0,updateManyAndReturn:!0,updateOne:!0,upsertOne:!0};function un(t){return Il[t]}u();c();m();p();d();l();var hr=class{constructor(e){this.options=e;this.batches={}}batches;tickActive=!1;request(e){let r=this.options.batchBy(e);return r?(this.batches[r]||(this.batches[r]=[],this.tickActive||(this.tickActive=!0,g.nextTick(()=>{this.dispatchBatches(),this.tickActive=!1}))),new Promise((n,i)=>{this.batches[r].push({request:e,resolve:n,reject:i})})):this.options.singleLoader(e)}dispatchBatches(){for(let e in this.batches){let r=this.batches[e];delete this.batches[e],r.length===1?this.options.singleLoader(r[0].request).then(n=>{n instanceof Error?r[0].reject(n):r[0].resolve(n)}).catch(n=>{r[0].reject(n)}):(r.sort((n,i)=>this.options.batchOrder(n.request,i.request)),this.options.batchLoader(r.map(n=>n.request)).then(n=>{if(n instanceof Error)for(let i=0;i{for(let i=0;i_e("bigint",r));case"bytes-array":return e.map(r=>_e("bytes",r));case"decimal-array":return e.map(r=>_e("decimal",r));case"datetime-array":return e.map(r=>_e("datetime",r));case"date-array":return e.map(r=>_e("date",r));case"time-array":return e.map(r=>_e("time",r));default:return e}}function br(t){let e=[],r=Ml(t);for(let n=0;n{let{transaction:o,otelParentCtx:s}=n[0],a=n.map(C=>C.protocolQuery),f=this.client._tracingHelper.getTraceParent(s),h=n.some(C=>un(C.protocolQuery.action));return(await this.client._engine.requestBatch(a,{traceparent:f,transaction:_l(o),containsWrite:h,customDataProxyFetch:i})).map((C,k)=>{if(C instanceof Error)return C;try{return this.mapQueryEngineResult(n[k],C)}catch(R){return R}})}),singleLoader:async n=>{let i=n.transaction?.kind==="itx"?Lo(n.transaction):void 0,o=await this.client._engine.request(n.protocolQuery,{traceparent:this.client._tracingHelper.getTraceParent(),interactiveTransaction:i,isWrite:un(n.protocolQuery.action),customDataProxyFetch:n.customDataProxyFetch});return this.mapQueryEngineResult(n,o)},batchBy:n=>n.transaction?.id?`transaction-${n.transaction.id}`:Do(n.protocolQuery),batchOrder(n,i){return n.transaction?.kind==="batch"&&i.transaction?.kind==="batch"?n.transaction.index-i.transaction.index:0}})}async request(e){try{return await this.dataloader.request(e)}catch(r){let{clientMethod:n,callsite:i,transaction:o,args:s,modelName:a}=e;this.handleAndLogRequestError({error:r,clientMethod:n,callsite:i,transaction:o,args:s,modelName:a,globalOmit:e.globalOmit})}}mapQueryEngineResult({dataPath:e,unpacker:r},n){let i=n?.data,o=this.unpack(i,e,r);return g.env.PRISMA_CLIENT_GET_TIME?{data:o}:o}handleAndLogRequestError(e){try{this.handleRequestError(e)}catch(r){throw this.logEmitter&&this.logEmitter.emit("error",{message:r.message,target:e.clientMethod,timestamp:new Date}),r}}handleRequestError({error:e,clientMethod:r,callsite:n,transaction:i,args:o,modelName:s,globalOmit:a}){if(Dl(e),Ll(e,i))throw e;if(e instanceof X&&Fl(e)){let h=Fo(e.meta);zt({args:o,errors:[h],callsite:n,errorFormat:this.client._errorFormat,originalMethod:r,clientVersion:this.client._clientVersion,globalOmit:a})}let f=e.message;if(n&&(f=Bt({callsite:n,originalMethod:r,isPanic:e.isPanic,showColors:this.client._errorFormat==="pretty",message:f})),f=this.sanitizeMessage(f),e.code){let h=s?{modelName:s,...e.meta}:e.meta;throw new X(f,{code:e.code,clientVersion:this.client._clientVersion,meta:h,batchRequestIdx:e.batchRequestIdx})}else{if(e.isPanic)throw new we(f,this.client._clientVersion);if(e instanceof j)throw new j(f,{clientVersion:this.client._clientVersion,batchRequestIdx:e.batchRequestIdx});if(e instanceof M)throw new M(f,this.client._clientVersion);if(e instanceof we)throw new we(f,this.client._clientVersion)}throw e.clientVersion=this.client._clientVersion,e}sanitizeMessage(e){return this.client._errorFormat&&this.client._errorFormat!=="pretty"?(0,_o.default)(e):e}unpack(e,r,n){if(!e||(e.data&&(e=e.data),!e))return e;let i=Object.keys(e)[0],o=Object.values(e)[0],s=r.filter(h=>h!=="select"&&h!=="include"),a=Hr(o,s),f=i==="queryRaw"?br(a):$e(a);return n?n(f):f}get[Symbol.toStringTag](){return"RequestHandler"}};function _l(t){if(t){if(t.kind==="batch")return{kind:"batch",options:{isolationLevel:t.isolationLevel}};if(t.kind==="itx")return{kind:"itx",options:Lo(t)};be(t,"Unknown transaction kind")}}function Lo(t){return{id:t.id,payload:t.payload}}function Ll(t,e){return yr(t)&&e?.kind==="batch"&&t.batchRequestIdx!==e.index}function Fl(t){return t.code==="P2009"||t.code==="P2012"}function Fo(t){if(t.kind==="Union")return{kind:"Union",errors:t.errors.map(Fo)};if(Array.isArray(t.selectionPath)){let[,...e]=t.selectionPath;return{...t,selectionPath:e}}return t}u();c();m();p();d();l();var No=go;u();c();m();p();d();l();var Vo=nt(Nr());u();c();m();p();d();l();var D=class extends Error{constructor(e){super(e+` +Read more at https://pris.ly/d/client-constructor`),this.name="PrismaClientConstructorValidationError"}get[Symbol.toStringTag](){return"PrismaClientConstructorValidationError"}};te(D,"PrismaClientConstructorValidationError");var qo=["datasources","datasourceUrl","errorFormat","adapter","log","transactionOptions","omit","__internal"],Uo=["pretty","colorless","minimal"],Bo=["info","query","warn","error"],Nl={datasources:(t,{datasourceNames:e})=>{if(t){if(typeof t!="object"||Array.isArray(t))throw new D(`Invalid value ${JSON.stringify(t)} for "datasources" provided to PrismaClient constructor`);for(let[r,n]of Object.entries(t)){if(!e.includes(r)){let i=tt(r,e)||` Available datasources: ${e.join(", ")}`;throw new D(`Unknown datasource ${r} provided to PrismaClient constructor.${i}`)}if(typeof n!="object"||Array.isArray(n))throw new D(`Invalid value ${JSON.stringify(t)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(n&&typeof n=="object")for(let[i,o]of Object.entries(n)){if(i!=="url")throw new D(`Invalid value ${JSON.stringify(t)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`);if(typeof o!="string")throw new D(`Invalid value ${JSON.stringify(o)} for datasource "${r}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`)}}}},adapter:(t,e)=>{if(!t&&Ue(e.generator)==="client")throw new D('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.');if(t===null)return;if(t===void 0)throw new D('"adapter" property must not be undefined, use null to conditionally disable driver adapters.');if(!fr(e).includes("driverAdapters"))throw new D('"adapter" property can only be provided to PrismaClient constructor when "driverAdapters" preview feature is enabled.');if(Ue(e.generator)==="binary")throw new D('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.')},datasourceUrl:t=>{if(typeof t<"u"&&typeof t!="string")throw new D(`Invalid value ${JSON.stringify(t)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`)},errorFormat:t=>{if(t){if(typeof t!="string")throw new D(`Invalid value ${JSON.stringify(t)} for "errorFormat" provided to PrismaClient constructor.`);if(!Uo.includes(t)){let e=tt(t,Uo);throw new D(`Invalid errorFormat ${t} provided to PrismaClient constructor.${e}`)}}},log:t=>{if(!t)return;if(!Array.isArray(t))throw new D(`Invalid value ${JSON.stringify(t)} for "log" provided to PrismaClient constructor.`);function e(r){if(typeof r=="string"&&!Bo.includes(r)){let n=tt(r,Bo);throw new D(`Invalid log level "${r}" provided to PrismaClient constructor.${n}`)}}for(let r of t){e(r);let n={level:e,emit:i=>{let o=["stdout","event"];if(!o.includes(i)){let s=tt(i,o);throw new D(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`)}}};if(r&&typeof r=="object")for(let[i,o]of Object.entries(r))if(n[i])n[i](o);else throw new D(`Invalid property ${i} for "log" provided to PrismaClient constructor`)}},transactionOptions:t=>{if(!t)return;let e=t.maxWait;if(e!=null&&e<=0)throw new D(`Invalid value ${e} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`);let r=t.timeout;if(r!=null&&r<=0)throw new D(`Invalid value ${r} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`)},omit:(t,e)=>{if(typeof t!="object")throw new D('"omit" option is expected to be an object.');if(t===null)throw new D('"omit" option can not be `null`');let r=[];for(let[n,i]of Object.entries(t)){let o=Ul(n,e.runtimeDataModel);if(!o){r.push({kind:"UnknownModel",modelKey:n});continue}for(let[s,a]of Object.entries(i)){let f=o.fields.find(h=>h.name===s);if(!f){r.push({kind:"UnknownField",modelKey:n,fieldName:s});continue}if(f.relationName){r.push({kind:"RelationInOmit",modelKey:n,fieldName:s});continue}typeof a!="boolean"&&r.push({kind:"InvalidFieldValue",modelKey:n,fieldName:s})}}if(r.length>0)throw new D(Bl(t,r))},__internal:t=>{if(!t)return;let e=["debug","engine","configOverride"];if(typeof t!="object")throw new D(`Invalid value ${JSON.stringify(t)} for "__internal" to PrismaClient constructor`);for(let[r]of Object.entries(t))if(!e.includes(r)){let n=tt(r,e);throw new D(`Invalid property ${JSON.stringify(r)} for "__internal" provided to PrismaClient constructor.${n}`)}}};function jo(t,e){for(let[r,n]of Object.entries(t)){if(!qo.includes(r)){let i=tt(r,qo);throw new D(`Unknown property ${r} provided to PrismaClient constructor.${i}`)}Nl[r](n,e)}if(t.datasourceUrl&&t.datasources)throw new D('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them')}function tt(t,e){if(e.length===0||typeof t!="string")return"";let r=ql(t,e);return r?` Did you mean "${r}"?`:""}function ql(t,e){if(e.length===0)return null;let r=e.map(i=>({value:i,distance:(0,Vo.default)(t,i)}));r.sort((i,o)=>i.distanceve(n)===e);if(r)return t[r]}function Bl(t,e){let r=He(t);for(let o of e)switch(o.kind){case"UnknownModel":r.arguments.getField(o.modelKey)?.markAsError(),r.addErrorMessage(()=>`Unknown model name: ${o.modelKey}.`);break;case"UnknownField":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>`Model "${o.modelKey}" does not have a field named "${o.fieldName}".`);break;case"RelationInOmit":r.arguments.getDeepField([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>'Relations are already excluded by default and can not be specified in "omit".');break;case"InvalidFieldValue":r.arguments.getDeepFieldValue([o.modelKey,o.fieldName])?.markAsError(),r.addErrorMessage(()=>"Omit field option value must be a boolean.");break}let{message:n,args:i}=Ht(r,"colorless");return`Error validating "omit" option: + +${i} + +${n}`}u();c();m();p();d();l();function Qo(t){return t.length===0?Promise.resolve([]):new Promise((e,r)=>{let n=new Array(t.length),i=null,o=!1,s=0,a=()=>{o||(s++,s===t.length&&(o=!0,i?r(i):e(n)))},f=h=>{o||(o=!0,r(h))};for(let h=0;h{n[h]=T,a()},T=>{if(!yr(T)){f(T);return}T.batchRequestIdx===h?f(T):(i||(i=T),a())})})}var Ae=J("prisma:client");typeof globalThis=="object"&&(globalThis.NODE_CLIENT=!0);var $l={requestArgsToMiddlewareArgs:t=>t,middlewareArgsToRequestArgs:t=>t},Vl=Symbol.for("prisma.client.transaction.id"),jl={id:0,nextId(){return++this.id}};function Wo(t){class e{_originalClient=this;_runtimeDataModel;_requestHandler;_connectionPromise;_disconnectionPromise;_engineConfig;_accelerateEngineConfig;_clientVersion;_errorFormat;_tracingHelper;_middlewares=new gr;_previewFeatures;_activeProvider;_globalOmit;_extensions;_engine;_appliedParent;_createPrismaPromise=sn();constructor(n){t=n?.__internal?.configOverride?.(t)??t,mo(t),n&&jo(n,t);let i=new nr().on("error",()=>{});this._extensions=ze.empty(),this._previewFeatures=fr(t),this._clientVersion=t.clientVersion??No,this._activeProvider=t.activeProvider,this._globalOmit=n?.omit,this._tracingHelper=Oo();let o=t.relativeEnvPaths&&{rootEnvPath:t.relativeEnvPaths.rootEnvPath&&Nt.resolve(t.dirname,t.relativeEnvPaths.rootEnvPath),schemaEnvPath:t.relativeEnvPaths.schemaEnvPath&&Nt.resolve(t.dirname,t.relativeEnvPaths.schemaEnvPath)},s;if(n?.adapter){s=n.adapter;let f=t.activeProvider==="postgresql"||t.activeProvider==="cockroachdb"?"postgres":t.activeProvider;if(s.provider!==f)throw new M(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${f}\` specified in the Prisma schema.`,this._clientVersion);if(n.datasources||n.datasourceUrl!==void 0)throw new M("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.",this._clientVersion)}let a=t.injectableEdgeEnv?.();try{let f=n??{},h=f.__internal??{},T=h.debug===!0;T&&J.enable("prisma:client");let C=Nt.resolve(t.dirname,t.relativePath);qn.existsSync(C)||(C=t.dirname),Ae("dirname",t.dirname),Ae("relativePath",t.relativePath),Ae("cwd",C);let k=h.engine||{};if(f.errorFormat?this._errorFormat=f.errorFormat:g.env.NODE_ENV==="production"?this._errorFormat="minimal":g.env.NO_COLOR?this._errorFormat="colorless":this._errorFormat="colorless",this._runtimeDataModel=t.runtimeDataModel,this._engineConfig={cwd:C,dirname:t.dirname,enableDebugLogs:T,allowTriggerPanic:k.allowTriggerPanic,prismaPath:k.binaryPath??void 0,engineEndpoint:k.endpoint,generator:t.generator,showColors:this._errorFormat==="pretty",logLevel:f.log&&Mo(f.log),logQueries:f.log&&!!(typeof f.log=="string"?f.log==="query":f.log.find(R=>typeof R=="string"?R==="query":R.level==="query")),env:a?.parsed??{},flags:[],engineWasm:t.engineWasm,compilerWasm:t.compilerWasm,clientVersion:t.clientVersion,engineVersion:t.engineVersion,previewFeatures:this._previewFeatures,activeProvider:t.activeProvider,inlineSchema:t.inlineSchema,overrideDatasources:po(f,t.datasourceNames),inlineDatasources:t.inlineDatasources,inlineSchemaHash:t.inlineSchemaHash,tracingHelper:this._tracingHelper,transactionOptions:{maxWait:f.transactionOptions?.maxWait??2e3,timeout:f.transactionOptions?.timeout??5e3,isolationLevel:f.transactionOptions?.isolationLevel},logEmitter:i,isBundled:t.isBundled,adapter:s},this._accelerateEngineConfig={...this._engineConfig,accelerateUtils:{resolveDatasourceUrl:pr,getBatchRequestPayload:sr,prismaGraphQLToJSError:ar,PrismaClientUnknownRequestError:j,PrismaClientInitializationError:M,PrismaClientKnownRequestError:X,debug:J("prisma:client:accelerateEngine"),engineVersion:Go.version,clientVersion:t.clientVersion}},Ae("clientVersion",t.clientVersion),this._engine=wo(t,this._engineConfig),this._requestHandler=new wr(this,i),f.log)for(let R of f.log){let O=typeof R=="string"?R:R.emit==="stdout"?R.level:null;O&&this.$on(O,S=>{at.log(`${at.tags[O]??""}`,S.message||S.query)})}}catch(f){throw f.clientVersion=this._clientVersion,f}return this._appliedParent=Tt(this)}get[Symbol.toStringTag](){return"PrismaClient"}$use(n){this._middlewares.use(n)}$on(n,i){return n==="beforeExit"?this._engine.onBeforeExit(i):n&&this._engineConfig.logEmitter.on(n,i),this}$connect(){try{return this._engine.start()}catch(n){throw n.clientVersion=this._clientVersion,n}}async $disconnect(){try{await this._engine.stop()}catch(n){throw n.clientVersion=this._clientVersion,n}finally{Fn()}}$executeRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"executeRaw",args:o,transaction:n,clientMethod:i,argsMapper:on({clientMethod:i,activeProvider:a}),callsite:Ce(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$executeRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0){let[s,a]=Jo(n,i);return nn(this._activeProvider,s.text,s.values,Array.isArray(n)?"prisma.$executeRaw``":"prisma.$executeRaw(sql``)"),this.$executeRawInternal(o,"$executeRaw",s,a)}throw new W("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n",{clientVersion:this._clientVersion})})}$executeRawUnsafe(n,...i){return this._createPrismaPromise(o=>(nn(this._activeProvider,n,i,"prisma.$executeRawUnsafe(, [...values])"),this.$executeRawInternal(o,"$executeRawUnsafe",[n,...i])))}$runCommandRaw(n){if(t.activeProvider!=="mongodb")throw new W(`The ${t.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`,{clientVersion:this._clientVersion});return this._createPrismaPromise(i=>this._request({args:n,clientMethod:"$runCommandRaw",dataPath:[],action:"runCommandRaw",argsMapper:Eo,callsite:Ce(this._errorFormat),transaction:i}))}async $queryRawInternal(n,i,o,s){let a=this._activeProvider;return this._request({action:"queryRaw",args:o,transaction:n,clientMethod:i,argsMapper:on({clientMethod:i,activeProvider:a}),callsite:Ce(this._errorFormat),dataPath:[],middlewareArgsMapper:s})}$queryRaw(n,...i){return this._createPrismaPromise(o=>{if(n.raw!==void 0||n.sql!==void 0)return this.$queryRawInternal(o,"$queryRaw",...Jo(n,i));throw new W("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n",{clientVersion:this._clientVersion})})}$queryRawTyped(n){return this._createPrismaPromise(i=>{if(!this._hasPreviewFlag("typedSql"))throw new W("`typedSql` preview feature must be enabled in order to access $queryRawTyped API",{clientVersion:this._clientVersion});return this.$queryRawInternal(i,"$queryRawTyped",n)})}$queryRawUnsafe(n,...i){return this._createPrismaPromise(o=>this.$queryRawInternal(o,"$queryRawUnsafe",[n,...i]))}_transactionWithArray({promises:n,options:i}){let o=jl.nextId(),s=Io(n.length),a=n.map((f,h)=>{if(f?.[Symbol.toStringTag]!=="PrismaPromise")throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");let T=i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel,C={kind:"batch",id:o,index:h,isolationLevel:T,lock:s};return f.requestTransaction?.(C)??f});return Qo(a)}async _transactionWithCallback({callback:n,options:i}){let o={traceparent:this._tracingHelper.getTraceParent()},s={maxWait:i?.maxWait??this._engineConfig.transactionOptions.maxWait,timeout:i?.timeout??this._engineConfig.transactionOptions.timeout,isolationLevel:i?.isolationLevel??this._engineConfig.transactionOptions.isolationLevel},a=await this._engine.transaction("start",o,s),f;try{let h={kind:"itx",...a};f=await n(this._createItxClient(h)),await this._engine.transaction("commit",o,a)}catch(h){throw await this._engine.transaction("rollback",o,a).catch(()=>{}),h}return f}_createItxClient(n){return ae(Tt(ae(zi(this),[K("_appliedParent",()=>this._appliedParent._createItxClient(n)),K("_createPrismaPromise",()=>sn(n)),K(Vl,()=>n.id)])),[Xe(to)])}$transaction(n,i){let o;typeof n=="function"?this._engineConfig.adapter?.adapterName==="@prisma/adapter-d1"?o=()=>{throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable.")}:o=()=>this._transactionWithCallback({callback:n,options:i}):o=()=>this._transactionWithArray({promises:n,options:i});let s={name:"transaction",attributes:{method:"$transaction"}};return this._tracingHelper.runInChildSpan(s,o)}_request(n){n.otelParentCtx=this._tracingHelper.getActiveContext();let i=n.middlewareArgsMapper??$l,o={args:i.requestArgsToMiddlewareArgs(n.args),dataPath:n.dataPath,runInTransaction:!!n.transaction,action:n.action,model:n.model},s={middleware:{name:"middleware",middleware:!0,attributes:{method:"$use"},active:!1},operation:{name:"operation",attributes:{method:o.action,model:o.model,name:o.model?`${o.model}.${o.action}`:o.action}}},a=-1,f=async h=>{let T=this._middlewares.get(++a);if(T)return this._tracingHelper.runInChildSpan(s.middleware,I=>T(h,oe=>(I?.end(),f(oe))));let{runInTransaction:C,args:k,...R}=h,O={...n,...R};k&&(O.args=i.middlewareArgsToRequestArgs(k)),n.transaction!==void 0&&C===!1&&delete O.transaction;let S=await oo(this,O);return O.model?eo({result:S,modelName:O.model,args:O.args,extensions:this._extensions,runtimeDataModel:this._runtimeDataModel,globalOmit:this._globalOmit}):S};return this._tracingHelper.runInChildSpan(s.operation,()=>f(o))}async _executeRequest({args:n,clientMethod:i,dataPath:o,callsite:s,action:a,model:f,argsMapper:h,transaction:T,unpacker:C,otelParentCtx:k,customDataProxyFetch:R}){try{n=h?h(n):n;let O={name:"serialize"},S=this._tracingHelper.runInChildSpan(O,()=>er({modelName:f,runtimeDataModel:this._runtimeDataModel,action:a,args:n,clientMethod:i,callsite:s,extensions:this._extensions,errorFormat:this._errorFormat,clientVersion:this._clientVersion,previewFeatures:this._previewFeatures,globalOmit:this._globalOmit}));return J.enabled("prisma:client")&&(Ae("Prisma Client call:"),Ae(`prisma.${i}(${Bi(n)})`),Ae("Generated request:"),Ae(JSON.stringify(S,null,2)+` +`)),T?.kind==="batch"&&await T.lock,this._requestHandler.request({protocolQuery:S,modelName:f,action:a,clientMethod:i,dataPath:o,callsite:s,args:n,extensions:this._extensions,transaction:T,unpacker:C,otelParentCtx:k,otelChildCtx:this._tracingHelper.getActiveContext(),globalOmit:this._globalOmit,customDataProxyFetch:R})}catch(O){throw O.clientVersion=this._clientVersion,O}}$metrics=new Ye(this);_hasPreviewFlag(n){return!!this._engineConfig.previewFeatures?.includes(n)}$applyPendingMigrations(){return this._engine.applyPendingMigrations()}$extends=Yi}return e}function Jo(t,e){return Ql(t)?[new Z(t,e),Ao]:[t,So]}function Ql(t){return Array.isArray(t)&&Array.isArray(t.raw)}u();c();m();p();d();l();var Jl=new Set(["toJSON","$$typeof","asymmetricMatch",Symbol.iterator,Symbol.toStringTag,Symbol.isConcatSpreadable,Symbol.toPrimitive]);function Ko(t){return new Proxy(t,{get(e,r){if(r in e)return e[r];if(!Jl.has(r))throw new TypeError(`Invalid enum value: ${String(r)}`)}})}u();c();m();p();d();l();l();0&&(module.exports={DMMF,Debug,Decimal,Extensions,MetricsClient,PrismaClientInitializationError,PrismaClientKnownRequestError,PrismaClientRustPanicError,PrismaClientUnknownRequestError,PrismaClientValidationError,Public,Sql,createParam,defineDmmfProperty,deserializeJsonResponse,deserializeRawResult,dmmfToRuntimeDataModel,empty,getPrismaClient,getRuntime,join,makeStrictEnum,makeTypedQueryFactory,objectEnumValues,raw,serializeJsonQuery,skip,sqltag,warnEnvConflicts,warnOnce}); +//# sourceMappingURL=wasm-engine-edge.js.map diff --git a/generated/prisma/schema.prisma b/generated/prisma/schema.prisma new file mode 100644 index 0000000..7ba8b49 --- /dev/null +++ b/generated/prisma/schema.prisma @@ -0,0 +1,198 @@ +generator client { + provider = "prisma-client-js" + output = "../generated/prisma" + binaryTargets = ["native", "debian-openssl-1.1.x", "debian-openssl-3.0.x"] +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") +} + +model Commissioner { + id String @id @default(cuid()) + name String + location String + phone String + email String @unique + password String + commission_rate Float @default(10.0) + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + auction_sessions AuctionSession[] + bills Bill[] + buyers Buyer[] + farmers Farmer[] + password_resets PasswordReset[] + + @@map("commissioners") +} + +model PasswordReset { + id String @id @default(cuid()) + commissioner_id String + token String @unique + expires_at DateTime + used Boolean @default(false) + created_at DateTime @default(now()) + used_at DateTime? + commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade) + + @@map("password_resets") +} + +model Farmer { + id String @id @default(cuid()) + name String + phone String + village String + commissioner_id String + is_active Boolean @default(true) + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + auction_items AuctionItem[] + bills Bill[] + commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade) + + @@map("farmers") +} + +model Buyer { + id String @id @default(cuid()) + name String + phone String + commissioner_id String + is_active Boolean @default(true) + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + auction_items AuctionItem[] + commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade) + + @@map("buyers") +} + +model Category { + id String @id @default(cuid()) + name String @unique + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + products Product[] + + @@map("categories") +} + +model Product { + id String @id @default(cuid()) + name String @unique + category_id String + is_active Boolean @default(true) + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + auction_items AuctionItem[] + bills Bill[] + category Category @relation(fields: [category_id], references: [id]) + + @@map("products") +} + +model AuctionSession { + id String @id @default(cuid()) + date DateTime @default(now()) + commissioner_id String + status SessionStatus @default(ACTIVE) + payment_status SessionPaymentStatus @default(PENDING) + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + auction_items AuctionItem[] + commissioner Commissioner @relation(fields: [commissioner_id], references: [id], onDelete: Cascade) + + @@index([payment_status, date]) + @@map("auction_sessions") +} + +model AuctionItem { + id String @id @default(cuid()) + session_id String + farmer_id String + product_id String + unit Unit + quantity Float + buyer_id String? + bill_id String? + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + rate Float? + bill Bill? @relation(fields: [bill_id], references: [id]) + buyer Buyer? @relation(fields: [buyer_id], references: [id], onDelete: Restrict) + farmer Farmer @relation(fields: [farmer_id], references: [id]) + product Product @relation(fields: [product_id], references: [id]) + session AuctionSession @relation(fields: [session_id], references: [id], onDelete: Cascade) + + @@index([farmer_id, product_id, bill_id]) + @@index([session_id, farmer_id, product_id]) + @@map("auction_items") +} + +model Bill { + id String @id @default(cuid()) + bill_number String @unique + farmer_id String + commissioner_id String + product_id String + session_id String + total_quantity Float + gross_amount Float + commission_rate Float + commission_amount Float + other_charges Json @default("{}") + net_payable Float + payment_status BillPaymentStatus @default(UNPAID) + payment_method String? + payment_date DateTime? + notes String? + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + auction_items AuctionItem[] + commissioner Commissioner @relation(fields: [commissioner_id], references: [id]) + farmer Farmer @relation(fields: [farmer_id], references: [id]) + product Product @relation(fields: [product_id], references: [id]) + + @@unique([farmer_id, product_id, session_id]) + @@index([commissioner_id, payment_status]) + @@index([farmer_id, payment_status]) + @@index([product_id, payment_status]) + @@index([session_id, payment_status]) + @@index([payment_status, created_at]) + @@map("bills") +} + +enum SessionStatus { + ACTIVE + COMPLETED +} + +enum SessionPaymentStatus { + PENDING + COMPLETED +} + +enum BillPaymentStatus { + UNPAID + PAID +} + +enum Unit { + KG + GRAM + QUINTAL + TON + BUNDLE + PIECE + LITRE + MILLILITRE + GALLON + DOZEN + BOX + BAG + OTHER +} diff --git a/generated/prisma/wasm.d.ts b/generated/prisma/wasm.d.ts new file mode 100644 index 0000000..bc20c6c --- /dev/null +++ b/generated/prisma/wasm.d.ts @@ -0,0 +1 @@ +export * from "./index" \ No newline at end of file diff --git a/generated/prisma/wasm.js b/generated/prisma/wasm.js new file mode 100644 index 0000000..7ed2bc9 --- /dev/null +++ b/generated/prisma/wasm.js @@ -0,0 +1,323 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + Decimal, + objectEnumValues, + makeStrictEnum, + Public, + getRuntime, + skip +} = require('./runtime/index-browser.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.11.1 + * Query Engine version: f40f79ec31188888a2e33acda0ecc8fd10a853a9 + */ +Prisma.prismaVersion = { + client: "6.11.1", + engine: "f40f79ec31188888a2e33acda0ecc8fd10a853a9" +} + +Prisma.PrismaClientKnownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)}; +Prisma.PrismaClientUnknownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientRustPanicError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientInitializationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientValidationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.empty = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.join = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.raw = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.defineExtension = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + +/** + * Enums + */ + +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.CommissionerScalarFieldEnum = { + id: 'id', + name: 'name', + location: 'location', + phone: 'phone', + email: 'email', + password: 'password', + commission_rate: 'commission_rate', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.PasswordResetScalarFieldEnum = { + id: 'id', + commissioner_id: 'commissioner_id', + token: 'token', + expires_at: 'expires_at', + used: 'used', + created_at: 'created_at', + used_at: 'used_at' +}; + +exports.Prisma.FarmerScalarFieldEnum = { + id: 'id', + name: 'name', + phone: 'phone', + village: 'village', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.BuyerScalarFieldEnum = { + id: 'id', + name: 'name', + phone: 'phone', + commissioner_id: 'commissioner_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.CategoryScalarFieldEnum = { + id: 'id', + name: 'name', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.ProductScalarFieldEnum = { + id: 'id', + name: 'name', + category_id: 'category_id', + is_active: 'is_active', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.AuctionSessionScalarFieldEnum = { + id: 'id', + date: 'date', + commissioner_id: 'commissioner_id', + status: 'status', + payment_status: 'payment_status', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.AuctionItemScalarFieldEnum = { + id: 'id', + session_id: 'session_id', + farmer_id: 'farmer_id', + product_id: 'product_id', + unit: 'unit', + quantity: 'quantity', + buyer_id: 'buyer_id', + bill_id: 'bill_id', + created_at: 'created_at', + updated_at: 'updated_at', + rate: 'rate' +}; + +exports.Prisma.BillScalarFieldEnum = { + id: 'id', + bill_number: 'bill_number', + farmer_id: 'farmer_id', + commissioner_id: 'commissioner_id', + product_id: 'product_id', + session_id: 'session_id', + total_quantity: 'total_quantity', + gross_amount: 'gross_amount', + commission_rate: 'commission_rate', + commission_amount: 'commission_amount', + other_charges: 'other_charges', + net_payable: 'net_payable', + payment_status: 'payment_status', + payment_method: 'payment_method', + payment_date: 'payment_date', + notes: 'notes', + created_at: 'created_at', + updated_at: 'updated_at' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.JsonNullValueInput = { + JsonNull: Prisma.JsonNull +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; + +exports.Prisma.JsonNullValueFilter = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull, + AnyNull: Prisma.AnyNull +}; +exports.SessionStatus = exports.$Enums.SessionStatus = { + ACTIVE: 'ACTIVE', + COMPLETED: 'COMPLETED' +}; + +exports.SessionPaymentStatus = exports.$Enums.SessionPaymentStatus = { + PENDING: 'PENDING', + COMPLETED: 'COMPLETED' +}; + +exports.Unit = exports.$Enums.Unit = { + KG: 'KG', + GRAM: 'GRAM', + QUINTAL: 'QUINTAL', + TON: 'TON', + BUNDLE: 'BUNDLE', + PIECE: 'PIECE', + LITRE: 'LITRE', + MILLILITRE: 'MILLILITRE', + GALLON: 'GALLON', + DOZEN: 'DOZEN', + BOX: 'BOX', + BAG: 'BAG', + OTHER: 'OTHER' +}; + +exports.BillPaymentStatus = exports.$Enums.BillPaymentStatus = { + UNPAID: 'UNPAID', + PAID: 'PAID' +}; + +exports.Prisma.ModelName = { + Commissioner: 'Commissioner', + PasswordReset: 'PasswordReset', + Farmer: 'Farmer', + Buyer: 'Buyer', + Category: 'Category', + Product: 'Product', + AuctionSession: 'AuctionSession', + AuctionItem: 'AuctionItem', + Bill: 'Bill' +}; + +/** + * This is a stub Prisma Client that will error at runtime if called. + */ +class PrismaClient { + constructor() { + return new Proxy(this, { + get(target, prop) { + let message + const runtime = getRuntime() + if (runtime.isEdge) { + message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either: +- Use Prisma Accelerate: https://pris.ly/d/accelerate +- Use Driver Adapters: https://pris.ly/d/driver-adapters +`; + } else { + message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).' + } + + message += ` +If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report` + + throw new Error(message) + } + }) + } +} + +exports.PrismaClient = PrismaClient + +Object.assign(exports, Prisma) diff --git a/package.json b/package.json index ac1a946..70a9303 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "data-entry", "version": "0.1.0", "private": true, + "type": "module", "scripts": { "dev": "next dev", "dev:turbo": "next dev --turbopack", diff --git a/prisma/migrations/20250827134618_init/migration.sql b/prisma/migrations/20250827134618_init/migration.sql new file mode 100644 index 0000000..bc61a44 --- /dev/null +++ b/prisma/migrations/20250827134618_init/migration.sql @@ -0,0 +1,223 @@ +-- CreateEnum +CREATE TYPE "SessionStatus" AS ENUM ('ACTIVE', 'COMPLETED'); + +-- CreateEnum +CREATE TYPE "SessionPaymentStatus" AS ENUM ('PENDING', 'COMPLETED'); + +-- CreateEnum +CREATE TYPE "BillPaymentStatus" AS ENUM ('UNPAID', 'PAID'); + +-- CreateEnum +CREATE TYPE "Unit" AS ENUM ('KG', 'GRAM', 'QUINTAL', 'TON', 'BUNDLE', 'PIECE', 'LITRE', 'MILLILITRE', 'GALLON', 'DOZEN', 'BOX', 'BAG', 'OTHER'); + +-- CreateTable +CREATE TABLE "commissioners" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "location" TEXT NOT NULL, + "phone" TEXT NOT NULL, + "email" TEXT NOT NULL, + "password" TEXT NOT NULL, + "commission_rate" DOUBLE PRECISION NOT NULL DEFAULT 10.0, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "commissioners_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "password_resets" ( + "id" TEXT NOT NULL, + "commissioner_id" TEXT NOT NULL, + "token" TEXT NOT NULL, + "expires_at" TIMESTAMP(3) NOT NULL, + "used" BOOLEAN NOT NULL DEFAULT false, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "used_at" TIMESTAMP(3), + + CONSTRAINT "password_resets_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "farmers" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "phone" TEXT NOT NULL, + "village" TEXT NOT NULL, + "commissioner_id" TEXT NOT NULL, + "is_active" BOOLEAN NOT NULL DEFAULT true, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "farmers_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "buyers" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "phone" TEXT NOT NULL, + "commissioner_id" TEXT NOT NULL, + "is_active" BOOLEAN NOT NULL DEFAULT true, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "buyers_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "categories" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "categories_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "products" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "category_id" TEXT NOT NULL, + "is_active" BOOLEAN NOT NULL DEFAULT true, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "products_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "auction_sessions" ( + "id" TEXT NOT NULL, + "date" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "commissioner_id" TEXT NOT NULL, + "status" "SessionStatus" NOT NULL DEFAULT 'ACTIVE', + "payment_status" "SessionPaymentStatus" NOT NULL DEFAULT 'PENDING', + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "auction_sessions_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "auction_items" ( + "id" TEXT NOT NULL, + "session_id" TEXT NOT NULL, + "farmer_id" TEXT NOT NULL, + "product_id" TEXT NOT NULL, + "unit" "Unit" NOT NULL, + "quantity" DOUBLE PRECISION NOT NULL, + "buyer_id" TEXT, + "bill_id" TEXT, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + "rate" DOUBLE PRECISION, + + CONSTRAINT "auction_items_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "bills" ( + "id" TEXT NOT NULL, + "bill_number" TEXT NOT NULL, + "farmer_id" TEXT NOT NULL, + "commissioner_id" TEXT NOT NULL, + "product_id" TEXT NOT NULL, + "session_id" TEXT NOT NULL, + "total_quantity" DOUBLE PRECISION NOT NULL, + "gross_amount" DOUBLE PRECISION NOT NULL, + "commission_rate" DOUBLE PRECISION NOT NULL, + "commission_amount" DOUBLE PRECISION NOT NULL, + "other_charges" JSONB NOT NULL DEFAULT '{}', + "net_payable" DOUBLE PRECISION NOT NULL, + "payment_status" "BillPaymentStatus" NOT NULL DEFAULT 'UNPAID', + "payment_method" TEXT, + "payment_date" TIMESTAMP(3), + "notes" TEXT, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "bills_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "commissioners_email_key" ON "commissioners"("email"); + +-- CreateIndex +CREATE UNIQUE INDEX "password_resets_token_key" ON "password_resets"("token"); + +-- CreateIndex +CREATE UNIQUE INDEX "categories_name_key" ON "categories"("name"); + +-- CreateIndex +CREATE UNIQUE INDEX "products_name_key" ON "products"("name"); + +-- CreateIndex +CREATE INDEX "auction_sessions_payment_status_date_idx" ON "auction_sessions"("payment_status", "date"); + +-- CreateIndex +CREATE INDEX "auction_items_farmer_id_product_id_bill_id_idx" ON "auction_items"("farmer_id", "product_id", "bill_id"); + +-- CreateIndex +CREATE INDEX "auction_items_session_id_farmer_id_product_id_idx" ON "auction_items"("session_id", "farmer_id", "product_id"); + +-- CreateIndex +CREATE UNIQUE INDEX "bills_bill_number_key" ON "bills"("bill_number"); + +-- CreateIndex +CREATE INDEX "bills_commissioner_id_payment_status_idx" ON "bills"("commissioner_id", "payment_status"); + +-- CreateIndex +CREATE INDEX "bills_farmer_id_payment_status_idx" ON "bills"("farmer_id", "payment_status"); + +-- CreateIndex +CREATE INDEX "bills_product_id_payment_status_idx" ON "bills"("product_id", "payment_status"); + +-- CreateIndex +CREATE INDEX "bills_session_id_payment_status_idx" ON "bills"("session_id", "payment_status"); + +-- CreateIndex +CREATE INDEX "bills_payment_status_created_at_idx" ON "bills"("payment_status", "created_at"); + +-- CreateIndex +CREATE UNIQUE INDEX "bills_farmer_id_product_id_session_id_key" ON "bills"("farmer_id", "product_id", "session_id"); + +-- AddForeignKey +ALTER TABLE "password_resets" ADD CONSTRAINT "password_resets_commissioner_id_fkey" FOREIGN KEY ("commissioner_id") REFERENCES "commissioners"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "farmers" ADD CONSTRAINT "farmers_commissioner_id_fkey" FOREIGN KEY ("commissioner_id") REFERENCES "commissioners"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "buyers" ADD CONSTRAINT "buyers_commissioner_id_fkey" FOREIGN KEY ("commissioner_id") REFERENCES "commissioners"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "products" ADD CONSTRAINT "products_category_id_fkey" FOREIGN KEY ("category_id") REFERENCES "categories"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "auction_sessions" ADD CONSTRAINT "auction_sessions_commissioner_id_fkey" FOREIGN KEY ("commissioner_id") REFERENCES "commissioners"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "auction_items" ADD CONSTRAINT "auction_items_bill_id_fkey" FOREIGN KEY ("bill_id") REFERENCES "bills"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "auction_items" ADD CONSTRAINT "auction_items_buyer_id_fkey" FOREIGN KEY ("buyer_id") REFERENCES "buyers"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "auction_items" ADD CONSTRAINT "auction_items_farmer_id_fkey" FOREIGN KEY ("farmer_id") REFERENCES "farmers"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "auction_items" ADD CONSTRAINT "auction_items_product_id_fkey" FOREIGN KEY ("product_id") REFERENCES "products"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "auction_items" ADD CONSTRAINT "auction_items_session_id_fkey" FOREIGN KEY ("session_id") REFERENCES "auction_sessions"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "bills" ADD CONSTRAINT "bills_commissioner_id_fkey" FOREIGN KEY ("commissioner_id") REFERENCES "commissioners"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "bills" ADD CONSTRAINT "bills_farmer_id_fkey" FOREIGN KEY ("farmer_id") REFERENCES "farmers"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "bills" ADD CONSTRAINT "bills_product_id_fkey" FOREIGN KEY ("product_id") REFERENCES "products"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..044d57c --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (e.g., Git) +provider = "postgresql" diff --git a/scripts/simple-triggers.js b/scripts/simple-triggers.js index 6f2e9fb..90081be 100755 --- a/scripts/simple-triggers.js +++ b/scripts/simple-triggers.js @@ -1,115 +1,327 @@ #!/usr/bin/env node +// Node.js-only trigger management script (no psql required) +import { readFileSync } from 'fs'; +import { fileURLToPath } from 'url'; +import { dirname, join } from 'path'; -// Simple trigger management script using direct SQL execution -/* eslint-disable @typescript-eslint/no-require-imports */ -const { execSync } = require("child_process"); +// For environments where pg is available +let Client; +try { + const pkg = await import('pg'); + Client = pkg.default?.Client || pkg.Client; +} catch (error) { + console.log("๐Ÿ“ฆ Installing pg dependency..."); + const { execSync } = await import('child_process'); + try { + execSync('pnpm install pg', { stdio: 'inherit' }); + const pkg = await import('pg'); + Client = pkg.default?.Client || pkg.Client; + } catch (installError) { + console.error("โŒ Failed to install pg dependency:", installError.message); + process.exit(1); + } +} -console.log("๐Ÿ”ง Trigger Management Script"); +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); -try { - const command = process.argv[2]; +console.log("๐Ÿ”ง Node.js Trigger Management Script"); - if (!command) { - console.log("Usage: node simple-triggers.js "); - console.log(""); - console.log("Commands:"); - console.log(" install - Install payment status triggers"); - console.log(" remove - Remove all payment status triggers"); - console.log(" list - List current database triggers"); - console.log(" test - Test trigger functionality"); +// Extract database URL from environment +const DATABASE_URL = process.env.DATABASE_URL; + +if (!DATABASE_URL) { + console.error("โŒ DATABASE_URL environment variable not found"); + process.exit(1); +} + +async function executeSQLFile(client, filePath, description) { + console.log(`Executing: ${description}`); + try { + const sqlContent = readFileSync(filePath, 'utf8'); + + // Split by semicolons and execute each statement + const statements = sqlContent + .split(';') + .map(stmt => stmt.trim()) + .filter(stmt => stmt.length > 0 && !stmt.startsWith('--')); + + for (const statement of statements) { + if (statement.trim()) { + await client.query(statement); + } + } + + console.log(`โœ… ${description} completed`); + } catch (error) { + console.error(`โŒ Error in ${description}:`, error.message); + throw error; + } +} + +async function executeSQL(client, sql, description) { + console.log(`Executing: ${description}`); + try { + const result = await client.query(sql); + console.log(`โœ… ${description} completed`); + return result; + } catch (error) { + console.error(`โŒ Error in ${description}:`, error.message); + throw error; + } +} + +async function installTriggers() { + const client = new Client({ + connectionString: DATABASE_URL, + }); + + try { + await client.connect(); + console.log("โœ… Connected to database"); + + // 1. Drop existing triggers and function + console.log("๐Ÿ—‘๏ธ Dropping existing triggers and function..."); + await executeSQL(client, ` + DROP TRIGGER IF EXISTS update_session_payment_status_on_insert ON auction_items; + DROP TRIGGER IF EXISTS update_session_payment_status_on_update ON auction_items; + DROP TRIGGER IF EXISTS update_session_payment_status_on_delete ON auction_items; + DROP FUNCTION IF EXISTS update_session_payment_status(); + `, "Drop Triggers & Functions"); + + // 2. Create the function with proper escaping + console.log("๐Ÿ”ง Creating payment status function..."); + await executeSQL(client, ` + CREATE OR REPLACE FUNCTION update_session_payment_status() + RETURNS TRIGGER AS $func$ + DECLARE + session_id_to_update TEXT; + unpaid_count INTEGER; + BEGIN + -- Determine which session to update based on trigger operation + IF TG_OP = 'DELETE' THEN + session_id_to_update := OLD.session_id; + ELSE + session_id_to_update := NEW.session_id; + END IF; + + -- Count unpaid items for this session (items without bill_id) + SELECT COUNT(*) + INTO unpaid_count + FROM auction_items + WHERE session_id = session_id_to_update + AND bill_id IS NULL; + + -- Update session payment status based on unpaid count + UPDATE auction_sessions + SET + payment_status = CASE + WHEN unpaid_count = 0 THEN 'COMPLETED'::"SessionPaymentStatus" + ELSE 'PENDING'::"SessionPaymentStatus" + END, + updated_at = NOW() + WHERE id = session_id_to_update; + + -- Return appropriate record based on operation + IF TG_OP = 'DELETE' THEN + RETURN OLD; + ELSE + RETURN NEW; + END IF; + END; + $func$ LANGUAGE plpgsql; + `, "Create Function"); + + // 3. Fix existing data + console.log("๐Ÿ”„ Updating existing session payment statuses..."); + const result = await executeSQL(client, ` + UPDATE auction_sessions + SET payment_status = CASE + WHEN ( + SELECT COUNT(*) + FROM auction_items + WHERE session_id = auction_sessions.id + AND bill_id IS NULL + ) = 0 THEN 'COMPLETED'::"SessionPaymentStatus" + ELSE 'PENDING'::"SessionPaymentStatus" + END; + `, "Fix Data"); + + console.log(`Updated ${result.rowCount} session payment statuses`); + + // 4. Create triggers + console.log("๐Ÿ”ง Creating triggers..."); + await executeSQL(client, ` + CREATE TRIGGER update_session_payment_status_on_insert + AFTER INSERT ON auction_items + FOR EACH ROW + EXECUTE FUNCTION update_session_payment_status(); + `, "Create Insert Trigger"); + + await executeSQL(client, ` + CREATE TRIGGER update_session_payment_status_on_update + AFTER UPDATE OF bill_id ON auction_items + FOR EACH ROW + EXECUTE FUNCTION update_session_payment_status(); + `, "Create Update Trigger"); + + await executeSQL(client, ` + CREATE TRIGGER update_session_payment_status_on_delete + AFTER DELETE ON auction_items + FOR EACH ROW + EXECUTE FUNCTION update_session_payment_status(); + `, "Create Delete Trigger"); + + // 5. Create index for better performance + console.log("๐Ÿ“Š Creating performance index..."); + await executeSQL(client, ` + CREATE INDEX IF NOT EXISTS idx_auction_items_session_bill_status + ON auction_items (session_id, bill_id) + WHERE bill_id IS NULL; + `, "Create Index"); + + console.log("๐ŸŽ‰ All triggers installed successfully!"); + + } catch (error) { + console.error("โŒ Script failed:", error.message); process.exit(1); + } finally { + await client.end(); } +} - function runSQL(sql, description) { - console.log(`Executing: ${description}`); - try { - const result = execSync( - `docker exec -i next_postgres psql -U postgres -d commissioner_db -c "${sql}"`, - { - encoding: "utf8", - }, - ); - console.log(result); - return result; - } catch (error) { - console.error(`โŒ Error in ${description}:`, error.message); - throw error; - } +async function removeTriggers() { + const client = new Client({ + connectionString: DATABASE_URL, + }); + + try { + await client.connect(); + console.log("๐Ÿ—‘๏ธ Removing payment status triggers..."); + + await executeSQL(client, ` + DROP TRIGGER IF EXISTS update_session_payment_status_on_insert ON auction_items; + DROP TRIGGER IF EXISTS update_session_payment_status_on_update ON auction_items; + DROP TRIGGER IF EXISTS update_session_payment_status_on_delete ON auction_items; + DROP FUNCTION IF EXISTS update_session_payment_status(); + DROP INDEX IF EXISTS idx_auction_items_session_bill_status; + `, "Remove Triggers & Functions"); + + console.log("โœ… All triggers and functions removed successfully!"); + + } catch (error) { + console.error("โŒ Error removing triggers:", error.message); + process.exit(1); + } finally { + await client.end(); } +} + +async function listTriggers() { + const client = new Client({ + connectionString: DATABASE_URL, + }); - function runSQLFile(file, description) { - console.log(`Executing: ${description}`); - try { - execSync( - `docker exec -i next_postgres psql -U postgres -d commissioner_db < database/triggers/${file}`, - { - stdio: "inherit", - }, - ); - console.log(`โœ… ${description} completed`); - } catch (error) { - console.error(`โŒ Error in ${description}:`, error.message); - throw error; + try { + await client.connect(); + + console.log("๐Ÿ“‹ Database Triggers:"); + const triggers = await client.query(` + SELECT trigger_name, event_manipulation, event_object_table + FROM information_schema.triggers + WHERE trigger_schema = 'public' + AND trigger_name LIKE '%payment_status%' + ORDER BY trigger_name; + `); + + if (triggers.rows.length > 0) { + console.table(triggers.rows); + } else { + console.log("No payment status triggers found."); } - } - switch (command) { - case "install": - console.log("๐Ÿš€ Installing payment status triggers..."); + console.log("\n๐Ÿ“‹ Database Functions:"); + const functions = await client.query(` + SELECT routine_name, routine_type + FROM information_schema.routines + WHERE routine_schema = 'public' + AND routine_name LIKE '%payment_status%' + ORDER BY routine_name; + `); + + if (functions.rows.length > 0) { + console.table(functions.rows); + } else { + console.log("No payment status functions found."); + } - const files = [ - { file: "01-drop-triggers.sql", desc: "Drop Triggers & Functions" }, - { file: "02-create-function.sql", desc: "Create Function & Fix Data" }, - { file: "03-create-trigger.sql", desc: "Create Triggers" }, - { file: "04-create-index.sql", desc: "Create Index" }, - ]; + } catch (error) { + console.error("โŒ Error listing triggers:", error.message); + process.exit(1); + } finally { + await client.end(); + } +} - for (const { file, desc } of files) { - runSQLFile(file, desc); - } +async function testTriggers() { + const client = new Client({ + connectionString: DATABASE_URL, + }); + + try { + await client.connect(); + + console.log("๐Ÿงช Testing payment status triggers..."); + const result = await client.query(` + SELECT s.id, s.payment_status, + COUNT(ai.id) as total_items, + COUNT(ai.bill_id) as paid_items, + COUNT(*) FILTER (WHERE ai.bill_id IS NULL) as unpaid_items + FROM auction_sessions s + LEFT JOIN auction_items ai ON s.id = ai.session_id + GROUP BY s.id, s.payment_status + LIMIT 5; + `); + + if (result.rows.length > 0) { + console.table(result.rows); + } else { + console.log("No auction sessions found for testing."); + } + + console.log("โœ… Trigger test completed successfully!"); - console.log("โœ… All triggers installed successfully!"); - break; - - case "remove": - console.log("๐Ÿ—‘๏ธ Removing payment status triggers..."); - runSQLFile("01-drop-triggers.sql", "Remove Triggers & Functions"); - console.log("โœ… All triggers and functions removed successfully!"); - break; - - case "list": - console.log("๐Ÿ“‹ Listing database triggers..."); - - console.log("\nDatabase Triggers:"); - runSQL( - "SELECT trigger_name, event_manipulation, event_object_table FROM information_schema.triggers WHERE trigger_schema = 'public' AND trigger_name LIKE '%payment_status%' ORDER BY trigger_name;", - "List Triggers", - ); - - console.log("\nDatabase Functions:"); - runSQL( - "SELECT routine_name, routine_type FROM information_schema.routines WHERE routine_schema = 'public' AND routine_name LIKE '%payment_status%' ORDER BY routine_name;", - "List Functions", - ); - break; - - case "test": - console.log("๐Ÿงช Testing payment status triggers..."); - - runSQL( - "SELECT s.id, s.payment_status, COUNT(ai.id) as total_items, COUNT(ai.bill_id) as paid_items, COUNT(*) FILTER (WHERE ai.bill_id IS NULL) as unpaid_items FROM auction_sessions s LEFT JOIN auction_items ai ON s.id = ai.session_id GROUP BY s.id, s.payment_status LIMIT 5;", - "Test Trigger Functionality", - ); - - console.log("โœ… Trigger test completed successfully!"); - break; - - default: - console.log("โŒ Unknown command:", command); - console.log("Usage: node simple-triggers.js "); - process.exit(1); + } catch (error) { + console.error("โŒ Error testing triggers:", error.message); + process.exit(1); + } finally { + await client.end(); } -} catch (error) { - console.error("โŒ Script failed:", error.message); - process.exit(1); } + +// Main execution +const command = process.argv[2]; + +switch (command) { + case 'install': + await installTriggers(); + break; + case 'remove': + await removeTriggers(); + break; + case 'list': + await listTriggers(); + break; + case 'test': + await testTriggers(); + break; + default: + console.log("Usage: node nodejs-triggers.js "); + console.log(""); + console.log("Commands:"); + console.log(" install - Install payment status triggers"); + console.log(" remove - Remove all payment status triggers"); + console.log(" list - List current database triggers"); + console.log(" test - Test trigger functionality"); + process.exit(1); +} \ No newline at end of file