@cerbos/orm-prisma 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +168 -12
  2. package/lib/index.d.ts +74 -1
  3. package/lib/index.d.ts.map +1 -1
  4. package/lib/index.js +344 -90
  5. package/lib/index.js.map +1 -1
  6. package/package.json +10 -7
  7. package/src/adversarial.test.ts +948 -253
  8. package/src/corpus.ts +414 -0
  9. package/src/generated/prisma-adversarial/browser.ts +10 -0
  10. package/src/generated/prisma-adversarial/client.ts +10 -0
  11. package/src/generated/prisma-adversarial/internal/class.ts +24 -4
  12. package/src/generated/prisma-adversarial/internal/prismaNamespace.ts +178 -2
  13. package/src/generated/prisma-adversarial/internal/prismaNamespaceBrowser.ts +27 -1
  14. package/src/generated/prisma-adversarial/models/AdversarialInner.ts +1369 -0
  15. package/src/generated/prisma-adversarial/models/AdversarialParent.ts +1474 -0
  16. package/src/generated/prisma-adversarial/models/AdversarialResource.ts +124 -0
  17. package/src/generated/prisma-adversarial/models.ts +2 -0
  18. package/src/generated/{prisma → prisma-adversarial-pg}/browser.ts +14 -19
  19. package/src/generated/{prisma → prisma-adversarial-pg}/client.ts +16 -21
  20. package/src/generated/{prisma → prisma-adversarial-pg}/commonInputTypes.ts +153 -71
  21. package/src/generated/prisma-adversarial-pg/internal/class.ts +264 -0
  22. package/src/generated/{prisma → prisma-adversarial-pg}/internal/prismaNamespace.ts +339 -371
  23. package/src/generated/{prisma → prisma-adversarial-pg}/internal/prismaNamespaceBrowser.ts +56 -48
  24. package/src/generated/prisma-adversarial-pg/models/AdversarialCategory.ts +1404 -0
  25. package/src/generated/prisma-adversarial-pg/models/AdversarialInner.ts +1371 -0
  26. package/src/generated/prisma-adversarial-pg/models/AdversarialLabel.ts +1275 -0
  27. package/src/generated/prisma-adversarial-pg/models/AdversarialParent.ts +1476 -0
  28. package/src/generated/prisma-adversarial-pg/models/AdversarialResource.ts +1791 -0
  29. package/src/generated/prisma-adversarial-pg/models/AdversarialSubCategory.ts +1404 -0
  30. package/src/generated/prisma-adversarial-pg/models/AdversarialTag.ts +1310 -0
  31. package/src/generated/prisma-adversarial-pg/models.ts +18 -0
  32. package/src/generated/prisma-adversarial-pg-v6/index.d.ts +11830 -0
  33. package/src/generated/prisma-adversarial-v6/index.d.ts +3173 -44
  34. package/src/index.ts +508 -119
  35. package/src/test-setup.adversarial-url.ts +18 -0
  36. package/src/test-setup.adversarial.pg.v6.ts +13 -0
  37. package/src/test-setup.adversarial.pg.v7.ts +9 -0
  38. package/src/translator.test.ts +1586 -0
  39. package/src/generated/prisma/internal/class.ts +0 -274
  40. package/src/generated/prisma/models/Category.ts +0 -1412
  41. package/src/generated/prisma/models/Label.ts +0 -1276
  42. package/src/generated/prisma/models/NestedResource.ts +0 -1562
  43. package/src/generated/prisma/models/NextLevelNestedResource.ts +0 -1337
  44. package/src/generated/prisma/models/Resource.ts +0 -2196
  45. package/src/generated/prisma/models/SubCategory.ts +0 -1412
  46. package/src/generated/prisma/models/Tag.ts +0 -1276
  47. package/src/generated/prisma/models/User.ts +0 -1503
  48. package/src/generated/prisma/models.ts +0 -19
  49. package/src/generated/prisma-v6/index.d.ts +0 -13726
  50. package/src/index.test.ts +0 -8885
  51. package/src/test-setup.v6.ts +0 -5
  52. package/src/test-setup.v7.ts +0 -7
  53. /package/src/generated/{prisma → prisma-adversarial-pg}/enums.ts +0 -0
  54. /package/src/generated/{prisma-v6 → prisma-adversarial-pg-v6}/client.d.ts +0 -0
  55. /package/src/generated/{prisma-v6 → prisma-adversarial-pg-v6}/default.d.ts +0 -0
  56. /package/src/generated/{prisma-v6 → prisma-adversarial-pg-v6}/edge.d.ts +0 -0
  57. /package/src/generated/{prisma-v6 → prisma-adversarial-pg-v6}/runtime/index-browser.d.ts +0 -0
  58. /package/src/generated/{prisma-v6 → prisma-adversarial-pg-v6}/runtime/library.d.ts +0 -0
  59. /package/src/generated/{prisma-v6 → prisma-adversarial-pg-v6}/wasm.d.ts +0 -0
