zele 0.2.0 → 0.3.5

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 (158) hide show
  1. package/README.md +38 -1
  2. package/bin/zele +27 -0
  3. package/dist/api-utils.d.ts +51 -2
  4. package/dist/api-utils.js +89 -3
  5. package/dist/api-utils.js.map +1 -1
  6. package/dist/auth.d.ts +27 -6
  7. package/dist/auth.js +185 -129
  8. package/dist/auth.js.map +1 -1
  9. package/dist/calendar-client.d.ts +16 -9
  10. package/dist/calendar-client.js +163 -59
  11. package/dist/calendar-client.js.map +1 -1
  12. package/dist/cli.js +28 -1
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/attachment.js +17 -15
  15. package/dist/commands/attachment.js.map +1 -1
  16. package/dist/commands/auth-cmd.js +20 -9
  17. package/dist/commands/auth-cmd.js.map +1 -1
  18. package/dist/commands/calendar.js +67 -78
  19. package/dist/commands/calendar.js.map +1 -1
  20. package/dist/commands/draft.js +25 -18
  21. package/dist/commands/draft.js.map +1 -1
  22. package/dist/commands/label.js +33 -45
  23. package/dist/commands/label.js.map +1 -1
  24. package/dist/commands/mail-actions.js +11 -13
  25. package/dist/commands/mail-actions.js.map +1 -1
  26. package/dist/commands/mail.js +114 -128
  27. package/dist/commands/mail.js.map +1 -1
  28. package/dist/commands/profile.js +18 -21
  29. package/dist/commands/profile.js.map +1 -1
  30. package/dist/commands/watch.d.ts +2 -0
  31. package/dist/commands/watch.js +73 -0
  32. package/dist/commands/watch.js.map +1 -0
  33. package/dist/db.js +12 -13
  34. package/dist/db.js.map +1 -1
  35. package/dist/generated/browser.d.ts +12 -27
  36. package/dist/generated/client.d.ts +13 -28
  37. package/dist/generated/client.js +1 -1
  38. package/dist/generated/commonInputTypes.d.ts +90 -26
  39. package/dist/generated/enums.d.ts +0 -4
  40. package/dist/generated/enums.js +0 -3
  41. package/dist/generated/enums.js.map +1 -1
  42. package/dist/generated/internal/class.d.ts +22 -55
  43. package/dist/generated/internal/class.js +12 -4
  44. package/dist/generated/internal/class.js.map +1 -1
  45. package/dist/generated/internal/prismaNamespace.d.ts +272 -511
  46. package/dist/generated/internal/prismaNamespace.js +54 -66
  47. package/dist/generated/internal/prismaNamespace.js.map +1 -1
  48. package/dist/generated/internal/prismaNamespaceBrowser.d.ts +60 -74
  49. package/dist/generated/internal/prismaNamespaceBrowser.js +50 -62
  50. package/dist/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  51. package/dist/generated/models/Account.d.ts +1637 -0
  52. package/dist/generated/models/Account.js +2 -0
  53. package/dist/generated/models/Account.js.map +1 -0
  54. package/dist/generated/models/CalendarList.d.ts +1161 -0
  55. package/dist/generated/models/CalendarList.js +2 -0
  56. package/dist/generated/models/CalendarList.js.map +1 -0
  57. package/dist/generated/models/Label.d.ts +1161 -0
  58. package/dist/generated/models/Label.js +2 -0
  59. package/dist/generated/models/Label.js.map +1 -0
  60. package/dist/generated/models/Profile.d.ts +1269 -0
  61. package/dist/generated/models/Profile.js +2 -0
  62. package/dist/generated/models/Profile.js.map +1 -0
  63. package/dist/generated/models/SyncState.d.ts +1130 -0
  64. package/dist/generated/models/SyncState.js +2 -0
  65. package/dist/generated/models/SyncState.js.map +1 -0
  66. package/dist/generated/models/Thread.d.ts +1608 -0
  67. package/dist/generated/models/Thread.js +2 -0
  68. package/dist/generated/models/Thread.js.map +1 -0
  69. package/dist/generated/models.d.ts +6 -9
  70. package/dist/gmail-client.d.ts +119 -94
  71. package/dist/gmail-client.js +862 -315
  72. package/dist/gmail-client.js.map +1 -1
  73. package/dist/mail-tui.d.ts +1 -0
  74. package/dist/mail-tui.js +517 -0
  75. package/dist/mail-tui.js.map +1 -0
  76. package/dist/output.d.ts +6 -4
  77. package/dist/output.js +124 -17
  78. package/dist/output.js.map +1 -1
  79. package/package.json +39 -11
  80. package/schema.prisma +81 -113
  81. package/src/api-utils.ts +103 -5
  82. package/src/auth.ts +224 -143
  83. package/src/calendar-client.ts +196 -89
  84. package/src/cli.ts +32 -1
  85. package/src/commands/attachment.ts +18 -19
  86. package/src/commands/auth-cmd.ts +19 -9
  87. package/src/commands/calendar.ts +42 -85
  88. package/src/commands/draft.ts +19 -22
  89. package/src/commands/label.ts +21 -57
  90. package/src/commands/mail-actions.ts +11 -19
  91. package/src/commands/mail.ts +104 -149
  92. package/src/commands/profile.ts +12 -28
  93. package/src/commands/watch.ts +88 -0
  94. package/src/db.ts +13 -16
  95. package/src/generated/browser.ts +49 -0
  96. package/src/generated/client.ts +71 -0
  97. package/src/generated/commonInputTypes.ts +332 -0
  98. package/src/generated/enums.ts +17 -0
  99. package/src/generated/internal/class.ts +250 -0
  100. package/src/generated/internal/prismaNamespace.ts +1198 -0
  101. package/src/generated/internal/prismaNamespaceBrowser.ts +169 -0
  102. package/src/generated/models/Account.ts +1848 -0
  103. package/src/generated/models/CalendarList.ts +1331 -0
  104. package/src/generated/models/Label.ts +1331 -0
  105. package/src/generated/models/Profile.ts +1439 -0
  106. package/src/generated/models/SyncState.ts +1300 -0
  107. package/src/generated/models/Thread.ts +1787 -0
  108. package/src/generated/models.ts +17 -0
  109. package/src/gmail-client.test.ts +59 -0
  110. package/src/gmail-client.ts +1034 -422
  111. package/src/mail-tui.tsx +1061 -0
  112. package/src/output.test.ts +1093 -0
  113. package/src/output.ts +128 -20
  114. package/src/schema.sql +58 -68
  115. package/src/test-fixtures/email-html/safe-claude-event.html +28 -0
  116. package/src/test-fixtures/email-html/safe-product-announcement.html +25 -0
  117. package/src/test-fixtures/email-html/safe-tracked-links.html +27 -0
  118. package/src/test-fixtures/email-html-snapshots/safe-claude-event.html.md +9 -0
  119. package/src/test-fixtures/email-html-snapshots/safe-product-announcement.html.md +13 -0
  120. package/src/test-fixtures/email-html-snapshots/safe-tracked-links.html.md +7 -0
  121. package/AGENTS.md +0 -26
  122. package/CHANGELOG.md +0 -36
  123. package/dist/generated/models/accounts.d.ts +0 -2000
  124. package/dist/generated/models/accounts.js +0 -2
  125. package/dist/generated/models/accounts.js.map +0 -1
  126. package/dist/generated/models/calendar_events.d.ts +0 -1433
  127. package/dist/generated/models/calendar_events.js +0 -2
  128. package/dist/generated/models/calendar_events.js.map +0 -1
  129. package/dist/generated/models/calendar_lists.d.ts +0 -1131
  130. package/dist/generated/models/calendar_lists.js +0 -2
  131. package/dist/generated/models/calendar_lists.js.map +0 -1
  132. package/dist/generated/models/label_counts.d.ts +0 -1131
  133. package/dist/generated/models/label_counts.js +0 -2
  134. package/dist/generated/models/label_counts.js.map +0 -1
  135. package/dist/generated/models/labels.d.ts +0 -1131
  136. package/dist/generated/models/labels.js +0 -2
  137. package/dist/generated/models/labels.js.map +0 -1
  138. package/dist/generated/models/profiles.d.ts +0 -1131
  139. package/dist/generated/models/profiles.js +0 -2
  140. package/dist/generated/models/profiles.js.map +0 -1
  141. package/dist/generated/models/sync_states.d.ts +0 -1107
  142. package/dist/generated/models/sync_states.js +0 -2
  143. package/dist/generated/models/sync_states.js.map +0 -1
  144. package/dist/generated/models/thread_lists.d.ts +0 -1404
  145. package/dist/generated/models/thread_lists.js +0 -2
  146. package/dist/generated/models/thread_lists.js.map +0 -1
  147. package/dist/generated/models/threads.d.ts +0 -1247
  148. package/dist/generated/models/threads.js +0 -2
  149. package/dist/generated/models/threads.js.map +0 -1
  150. package/dist/gmail-cache.d.ts +0 -60
  151. package/dist/gmail-cache.js +0 -264
  152. package/dist/gmail-cache.js.map +0 -1
  153. package/docs/gogcli-gmail-implementation.md +0 -599
  154. package/scripts/test-device-code-clients.ts +0 -186
  155. package/scripts/test-micropython-scopes.ts +0 -72
  156. package/scripts/test-oauth-clients.ts +0 -257
  157. package/src/gmail-cache.ts +0 -339
  158. package/tsconfig.json +0 -16
