@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
package/src/corpus.ts ADDED
@@ -0,0 +1,414 @@
1
+ import * as fs from "fs";
2
+ import * as path from "path";
3
+
4
+ import {
5
+ PlanExpression,
6
+ PlanExpressionValue,
7
+ PlanExpressionVariable,
8
+ } from "@cerbos/core";
9
+ import type {
10
+ PlanExpressionOperand,
11
+ PlanResourcesResponse,
12
+ Value,
13
+ } from "@cerbos/core";
14
+
15
+ import { PlanKind, MapperConfig } from ".";
16
+
17
+ /**
18
+ * The parts of the shared `../conformance/` corpus that both of this adapter's suites read.
19
+ *
20
+ * `adversarial.test.ts` plans against a real PDP and executes the translated query;
21
+ * `translator.test.ts` reads the same actions off the golden wire fixtures and asserts nothing
22
+ * but the emitted filter. They must agree on two things or they prove less than they appear to:
23
+ *
24
+ * - **the mapper.** The unit test pins the filter this adapter emits for a mapping; the harness
25
+ * proves that same filter returns the rows the PDP allows. Two copies that drifted would leave
26
+ * the pinned filters describing a mapping no harness ever executes.
27
+ * - **the classification.** Which actions this adapter must refuse, and with which message, is a
28
+ * corpus decision (`actions.json`), not a per-suite one.
29
+ *
30
+ * Test-only: excluded from `tsc --build` by `tsconfig.json`, so nothing here reaches `lib/`.
31
+ */
32
+
33
+ export const CONFORMANCE_DIR = path.join(
34
+ __dirname,
35
+ "..",
36
+ "..",
37
+ "conformance"
38
+ );
39
+
40
+ const WIRE_FIXTURES_DIR = path.join(CONFORMANCE_DIR, "wire-fixtures");
41
+
42
+ /** The Prisma model the corpus's resource kind maps onto. */
43
+ export const MODEL = "AdversarialResource";
44
+
45
+ // -- actions.json --------------------------------------------------------------------------------
46
+
47
+ export interface UnsupportedShape {
48
+ action: string;
49
+ shape: string;
50
+ /** One entry per adapter that must reject the shape; the corpus asserts the key set. */
51
+ messages: Record<string, string>;
52
+ }
53
+
54
+ export interface AdapterUnsupportedEntry {
55
+ action: string;
56
+ reason: string;
57
+ /** Absent on `adapterSupportedExpected` / `nullRepresentationOmitted`, required on a throw. */
58
+ message?: string;
59
+ }
60
+
61
+ /**
62
+ * A `nullRepresentationOmitted` entry. Every adapter must reject these — the two NULL conventions
63
+ * are indistinguishable on the wire — so `messages` names the whole roster with no promotions to
64
+ * subtract.
65
+ */
66
+ export interface NullRepresentationOmittedEntry {
67
+ action: string;
68
+ reason: string;
69
+ messages: Record<string, string>;
70
+ }
71
+
72
+ export interface KnownDivergence {
73
+ action: string;
74
+ adapters: string[];
75
+ }
76
+
77
+ export interface ActionsFile {
78
+ conformance: string[];
79
+ adapterUnsupported?: Record<string, AdapterUnsupportedEntry[]>;
80
+ adapterSupportedExpected?: Record<string, AdapterUnsupportedEntry[]>;
81
+ expectedUnsupported: UnsupportedShape[];
82
+ nullRepresentationOmitted: NullRepresentationOmittedEntry[];
83
+ knownDivergences?: KnownDivergence[];
84
+ }
85
+
86
+ /**
87
+ * A shape this adapter must refuse, with the substring its error has to contain.
88
+ *
89
+ * The message is what turns "it threw" into "it threw for the declared reason": without it a
90
+ * mapper typo or an unrelated validation satisfies the assertion just as well as the limitation
91
+ * the corpus documents (cerbos/query-plan-adapters#326).
92
+ */
93
+ export type ThrowingAction = readonly [
94
+ action: string,
95
+ reason: string,
96
+ message: string,
97
+ ];
98
+
99
+ export interface ActionClassification {
100
+ oracleActions: string[];
101
+ throwingActions: ThrowingAction[];
102
+ supportedExpected: Set<string>;
103
+ }
104
+
105
+ /** The pinned message, or a failure — a throwing action without one asserts nothing. */
106
+ export function requireMessage(
107
+ label: string,
108
+ message: string | undefined
109
+ ): string {
110
+ if (message === undefined || message === "") {
111
+ throw new Error(
112
+ `actions.json pins no throw message for ${label}: the throw suite would accept a failure for any reason`
113
+ );
114
+ }
115
+ return message;
116
+ }
117
+
118
+ export function classifyActionsForAdapter(
119
+ manifest: ActionsFile,
120
+ adapter: string
121
+ ): ActionClassification {
122
+ const unsupported = manifest.adapterUnsupported?.[adapter] ?? [];
123
+ const unsupportedActions = new Set(unsupported.map((entry) => entry.action));
124
+ const supportedExpected = new Set(
125
+ (manifest.adapterSupportedExpected?.[adapter] ?? []).map(
126
+ (entry) => entry.action
127
+ )
128
+ );
129
+ const oracleActions = [
130
+ ...manifest.conformance.filter(
131
+ (action) => !unsupportedActions.has(action)
132
+ ),
133
+ ...supportedExpected,
134
+ ];
135
+ const throwingActions: ThrowingAction[] = [
136
+ ...unsupported.map(
137
+ (entry): ThrowingAction => [
138
+ entry.action,
139
+ entry.reason,
140
+ requireMessage(`adapterUnsupported.${adapter}.${entry.action}`, entry.message),
141
+ ]
142
+ ),
143
+ ...manifest.expectedUnsupported
144
+ .filter((entry) => !supportedExpected.has(entry.action))
145
+ .map((entry): ThrowingAction => [
146
+ entry.action,
147
+ entry.shape,
148
+ requireMessage(
149
+ `expectedUnsupported.${entry.action}.messages.${adapter}`,
150
+ entry.messages?.[adapter]
151
+ ),
152
+ ]),
153
+ ];
154
+
155
+ return {
156
+ oracleActions: [...new Set(oracleActions)].sort(),
157
+ throwingActions: throwingActions.sort(([left], [right]) =>
158
+ left.localeCompare(right)
159
+ ),
160
+ supportedExpected,
161
+ };
162
+ }
163
+
164
+ // -- the golden wire fixtures --------------------------------------------------------------------
165
+
166
+ /**
167
+ * The instant `regenerate-wire-fixtures.sh` substitutes for the one operand it cannot pin.
168
+ *
169
+ * `ts-window` and `ts-vf` compare against `now() - duration("24h")`, which the planner folds to a
170
+ * literal timestamp: a different value on every capture, so the script rewrites it to
171
+ * `__NOW_MINUS_24H__` to keep the drift check deterministic. Reading the fixture back therefore
172
+ * means choosing a value, and the choice is load-bearing rather than arbitrary — Cerbos emits the
173
+ * PDP's clock at nanosecond precision, which is exactly why both actions are `adapterUnsupported`
174
+ * for this adapter (`Timestamp value exceeds millisecond precision`). A tidy millisecond instant
175
+ * here would translate cleanly and quietly contradict `actions.json`, so the fraction carries the
176
+ * nine digits a real plan carries. `translator.test.ts` pins both sides of that boundary, which is
177
+ * what the `plannedAt` override on `planFromWireFixture` is for.
178
+ */
179
+ export const PLANNED_AT = "2026-08-11T09:13:39.123456789Z";
180
+
181
+ interface WireOperand {
182
+ expression?: { operator: string; operands: WireOperand[] };
183
+ variable?: string;
184
+ value?: unknown;
185
+ }
186
+
187
+ interface WireFixture {
188
+ action: string;
189
+ resourceKind: string;
190
+ filter: { kind: string; condition?: WireOperand };
191
+ }
192
+
193
+ function operandFromWire(
194
+ node: WireOperand,
195
+ plannedAt: string
196
+ ): PlanExpressionOperand {
197
+ if (node.expression) {
198
+ return new PlanExpression(
199
+ node.expression.operator,
200
+ node.expression.operands.map((child) => operandFromWire(child, plannedAt))
201
+ );
202
+ }
203
+ if (node.variable !== undefined) {
204
+ return new PlanExpressionVariable(node.variable);
205
+ }
206
+ if (!("value" in node)) {
207
+ throw new Error(
208
+ `Wire fixture operand is neither an expression, a variable nor a value: ${JSON.stringify(node)}`
209
+ );
210
+ }
211
+ // The one cast in this file. A fixture is JSON the PDP produced, so its leaves are already
212
+ // exactly the JSON shapes `Value` admits — but `JSON.parse` cannot say so, and re-validating a
213
+ // file the corpus workflow regenerates and diffs would assert nothing new.
214
+ return new PlanExpressionValue(
215
+ (node.value === "__NOW_MINUS_24H__" ? plannedAt : node.value) as Value
216
+ );
217
+ }
218
+
219
+ /** Every action the corpus has a golden wire fixture for, sorted. */
220
+ export function wireFixtureActions(): string[] {
221
+ return fs
222
+ .readdirSync(WIRE_FIXTURES_DIR)
223
+ .filter((name) => name.endsWith(".json"))
224
+ .map((name) => name.slice(0, -".json".length))
225
+ .sort();
226
+ }
227
+
228
+ /**
229
+ * The plan the pinned PDP produced for `action`, decoded into the shape the SDK hands callers.
230
+ *
231
+ * The fixture is the PDP's HTTP response, so the decoding here is the one `@cerbos/http` performs
232
+ * — `{expression|variable|value}` nodes into `PlanExpression` / `PlanExpressionVariable` /
233
+ * `PlanExpressionValue`. It is deliberately not a hand-built plan: a plan somebody typed is a
234
+ * belief about what the planner emits, and this repository keeps fixtures precisely because that
235
+ * belief has been wrong before. See docs/adr/0006.
236
+ */
237
+ export function planFromWireFixture(
238
+ action: string,
239
+ plannedAt: string = PLANNED_AT
240
+ ): PlanResourcesResponse {
241
+ const fixture: WireFixture = JSON.parse(
242
+ fs.readFileSync(path.join(WIRE_FIXTURES_DIR, `${action}.json`), "utf8")
243
+ );
244
+ const base = {
245
+ cerbosCallId: "",
246
+ requestId: "",
247
+ validationErrors: [],
248
+ metadata: undefined,
249
+ };
250
+ switch (fixture.filter.kind) {
251
+ case PlanKind.CONDITIONAL:
252
+ if (!fixture.filter.condition) {
253
+ throw new Error(`Wire fixture ${action} is conditional with no condition`);
254
+ }
255
+ return {
256
+ ...base,
257
+ kind: PlanKind.CONDITIONAL,
258
+ condition: operandFromWire(fixture.filter.condition, plannedAt),
259
+ };
260
+ case PlanKind.ALWAYS_ALLOWED:
261
+ case PlanKind.ALWAYS_DENIED:
262
+ return { ...base, kind: fixture.filter.kind };
263
+ default:
264
+ throw new Error(
265
+ `Wire fixture ${action} has an unrecognised filter kind ${fixture.filter.kind}`
266
+ );
267
+ }
268
+ }
269
+
270
+ // -- the mapper ----------------------------------------------------------------------------------
271
+
272
+ export const MAPPER: Record<string, MapperConfig> = {
273
+ // The primary key, reached as `request.resource.id` rather than through `attr` (the `id-*`
274
+ // actions). It is a mapping like any other here, which is the point: an adapter that resolves
275
+ // references by stripping a `request.resource.attr.` prefix never sees this name.
276
+ "request.resource.id": { field: "id" },
277
+ "request.resource.attr.aBool": { field: "aBool" },
278
+ "request.resource.attr.aString": { field: "aString" },
279
+ "request.resource.attr.aNumber": { field: "aNumber" },
280
+ "request.resource.attr.aDouble": { field: "aDouble" },
281
+ "request.resource.attr.aOptionalString": { field: "aOptionalString" },
282
+ "request.resource.attr.createdBy": { field: "createdBy" },
283
+ "request.resource.attr.scope": { field: "scope" },
284
+ "request.resource.attr.createdAt": {
285
+ field: "createdAt",
286
+ valueType: "dateTime",
287
+ },
288
+ // `owner` and `coOwner` alias columns that `aOptionalString` and `scope` also map, under the
289
+ // OTHER null convention: the oracle sends a real null attribute for them rather than omitting
290
+ // it. Declaring that here is what makes the equality family definite for these two attributes
291
+ // and leaves it untouched for every other mapping (cerbos/query-plan-adapters#308).
292
+ "request.resource.attr.owner": {
293
+ field: "aOptionalString",
294
+ nullable: true,
295
+ nullAttributeRepresentation: "explicit",
296
+ },
297
+ "request.resource.attr.coOwner": {
298
+ field: "scope",
299
+ nullable: true,
300
+ nullAttributeRepresentation: "explicit",
301
+ },
302
+ // obj.inner is not a real nested column — mirrors aString, same trick the spring-data
303
+ // reference harness uses for the p-struct probe. `parent.inner` below is the opposite: a real
304
+ // two-level join. The two are kept side by side on purpose.
305
+ "request.resource.attr.obj.inner": { field: "aString" },
306
+ // The corpus's one REAL to-one chain (the `rel-*` actions). `type: "one"` is what makes the
307
+ // adapter emit `is:` rather than `some:`, and `is:` on an optional relation is what requires
308
+ // the hop to exist — the absent-parent guard the negated shapes discriminate. `inner` nests
309
+ // the same declaration one level further out; two levels is where alias scoping breaks.
310
+ "request.resource.attr.parent": {
311
+ relation: {
312
+ name: "parent",
313
+ type: "one",
314
+ model: "AdversarialParent",
315
+ fields: {
316
+ aBool: { field: "aBool" },
317
+ aString: { field: "aString" },
318
+ aNumber: { field: "aNumber" },
319
+ aOptionalString: { field: "aOptionalString", nullable: true },
320
+ inner: {
321
+ relation: {
322
+ name: "inner",
323
+ type: "one",
324
+ model: "AdversarialInner",
325
+ fields: {
326
+ aBool: { field: "aBool" },
327
+ aString: { field: "aString" },
328
+ aNumber: { field: "aNumber" },
329
+ aOptionalString: { field: "aOptionalString", nullable: true },
330
+ },
331
+ },
332
+ },
333
+ },
334
+ },
335
+ },
336
+ "request.resource.attr.tags": {
337
+ relation: {
338
+ name: "tags",
339
+ type: "many",
340
+ // Model name enables field-to-field comparisons between tag columns; the nullable
341
+ // flag on `name` enables the adapter's three-valued-logic guards for collection
342
+ // macros over elements whose name column is NULL (a missing attribute — a CEL
343
+ // error, hence deny — on the check side).
344
+ model: "AdversarialTag",
345
+ fields: {
346
+ id: { field: "tagId" },
347
+ name: { field: "name", nullable: true },
348
+ },
349
+ },
350
+ },
351
+ "request.resource.attr.tagNames": {
352
+ relation: {
353
+ name: "tags",
354
+ type: "many",
355
+ field: "name",
356
+ fields: { name: { field: "name", nullable: true } },
357
+ },
358
+ },
359
+ "request.resource.attr.categories": {
360
+ relation: {
361
+ name: "categories",
362
+ type: "many",
363
+ fields: {
364
+ name: { field: "name" },
365
+ subCategories: {
366
+ relation: {
367
+ name: "subCategories",
368
+ type: "many",
369
+ fields: {
370
+ name: { field: "name" },
371
+ labels: {
372
+ relation: {
373
+ name: "labels",
374
+ type: "many",
375
+ fields: {
376
+ name: { field: "name", nullable: true },
377
+ },
378
+ },
379
+ },
380
+ },
381
+ },
382
+ },
383
+ },
384
+ },
385
+ },
386
+ // Multi-hop chain probe (W1): mainCategory mirrors the SAME categories/subCategories relation
387
+ // as a single-object dotted chain on the check side (every seed holds at most one category),
388
+ // pinning that the adapter joins through every intermediate hop, never off the root.
389
+ "request.resource.attr.mainCategory": {
390
+ relation: {
391
+ name: "categories",
392
+ type: "many",
393
+ fields: {
394
+ name: { field: "name" },
395
+ subCategories: {
396
+ relation: {
397
+ name: "subCategories",
398
+ type: "many",
399
+ fields: { name: { field: "name" } },
400
+ },
401
+ },
402
+ // subNames: the same 2-hop chain but with a bare `field`, so plain `in` membership
403
+ // compares the flattened tail's name column directly.
404
+ subNames: {
405
+ relation: {
406
+ name: "subCategories",
407
+ type: "many",
408
+ field: "name",
409
+ },
410
+ },
411
+ },
412
+ },
413
+ },
414
+ };
@@ -42,3 +42,13 @@ export type AdversarialSubCategory = Prisma.AdversarialSubCategoryModel
42
42
  *
