zele 0.3.16 → 0.3.20

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 (90) hide show
  1. package/README.md +155 -36
  2. package/dist/api-utils.d.ts +14 -0
  3. package/dist/api-utils.js +20 -0
  4. package/dist/api-utils.js.map +1 -1
  5. package/dist/auth.d.ts +71 -9
  6. package/dist/auth.js +186 -10
  7. package/dist/auth.js.map +1 -1
  8. package/dist/cli-types.d.ts +4 -0
  9. package/dist/cli-types.js +6 -0
  10. package/dist/cli-types.js.map +1 -0
  11. package/dist/cli.js +1 -5
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands/attachment.d.ts +2 -2
  14. package/dist/commands/attachment.js +2 -0
  15. package/dist/commands/attachment.js.map +1 -1
  16. package/dist/commands/auth-cmd.d.ts +2 -2
  17. package/dist/commands/auth-cmd.js +104 -6
  18. package/dist/commands/auth-cmd.js.map +1 -1
  19. package/dist/commands/calendar.d.ts +2 -2
  20. package/dist/commands/calendar.js.map +1 -1
  21. package/dist/commands/draft.d.ts +2 -2
  22. package/dist/commands/draft.js +58 -4
  23. package/dist/commands/draft.js.map +1 -1
  24. package/dist/commands/filter.d.ts +2 -2
  25. package/dist/commands/filter.js +7 -2
  26. package/dist/commands/filter.js.map +1 -1
  27. package/dist/commands/label.d.ts +2 -2
  28. package/dist/commands/label.js +19 -9
  29. package/dist/commands/label.js.map +1 -1
  30. package/dist/commands/mail-actions.d.ts +2 -2
  31. package/dist/commands/mail-actions.js +290 -1
  32. package/dist/commands/mail-actions.js.map +1 -1
  33. package/dist/commands/mail.d.ts +2 -2
  34. package/dist/commands/mail.js +90 -23
  35. package/dist/commands/mail.js.map +1 -1
  36. package/dist/commands/profile.d.ts +2 -2
  37. package/dist/commands/profile.js +25 -18
  38. package/dist/commands/profile.js.map +1 -1
  39. package/dist/commands/watch.d.ts +2 -2
  40. package/dist/commands/watch.js.map +1 -1
  41. package/dist/db.js +24 -0
  42. package/dist/db.js.map +1 -1
  43. package/dist/generated/internal/class.js +2 -2
  44. package/dist/generated/internal/class.js.map +1 -1
  45. package/dist/generated/internal/prismaNamespace.d.ts +2 -0
  46. package/dist/generated/internal/prismaNamespace.js +2 -0
  47. package/dist/generated/internal/prismaNamespace.js.map +1 -1
  48. package/dist/generated/internal/prismaNamespaceBrowser.d.ts +2 -0
  49. package/dist/generated/internal/prismaNamespaceBrowser.js +2 -0
  50. package/dist/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  51. package/dist/generated/models/Account.d.ts +97 -1
  52. package/dist/gmail-client.d.ts +73 -3
  53. package/dist/gmail-client.js +165 -5
  54. package/dist/gmail-client.js.map +1 -1
  55. package/dist/imap-smtp-client.d.ts +306 -0
  56. package/dist/imap-smtp-client.js +1349 -0
  57. package/dist/imap-smtp-client.js.map +1 -0
  58. package/dist/mail-tui.js.map +1 -1
  59. package/dist/unsubscribe.d.ts +76 -0
  60. package/dist/unsubscribe.js +224 -0
  61. package/dist/unsubscribe.js.map +1 -0
  62. package/package.json +6 -3
  63. package/schema.prisma +7 -5
  64. package/skills/zele/SKILL.md +26 -96
  65. package/src/api-utils.ts +20 -0
  66. package/src/auth.ts +282 -14
  67. package/src/cli-types.ts +8 -0
  68. package/src/cli.ts +2 -7
  69. package/src/commands/attachment.ts +3 -2
  70. package/src/commands/auth-cmd.ts +114 -8
  71. package/src/commands/calendar.ts +2 -2
  72. package/src/commands/draft.ts +65 -6
  73. package/src/commands/filter.ts +11 -5
  74. package/src/commands/label.ts +24 -13
  75. package/src/commands/mail-actions.ts +317 -5
  76. package/src/commands/mail.ts +97 -25
  77. package/src/commands/profile.ts +29 -19
  78. package/src/commands/watch.ts +2 -2
  79. package/src/db.ts +28 -0
  80. package/src/generated/internal/class.ts +2 -2
  81. package/src/generated/internal/prismaNamespace.ts +2 -0
  82. package/src/generated/internal/prismaNamespaceBrowser.ts +2 -0
  83. package/src/generated/models/Account.ts +97 -1
  84. package/src/gmail-client.test.ts +155 -2
  85. package/src/gmail-client.ts +258 -6
  86. package/src/imap-smtp-client.ts +1560 -0
  87. package/src/mail-tui.tsx +2 -1
  88. package/src/schema.sql +2 -0
  89. package/src/unsubscribe.test.ts +487 -0
  90. package/src/unsubscribe.ts +255 -0