@@ -0,0 +1,250 @@
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.4.0",
21
+ "engineVersion": "ab56fe763f921d033a6c195e7ddeb3e255bdbb57",
22
+ "activeProvider": "sqlite",
23
+ "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"./src/generated\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n}\n\n// Lifecycle status for account credentials stored in `Account`.\nenum AccountStatus {\n active\n disabled\n}\n\n// Stores one OAuth credential set per (email, appId) pair.\n// appId is the Google OAuth client ID used during login, enabling\n// multiple OAuth apps per email (different quotas, scopes, etc.).\n// Default is the Thunderbird client ID (the original/only client).\nmodel Account {\n email String\n appId String\n accountStatus AccountStatus\n tokens String // JSON-encoded OAuth2 Credentials\n createdAt DateTime\n updatedAt DateTime @updatedAt\n\n threads Thread[]\n labels Label?\n profiles Profile?\n syncStates SyncState[]\n calendarLists CalendarList?\n\n @@id([email, appId])\n}\n\n// Caches hydrated thread payloads per account + thread ID.\n// Used by mail read and post-mutation cache invalidation.\n// rawData stores the raw Google gmail_v1.Schema$Thread response (format: full)\n// so the cache is resilient to changes in our own ThreadData type.\n// Indexed columns are extracted for queryability and display.\nmodel Thread {\n id Int @id @default(autoincrement())\n email String\n appId String\n threadId String\n subject String // extracted for display/search\n snippet String // extracted for display\n fromEmail String // extracted for filtering\n fromName String // extracted for display\n date String // extracted for sorting (RFC2822 from header)\n labelIds String // comma-separated, extracted for filtering\n hasUnread Boolean // extracted for filtering\n msgCount Int // extracted for display\n historyId String? // for sync\n rawData String // raw Google API response JSON (gmail_v1.Schema$Thread)\n ttlMs Int\n createdAt DateTime\n\n account Account @relation(fields: [email, appId], references: [email, appId], onDelete: Cascade)\n\n @@unique([email, appId, threadId])\n}\n\n// Caches label metadata per account (label id/name/type payload).\n// Used by label list/get and related command outputs.\n// rawData stores the raw Google gmail_v1.Schema$Label[] response.\nmodel Label {\n email String\n appId String\n rawData String // raw Google API response JSON (gmail_v1.Schema$Label[])\n ttlMs Int\n createdAt DateTime\n\n account Account @relation(fields: [email, appId], references: [email, appId], onDelete: Cascade)\n\n @@id([email, appId])\n}\n\n// Caches Gmail profile payload per account (totals/history id).\n// Used by profile command and account metadata lookups.\n// Fully flattened — no JSON blob needed, only 4 fields from Google.\nmodel Profile {\n email String\n appId String\n emailAddress String // from Gmail API\n messagesTotal Int // from Gmail API\n threadsTotal Int // from Gmail API\n historyId String // from Gmail API\n ttlMs Int\n createdAt DateTime\n\n account Account @relation(fields: [email, appId], references: [email, appId], onDelete: Cascade)\n\n @@id([email, appId])\n}\n\n// Caches calendar list per account.\n// Used by cal list to avoid fetching calendar metadata on every invocation.\n// rawData stores parsed CalendarListItem[] JSON (not raw tsdav — parsed at write time).\nmodel CalendarList {\n email String\n appId String\n rawData String // JSON blob of CalendarListItem[]\n ttlMs Int\n createdAt DateTime\n\n account Account @relation(fields: [email, appId], references: [email, appId], onDelete: Cascade)\n\n @@id([email, appId])\n}\n\n// Stores persistent per-account sync metadata as generic key/value pairs.\n// Use this for lightweight sync cursors and markers that are not cached API\n// payloads, for example `history_id` (incremental Gmail history cursor),\n// `last_full_sync_at`, or other small account-scoped checkpoints.\nmodel SyncState {\n email String\n appId String\n key String\n value String\n\n account Account @relation(fields: [email, appId], references: [email, appId], onDelete: Cascade)\n\n @@id([email, appId, key])\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\":{\"Account\":{\"fields\":[{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accountStatus\",\"kind\":\"enum\",\"type\":\"AccountStatus\"},{\"name\":\"tokens\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"threads\",\"kind\":\"object\",\"type\":\"Thread\",\"relationName\":\"AccountToThread\"},{\"name\":\"labels\",\"kind\":\"object\",\"type\":\"Label\",\"relationName\":\"AccountToLabel\"},{\"name\":\"profiles\",\"kind\":\"object\",\"type\":\"Profile\",\"relationName\":\"AccountToProfile\"},{\"name\":\"syncStates\",\"kind\":\"object\",\"type\":\"SyncState\",\"relationName\":\"AccountToSyncState\"},{\"name\":\"calendarLists\",\"kind\":\"object\",\"type\":\"CalendarList\",\"relationName\":\"AccountToCalendarList\"}],\"dbName\":null},\"Thread\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"threadId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subject\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"snippet\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fromEmail\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fromName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"labelIds\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hasUnread\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"msgCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"historyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rawData\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ttlMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToThread\"}],\"dbName\":null},\"Label\":{\"fields\":[{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rawData\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ttlMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToLabel\"}],\"dbName\":null},\"Profile\":{\"fields\":[{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"messagesTotal\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"threadsTotal\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"historyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ttlMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToProfile\"}],\"dbName\":null},\"CalendarList\":{\"fields\":[{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"rawData\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ttlMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToCalendarList\"}],\"dbName\":null},\"SyncState\":{\"fields\":[{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"account\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToSyncState\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
36
+ config.parameterizationSchema = {
37
+ strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"account\",\"threads\",\"labels\",\"profiles\",\"syncStates\",\"calendarLists\",\"_count\",\"Account.findUnique\",\"Account.findUniqueOrThrow\",\"Account.findFirst\",\"Account.findFirstOrThrow\",\"Account.findMany\",\"data\",\"Account.createOne\",\"Account.createMany\",\"Account.createManyAndReturn\",\"Account.updateOne\",\"Account.updateMany\",\"Account.updateManyAndReturn\",\"create\",\"update\",\"Account.upsertOne\",\"Account.deleteOne\",\"Account.deleteMany\",\"having\",\"_min\",\"_max\",\"Account.groupBy\",\"Account.aggregate\",\"Thread.findUnique\",\"Thread.findUniqueOrThrow\",\"Thread.findFirst\",\"Thread.findFirstOrThrow\",\"Thread.findMany\",\"Thread.createOne\",\"Thread.createMany\",\"Thread.createManyAndReturn\",\"Thread.updateOne\",\"Thread.updateMany\",\"Thread.updateManyAndReturn\",\"Thread.upsertOne\",\"Thread.deleteOne\",\"Thread.deleteMany\",\"_avg\",\"_sum\",\"Thread.groupBy\",\"Thread.aggregate\",\"Label.findUnique\",\"Label.findUniqueOrThrow\",\"Label.findFirst\",\"Label.findFirstOrThrow\",\"Label.findMany\",\"Label.createOne\",\"Label.createMany\",\"Label.createManyAndReturn\",\"Label.updateOne\",\"Label.updateMany\",\"Label.updateManyAndReturn\",\"Label.upsertOne\",\"Label.deleteOne\",\"Label.deleteMany\",\"Label.groupBy\",\"Label.aggregate\",\"Profile.findUnique\",\"Profile.findUniqueOrThrow\",\"Profile.findFirst\",\"Profile.findFirstOrThrow\",\"Profile.findMany\",\"Profile.createOne\",\"Profile.createMany\",\"Profile.createManyAndReturn\",\"Profile.updateOne\",\"Profile.updateMany\",\"Profile.updateManyAndReturn\",\"Profile.upsertOne\",\"Profile.deleteOne\",\"Profile.deleteMany\",\"Profile.groupBy\",\"Profile.aggregate\",\"CalendarList.findUnique\",\"CalendarList.findUniqueOrThrow\",\"CalendarList.findFirst\",\"CalendarList.findFirstOrThrow\",\"CalendarList.findMany\",\"CalendarList.createOne\",\"CalendarList.createMany\",\"CalendarList.createManyAndReturn\",\"CalendarList.updateOne\",\"CalendarList.updateMany\",\"CalendarList.updateManyAndReturn\",\"CalendarList.upsertOne\",\"CalendarList.deleteOne\",\"CalendarList.deleteMany\",\"CalendarList.groupBy\",\"CalendarList.aggregate\",\"SyncState.findUnique\",\"SyncState.findUniqueOrThrow\",\"SyncState.findFirst\",\"SyncState.findFirstOrThrow\",\"SyncState.findMany\",\"SyncState.createOne\",\"SyncState.createMany\",\"SyncState.createManyAndReturn\",\"SyncState.updateOne\",\"SyncState.updateMany\",\"SyncState.updateManyAndReturn\",\"SyncState.upsertOne\",\"SyncState.deleteOne\",\"SyncState.deleteMany\",\"SyncState.groupBy\",\"SyncState.aggregate\",\"AND\",\"OR\",\"NOT\",\"email\",\"appId\",\"key\",\"value\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"contains\",\"startsWith\",\"endsWith\",\"not\",\"rawData\",\"ttlMs\",\"createdAt\",\"email_appId\",\"emailAddress\",\"messagesTotal\",\"threadsTotal\",\"historyId\",\"id\",\"threadId\",\"subject\",\"snippet\",\"fromEmail\",\"fromName\",\"date\",\"labelIds\",\"hasUnread\",\"msgCount\",\"AccountStatus\",\"accountStatus\",\"tokens\",\"updatedAt\",\"every\",\"some\",\"none\",\"email_appId_key\",\"email_appId_threadId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"disconnect\",\"delete\",\"connect\",\"createMany\",\"set\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
38
+ graph: "zAI6YA8EAADEAQAgBQAAxQEAIAYAAMYBACAHAADHAQAgCAAAyAEAIHIAAMIBADBzAAAUABB0AADCAQAwdQEArAEAIXYBAKwBACGGAUAArgEAIYcBAADPAQAglwEAAMMBlwEimAEBAKwBACGZAUAArgEAIQEAAAABACAUAwAArwEAIHIAAMwBADBzAAADABB0AADMAQAwdQEArAEAIXYBAKwBACGEAQEArAEAIYUBAgCtAQAhhgFAAK4BACGLAQEAzgEAIYwBAgCtAQAhjQEBAKwBACGOAQEArAEAIY8BAQCsAQAhkAEBAKwBACGRAQEArAEAIZIBAQCsAQAhkwEBAKwBACGUASAAzQEAIZUBAgCtAQAhAgMAAN8BACCLAQAA7gEAIBUDAACvAQAgcgAAzAEAMHMAAAMAEHQAAMwBADB1AQCsAQAhdgEArAEAIYQBAQCsAQAhhQECAK0BACGGAUAArgEAIYsBAQDOAQAhjAECAAAAAY0BAQCsAQAhjgEBAKwBACGPAQEArAEAIZABAQCsAQAhkQEBAKwBACGSAQEArAEAIZMBAQCsAQAhlAEgAM0BACGVAQIArQEAIZ4BAADLAQAgAwAAAAMAIAEAAAQAMAIAAAUAIAkDAACvAQAgcgAAtQEAMHMAAAcAEHQAALUBADB1AQCsAQAhdgEArAEAIYQBAQCsAQAhhQECAK0BACGGAUAArgEAIQEAAAAHACAMAwAArwEAIHIAALIBADBzAAAJABB0AACyAQAwdQEArAEAIXYBAKwBACGFAQIArQEAIYYBQACuAQAhiAEBAKwBACGJAQIArQEAIYoBAgCtAQAhiwEBAKwBACEBAAAACQAgCAMAAK8BACByAADKAQAwcwAACwAQdAAAygEAMHUBAKwBACF2AQCsAQAhdwEArAEAIXgBAKwBACEBAwAA3wEAIAkDAACvAQAgcgAAygEAMHMAAAsAEHQAAMoBADB1AQCsAQAhdgEArAEAIXcBAKwBACF4AQCsAQAhnQEAAMkBACADAAAACwAgAQAADAAwAgAADQAgCQMAAK8BACByAACrAQAwcwAADwAQdAAAqwEAMHUBAKwBACF2AQCsAQAhhAEBAKwBACGFAQIArQEAIYYBQACuAQAhAQAAAA8AIAEAAAADACABAAAACwAgAQAAAAEAIA4EAADEAQAgBQAAxQEAIAYAAMYBACAHAADHAQAgCAAAyAEAIHIAAMIBADBzAAAUABB0AADCAQAwdQEArAEAIXYBAKwBACGGAUAArgEAIZcBAADDAZcBIpgBAQCsAQAhmQFAAK4BACEFBAAArQIAIAUAAK4CACAGAACvAgAgBwAAsAIAIAgAALECACADAAAAFAAgAQAAFQAwAgAAAQAgAwAAABQAIAEAABUAMAIAAAEAIAMAAAAUACABAAAVADACAAABACALBAAAqAIAIAUAAKkCACAGAACqAgAgBwAAqwIAIAgAAKwCACB1AQAAAAF2AQAAAAGGAUAAAAABlwEAAACXAQKYAQEAAAABmQFAAAAAAQEPAAAZACAGdQEAAAABdgEAAAABhgFAAAAAAZcBAAAAlwECmAEBAAAAAZkBQAAAAAEBDwAAGwAwAQ8AABsAMAsEAAD8AQAgBQAA_QEAIAYAAP4BACAHAAD_AQAgCAAAgAIAIHUBANMBACF2AQDTAQAhhgFAANwBACGXAQAA-wGXASKYAQEA0wEAIZkBQADcAQAhAgAAAAEAIA8AAB4AIAZ1AQDTAQAhdgEA0wEAIYYBQADcAQAhlwEAAPsBlwEimAEBANMBACGZAUAA3AEAIQIAAAAUACAPAAAgACACAAAAFAAgDwAAIAAgAwAAAAEAIBYAABkAIBcAAB4AIAEAAAABACABAAAAFAAgAwkAAPgBACAcAAD6AQAgHQAA-QEAIAlyAAC-AQAwcwAAJwAQdAAAvgEAMHUBAJ8BACF2AQCfAQAhhgFAAKUBACGXAQAAvwGXASKYAQEAnwEAIZkBQAClAQAhAwAAABQAIAEAACYAMBsAACcAIAMAAAAUACABAAAVADACAAABACABAAAABQAgAQAAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIBEDAAD3AQAgdQEAAAABdgEAAAABhAEBAAAAAYUBAgAAAAGGAUAAAAABiwEBAAAAAYwBAgAAAAGNAQEAAAABjgEBAAAAAY8BAQAAAAGQAQEAAAABkQEBAAAAAZIBAQAAAAGTAQEAAAABlAEgAAAAAZUBAgAAAAEBDwAALwAgEHUBAAAAAXYBAAAAAYQBAQAAAAGFAQIAAAABhgFAAAAAAYsBAQAAAAGMAQIAAAABjQEBAAAAAY4BAQAAAAGPAQEAAAABkAEBAAAAAZEBAQAAAAGSAQEAAAABkwEBAAAAAZQBIAAAAAGVAQIAAAABAQ8AADEAMAEPAAAxADARAwAA9gEAIHUBANMBACF2AQDTAQAhhAEBANMBACGFAQIA2wEAIYYBQADcAQAhiwEBAPUBACGMAQIA2wEAIY0BAQDTAQAhjgEBANMBACGPAQEA0wEAIZABAQDTAQAhkQEBANMBACGSAQEA0wEAIZMBAQDTAQAhlAEgAPQBACGVAQIA2wEAIQIAAAAFACAPAAA0ACAQdQEA0wEAIXYBANMBACGEAQEA0wEAIYUBAgDbAQAhhgFAANwBACGLAQEA9QEAIYwBAgDbAQAhjQEBANMBACGOAQEA0wEAIY8BAQDTAQAhkAEBANMBACGRAQEA0wEAIZIBAQDTAQAhkwEBANMBACGUASAA9AEAIZUBAgDbAQAhAgAAAAMAIA8AADYAIAIAAAADACAPAAA2ACADAAAABQAgFgAALwAgFwAANAAgAQAAAAUAIAEAAAADACAGCQAA7wEAIBwAAPIBACAdAADxAQAgLgAA8AEAIC8AAPMBACCLAQAA7gEAIBNyAAC2AQAwcwAAPQAQdAAAtgEAMHUBAJ8BACF2AQCfAQAhhAEBAJ8BACGFAQIApAEAIYYBQAClAQAhiwEBALgBACGMAQIApAEAIY0BAQCfAQAhjgEBAJ8BACGPAQEAnwEAIZABAQCfAQAhkQEBAJ8BACGSAQEAnwEAIZMBAQCfAQAhlAEgALcBACGVAQIApAEAIQMAAAADACABAAA8ADAbAAA9ACADAAAAAwAgAQAABAAwAgAABQAgCgMAAK8BACByAAC1AQAwcwAABwAQdAAAtQEAMHUBAKwBACF2AQCsAQAhhAEBAKwBACGFAQIArQEAIYYBQACuAQAhhwEAALQBACABAAAAQAAgAQAAAEAAIAEDAADfAQAgAwAAAAcAIAEAAEMAMAIAAEAAIAMAAAAHACABAABDADACAABAACADAAAABwAgAQAAQwAwAgAAQAAgBgMAAO0BACB1AQAAAAF2AQAAAAGEAQEAAAABhQECAAAAAYYBQAAAAAEBDwAARwAgBXUBAAAAAXYBAAAAAYQBAQAAAAGFAQIAAAABhgFAAAAAAQEPAABJADABDwAASQAwBgMAAOwBACB1AQDTAQAhdgEA0wEAIYQBAQDTAQAhhQECANsBACGGAUAA3AEAIQIAAABAACAPAABMACAFdQEA0wEAIXYBANMBACGEAQEA0wEAIYUBAgDbAQAhhgFAANwBACECAAAABwAgDwAATgAgAgAAAAcAIA8AAE4AIAMAAABAACAWAABHACAXAABMACABAAAAQAAgAQAAAAcAIAUJAADnAQAgHAAA6gEAIB0AAOkBACAuAADoAQAgLwAA6wEAIAhyAACzAQAwcwAAVQAQdAAAswEAMHUBAJ8BACF2AQCfAQAhhAEBAJ8BACGFAQIApAEAIYYBQAClAQAhAwAAAAcAIAEAAFQAMBsAAFUAIAMAAAAHACABAABDADACAABAACANAwAArwEAIHIAALIBADBzAAAJABB0AACyAQAwdQEArAEAIXYBAKwBACGFAQIArQEAIYYBQACuAQAhhwEAALEBACCIAQEArAEAIYkBAgCtAQAhigECAK0BACGLAQEArAEAIQEAAABYACABAAAAWAAgAQMAAN8BACADAAAACQAgAQAAWwAwAgAAWAAgAwAAAAkAIAEAAFsAMAIAAFgAIAMAAAAJACABAABbADACAABYACAJAwAA5gEAIHUBAAAAAXYBAAAAAYUBAgAAAAGGAUAAAAABiAEBAAAAAYkBAgAAAAGKAQIAAAABiwEBAAAAAQEPAABfACAIdQEAAAABdgEAAAABhQECAAAAAYYBQAAAAAGIAQEA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-AgAAAAF_AgAAAAGDAQIAqAEAIQh5CAAAAAF6CAAAAAR7CAAAAAR8CAAAAAF9CAAAAAF-CAAAAAF_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IJsBAAALACCcAQAACwAgCwMAAK8BACByAACrAQAwcwAADwAQdAAAqwEAMHUBAKwBACF2AQCsAQAhhAEBAKwBACGFAQIArQEAIYYBQACuAQAhnwEAAA8AIKABAAAPACADdQEAAAABdgEAAAABdwEAAAABCAMAAK8BACByAADKAQAwcwAACwAQdAAAygEAMHUBAKwBACF2AQCsAQAhdwEArAEAIXgBAKwBACEDdQEAAAABdgEAAAABjQEBAAAAARQDAACvAQAgcgAAzAEAMHMAAAMAEHQAAMwBADB1AQCsAQAhdgEArAEAIYQBAQCsAQAhhQECAK0BACGGAUAArgEAIYsBAQDOAQAhjAECAK0BACGNAQEArAEAIY4BAQCsAQAhjwEBAKwBACGQAQEArAEAIZEBAQCsAQAhkgEBAKwBACGTAQEArAEAIZQBIADNAQAhlQECAK0BACECeSAAAAABgwEgAL0BACELeQEAAAABegEAAAAFewEAAAAFfAEAAAABfQEAAAABfgEAAAABfwEAAAABgAEBAAAAAYEBAQAAAAGCAQEAAAABgwEBALsBACECdQEAAAABdgEAAAABAAAAAacBAQAAAAEFFgAAyAIAIBcAAMsCACChAQAAyQIAIKIBAADKAgAgpQEAAAEAIAMWAADIAgAgoQEAAMkCACClAQAAAQAgAAAAAAAFpwECAAAAAaoBAgAAAAGrAQIAAAABrAECAAAAAa0BAgAAAAEBpwFAAAAAAQUWAADDAgAgFwAAxgIAIKEBAADEAgAgogEAAMUCACClAQAAAQAgAxYAAMMCACChAQAAxAIAIKUBAAABACAFBAAArQIAIAUAAK4CACAGAACvAgAgBwAAsAIAIAgAALECACAAAAAAAAUWAAC-AgAgFwAAwQIAIKEBAAC_AgAgogEAAMACACClAQAAAQAgAxYAAL4CACChAQAAvwIAIKUBAAABACAAAAAAAAUWAAC5AgAgFwAAvAIAIKEBAAC6AgAgogEAALsCACClAQAAAQAgAxYAALkCACChAQAAugIAIKUBAAABACAAAAAAAAABpwEgAAAAAQGnAQEAAAABBRYAALQCACAXAAC3AgAgoQEAALUCACCiAQAAtgIAIKUBAAABACADFgAAtAIAIKEBAAC1AgAgpQEAAAEAIAAAAAGnAQAAAJcBAgsWAACcAgAwFwAAoQIAMKEBAACdAgAwogEAAJ4CADCjAQAAoAIAMKQBAACgAgAwpQEAAKACADCmAQAAnwIAIKcBAACgAgAwqAEAAKICADCpAQAAowIAMAcWAACXAgAgFwAAmgIAIKEBAACYAgAgogEAAJkCACCjAQAABwAgpAEAAAcAIKUBAABAACAHFgAAkgIAIBcAAJUCACChAQAAkwIAIKIBAACUAgAgowEAAAkAIKQBAAAJACClAQAAWAAgCxYAAIYCADAXAACLAgAwoQEAAIcCADCiAQAAiAIAMKMBAACKAgAwpAEAAIoCADClAQAAigIAMKYBAACJAgAgpwEAAIoCADCoAQAAjAIAMKkBAACNAgAwBxYAAIECACAXAACEAgAgoQEAAIICACCiAQAAgwIAIKMBAAAPACCkAQAADwAgpQEAAHAAIAOEAQEAAAABhQECAAAAAYYBQAAAAAECAAAAcAAgFgAAgQIAIAMAAAAPACAWAACBAgAgFwAAhQIAIAUAAAAPACAPAACFAgAghAEBANMBACGFAQIA2wEAIYYBQADcAQAhA4QBAQDTAQAhhQECANsBACGGAUAA3AEAIQJ3AQAAAAF4AQAAAAECAAAADQAgFgAAkQIAIAMAAAANACAWAACRAgAgFwAAkAIAIAEPAACzAgAwCQMAAK8BACByAADKAQAwcwAACwAQdAAAygEAMHUBAKwBACF2AQCsAQAhdwEArAEAIXgBAKwBACGdAQAAyQEAIAIAAAANACAPAACQAgAgAgAAAI4CACAPAACPAgAgB3IAAI0CADBzAACOAgAQdAAAjQIAMHUBAKwBACF2AQCsAQAhdwEArAEAIXgBAKwBACEHcgAAjQIAMHMAAI4CABB0AACNAgAwdQEArAEAIXYBAKwBACF3AQCsAQAheAEArAEA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_QEAIAYAAP4BACAHAAD_AQAgCAAAgAIAIA8AALgCACB1AQDTAQAhdgEA0wEAIYYBQADcAQAhlwEAAPsBlwEimAEBANMBACGZAUAA3AEAIQoFAAD9AQAgBgAA_gEAIAcAAP8BACAIAACAAgAgdQEA0wEAIXYBANMBACGGAUAA3AEAIZcBAAD7AZcBIpgBAQDTAQAhmQFAANwBACEKBAAAqAIAIAYAAKoCACAHAACrAgAgCAAArAIAIHUBAAAAAXYBAAAAAYYBQAAAAAGXAQAAAJcBApgBAQAAAAGZAUAAAAABAgAAAAEAIBYAALkCACADAAAAFAAgFgAAuQIAIBcAAL0CACAMAAAAFAAgBAAA_AEAIAYAAP4BACAHAAD_AQAgCAAAgAIAIA8AAL0CACB1AQDTAQAhdgEA0wEAIYYBQADcAQAhlwEAAPsBlwEimAEBANMBACGZAUAA3AEAIQoEAAD8AQAgBgAA_gEAIAcAAP8BACAIAACAAgAgdQEA0wEAIXYBANMBACGGAUAA3AEAIZcBAAD7AZcBIpgBAQDTAQAhmQFAANwBACEKBAAAqAIAIAUAAKkCACAHAACrAgAgCAAArAIAIHUBAAAAAXYBAAAAAYYBQAAAAAGXAQAAAJcBApgBAQAAAAGZAUAAAAABAgAAAAEAIBYAAL4CACADAAAAFAAgFgAAvgIAIBcAAMICACAMAAAAFAAgBAAA_AEAIAUAAP0BACAHAAD_AQAgCAAAgAIAIA8AAMICACB1AQDTAQAhdgEA0wEAIYYBQADcAQAhlwEAAPsBlwEimAEBANMBACGZAUAA3AEAIQoEAAD8AQAgBQAA_QEAIAcAAP8BACAIAACAAgAgdQEA0wEAIXYBANMBACGGAUAA3AEAIZcBAAD7AZcBIpgBAQDTAQAhmQFAANwBACEKBAAAqAIAIAUAAKkCACAGAACqAgAgBwAAqwIAIHUBAAAAAXYBAAAAAYYBQAAAAAGXAQAAAJcBApgBAQAAAAGZAUAAAAABAgAAAAEAIBYAAMMCACADAAAAFAAgFgAAwwIAIBcAAMcCACAMAAAAFAAgBAAA_AEAIAUAAP0BACAGAAD-AQAgBwAA_wEAIA8AAMcCACB1AQDTAQAhdgEA0wEAIYYBQADcAQAhlwEAAPsBlwEimAEBANMBACGZAUAA3AEAIQoEAAD8AQAgBQAA_QEAIAYAAP4BACAHAAD_AQAgdQEA0wEAIXYBANMBACGGAUAA3AEAIZcBAAD7AZcBIpgBAQDTAQAhmQFAANwBACEKBAAAqAIAIAUAAKkCACAGAACqAgAgCAAArAIAIHUBAAAAAXYBAAAAAYYBQAAAAAGXAQAAAJcBApgBAQAAAAGZAUAAAAABAgAAAAEAIBYAAMgCACADAAAAFAAgFgAAyAIAIBcAAMwCACAMAAAAFAAgBAAA_AEAIAUAAP0BACAGAAD-AQAgCAAAgAIAIA8AAMwCACB1AQDTAQAhdgEA0wEAIYYBQADcAQAhlwEAAPsBlwEimAEBANMBACGZAUAA3AEAIQoEAAD8AQAgBQAA_QEAIAYAAP4BACAIAACAAgAgdQEA0wEAIXYBANMBACGGAUAA3AEAIZcBAAD7AZcBIpgBAQDTAQAhmQFAANwBACEGBAYCBQgDBgoEBw4FCBAGCQAHAQMAAQEDAAEBAwABAQMAAQEDAAECBBEABxIAAAAAAwkADBwADR0ADgAAAAMJAAwcAA0dAA4BAwABAQMAAQUJABMcABYdABcuABQvABUAAAAAAAUJABMcABYdABcuABQvABUBAwABAQMAAQUJABwcAB8dACAuAB0vAB4AAAAAAAUJABwcAB8dACAuAB0vAB4BAwABAQMAAQUJACUcACgdACkuACYvACcAAAAAAAUJACUcACgdACkuACYvACcBAwABAQMAAQUJAC4cADEdADIuAC8vADAAAAAAAAUJAC4cADEdADIuAC8vADABAwABAQMAAQMJADccADgdADkAAAADCQA3HAA4HQA5CgIBCxMBDBYBDRcBDhgBEBoBERwIEh0JEx8BFCEIFSIKGCMBGSQBGiUIHigLHykPICoCISsCIiwCIy0CJC4CJTACJjIIJzMQKDUCKTcIKjgRKzkCLDoCLTsIMD4SMT8YMkEDM0IDNEQDNUUDNkYDN0gDOEoIOUsZOk0DO08IPFAaPVEDPlIDP1MIQFYbQVchQlkEQ1oERFwERV0ERl4ER2AESGIISWMiSmUES2cITGgjTWkETmoET2sIUG4kUW8qUnEGU3IGVHQGVXUGVnYGV3gGWHoIWXsrWn0GW38IXIABLF2BAQZeggEGX4MBCGCGAS1hhwEzYogBBWOJAQVkigEFZYsBBWaMAQVnjgEFaJABCGmRATRqkwEFa5UBCGyWATVtlwEFbpgBBW-ZAQhwnAE2cZ0BOg"
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.sqlite.mjs"),
49
+
50
+ getQueryCompilerWasmModule: async () => {
51
+ const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.sqlite.wasm-base64.mjs")
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
+ * // Fetch zero or more Accounts
72
+ * const accounts = await prisma.account.findMany()
73
+ * ```
74
+ *
75
+ * Read more in our [docs](https://pris.ly/d/client).
76
+ */
77
+
78
+ new <
79
+ Options extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions,
80
+ LogOpts extends LogOptions<Options> = LogOptions<Options>,
81
+ OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } ? U : Prisma.PrismaClientOptions['omit'],
82
+ ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
83
+ >(options: Prisma.Subset<Options, Prisma.PrismaClientOptions> ): PrismaClient<LogOpts, OmitOpts, ExtArgs>
84
+ }
85
+
86
+ /**
87
+ * ## Prisma Client
88
+ *
89
+ * Type-safe database client for TypeScript
90
+ * @example
91
+ * ```
92
+ * const prisma = new PrismaClient()
93
+ * // Fetch zero or more Accounts
94
+ * const accounts = await prisma.account.findMany()
95
+ * ```
96
+ *
97
+ * Read more in our [docs](https://pris.ly/d/client).
98
+ */
99
+
100
+ export interface PrismaClient<
101
+ in LogOpts extends Prisma.LogLevel = never,
102
+ in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = undefined,
103
+ in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
104
+ > {
105
+ [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['other'] }
106
+
107
+ $on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;
108
+
109
+ /**
110
+ * Connect with the database
111
+ */
112
+ $connect(): runtime.Types.Utils.JsPromise<void>;
113
+
114
+ /**
115
+ * Disconnect from the database
116
+ */
117
+ $disconnect(): runtime.Types.Utils.JsPromise<void>;
118
+
119
+ /**
120
+ * Executes a prepared raw query and returns the number of affected rows.
121
+ * @example
122
+ * ```
123
+ * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`
124
+ * ```
125
+ *
126
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
127
+ */
128
+ $executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;
129
+
130
+ /**
131
+ * Executes a raw query and returns the number of affected rows.
132
+ * Susceptible to SQL injections, see documentation.
133
+ * @example
134
+ * ```
135
+ * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com')
136
+ * ```
137
+ *
138
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
139
+ */
140
+ $executeRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;
141
+
142
+ /**
143
+ * Performs a prepared raw query and returns the `SELECT` data.
144
+ * @example
145
+ * ```
146
+ * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`
147
+ * ```
148
+ *
149
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
150
+ */
151
+ $queryRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;
152
+
153
+ /**
154
+ * Performs a raw query and returns the `SELECT` data.
155
+ * Susceptible to SQL injections, see documentation.
156
+ * @example
157
+ * ```
158
+ * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com')
159
+ * ```
160
+ *
161
+ * Read more in our [docs](https://pris.ly/d/raw-queries).
162
+ */
163
+ $queryRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;
164
+
165
+
166
+ /**
167
+ * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.
168
+ * @example
169
+ * ```
170
+ * const [george, bob, alice] = await prisma.$transaction([
171
+ * prisma.user.create({ data: { name: 'George' } }),
172
+ * prisma.user.create({ data: { name: 'Bob' } }),
173
+ * prisma.user.create({ data: { name: 'Alice' } }),
174
+ * ])
175
+ * ```
176
+ *
177
+ * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions).
178
+ */
179
+ $transaction<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>
180
+
181
+ $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>
182
+
183
+ $extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<OmitOpts>, ExtArgs, runtime.Types.Utils.Call<Prisma.TypeMapCb<OmitOpts>, {
184
+ extArgs: ExtArgs
185
+ }>>
186
+
187
+ /**
188
+ * `prisma.account`: Exposes CRUD operations for the **Account** model.
189
+ * Example usage:
190
+ * ```ts
191
+ * // Fetch zero or more Accounts
192
+ * const accounts = await prisma.account.findMany()
193
+ * ```
194
+ */
195
+ get account(): Prisma.AccountDelegate<ExtArgs, { omit: OmitOpts }>;
196
+
197
+ /**
198
+ * `prisma.thread`: Exposes CRUD operations for the **Thread** model.
199
+ * Example usage:
200
+ * ```ts
201
+ * // Fetch zero or more Threads
202
+ * const threads = await prisma.thread.findMany()
203
+ * ```
204
+ */
205
+ get thread(): Prisma.ThreadDelegate<ExtArgs, { omit: OmitOpts }>;
206
+
207
+ /**
208
+ * `prisma.label`: Exposes CRUD operations for the **Label** model.
209
+ * Example usage:
210
+ * ```ts
211
+ * // Fetch zero or more Labels
212
+ * const labels = await prisma.label.findMany()
213
+ * ```
214
+ */
215
+ get label(): Prisma.LabelDelegate<ExtArgs, { omit: OmitOpts }>;
216
+
217
+ /**
218
+ * `prisma.profile`: Exposes CRUD operations for the **Profile** model.
219
+ * Example usage:
220
+ * ```ts
221
+ * // Fetch zero or more Profiles
222
+ * const profiles = await prisma.profile.findMany()
223
+ * ```
224
+ */
225
+ get profile(): Prisma.ProfileDelegate<ExtArgs, { omit: OmitOpts }>;
226
+
227
+ /**
228
+ * `prisma.calendarList`: Exposes CRUD operations for the **CalendarList** model.
229
+ * Example usage:
230
+ * ```ts
231
+ * // Fetch zero or more CalendarLists
232
+ * const calendarLists = await prisma.calendarList.findMany()
233
+ * ```
234
+ */
235
+ get calendarList(): Prisma.CalendarListDelegate<ExtArgs, { omit: OmitOpts }>;
236
+
237
+ /**
238
+ * `prisma.syncState`: Exposes CRUD operations for the **SyncState** model.
239
+ * Example usage:
240
+ * ```ts
241
+ * // Fetch zero or more SyncStates
242
+ * const syncStates = await prisma.syncState.findMany()
243
+ * ```
244
+ */
245
+ get syncState(): Prisma.SyncStateDelegate<ExtArgs, { omit: OmitOpts }>;
246
+ }
247
+
248
+ export function getPrismaClientClass(): PrismaClientConstructor {
249
+ return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
250
+ }