@@ -0,0 +1,264 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * WARNING: This is an internal file that is subject to change!
8
+ *
9
+ * 🛑 Under no circumstances should you import this file directly! 🛑
10
+ *
11
+ * Please import the `PrismaClient` class from the `client.ts` file instead.
12
+ */
13
+
14
+ import * as runtime from "@prisma/client/runtime/client"
15
+ import type * as Prisma from "./prismaNamespace.js"
16
+
17
+
18
+ const config: runtime.GetPrismaClientConfig = {
19
+ "previewFeatures": [],
20
+ "clientVersion": "7.9.1",
21
+ "engineVersion": "e922089b7d7502aff4249d5da3420f6fa55fc6ad",
22
+ "activeProvider": "postgresql",
23
+ "inlineSchema": "// PostgreSQL client for the shared adversarial differential harness\n// (cerbos/query-plan-adapters#320). Keep the data model in lockstep with\n// schema.adversarial.prisma; only the generator output and the datasource provider differ, so\n// each store leg executes through a genuinely provider-matched client.\n//\n// The provider is the point of the leg: on SQLite `aNumber` is a dynamically typed INTEGER\n// column and `createdAt` is milliseconds since the epoch, while here they are a real `integer`\n// and a real `timestamp(3)`. A filter that renders plausibly and coerces differently — a\n// fractional threshold against an integer column, an unescaped LIKE metacharacter, a NULL\n// propagating through a nested `some` — passes on SQLite and fails here.\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma-adversarial-pg\"\n engineType = \"client\"\n moduleFormat = \"cjs\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel AdversarialResource {\n id String @id\n aBool Boolean\n aString String\n aNumber Int\n aDouble Float?\n aOptionalString String?\n createdBy String\n scope String?\n createdAt DateTime?\n tags AdversarialTag[]\n categories AdversarialCategory[]\n parent AdversarialParent?\n}\n\n// Owned one-to-many child row (unlike the shared, globally-unique Tag model) so hostile seeds\n// can hold NULL and duplicate tag names.\nmodel AdversarialTag {\n id String @id @default(cuid())\n tagId String\n name String?\n resource AdversarialResource @relation(fields: [resourceId], references: [id])\n resourceId String\n}\n\nmodel AdversarialCategory {\n id String @id @default(cuid())\n name String\n resource AdversarialResource @relation(fields: [resourceId], references: [id])\n resourceId String\n subCategories AdversarialSubCategory[]\n}\n\nmodel AdversarialSubCategory {\n id String @id @default(cuid())\n name String\n category AdversarialCategory @relation(fields: [categoryId], references: [id])\n categoryId String\n labels AdversarialLabel[]\n}\n\nmodel AdversarialLabel {\n id String @id @default(cuid())\n name String?\n subCategory AdversarialSubCategory @relation(fields: [subCategoryId], references: [id])\n subCategoryId String\n}\n\n// The corpus's one REAL to-one relation (conformance/seeds.json `parentSeedId`). `parent` and\n// `parent.inner` are separate rows reached through a join, unlike `obj.inner`, which is a flat\n// column wearing a dotted name. A resource owns its own parent chain — no two resources share a\n// parent row — so a filter that returned the parent instead of the child could not agree with the\n// oracle by accident.\nmodel AdversarialParent {\n id String @id @default(cuid())\n aBool Boolean\n aString String\n aNumber Int\n aOptionalString String?\n resource AdversarialResource @relation(fields: [resourceId], references: [id])\n resourceId String @unique\n inner AdversarialInner?\n}\n\nmodel AdversarialInner {\n id String @id @default(cuid())\n aBool Boolean\n aString String\n aNumber Int\n aOptionalString String?\n parent AdversarialParent @relation(fields: [parentId], references: [id])\n parentId String @unique\n}\n",
24
+ "runtimeDataModel": {
25
+ "models": {},
26
+ "enums": {},
27
+ "types": {}
28
+ },
29
+ "parameterizationSchema": {
30
+ "strings": [],
31
+ "graph": ""
32
+ }
33
+ }
34
+
35
+ config.runtimeDataModel = JSON.parse("{\"models\":{\"AdversarialResource\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aBool\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"aString\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aNumber\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"aDouble\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"aOptionalString\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tags\",\"kind\":\"object\",\"type\":\"AdversarialTag\",\"relationName\":\"AdversarialResourceToAdversarialTag\"},{\"name\":\"categories\",\"kind\":\"object\",\"type\":\"AdversarialCategory\",\"relationName\":\"AdversarialCategoryToAdversarialResource\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"AdversarialParent\",\"relationName\":\"AdversarialParentToAdversarialResource\"}],\"dbName\":null},\"AdversarialTag\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tagId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resource\",\"kind\":\"object\",\"type\":\"AdversarialResource\",\"relationName\":\"AdversarialResourceToAdversarialTag\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"AdversarialCategory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resource\",\"kind\":\"object\",\"type\":\"AdversarialResource\",\"relationName\":\"AdversarialCategoryToAdversarialResource\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subCategories\",\"kind\":\"object\",\"type\":\"AdversarialSubCategory\",\"relationName\":\"AdversarialCategoryToAdversarialSubCategory\"}],\"dbName\":null},\"AdversarialSubCategory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"object\",\"type\":\"AdversarialCategory\",\"relationName\":\"AdversarialCategoryToAdversarialSubCategory\"},{\"name\":\"categoryId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"labels\",\"kind\":\"object\",\"type\":\"AdversarialLabel\",\"relationName\":\"AdversarialLabelToAdversarialSubCategory\"}],\"dbName\":null},\"AdversarialLabel\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subCategory\",\"kind\":\"object\",\"type\":\"AdversarialSubCategory\",\"relationName\":\"AdversarialLabelToAdversarialSubCategory\"},{\"name\":\"subCategoryId\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"AdversarialParent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aBool\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"aString\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aNumber\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"aOptionalString\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resource\",\"kind\":\"object\",\"type\":\"AdversarialResource\",\"relationName\":\"AdversarialParentToAdversarialResource\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inner\",\"kind\":\"object\",\"type\":\"AdversarialInner\",\"relationName\":\"AdversarialInnerToAdversarialParent\"}],\"dbName\":null},\"AdversarialInner\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aBool\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"aString\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aNumber\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"aOptionalString\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"AdversarialParent\",\"relationName\":\"AdversarialInnerToAdversarialParent\"},{\"name\":\"parentId\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
36
+ config.parameterizationSchema = {
37
+ strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"resource\",\"tags\",\"category\",\"subCategory\",\"labels\",\"_count\",\"subCategories\",\"categories\",\"parent\",\"inner\",\"AdversarialResource.findUnique\",\"AdversarialResource.findUniqueOrThrow\",\"AdversarialResource.findFirst\",\"AdversarialResource.findFirstOrThrow\",\"AdversarialResource.findMany\",\"data\",\"AdversarialResource.createOne\",\"AdversarialResource.createMany\",\"AdversarialResource.createManyAndReturn\",\"AdversarialResource.updateOne\",\"AdversarialResource.updateMany\",\"AdversarialResource.updateManyAndReturn\",\"create\",\"update\",\"AdversarialResource.upsertOne\",\"AdversarialResource.deleteOne\",\"AdversarialResource.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"AdversarialResource.groupBy\",\"AdversarialResource.aggregate\",\"AdversarialTag.findUnique\",\"AdversarialTag.findUniqueOrThrow\",\"AdversarialTag.findFirst\",\"AdversarialTag.findFirstOrThrow\",\"AdversarialTag.findMany\",\"AdversarialTag.createOne\",\"AdversarialTag.createMany\",\"AdversarialTag.createManyAndReturn\",\"AdversarialTag.updateOne\",\"AdversarialTag.updateMany\",\"AdversarialTag.updateManyAndReturn\",\"AdversarialTag.upsertOne\",\"AdversarialTag.deleteOne\",\"AdversarialTag.deleteMany\",\"AdversarialTag.groupBy\",\"AdversarialTag.aggregate\",\"AdversarialCategory.findUnique\",\"AdversarialCategory.findUniqueOrThrow\",\"AdversarialCategory.findFirst\",\"AdversarialCategory.findFirstOrThrow\",\"AdversarialCategory.findMany\",\"AdversarialCategory.createOne\",\"AdversarialCategory.createMany\",\"AdversarialCategory.createManyAndReturn\",\"AdversarialCategory.updateOne\",\"AdversarialCategory.updateMany\",\"AdversarialCategory.updateManyAndReturn\",\"AdversarialCategory.upsertOne\",\"AdversarialCategory.deleteOne\",\"AdversarialCategory.deleteMany\",\"AdversarialCategory.groupBy\",\"AdversarialCategory.aggregate\",\"AdversarialSubCategory.findUnique\",\"AdversarialSubCategory.findUniqueOrThrow\",\"AdversarialSubCategory.findFirst\",\"AdversarialSubCategory.findFirstOrThrow\",\"AdversarialSubCategory.findMany\",\"AdversarialSubCategory.createOne\",\"AdversarialSubCategory.createMany\",\"AdversarialSubCategory.createManyAndReturn\",\"AdversarialSubCategory.updateOne\",\"AdversarialSubCategory.updateMany\",\"AdversarialSubCategory.updateManyAndReturn\",\"AdversarialSubCategory.upsertOne\",\"AdversarialSubCategory.deleteOne\",\"AdversarialSubCategory.deleteMany\",\"AdversarialSubCategory.groupBy\",\"AdversarialSubCategory.aggregate\",\"AdversarialLabel.findUnique\",\"AdversarialLabel.findUniqueOrThrow\",\"AdversarialLabel.findFirst\",\"AdversarialLabel.findFirstOrThrow\",\"AdversarialLabel.findMany\",\"AdversarialLabel.createOne\",\"AdversarialLabel.createMany\",\"AdversarialLabel.createManyAndReturn\",\"AdversarialLabel.updateOne\",\"AdversarialLabel.updateMany\",\"AdversarialLabel.updateManyAndReturn\",\"AdversarialLabel.upsertOne\",\"AdversarialLabel.deleteOne\",\"AdversarialLabel.deleteMany\",\"AdversarialLabel.groupBy\",\"AdversarialLabel.aggregate\",\"AdversarialParent.findUnique\",\"AdversarialParent.findUniqueOrThrow\",\"AdversarialParent.findFirst\",\"AdversarialParent.findFirstOrThrow\",\"AdversarialParent.findMany\",\"AdversarialParent.createOne\",\"AdversarialParent.createMany\",\"AdversarialParent.createManyAndReturn\",\"AdversarialParent.updateOne\",\"AdversarialParent.updateMany\",\"AdversarialParent.updateManyAndReturn\",\"AdversarialParent.upsertOne\",\"AdversarialParent.deleteOne\",\"AdversarialParent.deleteMany\",\"AdversarialParent.groupBy\",\"AdversarialParent.aggregate\",\"AdversarialInner.findUnique\",\"AdversarialInner.findUniqueOrThrow\",\"AdversarialInner.findFirst\",\"AdversarialInner.findFirstOrThrow\",\"AdversarialInner.findMany\",\"AdversarialInner.createOne\",\"AdversarialInner.createMany\",\"AdversarialInner.createManyAndReturn\",\"AdversarialInner.updateOne\",\"AdversarialInner.updateMany\",\"AdversarialInner.updateManyAndReturn\",\"AdversarialInner.upsertOne\",\"AdversarialInner.deleteOne\",\"AdversarialInner.deleteMany\",\"AdversarialInner.groupBy\",\"AdversarialInner.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"aBool\",\"aString\",\"aNumber\",\"aOptionalString\",\"parentId\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"contains\",\"startsWith\",\"endsWith\",\"not\",\"resourceId\",\"name\",\"subCategoryId\",\"categoryId\",\"tagId\",\"aDouble\",\"createdBy\",\"scope\",\"createdAt\",\"every\",\"some\",\"none\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"disconnect\",\"delete\",\"connect\",\"createMany\",\"set\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
38
+ graph: "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-AQAhngEIANgBACGfAQEAuwEAIaABAQC-AQAhoQFAANkBACEDAAAAHAAgAQAALgAwHgAALwAgAwAAABwAIAEAAB0AMAIAAAEAIAEAAAAFACABAAAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgBQMAALgCACCIAQEAAAABmQEBAAAAAZoBAQAAAAGdAQEAAAABARIAADcAIASIAQEAAAABmQEBAAAAAZoBAQAAAAGdAQEAAAABARIAADkAMAESAAA5ADAFAwAAtwIAIIgBAQDyAQAhmQEBAPIBACGaAQEA9QEAIZ0BAQDyAQAhAgAAAAUAIBIAADwAIASIAQEA8gEAIZkBAQDyAQAhmgEBAPUBACGdAQEA8gEAIQIAAAADACASAAA-ACACAAAAAwAgEgAAPgAgAwAAAAUAIBkAADcAIBoAADwAIAEAAAAFACABAAAAAwAgBAgAALQCACAhAAC2AgAgIgAAtQIAIJoBAADsAQAgB4UBAADWAQAwhgEAAEUAEIcBAADWAQAwiAEBALsBACGZAQEAuwEAIZoBAQC-AQAhnQEBALsBACEDAAAAAwAgAQAARAAwHgAARQAgAwAAAAMAIAEAAAQAMAIAAAUAIAEAAAAJACABAAAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACADAAAABwAgAQAACAAwAgAACQAgBQMAALICACAJAACzAgAgiAEBAAAAAZkBAQAAAAGaAQEAAAABARIAAE0AIAOIAQEAAAABmQEBAAAAAZoBAQAAAAEBEgAATwAwARIAAE8AMAUDAACkAgAgCQAApQIAIIgBAQDyAQAhmQEBAPIBACGaAQEA8gEAIQIAAAAJACASAABSACADiAEBAPIBACGZAQEA8gEAIZoBAQDyAQAhAgAAAAcAIBIAAFQAIAIAAAAHACASAABUACADAAAACQAgGQAATQAgGgAAUgAgAQAAAAkAIAEAAAAHACADCAAAoQIAICEAAKMCACAiAACiAgAgBoUBAADVAQAwhgEAAFsAEIcBAADVAQAwiAEBALsBACGZAQEAuwEAIZoBAQC7AQAhAwAAAAcAIAEAAFoAMB4AAFsAIAMAAAAHACABAAAIADACAAAJACABAAAADQAgAQAAAA0AIAMAAAALACABAAAMADACAAANACADAAAACwAgAQAADAAwAgAADQAgAwAAAAsAIAEAAAwAMAIAAA0AIAUFAACfAgAgBwAAoAIAIIgBAQAAAAGaAQEAAAABnAEBAAAAAQESAABjACADiAEBAAAAAZoBAQAAAAGcAQEAAAABARIAAGUAMAESAABlADAFBQAAkQIAIAcAAJICACCIAQEA8gEAIZoBAQDyAQAhnAEBAPIBACECAAAADQAgEgAAaAAgA4gBAQDyAQAhmgEBAPIBACGcAQEA8gEAIQIAAAALACASAABqACACAAAACwAgEgAAagAgAwAAAA0AIBkAAGMAIBoAAGgAIAEAAAANACABAAAACwAgAwgAAI4CACAhAACQAgAgIgAAjwIAIAaFAQAA1AEAMIYBAABxABCHAQAA1AEAMIgBAQC7AQAhmgEBALsBACGcAQEAuwEAIQMAAAALACABAABwADAeAABxACADAAAACwAgAQAADAAwAgAADQAgAQAAABEAIAEAAAARACADAAAADwAgAQAAEAAwAgAAEQAgAwAAAA8AIAEAABAAMAIAABEAIAMAAAAPACABAAAQADACAAARACAEBgAAjQIAIIgBAQAAAAGaAQEAAAABmwEBAAAAAQESAAB5ACADiAEBAAAAAZoBAQAAAAGbAQEAAAABARIAAHsAMAESAAB7ADAEBgAAjAIAIIgBAQDyAQAhmgEBAPUBACGbAQEA8gEAIQIAAAARACASAAB-ACADiAEBAPIBACGaAQEA9QEAIZsBAQDyAQAhAgAAAA8AIBIAAIABACACAAAADwAgEgAAgAEAIAMAAAARACAZAAB5ACAaAAB-ACABAAAAEQAgAQAAAA8AIAQIAACJAgAgIQAAiwIAICIAAIoCACCaAQAA7AEAIAaFAQAA0wEAMIYBAACHAQAQhwEAANMBADCIAQEAuwEAIZoBAQC-AQAhmwEBALsBACEDAAAADwAgAQAAhgEAMB4AAIcBACADAAAADwAgAQAAEAAwAgAAEQAgCwMAANEBACAMAADSAQAghQEAANABADCGAQAAFQAQhwEAANABADCIAQEAAAABiQEgAMoBACGKAQEAywEAIYsBAgDMAQAhjAEBAM0BACGZAQEAAAABAQAAAIoBACABAAAAigEAIAMDAACHAgAgDAAAiAIAIIwBAADsAQAgAwAAABUAIAEAAI0BADACAACKAQAgAwAAABUAIAEAAI0BADACAACKAQAgAwAAABUAIAEAAI0BADACAACKAQAgCAMAAIUCACAMAACGAgAgiAEBAAAAAYkBIAAAAAGKAQEAAAABiwECAAAAAYwBAQAAAAGZAQEAAAABARIAAJEBACAGiAEBAAAAAYkBIAAAAAGKAQEAAAABiwECAAAAAYwBAQAAAAGZAQEAAAABARIAAJMBADABEgAAkwEAMAgDAAD-AQAgDAAA_wEAIIgBAQDyAQAhiQEgAPMBACGKAQEA8gEAIYsBAgD0AQAhjAEBAPUBACGZAQEA8gEAIQIAAACKAQAgEgAAlgEAIAaIAQEA8gEAIYkBIADzAQAhigEBAPIBACGLAQIA9AEAIYwBAQD1AQAhmQEBAPIBACECAAAAFQAgEgAAmAEAIAIAAAAVACASAACYAQAgAwAAAIoBACAZAACRAQAgGgAAlgEAIAEAAACKAQAgAQAAABUAIAYIAAD5AQAgHwAA-gEAICAAAP0BACAhAAD8AQAgIgAA-wEAIIwBAADsAQAgCYUBAADPAQAwhgEAAJ8BABCHAQAAzwEAMIgBAQC7AQAhiQEgALwBACGKAQEAuwEAIYsBAgC9AQAhjAEBAL4BACGZAQEAuwEAIQMAAAAVACABAACeAQAwHgAAnwEAIAMAAAAVACABAACNAQAwAgAAigEAIAoLAADOAQAghQEAAMkBADCGAQAAFwAQhwEAAMkBADCIAQEAAAABiQEgAMoBACGKAQEAywEAIYsBAgDMAQAhjAEBAM0BACGNAQEAAAABAQAAAKIBACABAAAAogEAIAILAAD4AQAgjAEAAOwBACADAAAAFwAgAQAApQEAMAIAAKIBACADAAAAFwAgAQAApQEAMAIAAKIBACADAAAAFwAgAQAApQEAMAIAAKIBACAHCwAA9wEAIIgBAQAAAAGJASAAAAABigEBAAAAAYsBAgAAAAGMAQEAAAABjQEBAAAAAQESAACpAQAgBogBAQAAAAGJASAAAAABigEBAAAAAYsBAgAAAAGMAQEAAAABjQEBAAAAAQESAACrAQAwARIAAKsBADAHCwAA9gEAIIgBAQDyAQAhiQEgAPMBACGKAQEA8gEAIYsBAgD0AQAhjAEBAPUBACGNAQEA8gEAIQIAAACiAQAgEgAArgEAIAaIAQEA8gEAIYkBIADzAQAhigEBAPIBACGLAQIA9AEAIYwBAQD1AQAhjQEBAPIBACECAAAAFwAgEgAAsAEAIAIAAAAXACASAACwAQAgAwAAAKIBACAZAACpAQAgGgAArgEAIAEAAACiAQAgAQAAABcAIAYIAADtAQAgHwAA7gEAICAAAPEBACAhAADwAQAgIgAA7wEAIIwBAADsAQAgCYUBAAC6AQAwhgEAALcBABCHAQAAugEAMIgBAQC7AQAhiQEgALwBACGKAQEAuwEAIYsBAgC9AQAhjAEBAL4BACGNAQEAuwEAIQMAAAAXACABAAC2AQAwHgAAtwEAIAMAAAAXACABAAClAQAwAgAAogEAIAmFAQAAugEAMIYBAAC3AQAQhwEAALoBADCIAQEAuwEAIYkBIAC8AQAhigEBALsBACGLAQIAvQEAIYwBAQC-AQAhjQEBALsBACEOCAAAwwEAICEAAMgBACAiAADIAQAgjgEBAAAAAY8BAQAAAASQAQEAAAAEkQEBAAAAAZIBAQAAAAGTAQEAAAABlAEBAAAAAZUBAQAAAAGWAQEAAAABlwEBAAAAAZgBAQDHAQAhBQgAAMMBACAhAADGAQAgIgAAxgEAII4BIAAAAAGYASAAxQEAIQ0IAADDAQAgHwAAxAEAICAAAMMBACAhAADDAQAgIgAAwwEAII4BAgAAAAGPAQIAAAAEkAECAAAABJEBAgAAAAGSAQIAAAABkwECAAAAAZQBAgAAAAGYAQIAwgEAIQ4IAADAAQAgIQAAwQEAICIAAMEBACCOAQEAAAABjwEBAAAABZABAQAAAAWRAQEAAAABkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAAAAAZYBAQAAAAGXAQEAAAABmAEBAL8BACEOCAAAwAEAICEAAMEBACAiAADBAQAgjgEBAAAAAY8BAQAAAAWQAQEAAAAFkQEBAAAAAZIBAQAAAAGTAQEAAAABlAEBAAAAAZUBAQAAAAGWAQEAAAABlwEBAAAAAZgBAQC_AQAhCI4BAgAAAAGPAQIAAAAFkAECAAAABZEBAgAAAAGSAQIAAAABkwECAAAAAZQBAgAAAAGYAQIAwAEAIQuOAQEAAAABjwEBAAAABZABAQAAAAWRAQEAAAABkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAAAAAZYBAQAAAAGXAQEAAAABmAEBAMEBACENCAAAwwEAIB8AAMQBACAgAADDAQAgIQAAwwEAICIAAMMBACCOAQIAAAABjwECAAAABJABAgAAAASRAQIAAAABkgECAAAAAZMBAgAAAAGUAQIAAAABmAECAMIBACEIjgECAAAAAY8BAgAAAASQAQIAAAAEkQECAAAAAZIBAgAAAAGTAQIAAAABlAECAAAAAZgBAgDDAQAhCI4BCAAAAAGPAQgAAAAEkAEIAAAABJEBCAAAAAGSAQgAAAABkwEIAAAAAZQBCAAAAAGYAQgAxAEAIQUIAADDAQAgIQAAxgEAICIAAMYBACCOASAAAAABmAEgAMUBACECjgEgAAAAAZgBIADGAQAhDggAAMMBACAhAADIAQAgIgAAyAEAII4BAQAAAAGPAQEAAAAEkAEBAAAABJEBAQAAAAGSAQEAAAABkwEBAAAAAZQBAQAAAAGVAQEAAAABlgEBAAAAAZcBAQAAAAGYAQEAxwEAIQuOAQEAAAABjwEBAAAABJABAQAAAASRAQEAAAABkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAAAAAZYBAQAAAAGXAQEAAAABmAEBAMgBACEKCwAAzgEAIIUBAADJAQAwhgEAABcAEIcBAADJAQAwiAEBAMsBACGJASAAygEAIYoBAQDLAQAhiwECAMwBACGMAQEAzQEAIY0BAQDLAQAhAo4BIAAAAAGYASAAxgEAIQuOAQEAAAABjwEBAAAABJABAQAAAASRAQEAAAABkgEBAAAAAZMBAQAAAAGUAQEAAAABlQEBAAAAAZYBAQAAAAGXAQEAAAABmAEBAMgBACEIjgECAAAAAY8BAgAAAASQAQIAAAAEkQECAAAAAZIBAgAAAAGTAQIAAAABlAECAAAAAZgBAgDDAQAhC44BAQAAAAGPAQEAAAAFkAEBAAAABZEBAQAAAAGSAQEAAAABkwEBAAAAAZQBAQAAAAGVAQEAAAABlgEBAAAAAZcBAQAAAAGYAQEAwQEAIQ0DAADRAQAgDAAA0gEAIIUBAADQAQAwhgEAABUAEIcBAADQAQAwiAEBAMsBACGJASAAygEAIYoBAQDLAQAhiwECAMwBACGMAQEAzQEAIZkBAQDLAQAhpQEAABUAIKYBAAAVACAJhQEAAM8BADCGAQAAnwEAEIcBAADPAQAwiAEBALsBACGJASAAvAEAIYoBAQC7AQAhiwECAL0BACGMAQEAvgEAIZkBAQC7AQAhCwMAANEBACAMAADSAQAghQEAANABADCGAQAAFQAQhwEAANABADCIAQEAywEAIYkBIADKAQAhigEBAMsBACGLAQIAzAEAIYwBAQDNAQAhmQEBAMsBACERBAAA4QEAIAoAAOIBACALAADjAQAghQEAAN4BADCGAQAAHAAQhwEAAN4BADCIAQEAywEAIYkBIADKAQAhigEBAMsBACGLAQIAzAEAIYwBAQDNAQAhngEIAN8BACGfAQEAywEAIaABAQDNAQAhoQFAAOABACGlAQAAHAAgpgEAABwAIAwLAADOAQAghQEAAMkBADCGAQAAFwAQhwEAAMkBADCIAQEAywEAIYkBIADKAQAhigEBAMsBACGLAQIAzAEAIYwBAQDNAQAhjQEBAMsBACGlAQAAFwAgpgEAABcAIAaFAQAA0wEAMIYBAACHAQAQhwEAANMBADCIAQEAuwEAIZoBAQC-AQAhmwEBALsBACEGhQEAANQBADCGAQAAcQAQhwEAANQBADCIAQEAuwEAIZoBAQC7AQAhnAEBALsBACEGhQEAANUBADCGAQAAWwAQhwEAANUBADCIAQEAuwEAIZkBAQC7AQAhmgEBALsBACEHhQEAANYBADCGAQAARQAQhwEAANYBADCIAQEAuwEAIZkBAQC7AQAhmgEBAL4BACGdAQEAuwEAIQyFAQAA1wEAMIYBAAAvABCHAQAA1wEAMIgBAQC7AQAhiQEgALwBACGKAQEAuwEAIYsBAgC9AQAhjAEBAL4BACGeAQgA2AEAIZ8BAQC7AQAhoAEBAL4BACGhAUAA2QEAIQ0IAADAAQAgHwAA3QEAICAAAN0BACAhAADdAQAgIgAA3QEAII4BCAAAAAGPAQgAAAAFkAEIAAAABZEBCAAAAAGSAQgAAAABkwEIAAAAAZQBCAAAAAGYAQgA3AEAIQsIAADAAQAgIQAA2wEAICIAANsBACCOAUAAAAABjwFAAAAABZABQAAAAAWRAUAAAAABkgFAAAAAAZMBQAAAAAGUAUAAAAABmAFAANoBACELCAAAwAEAICEAANsBACAiAADbAQAgjgFAAAAAAY8BQAAAAAWQAUAAAAAFkQFAAAAAAZIBQAAAAAGTAUAAAAABlAFAAAAAAZgBQADaAQAhCI4BQAAAAAGPAUAAAAAFkAFAAAAABZEBQAAAAAGSAUAAAAABkwFAAAAAAZQBQAAAAAGYAUAA2wEAIQ0IAADAAQAgHwAA3QEAICAAAN0BACAhAADdAQAgIgAA3QEAII4BCAAAAAGPAQgAAAAFkAEIAAAABZEBCAAAAAGSAQgAAAABkwEIAAAAAZQBCAAAAAGYAQgA3AEAIQiOAQgAAAABjwEIAAAABZABCAAAAAWRAQgAAAABkgEIAAAAAZMBCAAAAAGUAQgAAAABmAEIAN0BACEPBAAA4QEAIAoAAOIBACALAADjAQAghQEAAN4BADCGAQAAHAAQhwEAAN4BADCIAQEAywEAIYkBIADKAQAhigEBAMsBACGLAQIAzAEAIYwBAQDNAQAhngEIAN8BACGfAQEAywEAIaABAQDNAQAhoQFAAOABACEIjgEIAAAAAY8BCAAAAAWQAQgAAAAFkQEIAAAAAZIBCAAAAAGTAQgAAAABlAEIAAAAAZgBCADdAQAhCI4BQAAAAAGPAUAAAAAFkAFAAAAABZEBQAAAAAGSAUAAAAABkwFAAAAAAZQBQAAAAAGYAUAA2wEAIQOiAQAAAwAgowEAAAMAIKQBAAADACADogEAAAcAIKMBAAAHACCkAQAABwAgDQMAANEBACAMAADSAQAghQEAANABADCGAQAAFQAQhwEAANABADCIAQEAywEAIYkBIADKAQAhigEBAMsBACGLAQIAzAEAIYwBAQDNAQAhmQEBAMsBACGlAQAAFQAgpgEAABUAIAcGAADlAQAghQEAAOQBADCGAQAADwAQhwEAAOQBADCIAQEAywEAIZoBAQDNAQAhmwEBAMsBACEKBQAA5wEAIAcAAOgBACCFAQAA5gEAMIYBAAALABCHAQAA5gEAMIgBAQDLAQAhmgEBAMsBACGcAQEAywEAIaUBAAALACCmAQAACwAgCAUAAOcBACAHAADoAQAghQEAAOYBADCGAQAACwAQhwEAAOYBADCIAQEAywEAIZoBAQDLAQAhnAEBAMsBACEKAwAA0QEAIAkAAOoBACCFAQAA6QEAMIYBAAAHABCHAQAA6QEAMIgBAQDLAQAhmQEBAMsBACGaAQEAywEAIaUBAAAHACCmAQAABwAgA6IBAAAPACCjAQAADwAgpAEAAA8AIAgDAADRAQAgCQAA6gEAIIUBAADpAQAwhgEAAAcAEIcBAADpAQAwiAEBAMsBACGZAQEAywEAIZoBAQDLAQAhA6IBAAALACCjAQAACwAgpAEAAAsAIAgDAADRAQAghQEAAOsBADCGAQAAAwAQhwEAAOsBADCIAQEAywEAIZkBAQDLAQAhmgEBAM0BACGdAQEAywEAIQAAAAAAAAGtAQEAAAABAa0BIAAAAAEFrQECAAAAAbABAgAAAAGxAQIAAAABsgECAAAAAbMBAgAAAAEBrQEBAAAAAQUZAACGAwAgGgAAiQMAIKcBAACHAwAgqAEAAIgDACCrAQAAigEAIAMZAACGAwAgpwEAAIcDACCrAQAAigEAIAMDAACHAgAgDAAAiAIAIIwBAADsAQAgAAAAAAAFGQAAgQMAIBoAAIQDACCnAQAAggMAIKgBAACDAwAgqwEAAAEAIAcZAACAAgAgGgAAgwIAIKcBAACBAgAgqAEAAIICACCpAQAAFwAgqgEAABcAIKsBAACiAQAgBYgBAQAAAAGJASAAAAABigEBAAAAAYsBAgAAAAGMAQEAAAABAgAAAKIBACAZAACAAgAgAwAAABcAIBkAAIACACAaAACEAgAgBwAAABcAIBIAAIQCACCIAQEA8gEAIYkBIADzAQAhigEBAPIBACGLAQIA9AEAIYwBAQD1AQAhBYgBAQDyAQAhiQEgAPMBACGKAQEA8gEAIYsBAgD0AQAhjAEBAPUBACEDGQAAgQMAIKcBAACCAwAgqwEAAAEAIAMZAACAAgAgpwEAAIECACCrAQAAogEAIAcEAADjAgAgCgAA5AIAIAsAAPgBACCMAQAA7AEAIJ4BAADsAQAgoAEAAOwBACChAQAA7AEAIAILAAD4AQAgjAEAAOwBACAAAAAFGQAA_AIAIBoAAP8CACCnAQAA_QIAIKgBAAD-AgAgqwEAAA0AIAMZAAD8AgAgpwEAAP0CACCrAQAADQAgAAAABRkAAPYCACAaAAD6AgAgpwEAAPcCACCoAQAA-QIAIKsBAAAJACALGQAAkwIAMBoAAJgCADCnAQAAlAIAMKgBAACVAgAwqQEAAJcCADCqAQAAlwIAMKsBAACXAgAwrAEAAJYCACCtAQAAlwIAMK4BAACZAgAwrwEAAJoCADACiAEBAAAAAZoBAQAAAAECAAAAEQAgGQAAngIAIAMAAAARACAZAACeAgAgGgAAnQIAIAESAAD4AgAwBwYAAOUBACCFAQAA5AEAMIYBAAAPABCHAQAA5AEAMIgBAQAAAAGaAQEAzQEAIZsBAQDLAQAhAgAAABEAIBIAAJ0CACACAAAAmwIAIBIAAJwCACAGhQEAAJoCADCGAQAAmwIAEIcBAACaAgAwiAEBAMsBACGaAQEAzQEAIZsBAQDLAQAhBoUBAACaAgAwhgEAAJsCABCHAQAAmgIAMIgBAQDLAQAhmgEBAM0BACGbAQEAywEAIQKIAQEA8gEAIZoBAQD1AQAhAogBAQDyAQAhmgEBAPUBACECiAEBAAAAAZoBAQAAAAEDGQAA9gIAIKcBAAD3AgAgqwEAAAkAIAQZAACTAgAwpwEAAJQCADCrAQAAlwIAMKwBAACWAgAgAAAABRkAAPACACAaAAD0AgAgpwEAAPECACCoAQAA8wIAIKsBAAABACALGQAApgIAMBoAAKsCADCnAQAApwIAMKgBAACoAgAwqQEAAKoCADCqAQAAqgIAMKsBAACqAgAwrAEAAKkCACCtAQAAqgIAMK4BAACsAgAwrwEAAK0CADADBwAAoAIAIIgBAQAAAAGaAQEAAAABAgAAAA0AIBkAALECACADAAAADQAgGQAAsQIAIBoAALACACABEgAA8gIAMAgFAADnAQAgBwAA6AEAIIUBAADmAQAwhgEAAAsAEIcBAADmAQAwiAEBAAAAAZoBAQDLAQAhnAEBAMsBACECAAAADQAgEgAAsAIAIAIAAACuAgAgEgAArwIAIAaFAQAArQIAMIYBAACuAgAQhwEAAK0CADCIAQEAywEAIZoBAQDLAQAhnAEBAMsBACEGhQEAAK0CADCGAQAArgIAEIcBAACtAgAwiAEBAMsBACGaAQEAywEAIZwBAQDLAQAhAogBAQDyAQAhmgEBAPIBACEDBwAAkgIAIIgBAQDyAQAhmgEBAPIBACEDBwAAoAIAIIgBAQAAAAGaAQEAAAABAxkAAPACACCnAQAA8QIAIKsBAAABACAEGQAApgIAMKcBAACnAgAwqwEAAKoCADCsAQAAqQIAIAAAAAUZAADrAgAgGgAA7gIAIKcBAADsAgAgqAEAAO0CACCrAQAAAQAgAxkAAOsCACCnAQAA7AIAIKsBAAABACAAAAAAAAWtAQgAAAABsAEIAAAAAbEBCAAAAAGyAQgAAAABswEIAAAAAQGtAUAAAAABCxkAANQCADAaAADZAgAwpwEAANUCADCoAQAA1gIAMKkBAADYAgAwqgEAANgCADCrAQAA2AIAMKwBAADXAgAgrQEAANgCADCuAQAA2gIAMK8BAADbAgAwCxkAAMgCADAaAADNAgAwpwEAAMkCADCoAQAAygIAMKkBAADMAgAwqgEAAMwCADCrAQAAzAIAMKwBAADLAgAgrQEAAMwCADCuAQAAzgIAMK8BAADPAgAwBxkAAMMCACAaAADGAgAgpwEAAMQCACCoAQAAxQIAIKkBAAAVACCqAQAAFQAgqwEAAIoBACAGDAAAhgIAIIgBAQAAAAGJASAAAAABigEBAAAAAYsBAgAAAAGMAQEAAAABAgAAAIoBACAZAADDAgAgAwAAABUAIBkAAMMCACAaAADHAgAgCAAAABUAIAwAAP8BACASAADHAgAgiAEBAPIBACGJASAA8wEAIYoBAQDyAQAhiwECAPQBACGMAQEA9QEAIQYMAAD_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-IAA_IQBAIgBBAAAAAAAFCAA9HwA-IAA_IQBAIgBBDQIBDhsBDx4BEB8BESABEyIBFCQLFSUMFicBFykLGCoNGysBHCwBHS0LIzAOJDEUJTICJjMCJzQCKDUCKTYCKjgCKzoLLDsVLT0CLj8LL0AWMEECMUICMkMLM0YXNEcbNUgDNkkDN0oDOEsDOUwDOk4DO1ALPFEcPVMDPlULP1YdQFcDQVgDQlkLQ1weRF0iRV4ERl8ER2AESGEESWIESmQES2YLTGcjTWkETmsLT2wkUG0EUW4EUm8LU3IlVHMpVXQFVnUFV3YFWHcFWXgFWnoFW3wLXH0qXX8FXoEBC1-CAStggwEFYYQBBWKFAQtjiAEsZIkBMGWLAQhmjAEIZ44BCGiPAQhpkAEIapIBCGuUAQtslQExbZcBCG6ZAQtvmgEycJsBCHGcAQhynQELc6ABM3ShATl1owEJdqQBCXemAQl4pwEJeagBCXqqAQl7rAELfK0BOn2vAQl-sQELf7IBO4ABswEJgQG0AQmCAbUBC4MBuAE8hAG5AUI"
39
+ }
40
+
41
+ async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
42
+ const { Buffer } = await import('node:buffer')
43
+ const wasmArray = Buffer.from(wasmBase64, 'base64')
44
+ return new WebAssembly.Module(wasmArray)
45
+ }
46
+
47
+ config.compilerWasm = {
48
+ getRuntime: async () => await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.js"),
49
+
50
+ getQueryCompilerWasmModule: async () => {
51
+ const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.js")
52
+ return await decodeBase64AsWasm(wasm)
53
+ },
54
+
55
+ importName: "./query_compiler_fast_bg.js"
56
+ }
57
+
58
+
59
+
60
+ export type LogOptions<ClientOptions extends Prisma.PrismaClientOptions> =
61
+ 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array<Prisma.LogLevel | Prisma.LogDefinition> ? Prisma.GetEvents<ClientOptions['log']> : never : never
62
+
63
+ export interface PrismaClientConstructor {
64
+ /**
65
+ * ## Prisma Client
66
+ *
67
+ * Type-safe database client for TypeScript
68
+ * @example
69
+ * ```
70
+ * const prisma = new PrismaClient({
71
+ * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
72
+ * })
73
+ * // Fetch zero or more AdversarialResources
74
+ * const adversarialResources = await prisma.adversarialResource.findMany()
75
+ * ```
76
+ *
77
+ * Read more in our [docs](https://pris.ly/d/client).
78
+ */
79
+
80
+ new <
81
+ Options extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions,
82
+ LogOpts extends LogOptions<Options> = LogOptions<Options>,
83
+ OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } ? U : Prisma.PrismaClientOptions['omit'],
84
+ ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
85
+ >(options: Prisma.PrismaClientConstructorArgs<Options>): PrismaClient<LogOpts, OmitOpts, ExtArgs>
86
+ }
87
+
88
+ /**
89
+ * ## Prisma Client
90
+ *
91
+ * Type-safe database client for TypeScript
92
+ * @example
93
+ * ```
94
+ * const prisma = new PrismaClient({
95
+ * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
96
+ * })
97
+ * // Fetch zero or more AdversarialResources
98
+ * const adversarialResources = await prisma.adversarialResource.findMany()
99
+ * ```
100
+ *
101
+ * Read more in our [docs](https://pris.ly/d/client).
102
+ */
103
+
104
+ export interface PrismaClient<
105
+ in LogOpts extends Prisma.LogLevel = never,
106
+ in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = Prisma.PrismaClientOptions['omit'],
107
+ in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
108
+ > {
109
+ [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['other'] }
110
+
111
+ $on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;
112
+
113
+ /**
114
+ * Connect with the database
115
+ */
116
+ $connect(): runtime.Types.Utils.JsPromise<void>;
117
+
118
+ /**
119
+ * Disconnect from the database
120
+ */
121
+ $disconnect(): runtime.Types.Utils.JsPromise<void>;
122
+
123
+ /**
124
+ * Executes a prepared raw query and returns the number of affected rows.
125
+ * @example
126
+ * ```
127
+ * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`
128
+ * ```
129
+ *
130
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
131
+ */
132
+ $executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;
133
+
134
+ /**
135
+ * Executes a raw query and returns the number of affected rows.
136
+ * Susceptible to SQL injections, see documentation.
137
+ * @example
138
+ * ```
139
+ * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com')
140
+ * ```
141
+ *
142
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
143
+ */
144
+ $executeRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;
145
+
146
+ /**
147
+ * Performs a prepared raw query and returns the `SELECT` data.
148
+ * @example
149
+ * ```
150
+ * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`
151
+ * ```
152
+ *
153
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
154
+ */
155
+ $queryRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;
156
+
157
+ /**
158
+ * Performs a raw query and returns the `SELECT` data.
159
+ * Susceptible to SQL injections, see documentation.
160
+ * @example
161
+ * ```
162
+ * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com')
163
+ * ```
164
+ *
165
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
166
+ */
167
+ $queryRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;
168
+
169
+
170
+ /**
171
+ * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.
172
+ * @example
173
+ * ```
174
+ * const [george, bob, alice] = await prisma.$transaction([
175
+ * prisma.user.create({ data: { name: 'George' } }),
176
+ * prisma.user.create({ data: { name: 'Bob' } }),
177
+ * prisma.user.create({ data: { name: 'Alice' } }),
178
+ * ])
179
+ * ```
180
+ *
181
+ * Read more in our [docs](https://www.prisma.io/docs/orm/prisma-client/queries/transactions).
182
+ */
183
+ $transaction<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>
184
+
185
+ $transaction<R>(fn: (prisma: Omit<PrismaClient, runtime.ITXClientDenyList>) => runtime.Types.Utils.JsPromise<R>, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<R>
186
+
187
+ $extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<OmitOpts>, ExtArgs, runtime.Types.Utils.Call<Prisma.TypeMapCb<OmitOpts>, {
188
+ extArgs: ExtArgs
189
+ }>>
190
+
191
+ /**
192
+ * `prisma.adversarialResource`: Exposes CRUD operations for the **AdversarialResource** model.
193
+ * Example usage:
194
+ * ```ts
195
+ * // Fetch zero or more AdversarialResources
196
+ * const adversarialResources = await prisma.adversarialResource.findMany()
197
+ * ```
198
+ */
199
+ get adversarialResource(): Prisma.AdversarialResourceDelegate<ExtArgs, { omit: OmitOpts }>;
200
+
201
+ /**
202
+ * `prisma.adversarialTag`: Exposes CRUD operations for the **AdversarialTag** model.
203
+ * Example usage:
204
+ * ```ts
205
+ * // Fetch zero or more AdversarialTags
206
+ * const adversarialTags = await prisma.adversarialTag.findMany()
207
+ * ```
208
+ */
209
+ get adversarialTag(): Prisma.AdversarialTagDelegate<ExtArgs, { omit: OmitOpts }>;
210
+
211
+ /**
212
+ * `prisma.adversarialCategory`: Exposes CRUD operations for the **AdversarialCategory** model.
213
+ * Example usage:
214
+ * ```ts
215
+ * // Fetch zero or more AdversarialCategories
216
+ * const adversarialCategories = await prisma.adversarialCategory.findMany()
217
+ * ```
218
+ */
219
+ get adversarialCategory(): Prisma.AdversarialCategoryDelegate<ExtArgs, { omit: OmitOpts }>;
220
+
221
+ /**
222
+ * `prisma.adversarialSubCategory`: Exposes CRUD operations for the **AdversarialSubCategory** model.
223
+ * Example usage:
224
+ * ```ts
225
+ * // Fetch zero or more AdversarialSubCategories
226
+ * const adversarialSubCategories = await prisma.adversarialSubCategory.findMany()
227
+ * ```
228
+ */
229
+ get adversarialSubCategory(): Prisma.AdversarialSubCategoryDelegate<ExtArgs, { omit: OmitOpts }>;
230
+
231
+ /**
232
+ * `prisma.adversarialLabel`: Exposes CRUD operations for the **AdversarialLabel** model.
233
+ * Example usage:
234
+ * ```ts
235
+ * // Fetch zero or more AdversarialLabels
236
+ * const adversarialLabels = await prisma.adversarialLabel.findMany()
237
+ * ```
238
+ */
239
+ get adversarialLabel(): Prisma.AdversarialLabelDelegate<ExtArgs, { omit: OmitOpts }>;
240
+
241
+ /**
242
+ * `prisma.adversarialParent`: Exposes CRUD operations for the **AdversarialParent** model.
243
+ * Example usage:
244
+ * ```ts
245
+ * // Fetch zero or more AdversarialParents
246
+ * const adversarialParents = await prisma.adversarialParent.findMany()
247
+ * ```
248
+ */
249
+ get adversarialParent(): Prisma.AdversarialParentDelegate<ExtArgs, { omit: OmitOpts }>;
250
+
251
+ /**
252
+ * `prisma.adversarialInner`: Exposes CRUD operations for the **AdversarialInner** model.
253
+ * Example usage:
254
+ * ```ts
255
+ * // Fetch zero or more AdversarialInners
256
+ * const adversarialInners = await prisma.adversarialInner.findMany()
257
+ * ```
258
+ */
259
+ get adversarialInner(): Prisma.AdversarialInnerDelegate<ExtArgs, { omit: OmitOpts }>;
260
+ }
261
+
262
+ export function getPrismaClientClass(): PrismaClientConstructor {
263
+ return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
264
+ }