package/src/db.ts CHANGED
@@ -58,6 +58,10 @@ async function initializePrisma(): Promise<PrismaClient> {
58
58
  // Run schema.sql — uses CREATE TABLE IF NOT EXISTS so it's idempotent
59
59
  await applySchema(prisma)
60
60
 
61
+ // Add new columns to existing Account tables (idempotent migration).
62
+ // CREATE TABLE IF NOT EXISTS doesn't add columns to pre-existing tables.
63
+ await migrateAccountColumns(prisma)
64
+
61
65
  // Secure database files (owner read/write only)
62
66
  secureDatabase()
63
67
 
@@ -93,6 +97,30 @@ async function applySchema(prisma: PrismaClient): Promise<void> {
93
97
  }
94
98
  }
95
99
 
100
+ /**
101
+ * Idempotent migration: add accountType and capabilities columns to Account
102
+ * if they don't already exist (for DBs created before IMAP/SMTP support).
103
+ * Also backfill existing Google accounts with their default capabilities.
104
+ */
105
+ async function migrateAccountColumns(prisma: PrismaClient): Promise<void> {
106
+ const cols = await prisma.$queryRawUnsafe<Array<{ name: string }>>(`PRAGMA table_info("Account")`)
107
+ const colNames = new Set(cols.map((c) => c.name))
108
+
109
+ if (!colNames.has('accountType')) {
110
+ await prisma.$executeRawUnsafe(`ALTER TABLE "Account" ADD COLUMN "accountType" TEXT NOT NULL DEFAULT 'google'`)
111
+ }
112
+ if (!colNames.has('capabilities')) {
113
+ await prisma.$executeRawUnsafe(`ALTER TABLE "Account" ADD COLUMN "capabilities" TEXT NOT NULL DEFAULT ''`)
114
+ }
115
+
116
+ // Backfill: existing Google accounts should have capabilities set
117
+ await prisma.$executeRawUnsafe(`
118
+ UPDATE "Account"
119
+ SET "capabilities" = 'gmail,calendar,smtp'
120
+ WHERE "accountType" = 'google' AND ("capabilities" = '' OR "capabilities" IS NULL)
121
+ `)
122
+ }
123
+
96
124
  /**
97
125
  * Set restrictive permissions on database files.
98
126
  * SQLite WAL mode creates additional -wal and -shm files that also need protection.
@@ -20,7 +20,7 @@ const config: runtime.GetPrismaClientConfig = {
20
20
  "clientVersion": "7.3.0",
21
21
  "engineVersion": "9d6ad21cbbceab97458517b147a6a09ff43aa735",
22
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",
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 credential set per (email, appId) pair.\n// appId is the Google OAuth client ID for Google accounts, or 'imap_smtp' for IMAP/SMTP accounts.\n// accountType discriminates the credential format stored in tokens.\n// capabilities is a comma-separated list of features: \"gmail,calendar,smtp\" or \"imap,smtp\".\nmodel Account {\n email String\n appId String\n accountType String @default(\"google\") // \"google\" | \"imap_smtp\"\n capabilities String @default(\"\") // comma-separated: \"gmail,calendar,smtp\" or \"imap,smtp\" or \"imap\"\n accountStatus AccountStatus\n tokens String // JSON: OAuth2 Credentials (google) or ImapSmtpCredentials (imap_smtp)\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
24
  "runtimeDataModel": {
25
25
  "models": {},
26
26
  "enums": {},
@@ -28,7 +28,7 @@ const config: runtime.GetPrismaClientConfig = {
28
28
  }
29
29
  }
30
30
 
31
- 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\":{}}")
31
+ config.runtimeDataModel = JSON.parse("{\"models\":{\"Account\":{\"fields\":[{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accountType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"capabilities\",\"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\":{}}")
32
32
 
33
33
  async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
34
34
  const { Buffer } = await import('node:buffer')
@@ -892,6 +892,8 @@ export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof
892
892
  export const AccountScalarFieldEnum = {
893
893
  email: 'email',
894
894
  appId: 'appId',
895
+ accountType: 'accountType',
896
+ capabilities: 'capabilities',
895
897
  accountStatus: 'accountStatus',
896
898
  tokens: 'tokens',
897
899
  createdAt: 'createdAt',
@@ -75,6 +75,8 @@ export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof
75
75
  export const AccountScalarFieldEnum = {
76
76
  email: 'email',
77
77
  appId: 'appId',
78
+ accountType: 'accountType',
79
+ capabilities: 'capabilities',
78
80
  accountStatus: 'accountStatus',
79
81
  tokens: 'tokens',
80
82
  createdAt: 'createdAt',
@@ -27,6 +27,8 @@ export type AggregateAccount = {
27
27
  export type AccountMinAggregateOutputType = {
28
28
  email: string | null
29
29
  appId: string | null
30
+ accountType: string | null
31
+ capabilities: string | null
30
32
  accountStatus: $Enums.AccountStatus | null
31
33
  tokens: string | null
32
34
  createdAt: Date | null
@@ -36,6 +38,8 @@ export type AccountMinAggregateOutputType = {
36
38
  export type AccountMaxAggregateOutputType = {
37
39
  email: string | null
38
40
  appId: string | null
41
+ accountType: string | null
42
+ capabilities: string | null
39
43
  accountStatus: $Enums.AccountStatus | null
40
44
  tokens: string | null
41
45
  createdAt: Date | null
@@ -45,6 +49,8 @@ export type AccountMaxAggregateOutputType = {
45
49
  export type AccountCountAggregateOutputType = {
46
50
  email: number
47
51
  appId: number
52
+ accountType: number
53
+ capabilities: number
48
54
  accountStatus: number
49
55
  tokens: number
50
56
  createdAt: number
@@ -56,6 +62,8 @@ export type AccountCountAggregateOutputType = {
56
62
  export type AccountMinAggregateInputType = {
57
63
  email?: true
58
64
  appId?: true
65
+ accountType?: true
66
+ capabilities?: true
59
67
  accountStatus?: true
60
68
  tokens?: true
61
69
  createdAt?: true
@@ -65,6 +73,8 @@ export type AccountMinAggregateInputType = {
65
73
  export type AccountMaxAggregateInputType = {
66
74
  email?: true
67
75
  appId?: true
76
+ accountType?: true
77
+ capabilities?: true
68
78
  accountStatus?: true
69
79
  tokens?: true
70
80
  createdAt?: true
@@ -74,6 +84,8 @@ export type AccountMaxAggregateInputType = {
74
84
  export type AccountCountAggregateInputType = {
75
85
  email?: true
76
86
  appId?: true
87
+ accountType?: true
88
+ capabilities?: true
77
89
  accountStatus?: true
78
90
  tokens?: true
79
91
  createdAt?: true
@@ -156,6 +168,8 @@ export type AccountGroupByArgs<ExtArgs extends runtime.Types.Extensions.Internal
156
168
  export type AccountGroupByOutputType = {
157
169
  email: string
158
170
  appId: string
171
+ accountType: string
172
+ capabilities: string
159
173
  accountStatus: $Enums.AccountStatus
160
174
  tokens: string
161
175
  createdAt: Date
@@ -186,6 +200,8 @@ export type AccountWhereInput = {
186
200
  NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[]
187
201
  email?: Prisma.StringFilter<"Account"> | string
188
202
  appId?: Prisma.StringFilter<"Account"> | string
203
+ accountType?: Prisma.StringFilter<"Account"> | string
204
+ capabilities?: Prisma.StringFilter<"Account"> | string
189
205
  accountStatus?: Prisma.EnumAccountStatusFilter<"Account"> | $Enums.AccountStatus
190
206
  tokens?: Prisma.StringFilter<"Account"> | string
191
207
  createdAt?: Prisma.DateTimeFilter<"Account"> | Date | string
@@ -200,6 +216,8 @@ export type AccountWhereInput = {
200
216
  export type AccountOrderByWithRelationInput = {
201
217
  email?: Prisma.SortOrder
202
218
  appId?: Prisma.SortOrder
219
+ accountType?: Prisma.SortOrder
220
+ capabilities?: Prisma.SortOrder
203
221
  accountStatus?: Prisma.SortOrder
204
222
  tokens?: Prisma.SortOrder
205
223
  createdAt?: Prisma.SortOrder
@@ -218,6 +236,8 @@ export type AccountWhereUniqueInput = Prisma.AtLeast<{
218
236
  NOT?: Prisma.AccountWhereInput | Prisma.AccountWhereInput[]
219
237
  email?: Prisma.StringFilter<"Account"> | string
220
238
  appId?: Prisma.StringFilter<"Account"> | string
239
+ accountType?: Prisma.StringFilter<"Account"> | string
240
+ capabilities?: Prisma.StringFilter<"Account"> | string
221
241
  accountStatus?: Prisma.EnumAccountStatusFilter<"Account"> | $Enums.AccountStatus
222
242
  tokens?: Prisma.StringFilter<"Account"> | string
223
243
  createdAt?: Prisma.DateTimeFilter<"Account"> | Date | string
@@ -232,6 +252,8 @@ export type AccountWhereUniqueInput = Prisma.AtLeast<{
232
252
  export type AccountOrderByWithAggregationInput = {
233
253
  email?: Prisma.SortOrder
234
254
  appId?: Prisma.SortOrder
255
+ accountType?: Prisma.SortOrder
256
+ capabilities?: Prisma.SortOrder
235
257
  accountStatus?: Prisma.SortOrder
236
258
  tokens?: Prisma.SortOrder
237
259
  createdAt?: Prisma.SortOrder
@@ -247,6 +269,8 @@ export type AccountScalarWhereWithAggregatesInput = {
247
269
  NOT?: Prisma.AccountScalarWhereWithAggregatesInput | Prisma.AccountScalarWhereWithAggregatesInput[]
248
270
  email?: Prisma.StringWithAggregatesFilter<"Account"> | string
249
271
  appId?: Prisma.StringWithAggregatesFilter<"Account"> | string
272
+ accountType?: Prisma.StringWithAggregatesFilter<"Account"> | string
273
+ capabilities?: Prisma.StringWithAggregatesFilter<"Account"> | string
250
274
  accountStatus?: Prisma.EnumAccountStatusWithAggregatesFilter<"Account"> | $Enums.AccountStatus
251
275
  tokens?: Prisma.StringWithAggregatesFilter<"Account"> | string
252
276
  createdAt?: Prisma.DateTimeWithAggregatesFilter<"Account"> | Date | string
@@ -256,6 +280,8 @@ export type AccountScalarWhereWithAggregatesInput = {
256
280
  export type AccountCreateInput = {
257
281
  email: string
258
282
  appId: string
283
+ accountType?: string
284
+ capabilities?: string
259
285
  accountStatus: $Enums.AccountStatus
260
286
  tokens: string
261
287
  createdAt: Date | string
@@ -270,6 +296,8 @@ export type AccountCreateInput = {
270
296
  export type AccountUncheckedCreateInput = {
271
297
  email: string
272
298
  appId: string
299
+ accountType?: string
300
+ capabilities?: string
273
301
  accountStatus: $Enums.AccountStatus
274
302
  tokens: string
275
303
  createdAt: Date | string
@@ -284,6 +312,8 @@ export type AccountUncheckedCreateInput = {
284
312
  export type AccountUpdateInput = {
285
313
  email?: Prisma.StringFieldUpdateOperationsInput | string
286
314
  appId?: Prisma.StringFieldUpdateOperationsInput | string
315
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
316
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
287
317
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
288
318
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
289
319
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -298,6 +328,8 @@ export type AccountUpdateInput = {
298
328
  export type AccountUncheckedUpdateInput = {
299
329
  email?: Prisma.StringFieldUpdateOperationsInput | string
300
330
  appId?: Prisma.StringFieldUpdateOperationsInput | string
331
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
332
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
301
333
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
302
334
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
303
335
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -312,6 +344,8 @@ export type AccountUncheckedUpdateInput = {
312
344
  export type AccountCreateManyInput = {
313
345
  email: string
314
346
  appId: string
347
+ accountType?: string
348
+ capabilities?: string
315
349
  accountStatus: $Enums.AccountStatus
316
350
  tokens: string
317
351
  createdAt: Date | string
@@ -321,6 +355,8 @@ export type AccountCreateManyInput = {
321
355
  export type AccountUpdateManyMutationInput = {
322
356
  email?: Prisma.StringFieldUpdateOperationsInput | string
323
357
  appId?: Prisma.StringFieldUpdateOperationsInput | string
358
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
359
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
324
360
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
325
361
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
326
362
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -330,6 +366,8 @@ export type AccountUpdateManyMutationInput = {
330
366
  export type AccountUncheckedUpdateManyInput = {
331
367
  email?: Prisma.StringFieldUpdateOperationsInput | string
332
368
  appId?: Prisma.StringFieldUpdateOperationsInput | string
369
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
370
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
333
371
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
334
372
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
335
373
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -344,6 +382,8 @@ export type AccountEmailAppIdCompoundUniqueInput = {
344
382
  export type AccountCountOrderByAggregateInput = {
345
383
  email?: Prisma.SortOrder
346
384
  appId?: Prisma.SortOrder
385
+ accountType?: Prisma.SortOrder
386
+ capabilities?: Prisma.SortOrder
347
387
  accountStatus?: Prisma.SortOrder
348
388
  tokens?: Prisma.SortOrder
349
389
  createdAt?: Prisma.SortOrder
@@ -353,6 +393,8 @@ export type AccountCountOrderByAggregateInput = {
353
393
  export type AccountMaxOrderByAggregateInput = {
354
394
  email?: Prisma.SortOrder
355
395
  appId?: Prisma.SortOrder
396
+ accountType?: Prisma.SortOrder
397
+ capabilities?: Prisma.SortOrder
356
398
  accountStatus?: Prisma.SortOrder
357
399
  tokens?: Prisma.SortOrder
358
400
  createdAt?: Prisma.SortOrder
@@ -362,6 +404,8 @@ export type AccountMaxOrderByAggregateInput = {
362
404
  export type AccountMinOrderByAggregateInput = {
363
405
  email?: Prisma.SortOrder
364
406
  appId?: Prisma.SortOrder
407
+ accountType?: Prisma.SortOrder
408
+ capabilities?: Prisma.SortOrder
365
409
  accountStatus?: Prisma.SortOrder
366
410
  tokens?: Prisma.SortOrder
367
411
  createdAt?: Prisma.SortOrder
@@ -458,6 +502,8 @@ export type AccountUpdateOneRequiredWithoutSyncStatesNestedInput = {
458
502
  export type AccountCreateWithoutThreadsInput = {
459
503
  email: string
460
504
  appId: string
505
+ accountType?: string
506
+ capabilities?: string
461
507
  accountStatus: $Enums.AccountStatus
462
508
  tokens: string
463
509
  createdAt: Date | string
@@ -471,6 +517,8 @@ export type AccountCreateWithoutThreadsInput = {
471
517
  export type AccountUncheckedCreateWithoutThreadsInput = {
472
518
  email: string
473
519
  appId: string
520
+ accountType?: string
521
+ capabilities?: string
474
522
  accountStatus: $Enums.AccountStatus
475
523
  tokens: string
476
524
  createdAt: Date | string
@@ -500,6 +548,8 @@ export type AccountUpdateToOneWithWhereWithoutThreadsInput = {
500
548
  export type AccountUpdateWithoutThreadsInput = {
501
549
  email?: Prisma.StringFieldUpdateOperationsInput | string
502
550
  appId?: Prisma.StringFieldUpdateOperationsInput | string
551
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
552
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
503
553
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
504
554
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
505
555
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -513,6 +563,8 @@ export type AccountUpdateWithoutThreadsInput = {
513
563
  export type AccountUncheckedUpdateWithoutThreadsInput = {
514
564
  email?: Prisma.StringFieldUpdateOperationsInput | string
515
565
  appId?: Prisma.StringFieldUpdateOperationsInput | string
566
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
567
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
516
568
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
517
569
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
518
570
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -526,6 +578,8 @@ export type AccountUncheckedUpdateWithoutThreadsInput = {
526
578
  export type AccountCreateWithoutLabelsInput = {
527
579
  email: string
528
580
  appId: string
581
+ accountType?: string
582
+ capabilities?: string
529
583
  accountStatus: $Enums.AccountStatus
530
584
  tokens: string
531
585
  createdAt: Date | string
@@ -539,6 +593,8 @@ export type AccountCreateWithoutLabelsInput = {
539
593
  export type AccountUncheckedCreateWithoutLabelsInput = {
540
594
  email: string
541
595
  appId: string
596
+ accountType?: string
597
+ capabilities?: string
542
598
  accountStatus: $Enums.AccountStatus
543
599
  tokens: string
544
600
  createdAt: Date | string
@@ -568,6 +624,8 @@ export type AccountUpdateToOneWithWhereWithoutLabelsInput = {
568
624
  export type AccountUpdateWithoutLabelsInput = {
569
625
  email?: Prisma.StringFieldUpdateOperationsInput | string
570
626
  appId?: Prisma.StringFieldUpdateOperationsInput | string
627
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
628
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
571
629
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
572
630
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
573
631
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -581,6 +639,8 @@ export type AccountUpdateWithoutLabelsInput = {
581
639
  export type AccountUncheckedUpdateWithoutLabelsInput = {
582
640
  email?: Prisma.StringFieldUpdateOperationsInput | string
583
641
  appId?: Prisma.StringFieldUpdateOperationsInput | string
642
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
643
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
584
644
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
585
645
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
586
646
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -594,6 +654,8 @@ export type AccountUncheckedUpdateWithoutLabelsInput = {
594
654
  export type AccountCreateWithoutProfilesInput = {
595
655
  email: string
596
656
  appId: string
657
+ accountType?: string
658
+ capabilities?: string
597
659
  accountStatus: $Enums.AccountStatus
598
660
  tokens: string
599
661
  createdAt: Date | string
@@ -607,6 +669,8 @@ export type AccountCreateWithoutProfilesInput = {
607
669
  export type AccountUncheckedCreateWithoutProfilesInput = {
608
670
  email: string
609
671
  appId: string
672
+ accountType?: string
673
+ capabilities?: string
610
674
  accountStatus: $Enums.AccountStatus
611
675
  tokens: string
612
676
  createdAt: Date | string
@@ -636,6 +700,8 @@ export type AccountUpdateToOneWithWhereWithoutProfilesInput = {
636
700
  export type AccountUpdateWithoutProfilesInput = {
637
701
  email?: Prisma.StringFieldUpdateOperationsInput | string
638
702
  appId?: Prisma.StringFieldUpdateOperationsInput | string
703
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
704
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
639
705
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
640
706
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
641
707
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -649,6 +715,8 @@ export type AccountUpdateWithoutProfilesInput = {
649
715
  export type AccountUncheckedUpdateWithoutProfilesInput = {
650
716
  email?: Prisma.StringFieldUpdateOperationsInput | string
651
717
  appId?: Prisma.StringFieldUpdateOperationsInput | string
718
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
719
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
652
720
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
653
721
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
654
722
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -662,6 +730,8 @@ export type AccountUncheckedUpdateWithoutProfilesInput = {
662
730
  export type AccountCreateWithoutCalendarListsInput = {
663
731
  email: string
664
732
  appId: string
733
+ accountType?: string
734
+ capabilities?: string
665
735
  accountStatus: $Enums.AccountStatus
666
736
  tokens: string
667
737
  createdAt: Date | string
@@ -675,6 +745,8 @@ export type AccountCreateWithoutCalendarListsInput = {
675
745
  export type AccountUncheckedCreateWithoutCalendarListsInput = {
676
746
  email: string
677
747
  appId: string
748
+ accountType?: string
749
+ capabilities?: string
678
750
  accountStatus: $Enums.AccountStatus
679
751
  tokens: string
680
752
  createdAt: Date | string
@@ -704,6 +776,8 @@ export type AccountUpdateToOneWithWhereWithoutCalendarListsInput = {
704
776
  export type AccountUpdateWithoutCalendarListsInput = {
705
777
  email?: Prisma.StringFieldUpdateOperationsInput | string
706
778
  appId?: Prisma.StringFieldUpdateOperationsInput | string
779
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
780
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
707
781
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
708
782
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
709
783
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -717,6 +791,8 @@ export type AccountUpdateWithoutCalendarListsInput = {
717
791
  export type AccountUncheckedUpdateWithoutCalendarListsInput = {
718
792
  email?: Prisma.StringFieldUpdateOperationsInput | string
719
793
  appId?: Prisma.StringFieldUpdateOperationsInput | string
794
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
795
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
720
796
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
721
797
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
722
798
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -730,6 +806,8 @@ export type AccountUncheckedUpdateWithoutCalendarListsInput = {
730
806
  export type AccountCreateWithoutSyncStatesInput = {
731
807
  email: string
732
808
  appId: string
809
+ accountType?: string
810
+ capabilities?: string
733
811
  accountStatus: $Enums.AccountStatus
734
812
  tokens: string
735
813
  createdAt: Date | string
@@ -743,6 +821,8 @@ export type AccountCreateWithoutSyncStatesInput = {
743
821
  export type AccountUncheckedCreateWithoutSyncStatesInput = {
744
822
  email: string
745
823
  appId: string
824
+ accountType?: string
825
+ capabilities?: string
746
826
  accountStatus: $Enums.AccountStatus
747
827
  tokens: string
748
828
  createdAt: Date | string
@@ -772,6 +852,8 @@ export type AccountUpdateToOneWithWhereWithoutSyncStatesInput = {
772
852
  export type AccountUpdateWithoutSyncStatesInput = {
773
853
  email?: Prisma.StringFieldUpdateOperationsInput | string
774
854
  appId?: Prisma.StringFieldUpdateOperationsInput | string
855
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
856
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
775
857
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
776
858
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
777
859
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -785,6 +867,8 @@ export type AccountUpdateWithoutSyncStatesInput = {
785
867
  export type AccountUncheckedUpdateWithoutSyncStatesInput = {
786
868
  email?: Prisma.StringFieldUpdateOperationsInput | string
787
869
  appId?: Prisma.StringFieldUpdateOperationsInput | string
870
+ accountType?: Prisma.StringFieldUpdateOperationsInput | string
871
+ capabilities?: Prisma.StringFieldUpdateOperationsInput | string
788
872
  accountStatus?: Prisma.EnumAccountStatusFieldUpdateOperationsInput | $Enums.AccountStatus
789
873
  tokens?: Prisma.StringFieldUpdateOperationsInput | string
790
874
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
@@ -838,6 +922,8 @@ export type AccountCountOutputTypeCountSyncStatesArgs<ExtArgs extends runtime.Ty
838
922
  export type AccountSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
839
923
  email?: boolean
840
924
  appId?: boolean
925
+ accountType?: boolean
926
+ capabilities?: boolean
841
927
  accountStatus?: boolean
842
928
  tokens?: boolean
843
929
  createdAt?: boolean
@@ -853,6 +939,8 @@ export type AccountSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs
853
939
  export type AccountSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
854
940
  email?: boolean
855
941
  appId?: boolean
942
+ accountType?: boolean
943
+ capabilities?: boolean
856
944
  accountStatus?: boolean
857
945
  tokens?: boolean
858
946
  createdAt?: boolean
@@ -862,6 +950,8 @@ export type AccountSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Exten
862
950
  export type AccountSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
863
951
  email?: boolean
864
952
  appId?: boolean
953
+ accountType?: boolean
954
+ capabilities?: boolean
865
955
  accountStatus?: boolean
866
956
  tokens?: boolean
867
957
  createdAt?: boolean
@@ -871,13 +961,15 @@ export type AccountSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Exten
871
961
  export type AccountSelectScalar = {
872
962
  email?: boolean
873
963
  appId?: boolean
964
+ accountType?: boolean
965
+ capabilities?: boolean
874
966
  accountStatus?: boolean
875
967
  tokens?: boolean
876
968
  createdAt?: boolean
877
969
  updatedAt?: boolean
878
970
  }
879
971
 
880
- export type AccountOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"email" | "appId" | "accountStatus" | "tokens" | "createdAt" | "updatedAt", ExtArgs["result"]["account"]>
972
+ export type AccountOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"email" | "appId" | "accountType" | "capabilities" | "accountStatus" | "tokens" | "createdAt" | "updatedAt", ExtArgs["result"]["account"]>
881
973
  export type AccountInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
882
974
  threads?: boolean | Prisma.Account$threadsArgs<ExtArgs>
883
975
  labels?: boolean | Prisma.Account$labelsArgs<ExtArgs>
@@ -901,6 +993,8 @@ export type $AccountPayload<ExtArgs extends runtime.Types.Extensions.InternalArg
901
993
  scalars: runtime.Types.Extensions.GetPayloadResult<{
902
994
  email: string
903
995
  appId: string
996
+ accountType: string
997
+ capabilities: string
904
998
  accountStatus: $Enums.AccountStatus
905
999
  tokens: string
906
1000
  createdAt: Date
@@ -1335,6 +1429,8 @@ export interface Prisma__AccountClient<T, Null = never, ExtArgs extends runtime.
1335
1429
  export interface AccountFieldRefs {
1336
1430
  readonly email: Prisma.FieldRef<"Account", 'String'>
1337
1431
  readonly appId: Prisma.FieldRef<"Account", 'String'>
1432
+ readonly accountType: Prisma.FieldRef<"Account", 'String'>
1433
+ readonly capabilities: Prisma.FieldRef<"Account", 'String'>
1338
1434
  readonly accountStatus: Prisma.FieldRef<"Account", 'AccountStatus'>
1339
1435
  readonly tokens: Prisma.FieldRef<"Account", 'String'>
1340
1436
  readonly createdAt: Prisma.FieldRef<"Account", 'DateTime'>