43
43
  */
44
44
  export type AdversarialLabel = Prisma.AdversarialLabelModel
45
+ /**
46
+ * Model AdversarialParent
47
+ *
48
+ */
49
+ export type AdversarialParent = Prisma.AdversarialParentModel
50
+ /**
51
+ * Model AdversarialInner
52
+ *
53
+ */
54
+ export type AdversarialInner = Prisma.AdversarialInnerModel
@@ -64,3 +64,13 @@ export type AdversarialSubCategory = Prisma.AdversarialSubCategoryModel
64
64
  *
65
65
  */
66
66
  export type AdversarialLabel = Prisma.AdversarialLabelModel
67
+ /**
68
+ * Model AdversarialParent
69
+ *
70
+ */
71
+ export type AdversarialParent = Prisma.AdversarialParentModel
72
+ /**
73
+ * Model AdversarialInner
74
+ *
75
+ */
76
+ export type AdversarialInner = Prisma.AdversarialInnerModel
@@ -20,7 +20,7 @@ const config: runtime.GetPrismaClientConfig = {
20
20
  "clientVersion": "7.9.1",
21
21
  "engineVersion": "e922089b7d7502aff4249d5da3420f6fa55fc6ad",
22
22
  "activeProvider": "sqlite",
23
- "inlineSchema": "// Dedicated schema for the adversarial differential harness (src/adversarial.test.ts). Kept\n// separate from schema.prisma/schema.v6.prisma because the shared conformance/ corpus needs\n// hostile shapes the \"realistic\" fixture schema can't hold: NULL tag names and duplicate tag\n// names across (and within) resources. The main Resource/Tag models use globally-unique,\n// many-to-many shared reference tags, which cannot represent either.\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma-adversarial\"\n engineType = \"client\"\n moduleFormat = \"cjs\"\n}\n\ndatasource db {\n provider = \"sqlite\"\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}\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",
23
+ "inlineSchema": "// Dedicated schema for the adversarial differential harness (src/adversarial.test.ts). Kept\n// separate from schema.prisma/schema.v6.prisma because the shared conformance/ corpus needs\n// hostile shapes the \"realistic\" fixture schema can't hold: NULL tag names and duplicate tag\n// names across (and within) resources. The main Resource/Tag models use globally-unique,\n// many-to-many shared reference tags, which cannot represent either.\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma-adversarial\"\n engineType = \"client\"\n moduleFormat = \"cjs\"\n}\n\ndatasource db {\n provider = \"sqlite\"\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
24
  "runtimeDataModel": {
25
25
  "models": {},
26
26
  "enums": {},
@@ -32,10 +32,10 @@ const config: runtime.GetPrismaClientConfig = {
32
32
  }
33
33
  }
34
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\"}],\"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}},\"enums\":{},\"types\":{}}")
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
36
  config.parameterizationSchema = {
37
- strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"resource\",\"tags\",\"category\",\"subCategory\",\"labels\",\"_count\",\"subCategories\",\"categories\",\"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\",\"AND\",\"OR\",\"NOT\",\"id\",\"name\",\"subCategoryId\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"contains\",\"startsWith\",\"endsWith\",\"not\",\"categoryId\",\"resourceId\",\"tagId\",\"aBool\",\"aString\",\"aNumber\",\"aDouble\",\"aOptionalString\",\"createdBy\",\"scope\",\"createdAt\",\"every\",\"some\",\"none\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
38
- graph: "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ADoAIAMAAAAFACAXAAAzACAYAAA4ACABAAAABQAgAQAAAAMAIAQIAADfAQAgHwAA4QEAICAAAOABACBnAACxAQAgB2MAAJEBADBkAABBABBlAACRAQAwZgEAhwEAIWcBAIgBACF1AQCHAQAhdgEAhwEAIQMAAAADACABAABAADAcAABBACADAAAAAwAgAQAABAAwAgAABQAgAQAAAAkAIAEAAAAJACADAAAABwAgAQAACAAwAgAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACAFAwAA3QEAIAkAAN4BACBmAQAAAAFnAQAAAAF1AQAAAAEBEAAASQAgA2YBAAAAAWcBAAAAAXUBAAAAAQEQAABLADABEAAASwAwBQMAAM8BACAJAADQAQAgZgEAtQEAIWcBALUBACF1AQC1AQAhAgAAAAkAIBAAAE4AIANmAQC1AQAhZwEAtQEAIXUBALUBACECAAAABwAgEAAAUAAgAgAAAAcAIBAAAFAAIAMAAAAJACAXAABJACAYAABOACABAAAACQAgAQAAAAcAIAMIAADMAQAgHwAAzgEAICAAAM0BACAGYwAAkAEAMGQAAFcAEGUAAJABADBmAQCHAQAhZwEAhwEAIXUBAIcBACEDAAAABwAgAQAAVgAwHAAAVwAgAwAAAAcAIAEAAAgAMAIAAAkAIAEAAAANACABAAAADQAgAwAAAAsAIAEAAAwAMAIAAA0AIAMAAAALACABAAAMADACAAANACADAAAACwAgAQAADAAwAgAADQAgBQUAAMoBACAHAADLAQAgZgEAAAABZwEAAAABdAEAAAABARAAAF8AIANmAQAAAAFnAQAAAAF0AQAAAAEBEAAAYQAwARAAAGEAMAUFAAC8AQAgBwAAvQEAIGYBALUBACFnAQC1AQAhdAEAtQEAIQIAAAANACAQAABkACADZgEAtQEAIWcBALUBACF0AQC1AQAhAgAAAAsAIBAAAGYAIAIAAAALACAQAABmACADAAAADQAgFwAAXwAgGAAAZAAgAQAAAA0AIAEAAAALACADCAAAuQEAIB8AALsBACAgAAC6AQAgBmMAAI8BADBkAABtABBlAACPAQAwZgEAhwEAIWcBAIcBACF0AQCHAQAhAwAAAAsAIAEAAGwAMBwAAG0AIAMAAAALACABAAAMADAC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-QAClAQAhggEAABgAIIMBAAAYACADfwAACwAggAEAAAsAIIEBAAALACAIAwAArgEAIGMAALABADBkAAADABBlAACwAQAwZgEAoAEAIWcBAKQBACF1AQCgAQAhdgEAoAEAIQAAAAABhwEBAAAAAQGHAQEAAAABBRcAAKMCACAYAACmAgAghAEAAKQCACCFAQAApQIAIIoBAAANACADFwAAowIAIIQBAACkAgAgigEAAA0AIAAAAAUXAACdAgAgGAAAoQIAIIQBAACeAgAghQEAAKACACCKAQAACQAgCxcAAL4BADAYAADDAQAwhAEAAL8BADCFAQAAwAEAMIYBAADBAQAghwEAAMIBADCIAQAAwgEAMIkBAADCAQAwigEAAMIBADCLAQAAxAEAMIwBAADFAQAwAmYBAAAAAWcBAAAAAQIAAAARACAXAADJAQAgAwAAABEAIBcAAMkBACAYAADIAQAgARAAAJ8CADAHBgAAqQEAIGMAAKgBADBkAAAPABBlAACoAQAwZgEAAAABZwEApAEAIWgBAKABACECAAAAEQAgEAAAyAEAIAIAAADGAQAgEAAAxwEAIAZjAADFAQAwZAAAxgEAEGUAAMUBADBmAQCgAQAhZwEApAEAIWgBAKABACEGYwAAxQEAMGQAAMYBABBlAADFAQAwZgEAoAEAIWcBAKQBACFoAQCgAQAhAmYBALUBACFnAQC2AQAhAmYBALUBACFnAQC2AQAhAmYBAAAAAWcBAAAAAQMXAACdAgAghAEAAJ4CACCKAQAACQAgBBcAAL4BADCEAQAAvwEAMIYBAADBAQAgigEAAMIBADAAAAAFFwAAlwIAIBgAAJsCACCEAQAAmAIAIIUBAACaAgAgigEAAAEAIAsXAADRAQAwGAAA1gEAMIQBAADSAQAwhQEAANMBADCGAQAA1AEAIIcBAADVAQAwiAEAANUBADCJAQAA1QEAMIoBAADVAQAwiwEAANcBADCMAQAA2AEAMAMHAADLAQAgZgEAAAABZwEAAAABAgAAAA0AIBcAANwBACADAAAADQAgFwAA3AEAIBgAANsBACABEAAAmQIAMAgFAACrAQAgBwAArAEAIGMAAKoBADBkAAALABBlAACqAQAwZgEAAAABZwEAoAEAIXQBAKABACECAAAADQAgEAAA2wEAIAIAAADZAQAgEAAA2gEAIAZjAADYAQAwZAAA2QEAEGUAANgBADBmAQCgAQAhZwEAoAEAIXQBAKABACEGYwAA2AEAMGQAANkBABBlAADYAQAwZgEAoAEAIWcBAKABACF0AQCgAQAhAmYBALUBACFnAQC1AQAhAwcAAL0BACBmAQC1AQAhZwEAtQEAIQMHAADLAQAgZgEAAAABZwEAAAABAxcAAJcCACCEAQAAmAIAIIoBAAABACAEFwAA0QEAMIQBAADSAQAwhgEAANQBACCKAQAA1QEAMAAAAAUXAACSAgAgGAAAlQIAIIQBAACTAgAghQEAAJQCACCKAQAAAQAgAxcAAJICACCEAQAAkwIAIIoBAAABACAAAAAAAAGHASAAAAABBYcBAgAAAAGNAQIAAAABjgECAAAAAY8BAgAAAAGQAQIAAAABBYcBCAAAAAGNAQgAAAABjgEIAAAAAY8BCAAAAAGQAQgAAAABAYcBQAAAAAELFwAA-wEAMBgAAIACADCEAQAA_AEAMIUBAAD9AQAwhgEAAP4BACCHAQAA_wEAMIgBAAD_AQAwiQEAAP8BADCKAQAA_wEAMIsBAACBAgAwjAEAAIICADALFwAA7wEAMBgAAPQBADCEAQAA8AEAMIUBAADxAQAwhgEAAPIBACCHAQAA8wEAMIgBAADzAQAwiQEAAPMBADCKAQAA8wEAMIsBAAD1AQAwjAEAAPYBADADCQAA3gEAIGYBAAAAAWcBAAAAAQIAAAAJACAXAAD6AQAgAwAAAAkAIBcAAPoBACAYAAD5AQAgARAAAJECADAIAwAArgEAIAkAAK8BACBjAACtAQAwZAAABwAQZQAArQEAMGYBAAAAAWcBAKABACF1AQCgAQAhAgAAAAkAIBAAAPkBACACAAAA9wEAIBAAAPgBACAGYwAA9gEAMGQAAPcBABBlAAD2AQAwZgEAoAEAIWcBAKABACF1AQCgAQAhBmMAAPYBADBkAAD3AQAQZQAA9gEAMGYBAKABACFnAQCgAQAhdQEAoAEAIQJmAQC1AQAhZwEAtQEAIQMJAADQAQAgZgEAtQEAIWcBALUBACEDCQAA3gEAIGYBAAAAAWcBAAAAAQNmAQAAAAFnAQAAAAF2AQAAAAECAAAABQAgFwAAhgIAIAMAAAAFACAXAACGAgAgGAAAhQIAIAEQAACQAgAwCAMAAK4BACBjAACwAQAwZAAAAwAQZQAAsAEAMGYBAAAAAWcBAKQBACF1AQCgAQAhdgEAoAEAIQIAAAAFACAQAACFAgAgAgAAAIMCACAQAACEAgAgB2MAAIICADBkAACDAgAQZQAAggIAMGYBAKABACFnAQCkAQAhdQEAoAEAIXYBAKABACEHYwAAggIAMGQAAIMCABBlAACCAgAwZgEAoAEAIWcBAKQBACF1AQCgAQAhdgEAoAEAIQNmAQC1AQAhZwEAtgEAIXYBALUBACEDZgEAtQEAIWcBALYBACF2AQC1AQAhA2YBAAAAAWcBAAAAAXYBAAAAAQQXAAD7AQAwhAEAAPwBADCGAQAA_gEAIIoBAAD_AQAwBBcAAO8BADCEAQAA8AEAMIYBAADyAQAgigEAAPMBADAAAAIFAACMAgAgBwAAjQIAIAIDAACOAgAgCQAAjwIAIAAGBAAAiQIAIAoAAIoCACB6AACxAQAgewAAsQEAIH0AALEBACB-AACxAQAgAANmAQAAAAFnAQAAAAF2AQAAAAECZgEAAAABZwEAAAABCgoAAIgCACBmAQAAAAF3IAAAAAF4AQAAAAF5AgAAAAF6CAAAAAF7AQAAAAF8AQAAAAF9AQAAAAF-QAAAAAECAAAAAQAgFwAAkgIAIAMAAAAYACAXAACSAgAgGAAAlgIAIAwAAAAYACAKAADuAQAgEAAAlgIAIGYBALUBACF3IADpAQAheAEAtQEAIXkCAOoBACF6CADrAQAhewEAtgEAIXwBALUBACF9AQC2AQAhfkAA7AEAIQoKAADuAQAgZgEAtQEAIXcgAOkBACF4AQC1AQAheQIA6gEAIXoIAOsBACF7AQC2AQAhfAEAtQEAIX0BALYBACF-QADsAQAhCgQAAIcCACBmAQAAAAF3IAAAAAF4AQAAAAF5AgAAAAF6CAAAAAF7AQAAAAF8AQAAAAF9AQAAAAF-QAAAAAECAAAAAQAgFwAAlwIAIAJmAQAAAAFnAQAAAAEDAAAAGAAgFwAAlwIAIBgAAJwCACAMAAAAGAAgBAAA7QEAIBAAAJwCACBmAQC1AQAhdyAA6QEAIXgBALUBACF5AgDqAQAheggA6wEAIXsBALYBACF8AQC1AQAhfQEAtgEAIX5AAOwBACEKBAAA7QEAIGYBALUBACF3IADpAQAheAEAtQEAIXkCAOoBACF6CADrAQAhewEAtgEAIXwBALUBACF9AQC2AQAhfkAA7AEAIQQDAADdAQAgZgEAAAABZwEAAAABdQEAAAABAgAAAAkAIBcAAJ0CACACZgEAAAABZwEAAAABAwAAAAcAIBcAAJ0CACAYAACiAgAgBgAAAAcAIAMAAM8BACAQAACiAgAgZgEAtQEAIWcBALUBACF1AQC1AQAhBAMAAM8BACBmAQC1AQAhZwEAtQEAIXUBALUBACEEBQAAygEAIGYBAAAAAWcBAAAAAXQBAAAAAQIAAAANACAXAACjAgAgAwAAAAsAIBcAAKMCACAYAACnAgAgBgAAAAsAIAUAALwBACAQAACnAgAgZgEAtQEAIWcBALUBACF0AQC1AQAhBAUAALwBACBmAQC1AQAhZwEAtQEAIXQBALUBACEDBAYCCAAICgoDAQMAAQMDAAEIAAcJDgQDBQADBxIFCAAGAQYABAEHEwABCRQAAgQVAAoWAAAAAAUIAA0dAA4eAA8fABAgABEAAAAAAAUIAA0dAA4eAA8fABAgABEBAwABAQMAAQMIABYfABcgABgAAAADCAAWHwAXIAAYAQMAAQEDAAEDCAAdHwAeIAAfAAAAAwgAHR8AHiAAHwEFAAMBBQADAwgAJB8AJSAAJgAAAAMIACQfACUgACYBBgAEAQYABAMIACsfACwgAC0AAAADCAArHwAsIAAtCwIBDBcBDRoBDhsBDxwBER4BEiAJEyEKFCMBFSUJFiYLGScBGigBGykJISwMIi0SIy4CJC8CJTACJjECJzICKDQCKTYJKjcTKzkCLDsJLTwULj0CLz4CMD8JMUIVMkMZM0QDNEUDNUYDNkcDN0gDOEoDOUwJOk0aO08DPFEJPVIbPlMDP1QDQFUJQVgcQlkgQ1oERFsERVwERl0ER14ESGAESWIJSmMhS2UETGcJTWgiTmkET2oEUGsJUW4jUm8nU3AFVHEFVXIFVnMFV3QFWHYFWXgJWnkoW3sFXH0JXX4pXn8FX4ABBWCBAQlhhAEqYoUBLg"
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_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_AIAIBoAAP8CACCnAQAA_QIAIKgBAAD-AgAgqwEAAA0AIAMZAAD8AgAgpwEAAP0CACCrAQAADQAgAAAABRkAAPYCACAaAAD6AgAgpwEAAPcCACCoAQAA-QIAIKsBAAAJACALGQAAkwIAMBoAAJgCADCnAQAAlAIAMKgBAACVAgAwqQEAAJcCADCqAQAAlwIAMKsBAACXAgAwrAEAAJYCACCtAQAAlwIAMK4BAACZAgAwrwEAAJoCADACiAEBAAAAAZoBAQAAAAECAAAAEQAgGQAAngIAIAMAAAARACAZAACeAgAgGgAAnQIAIAESAAD4AgAwBwYAAOUBACCFAQAA5AEAMIYBAAAPABCHAQAA5AEAMIgBAQAAAAGaAQEAzQEAIZsBAQDLAQAhAgAAABEAIBIAAJ0CACACAAAAmwIAIBIAAJwCACAGhQEAAJoCADCGAQAAmwIAEIcBAACaAgAwiAEBAMsBACGaAQEAzQEAIZsBAQDLAQAhBoUBAACaAgAwhgEAAJsCABCHAQAAmgIAMIgBAQDLAQAhmgEBAM0BACGbAQEAywEAIQKIAQEA8gEAIZoBAQD1AQAhAogBAQDyAQAhmgEBAPUBACECiAEBAAAAAZoBAQAAAAEDGQAA9gIAIKcBAAD3AgAgqwEAAAkAIAQZAACTAgAwpwEAAJQCADCrAQAAlwIAMKwBAACWAgAgAAAABRkAAPACACAaAAD0AgAgpwEAAPECACCoAQAA8wIAIKsBAAABACALGQAApgIAMBoAAKsCADCnAQAApwIAMKgBAACoAgAwqQEAAKoCADCqAQAAqgIAMKsBAACqAgAwrAEAAKkCACCtAQAAqgIAMK4BAACsAgAwrwEAAK0CADADBwAAoAIAIIgBAQAAAAGaAQEAAAABAgAAAA0AIBkAALECACADAAAADQAgGQAAsQIAIBoAALACACABEgAA8gIAMAgFAADnAQAgBwAA6AEAIIUBAADmAQAwhgEAAAsAEIcBAADmAQAwiAEBAAAAAZoBAQDLAQAhnAEBAMsBACECAAAADQAgEgAAsAIAIAIAAACuAgAgEgAArwIAIAaFAQAArQIAMIYBAACuAgAQhwEAAK0CADCIAQEAywEAIZoBAQDLAQAhnAEBAMsBACEGhQEAAK0CADCGAQAArgIAEIcBAACtAgAwiAEBAMsBACGaAQEAywEAIZwBAQDLAQAhAogBAQDyAQAhmgEBAPIBACEDBwAAkgIAIIgBAQDyAQAhmgEBAPIBACEDBwAAoAIAIIgBAQAAAAGaAQEAAAABAxkAAPACACCnAQAA8QIAIKsBAAABACAEGQAApgIAMKcBAACnAgAwqwEAAKoCADCsAQAAqQIAIAAAAAUZAADrAgAgGgAA7gIAIKcBAADsAgAgqAEAAO0CACCrAQAAAQAgAxkAAOsCACCnAQAA7AIAIKsBAAABACAAAAAAAAWtAQgAAAABsAEIAAAAAbEBCAAAAAGyAQgAAAABswEIAAAAAQGtAUAAAAABCxkAANQCADAaAADZAgAwpwEAANUCADCoAQAA1gIAMKkBAADYAgAwqgEAANgCADCrAQAA2AIAMKwBAADXAgAgrQEAANgCADCuAQAA2gIAMK8BAADbAgAwCxkAAMgCADAaAADNAgAwpwEAAMkCADCoAQAAygIAMKkBAADMAgAwqgEAAMwCADCrAQAAzAIAMKwBAADLAgAgrQEAAMwCADCuAQAAzgIAMK8BAADPAgAwBxkAAMMCACAaAADGAgAgpwEAAMQCACCoAQAAxQIAIKkBAAAVACCqAQAAFQAgqwEAAIoBACAGDAAAhgIAIIgBAQAAAAGJASAAAAABigEBAAAAAYsBAgAAAAGMAQEAAAABAgAAAIoBACAZAADDAgAgAwAAABUAIBkAAMMCACAaAADHAgAgCAAAABUAIAwAAP8BACASAADHAgAgiAEBAPIBACGJASAA8wEAIYoBAQDyAQAhiwECAPQBACGMAQEA9QEAIQYMAAD_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-IAA_IQBAIgBBAAAAAAAFCAA9HwA-IAA_IQBAIgBBDQIBDhsBDx4BEB8BESABEyIBFCQLFSUMFicBFykLGCoNGysBHCwBHS0LIzAOJDEUJTICJjMCJzQCKDUCKTYCKjgCKzoLLDsVLT0CLj8LL0AWMEECMUICMkMLM0YXNEcbNUgDNkkDN0oDOEsDOUwDOk4DO1ALPFEcPVMDPlULP1YdQFcDQVgDQlkLQ1weRF0iRV4ERl8ER2AESGEESWIESmQES2YLTGcjTWkETmsLT2wkUG0EUW4EUm8LU3IlVHMpVXQFVnUFV3YFWHcFWXgFWnoFW3wLXH0qXX8FXoEBC1-CAStggwEFYYQBBWKFAQtjiAEsZIkBMGWLAQhmjAEIZ44BCGiPAQhpkAEIapIBCGuUAQtslQExbZcBCG6ZAQtvmgEycJsBCHGcAQhynQELc6ABM3ShATl1owEJdqQBCXemAQl4pwEJeagBCXqqAQl7rAELfK0BOn2vAQl-sQELf7IBO4ABswEJgQG0AQmCAbUBC4MBuAE8hAG5AUI"
39
39
  }
40
40
 
41
41
  async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
@@ -237,6 +237,26 @@ export interface PrismaClient<
237
237
  * ```
238
238
  */
239
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 }>;
240
260
  }
241
261
 
242
262
  export function getPrismaClientClass(): PrismaClientConstructor {