@otto-assistant/bridge 0.4.92

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 (483) hide show
  1. package/bin.js +2 -0
  2. package/dist/agent-model.e2e.test.js +755 -0
  3. package/dist/ai-tool-to-genai.js +233 -0
  4. package/dist/ai-tool-to-genai.test.js +267 -0
  5. package/dist/ai-tool.js +6 -0
  6. package/dist/anthropic-auth-plugin.js +728 -0
  7. package/dist/anthropic-auth-plugin.test.js +125 -0
  8. package/dist/anthropic-auth-state.js +231 -0
  9. package/dist/bin.js +90 -0
  10. package/dist/channel-management.js +227 -0
  11. package/dist/cli-parsing.test.js +137 -0
  12. package/dist/cli-send-thread.e2e.test.js +356 -0
  13. package/dist/cli.js +3276 -0
  14. package/dist/commands/abort.js +65 -0
  15. package/dist/commands/action-buttons.js +245 -0
  16. package/dist/commands/add-project.js +113 -0
  17. package/dist/commands/agent.js +335 -0
  18. package/dist/commands/ask-question.js +274 -0
  19. package/dist/commands/btw.js +116 -0
  20. package/dist/commands/compact.js +120 -0
  21. package/dist/commands/context-usage.js +140 -0
  22. package/dist/commands/create-new-project.js +130 -0
  23. package/dist/commands/diff.js +63 -0
  24. package/dist/commands/file-upload.js +275 -0
  25. package/dist/commands/fork.js +220 -0
  26. package/dist/commands/gemini-apikey.js +70 -0
  27. package/dist/commands/login.js +885 -0
  28. package/dist/commands/mcp.js +239 -0
  29. package/dist/commands/memory-snapshot.js +24 -0
  30. package/dist/commands/mention-mode.js +44 -0
  31. package/dist/commands/merge-worktree.js +159 -0
  32. package/dist/commands/model-variant.js +364 -0
  33. package/dist/commands/model.js +776 -0
  34. package/dist/commands/new-worktree.js +366 -0
  35. package/dist/commands/paginated-select.js +57 -0
  36. package/dist/commands/permissions.js +274 -0
  37. package/dist/commands/queue.js +206 -0
  38. package/dist/commands/remove-project.js +115 -0
  39. package/dist/commands/restart-opencode-server.js +127 -0
  40. package/dist/commands/resume.js +149 -0
  41. package/dist/commands/run-command.js +79 -0
  42. package/dist/commands/screenshare.js +303 -0
  43. package/dist/commands/screenshare.test.js +20 -0
  44. package/dist/commands/session-id.js +78 -0
  45. package/dist/commands/session.js +176 -0
  46. package/dist/commands/share.js +80 -0
  47. package/dist/commands/tasks.js +205 -0
  48. package/dist/commands/types.js +2 -0
  49. package/dist/commands/undo-redo.js +305 -0
  50. package/dist/commands/unset-model.js +138 -0
  51. package/dist/commands/upgrade.js +42 -0
  52. package/dist/commands/user-command.js +155 -0
  53. package/dist/commands/verbosity.js +125 -0
  54. package/dist/commands/worktree-settings.js +43 -0
  55. package/dist/commands/worktrees.js +410 -0
  56. package/dist/condense-memory.js +33 -0
  57. package/dist/config.js +94 -0
  58. package/dist/context-awareness-plugin.js +363 -0
  59. package/dist/context-awareness-plugin.test.js +124 -0
  60. package/dist/critique-utils.js +95 -0
  61. package/dist/database.js +1310 -0
  62. package/dist/db.js +251 -0
  63. package/dist/db.test.js +138 -0
  64. package/dist/debounce-timeout.js +28 -0
  65. package/dist/debounced-process-flush.js +77 -0
  66. package/dist/discord-bot.js +1008 -0
  67. package/dist/discord-command-registration.js +524 -0
  68. package/dist/discord-urls.js +81 -0
  69. package/dist/discord-utils.js +591 -0
  70. package/dist/discord-utils.test.js +134 -0
  71. package/dist/errors.js +157 -0
  72. package/dist/escape-backticks.test.js +429 -0
  73. package/dist/event-stream-real-capture.e2e.test.js +533 -0
  74. package/dist/eventsource-parser.test.js +327 -0
  75. package/dist/exec-async.js +26 -0
  76. package/dist/external-opencode-sync.js +480 -0
  77. package/dist/format-tables.js +302 -0
  78. package/dist/format-tables.test.js +308 -0
  79. package/dist/forum-sync/config.js +79 -0
  80. package/dist/forum-sync/discord-operations.js +154 -0
  81. package/dist/forum-sync/index.js +5 -0
  82. package/dist/forum-sync/markdown.js +113 -0
  83. package/dist/forum-sync/sync-to-discord.js +417 -0
  84. package/dist/forum-sync/sync-to-files.js +190 -0
  85. package/dist/forum-sync/types.js +53 -0
  86. package/dist/forum-sync/watchers.js +307 -0
  87. package/dist/gateway-proxy-reconnect.e2e.test.js +394 -0
  88. package/dist/gateway-proxy.e2e.test.js +483 -0
  89. package/dist/genai-worker-wrapper.js +111 -0
  90. package/dist/genai-worker.js +311 -0
  91. package/dist/genai.js +232 -0
  92. package/dist/generated/browser.js +17 -0
  93. package/dist/generated/client.js +37 -0
  94. package/dist/generated/commonInputTypes.js +10 -0
  95. package/dist/generated/enums.js +52 -0
  96. package/dist/generated/internal/class.js +49 -0
  97. package/dist/generated/internal/prismaNamespace.js +253 -0
  98. package/dist/generated/internal/prismaNamespaceBrowser.js +223 -0
  99. package/dist/generated/models/bot_api_keys.js +1 -0
  100. package/dist/generated/models/bot_tokens.js +1 -0
  101. package/dist/generated/models/channel_agents.js +1 -0
  102. package/dist/generated/models/channel_directories.js +1 -0
  103. package/dist/generated/models/channel_mention_mode.js +1 -0
  104. package/dist/generated/models/channel_models.js +1 -0
  105. package/dist/generated/models/channel_verbosity.js +1 -0
  106. package/dist/generated/models/channel_worktrees.js +1 -0
  107. package/dist/generated/models/forum_sync_configs.js +1 -0
  108. package/dist/generated/models/global_models.js +1 -0
  109. package/dist/generated/models/ipc_requests.js +1 -0
  110. package/dist/generated/models/part_messages.js +1 -0
  111. package/dist/generated/models/scheduled_tasks.js +1 -0
  112. package/dist/generated/models/session_agents.js +1 -0
  113. package/dist/generated/models/session_events.js +1 -0
  114. package/dist/generated/models/session_models.js +1 -0
  115. package/dist/generated/models/session_start_sources.js +1 -0
  116. package/dist/generated/models/thread_sessions.js +1 -0
  117. package/dist/generated/models/thread_worktrees.js +1 -0
  118. package/dist/generated/models.js +1 -0
  119. package/dist/heap-monitor.js +122 -0
  120. package/dist/hrana-server.js +263 -0
  121. package/dist/hrana-server.test.js +370 -0
  122. package/dist/html-actions.js +123 -0
  123. package/dist/html-actions.test.js +70 -0
  124. package/dist/html-components.js +117 -0
  125. package/dist/html-components.test.js +34 -0
  126. package/dist/image-optimizer-plugin.js +153 -0
  127. package/dist/image-utils.js +112 -0
  128. package/dist/interaction-handler.js +397 -0
  129. package/dist/ipc-polling.js +252 -0
  130. package/dist/ipc-tools-plugin.js +193 -0
  131. package/dist/kimaki-digital-twin.e2e.test.js +161 -0
  132. package/dist/kimaki-opencode-plugin-loading.e2e.test.js +87 -0
  133. package/dist/kimaki-opencode-plugin.js +17 -0
  134. package/dist/kimaki-opencode-plugin.test.js +98 -0
  135. package/dist/limit-heading-depth.js +25 -0
  136. package/dist/limit-heading-depth.test.js +105 -0
  137. package/dist/logger.js +165 -0
  138. package/dist/markdown.js +342 -0
  139. package/dist/markdown.test.js +257 -0
  140. package/dist/message-finish-field.e2e.test.js +165 -0
  141. package/dist/message-formatting.js +413 -0
  142. package/dist/message-formatting.test.js +73 -0
  143. package/dist/message-preprocessing.js +330 -0
  144. package/dist/onboarding-tutorial.js +172 -0
  145. package/dist/onboarding-welcome.js +37 -0
  146. package/dist/openai-realtime.js +224 -0
  147. package/dist/opencode-command-detection.js +65 -0
  148. package/dist/opencode-command-detection.test.js +240 -0
  149. package/dist/opencode-command.js +129 -0
  150. package/dist/opencode-command.test.js +48 -0
  151. package/dist/opencode-interrupt-plugin.js +361 -0
  152. package/dist/opencode-interrupt-plugin.test.js +458 -0
  153. package/dist/opencode.js +861 -0
  154. package/dist/otto/branding.js +22 -0
  155. package/dist/otto/index.js +21 -0
  156. package/dist/parse-permission-rules.test.js +117 -0
  157. package/dist/patch-text-parser.js +97 -0
  158. package/dist/plugin-logger.js +59 -0
  159. package/dist/privacy-sanitizer.js +105 -0
  160. package/dist/queue-advanced-abort.e2e.test.js +293 -0
  161. package/dist/queue-advanced-action-buttons.e2e.test.js +206 -0
  162. package/dist/queue-advanced-e2e-setup.js +786 -0
  163. package/dist/queue-advanced-footer.e2e.test.js +472 -0
  164. package/dist/queue-advanced-model-switch.e2e.test.js +299 -0
  165. package/dist/queue-advanced-permissions-typing.e2e.test.js +180 -0
  166. package/dist/queue-advanced-question.e2e.test.js +261 -0
  167. package/dist/queue-advanced-typing-interrupt.e2e.test.js +114 -0
  168. package/dist/queue-advanced-typing.e2e.test.js +153 -0
  169. package/dist/queue-drain-after-interactive-ui.e2e.test.js +119 -0
  170. package/dist/queue-interrupt-drain.e2e.test.js +135 -0
  171. package/dist/queue-question-select-drain.e2e.test.js +120 -0
  172. package/dist/runtime-idle-sweeper.js +52 -0
  173. package/dist/runtime-lifecycle.e2e.test.js +508 -0
  174. package/dist/sentry.js +23 -0
  175. package/dist/session-handler/agent-utils.js +67 -0
  176. package/dist/session-handler/event-stream-state.js +420 -0
  177. package/dist/session-handler/event-stream-state.test.js +563 -0
  178. package/dist/session-handler/model-utils.js +124 -0
  179. package/dist/session-handler/opencode-session-event-log.js +94 -0
  180. package/dist/session-handler/thread-runtime-state.js +104 -0
  181. package/dist/session-handler/thread-session-runtime.js +3258 -0
  182. package/dist/session-handler.js +9 -0
  183. package/dist/session-search.js +100 -0
  184. package/dist/session-search.test.js +40 -0
  185. package/dist/session-title-rename.test.js +80 -0
  186. package/dist/startup-service.js +153 -0
  187. package/dist/startup-time.e2e.test.js +296 -0
  188. package/dist/store.js +17 -0
  189. package/dist/system-message.js +613 -0
  190. package/dist/system-message.test.js +602 -0
  191. package/dist/task-runner.js +295 -0
  192. package/dist/task-schedule.js +209 -0
  193. package/dist/task-schedule.test.js +71 -0
  194. package/dist/test-utils.js +299 -0
  195. package/dist/thinking-utils.js +35 -0
  196. package/dist/thread-message-queue.e2e.test.js +999 -0
  197. package/dist/tools.js +357 -0
  198. package/dist/undo-redo.e2e.test.js +161 -0
  199. package/dist/unnest-code-blocks.js +146 -0
  200. package/dist/unnest-code-blocks.test.js +673 -0
  201. package/dist/upgrade.js +114 -0
  202. package/dist/utils.js +144 -0
  203. package/dist/voice-attachment.js +34 -0
  204. package/dist/voice-handler.js +646 -0
  205. package/dist/voice-message.e2e.test.js +1021 -0
  206. package/dist/voice.js +447 -0
  207. package/dist/voice.test.js +235 -0
  208. package/dist/wait-session.js +94 -0
  209. package/dist/websockify.js +69 -0
  210. package/dist/worker-types.js +4 -0
  211. package/dist/worktree-lifecycle.e2e.test.js +308 -0
  212. package/dist/worktree-utils.js +3 -0
  213. package/dist/worktrees.js +929 -0
  214. package/dist/worktrees.test.js +189 -0
  215. package/dist/xml.js +92 -0
  216. package/dist/xml.test.js +32 -0
  217. package/package.json +98 -0
  218. package/schema.prisma +295 -0
  219. package/skills/batch/SKILL.md +87 -0
  220. package/skills/critique/SKILL.md +112 -0
  221. package/skills/egaki/SKILL.md +100 -0
  222. package/skills/errore/SKILL.md +647 -0
  223. package/skills/event-sourcing-state/SKILL.md +252 -0
  224. package/skills/gitchamber/SKILL.md +93 -0
  225. package/skills/goke/SKILL.md +644 -0
  226. package/skills/jitter/EDITOR.md +219 -0
  227. package/skills/jitter/EXPORT-INTERNALS.md +309 -0
  228. package/skills/jitter/SKILL.md +158 -0
  229. package/skills/jitter/jitter-clipboard.json +1042 -0
  230. package/skills/jitter/package.json +14 -0
  231. package/skills/jitter/tsconfig.json +15 -0
  232. package/skills/jitter/utils/actions.ts +212 -0
  233. package/skills/jitter/utils/export.ts +114 -0
  234. package/skills/jitter/utils/index.ts +141 -0
  235. package/skills/jitter/utils/snapshot.ts +154 -0
  236. package/skills/jitter/utils/traverse.ts +246 -0
  237. package/skills/jitter/utils/types.ts +279 -0
  238. package/skills/jitter/utils/wait.ts +133 -0
  239. package/skills/lintcn/SKILL.md +873 -0
  240. package/skills/new-skill/SKILL.md +211 -0
  241. package/skills/npm-package/SKILL.md +239 -0
  242. package/skills/playwriter/SKILL.md +35 -0
  243. package/skills/proxyman/SKILL.md +215 -0
  244. package/skills/security-review/SKILL.md +208 -0
  245. package/skills/simplify/SKILL.md +58 -0
  246. package/skills/spiceflow/SKILL.md +14 -0
  247. package/skills/termcast/SKILL.md +945 -0
  248. package/skills/tuistory/SKILL.md +250 -0
  249. package/skills/usecomputer/SKILL.md +264 -0
  250. package/skills/x-articles/SKILL.md +554 -0
  251. package/skills/zele/SKILL.md +112 -0
  252. package/skills/zustand-centralized-state/SKILL.md +1004 -0
  253. package/src/agent-model.e2e.test.ts +976 -0
  254. package/src/ai-tool-to-genai.test.ts +296 -0
  255. package/src/ai-tool-to-genai.ts +283 -0
  256. package/src/ai-tool.ts +39 -0
  257. package/src/anthropic-auth-plugin.test.ts +159 -0
  258. package/src/anthropic-auth-plugin.ts +861 -0
  259. package/src/anthropic-auth-state.ts +282 -0
  260. package/src/bin.ts +111 -0
  261. package/src/channel-management.ts +334 -0
  262. package/src/cli-parsing.test.ts +195 -0
  263. package/src/cli-send-thread.e2e.test.ts +464 -0
  264. package/src/cli.ts +4581 -0
  265. package/src/commands/abort.ts +89 -0
  266. package/src/commands/action-buttons.ts +364 -0
  267. package/src/commands/add-project.ts +149 -0
  268. package/src/commands/agent.ts +473 -0
  269. package/src/commands/ask-question.ts +390 -0
  270. package/src/commands/btw.ts +164 -0
  271. package/src/commands/compact.ts +157 -0
  272. package/src/commands/context-usage.ts +199 -0
  273. package/src/commands/create-new-project.ts +190 -0
  274. package/src/commands/diff.ts +91 -0
  275. package/src/commands/file-upload.ts +389 -0
  276. package/src/commands/fork.ts +321 -0
  277. package/src/commands/gemini-apikey.ts +104 -0
  278. package/src/commands/login.ts +1173 -0
  279. package/src/commands/mcp.ts +307 -0
  280. package/src/commands/memory-snapshot.ts +30 -0
  281. package/src/commands/mention-mode.ts +68 -0
  282. package/src/commands/merge-worktree.ts +223 -0
  283. package/src/commands/model-variant.ts +483 -0
  284. package/src/commands/model.ts +1053 -0
  285. package/src/commands/new-worktree.ts +510 -0
  286. package/src/commands/paginated-select.ts +81 -0
  287. package/src/commands/permissions.ts +397 -0
  288. package/src/commands/queue.ts +271 -0
  289. package/src/commands/remove-project.ts +155 -0
  290. package/src/commands/restart-opencode-server.ts +162 -0
  291. package/src/commands/resume.ts +230 -0
  292. package/src/commands/run-command.ts +123 -0
  293. package/src/commands/screenshare.test.ts +30 -0
  294. package/src/commands/screenshare.ts +366 -0
  295. package/src/commands/session-id.ts +109 -0
  296. package/src/commands/session.ts +227 -0
  297. package/src/commands/share.ts +106 -0
  298. package/src/commands/tasks.ts +293 -0
  299. package/src/commands/types.ts +25 -0
  300. package/src/commands/undo-redo.ts +386 -0
  301. package/src/commands/unset-model.ts +173 -0
  302. package/src/commands/upgrade.ts +52 -0
  303. package/src/commands/user-command.ts +198 -0
  304. package/src/commands/verbosity.ts +173 -0
  305. package/src/commands/worktree-settings.ts +70 -0
  306. package/src/commands/worktrees.ts +552 -0
  307. package/src/condense-memory.ts +36 -0
  308. package/src/config.ts +111 -0
  309. package/src/context-awareness-plugin.test.ts +142 -0
  310. package/src/context-awareness-plugin.ts +510 -0
  311. package/src/critique-utils.ts +139 -0
  312. package/src/database.ts +1876 -0
  313. package/src/db.test.ts +162 -0
  314. package/src/db.ts +286 -0
  315. package/src/debounce-timeout.ts +43 -0
  316. package/src/debounced-process-flush.ts +104 -0
  317. package/src/discord-bot.ts +1330 -0
  318. package/src/discord-command-registration.ts +693 -0
  319. package/src/discord-urls.ts +88 -0
  320. package/src/discord-utils.test.ts +153 -0
  321. package/src/discord-utils.ts +800 -0
  322. package/src/errors.ts +201 -0
  323. package/src/escape-backticks.test.ts +469 -0
  324. package/src/event-stream-real-capture.e2e.test.ts +692 -0
  325. package/src/eventsource-parser.test.ts +351 -0
  326. package/src/exec-async.ts +35 -0
  327. package/src/external-opencode-sync.ts +685 -0
  328. package/src/format-tables.test.ts +335 -0
  329. package/src/format-tables.ts +445 -0
  330. package/src/forum-sync/config.ts +92 -0
  331. package/src/forum-sync/discord-operations.ts +241 -0
  332. package/src/forum-sync/index.ts +9 -0
  333. package/src/forum-sync/markdown.ts +172 -0
  334. package/src/forum-sync/sync-to-discord.ts +595 -0
  335. package/src/forum-sync/sync-to-files.ts +294 -0
  336. package/src/forum-sync/types.ts +175 -0
  337. package/src/forum-sync/watchers.ts +454 -0
  338. package/src/gateway-proxy-reconnect.e2e.test.ts +523 -0
  339. package/src/gateway-proxy.e2e.test.ts +640 -0
  340. package/src/genai-worker-wrapper.ts +164 -0
  341. package/src/genai-worker.ts +386 -0
  342. package/src/genai.ts +321 -0
  343. package/src/generated/browser.ts +114 -0
  344. package/src/generated/client.ts +138 -0
  345. package/src/generated/commonInputTypes.ts +736 -0
  346. package/src/generated/enums.ts +88 -0
  347. package/src/generated/internal/class.ts +384 -0
  348. package/src/generated/internal/prismaNamespace.ts +2386 -0
  349. package/src/generated/internal/prismaNamespaceBrowser.ts +326 -0
  350. package/src/generated/models/bot_api_keys.ts +1288 -0
  351. package/src/generated/models/bot_tokens.ts +1656 -0
  352. package/src/generated/models/channel_agents.ts +1256 -0
  353. package/src/generated/models/channel_directories.ts +1859 -0
  354. package/src/generated/models/channel_mention_mode.ts +1300 -0
  355. package/src/generated/models/channel_models.ts +1288 -0
  356. package/src/generated/models/channel_verbosity.ts +1228 -0
  357. package/src/generated/models/channel_worktrees.ts +1300 -0
  358. package/src/generated/models/forum_sync_configs.ts +1452 -0
  359. package/src/generated/models/global_models.ts +1288 -0
  360. package/src/generated/models/ipc_requests.ts +1485 -0
  361. package/src/generated/models/part_messages.ts +1302 -0
  362. package/src/generated/models/scheduled_tasks.ts +2320 -0
  363. package/src/generated/models/session_agents.ts +1086 -0
  364. package/src/generated/models/session_events.ts +1439 -0
  365. package/src/generated/models/session_models.ts +1114 -0
  366. package/src/generated/models/session_start_sources.ts +1408 -0
  367. package/src/generated/models/thread_sessions.ts +1781 -0
  368. package/src/generated/models/thread_worktrees.ts +1356 -0
  369. package/src/generated/models.ts +30 -0
  370. package/src/heap-monitor.ts +152 -0
  371. package/src/hrana-server.test.ts +434 -0
  372. package/src/hrana-server.ts +314 -0
  373. package/src/html-actions.test.ts +87 -0
  374. package/src/html-actions.ts +174 -0
  375. package/src/html-components.test.ts +38 -0
  376. package/src/html-components.ts +181 -0
  377. package/src/image-optimizer-plugin.ts +194 -0
  378. package/src/image-utils.ts +149 -0
  379. package/src/interaction-handler.ts +576 -0
  380. package/src/ipc-polling.ts +326 -0
  381. package/src/ipc-tools-plugin.ts +236 -0
  382. package/src/kimaki-digital-twin.e2e.test.ts +199 -0
  383. package/src/kimaki-opencode-plugin-loading.e2e.test.ts +109 -0
  384. package/src/kimaki-opencode-plugin.test.ts +108 -0
  385. package/src/kimaki-opencode-plugin.ts +18 -0
  386. package/src/limit-heading-depth.test.ts +116 -0
  387. package/src/limit-heading-depth.ts +26 -0
  388. package/src/logger.ts +208 -0
  389. package/src/markdown.test.ts +308 -0
  390. package/src/markdown.ts +410 -0
  391. package/src/message-finish-field.e2e.test.ts +192 -0
  392. package/src/message-formatting.test.ts +81 -0
  393. package/src/message-formatting.ts +533 -0
  394. package/src/message-preprocessing.ts +455 -0
  395. package/src/onboarding-tutorial.ts +176 -0
  396. package/src/onboarding-welcome.ts +49 -0
  397. package/src/openai-realtime.ts +358 -0
  398. package/src/opencode-command-detection.test.ts +307 -0
  399. package/src/opencode-command-detection.ts +76 -0
  400. package/src/opencode-command.test.ts +70 -0
  401. package/src/opencode-command.ts +188 -0
  402. package/src/opencode-interrupt-plugin.test.ts +677 -0
  403. package/src/opencode-interrupt-plugin.ts +477 -0
  404. package/src/opencode.ts +1110 -0
  405. package/src/otto/branding.ts +23 -0
  406. package/src/otto/index.ts +22 -0
  407. package/src/parse-permission-rules.test.ts +127 -0
  408. package/src/patch-text-parser.ts +107 -0
  409. package/src/plugin-logger.ts +68 -0
  410. package/src/privacy-sanitizer.ts +142 -0
  411. package/src/queue-advanced-abort.e2e.test.ts +382 -0
  412. package/src/queue-advanced-action-buttons.e2e.test.ts +268 -0
  413. package/src/queue-advanced-e2e-setup.ts +873 -0
  414. package/src/queue-advanced-footer.e2e.test.ts +576 -0
  415. package/src/queue-advanced-model-switch.e2e.test.ts +383 -0
  416. package/src/queue-advanced-permissions-typing.e2e.test.ts +245 -0
  417. package/src/queue-advanced-question.e2e.test.ts +316 -0
  418. package/src/queue-advanced-typing-interrupt.e2e.test.ts +146 -0
  419. package/src/queue-advanced-typing.e2e.test.ts +199 -0
  420. package/src/queue-drain-after-interactive-ui.e2e.test.ts +151 -0
  421. package/src/queue-interrupt-drain.e2e.test.ts +166 -0
  422. package/src/queue-question-select-drain.e2e.test.ts +152 -0
  423. package/src/runtime-idle-sweeper.ts +76 -0
  424. package/src/runtime-lifecycle.e2e.test.ts +641 -0
  425. package/src/schema.sql +173 -0
  426. package/src/sentry.ts +26 -0
  427. package/src/session-handler/agent-utils.ts +97 -0
  428. package/src/session-handler/event-stream-fixtures/real-session-action-buttons.jsonl +45 -0
  429. package/src/session-handler/event-stream-fixtures/real-session-footer-suppressed-on-pre-idle-interrupt.jsonl +40 -0
  430. package/src/session-handler/event-stream-fixtures/real-session-permission-external-file.jsonl +23 -0
  431. package/src/session-handler/event-stream-fixtures/real-session-task-normal.jsonl +22 -0
  432. package/src/session-handler/event-stream-fixtures/real-session-task-three-parallel-sleeps.jsonl +277 -0
  433. package/src/session-handler/event-stream-fixtures/real-session-task-user-interruption.jsonl +46 -0
  434. package/src/session-handler/event-stream-fixtures/session-abort-after-idle-race.jsonl +21 -0
  435. package/src/session-handler/event-stream-fixtures/session-concurrent-messages-serialized.jsonl +56 -0
  436. package/src/session-handler/event-stream-fixtures/session-explicit-abort.jsonl +44 -0
  437. package/src/session-handler/event-stream-fixtures/session-normal-completion.jsonl +29 -0
  438. package/src/session-handler/event-stream-fixtures/session-tool-call-noisy-stream.jsonl +29 -0
  439. package/src/session-handler/event-stream-fixtures/session-two-completions-same-session.jsonl +50 -0
  440. package/src/session-handler/event-stream-fixtures/session-user-interruption.jsonl +59 -0
  441. package/src/session-handler/event-stream-fixtures/session-voice-queued-followup.jsonl +52 -0
  442. package/src/session-handler/event-stream-state.test.ts +645 -0
  443. package/src/session-handler/event-stream-state.ts +608 -0
  444. package/src/session-handler/model-utils.ts +183 -0
  445. package/src/session-handler/opencode-session-event-log.ts +130 -0
  446. package/src/session-handler/thread-runtime-state.ts +212 -0
  447. package/src/session-handler/thread-session-runtime.ts +4281 -0
  448. package/src/session-handler.ts +15 -0
  449. package/src/session-search.test.ts +50 -0
  450. package/src/session-search.ts +148 -0
  451. package/src/session-title-rename.test.ts +112 -0
  452. package/src/startup-service.ts +200 -0
  453. package/src/startup-time.e2e.test.ts +373 -0
  454. package/src/store.ts +122 -0
  455. package/src/system-message.test.ts +612 -0
  456. package/src/system-message.ts +723 -0
  457. package/src/task-runner.ts +421 -0
  458. package/src/task-schedule.test.ts +84 -0
  459. package/src/task-schedule.ts +311 -0
  460. package/src/test-utils.ts +435 -0
  461. package/src/thinking-utils.ts +61 -0
  462. package/src/thread-message-queue.e2e.test.ts +1219 -0
  463. package/src/tools.ts +430 -0
  464. package/src/undici.d.ts +12 -0
  465. package/src/undo-redo.e2e.test.ts +209 -0
  466. package/src/unnest-code-blocks.test.ts +713 -0
  467. package/src/unnest-code-blocks.ts +185 -0
  468. package/src/upgrade.ts +127 -0
  469. package/src/utils.ts +212 -0
  470. package/src/voice-attachment.ts +51 -0
  471. package/src/voice-handler.ts +908 -0
  472. package/src/voice-message.e2e.test.ts +1255 -0
  473. package/src/voice.test.ts +281 -0
  474. package/src/voice.ts +627 -0
  475. package/src/wait-session.ts +147 -0
  476. package/src/websockify.ts +101 -0
  477. package/src/worker-types.ts +64 -0
  478. package/src/worktree-lifecycle.e2e.test.ts +391 -0
  479. package/src/worktree-utils.ts +4 -0
  480. package/src/worktrees.test.ts +223 -0
  481. package/src/worktrees.ts +1294 -0
  482. package/src/xml.test.ts +38 -0
  483. package/src/xml.ts +121 -0
@@ -0,0 +1,1302 @@
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
+ * This file exports the `part_messages` model and its related types.
8
+ *
9
+ * 🟢 You can import this file directly.
10
+ */
11
+ import type * as runtime from "@prisma/client/runtime/client"
12
+ import type * as $Enums from "../enums.js"
13
+ import type * as Prisma from "../internal/prismaNamespace.js"
14
+
15
+ /**
16
+ * Model part_messages
17
+ *
18
+ */
19
+ export type part_messagesModel = runtime.Types.Result.DefaultSelection<Prisma.$part_messagesPayload>
20
+
21
+ export type AggregatePart_messages = {
22
+ _count: Part_messagesCountAggregateOutputType | null
23
+ _min: Part_messagesMinAggregateOutputType | null
24
+ _max: Part_messagesMaxAggregateOutputType | null
25
+ }
26
+
27
+ export type Part_messagesMinAggregateOutputType = {
28
+ part_id: string | null
29
+ message_id: string | null
30
+ thread_id: string | null
31
+ created_at: Date | null
32
+ }
33
+
34
+ export type Part_messagesMaxAggregateOutputType = {
35
+ part_id: string | null
36
+ message_id: string | null
37
+ thread_id: string | null
38
+ created_at: Date | null
39
+ }
40
+
41
+ export type Part_messagesCountAggregateOutputType = {
42
+ part_id: number
43
+ message_id: number
44
+ thread_id: number
45
+ created_at: number
46
+ _all: number
47
+ }
48
+
49
+
50
+ export type Part_messagesMinAggregateInputType = {
51
+ part_id?: true
52
+ message_id?: true
53
+ thread_id?: true
54
+ created_at?: true
55
+ }
56
+
57
+ export type Part_messagesMaxAggregateInputType = {
58
+ part_id?: true
59
+ message_id?: true
60
+ thread_id?: true
61
+ created_at?: true
62
+ }
63
+
64
+ export type Part_messagesCountAggregateInputType = {
65
+ part_id?: true
66
+ message_id?: true
67
+ thread_id?: true
68
+ created_at?: true
69
+ _all?: true
70
+ }
71
+
72
+ export type Part_messagesAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
73
+ /**
74
+ * Filter which part_messages to aggregate.
75
+ */
76
+ where?: Prisma.part_messagesWhereInput
77
+ /**
78
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
79
+ *
80
+ * Determine the order of part_messages to fetch.
81
+ */
82
+ orderBy?: Prisma.part_messagesOrderByWithRelationInput | Prisma.part_messagesOrderByWithRelationInput[]
83
+ /**
84
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
85
+ *
86
+ * Sets the start position
87
+ */
88
+ cursor?: Prisma.part_messagesWhereUniqueInput
89
+ /**
90
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
91
+ *
92
+ * Take `±n` part_messages from the position of the cursor.
93
+ */
94
+ take?: number
95
+ /**
96
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
97
+ *
98
+ * Skip the first `n` part_messages.
99
+ */
100
+ skip?: number
101
+ /**
102
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
103
+ *
104
+ * Count returned part_messages
105
+ **/
106
+ _count?: true | Part_messagesCountAggregateInputType
107
+ /**
108
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
109
+ *
110
+ * Select which fields to find the minimum value
111
+ **/
112
+ _min?: Part_messagesMinAggregateInputType
113
+ /**
114
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
115
+ *
116
+ * Select which fields to find the maximum value
117
+ **/
118
+ _max?: Part_messagesMaxAggregateInputType
119
+ }
120
+
121
+ export type GetPart_messagesAggregateType<T extends Part_messagesAggregateArgs> = {
122
+ [P in keyof T & keyof AggregatePart_messages]: P extends '_count' | 'count'
123
+ ? T[P] extends true
124
+ ? number
125
+ : Prisma.GetScalarType<T[P], AggregatePart_messages[P]>
126
+ : Prisma.GetScalarType<T[P], AggregatePart_messages[P]>
127
+ }
128
+
129
+
130
+
131
+
132
+ export type part_messagesGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
133
+ where?: Prisma.part_messagesWhereInput
134
+ orderBy?: Prisma.part_messagesOrderByWithAggregationInput | Prisma.part_messagesOrderByWithAggregationInput[]
135
+ by: Prisma.Part_messagesScalarFieldEnum[] | Prisma.Part_messagesScalarFieldEnum
136
+ having?: Prisma.part_messagesScalarWhereWithAggregatesInput
137
+ take?: number
138
+ skip?: number
139
+ _count?: Part_messagesCountAggregateInputType | true
140
+ _min?: Part_messagesMinAggregateInputType
141
+ _max?: Part_messagesMaxAggregateInputType
142
+ }
143
+
144
+ export type Part_messagesGroupByOutputType = {
145
+ part_id: string
146
+ message_id: string
147
+ thread_id: string
148
+ created_at: Date | null
149
+ _count: Part_messagesCountAggregateOutputType | null
150
+ _min: Part_messagesMinAggregateOutputType | null
151
+ _max: Part_messagesMaxAggregateOutputType | null
152
+ }
153
+
154
+ type GetPart_messagesGroupByPayload<T extends part_messagesGroupByArgs> = Prisma.PrismaPromise<
155
+ Array<
156
+ Prisma.PickEnumerable<Part_messagesGroupByOutputType, T['by']> &
157
+ {
158
+ [P in ((keyof T) & (keyof Part_messagesGroupByOutputType))]: P extends '_count'
159
+ ? T[P] extends boolean
160
+ ? number
161
+ : Prisma.GetScalarType<T[P], Part_messagesGroupByOutputType[P]>
162
+ : Prisma.GetScalarType<T[P], Part_messagesGroupByOutputType[P]>
163
+ }
164
+ >
165
+ >
166
+
167
+
168
+
169
+ export type part_messagesWhereInput = {
170
+ AND?: Prisma.part_messagesWhereInput | Prisma.part_messagesWhereInput[]
171
+ OR?: Prisma.part_messagesWhereInput[]
172
+ NOT?: Prisma.part_messagesWhereInput | Prisma.part_messagesWhereInput[]
173
+ part_id?: Prisma.StringFilter<"part_messages"> | string
174
+ message_id?: Prisma.StringFilter<"part_messages"> | string
175
+ thread_id?: Prisma.StringFilter<"part_messages"> | string
176
+ created_at?: Prisma.DateTimeNullableFilter<"part_messages"> | Date | string | null
177
+ thread?: Prisma.XOR<Prisma.Thread_sessionsScalarRelationFilter, Prisma.thread_sessionsWhereInput>
178
+ }
179
+
180
+ export type part_messagesOrderByWithRelationInput = {
181
+ part_id?: Prisma.SortOrder
182
+ message_id?: Prisma.SortOrder
183
+ thread_id?: Prisma.SortOrder
184
+ created_at?: Prisma.SortOrderInput | Prisma.SortOrder
185
+ thread?: Prisma.thread_sessionsOrderByWithRelationInput
186
+ }
187
+
188
+ export type part_messagesWhereUniqueInput = Prisma.AtLeast<{
189
+ part_id?: string
190
+ AND?: Prisma.part_messagesWhereInput | Prisma.part_messagesWhereInput[]
191
+ OR?: Prisma.part_messagesWhereInput[]
192
+ NOT?: Prisma.part_messagesWhereInput | Prisma.part_messagesWhereInput[]
193
+ message_id?: Prisma.StringFilter<"part_messages"> | string
194
+ thread_id?: Prisma.StringFilter<"part_messages"> | string
195
+ created_at?: Prisma.DateTimeNullableFilter<"part_messages"> | Date | string | null
196
+ thread?: Prisma.XOR<Prisma.Thread_sessionsScalarRelationFilter, Prisma.thread_sessionsWhereInput>
197
+ }, "part_id">
198
+
199
+ export type part_messagesOrderByWithAggregationInput = {
200
+ part_id?: Prisma.SortOrder
201
+ message_id?: Prisma.SortOrder
202
+ thread_id?: Prisma.SortOrder
203
+ created_at?: Prisma.SortOrderInput | Prisma.SortOrder
204
+ _count?: Prisma.part_messagesCountOrderByAggregateInput
205
+ _max?: Prisma.part_messagesMaxOrderByAggregateInput
206
+ _min?: Prisma.part_messagesMinOrderByAggregateInput
207
+ }
208
+
209
+ export type part_messagesScalarWhereWithAggregatesInput = {
210
+ AND?: Prisma.part_messagesScalarWhereWithAggregatesInput | Prisma.part_messagesScalarWhereWithAggregatesInput[]
211
+ OR?: Prisma.part_messagesScalarWhereWithAggregatesInput[]
212
+ NOT?: Prisma.part_messagesScalarWhereWithAggregatesInput | Prisma.part_messagesScalarWhereWithAggregatesInput[]
213
+ part_id?: Prisma.StringWithAggregatesFilter<"part_messages"> | string
214
+ message_id?: Prisma.StringWithAggregatesFilter<"part_messages"> | string
215
+ thread_id?: Prisma.StringWithAggregatesFilter<"part_messages"> | string
216
+ created_at?: Prisma.DateTimeNullableWithAggregatesFilter<"part_messages"> | Date | string | null
217
+ }
218
+
219
+ export type part_messagesCreateInput = {
220
+ part_id: string
221
+ message_id: string
222
+ created_at?: Date | string | null
223
+ thread: Prisma.thread_sessionsCreateNestedOneWithoutPart_messagesInput
224
+ }
225
+
226
+ export type part_messagesUncheckedCreateInput = {
227
+ part_id: string
228
+ message_id: string
229
+ thread_id: string
230
+ created_at?: Date | string | null
231
+ }
232
+
233
+ export type part_messagesUpdateInput = {
234
+ part_id?: Prisma.StringFieldUpdateOperationsInput | string
235
+ message_id?: Prisma.StringFieldUpdateOperationsInput | string
236
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
237
+ thread?: Prisma.thread_sessionsUpdateOneRequiredWithoutPart_messagesNestedInput
238
+ }
239
+
240
+ export type part_messagesUncheckedUpdateInput = {
241
+ part_id?: Prisma.StringFieldUpdateOperationsInput | string
242
+ message_id?: Prisma.StringFieldUpdateOperationsInput | string
243
+ thread_id?: Prisma.StringFieldUpdateOperationsInput | string
244
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
245
+ }
246
+
247
+ export type part_messagesCreateManyInput = {
248
+ part_id: string
249
+ message_id: string
250
+ thread_id: string
251
+ created_at?: Date | string | null
252
+ }
253
+
254
+ export type part_messagesUpdateManyMutationInput = {
255
+ part_id?: Prisma.StringFieldUpdateOperationsInput | string
256
+ message_id?: Prisma.StringFieldUpdateOperationsInput | string
257
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
258
+ }
259
+
260
+ export type part_messagesUncheckedUpdateManyInput = {
261
+ part_id?: Prisma.StringFieldUpdateOperationsInput | string
262
+ message_id?: Prisma.StringFieldUpdateOperationsInput | string
263
+ thread_id?: Prisma.StringFieldUpdateOperationsInput | string
264
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
265
+ }
266
+
267
+ export type Part_messagesListRelationFilter = {
268
+ every?: Prisma.part_messagesWhereInput
269
+ some?: Prisma.part_messagesWhereInput
270
+ none?: Prisma.part_messagesWhereInput
271
+ }
272
+
273
+ export type part_messagesOrderByRelationAggregateInput = {
274
+ _count?: Prisma.SortOrder
275
+ }
276
+
277
+ export type part_messagesCountOrderByAggregateInput = {
278
+ part_id?: Prisma.SortOrder
279
+ message_id?: Prisma.SortOrder
280
+ thread_id?: Prisma.SortOrder
281
+ created_at?: Prisma.SortOrder
282
+ }
283
+
284
+ export type part_messagesMaxOrderByAggregateInput = {
285
+ part_id?: Prisma.SortOrder
286
+ message_id?: Prisma.SortOrder
287
+ thread_id?: Prisma.SortOrder
288
+ created_at?: Prisma.SortOrder
289
+ }
290
+
291
+ export type part_messagesMinOrderByAggregateInput = {
292
+ part_id?: Prisma.SortOrder
293
+ message_id?: Prisma.SortOrder
294
+ thread_id?: Prisma.SortOrder
295
+ created_at?: Prisma.SortOrder
296
+ }
297
+
298
+ export type part_messagesCreateNestedManyWithoutThreadInput = {
299
+ create?: Prisma.XOR<Prisma.part_messagesCreateWithoutThreadInput, Prisma.part_messagesUncheckedCreateWithoutThreadInput> | Prisma.part_messagesCreateWithoutThreadInput[] | Prisma.part_messagesUncheckedCreateWithoutThreadInput[]
300
+ connectOrCreate?: Prisma.part_messagesCreateOrConnectWithoutThreadInput | Prisma.part_messagesCreateOrConnectWithoutThreadInput[]
301
+ createMany?: Prisma.part_messagesCreateManyThreadInputEnvelope
302
+ connect?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
303
+ }
304
+
305
+ export type part_messagesUncheckedCreateNestedManyWithoutThreadInput = {
306
+ create?: Prisma.XOR<Prisma.part_messagesCreateWithoutThreadInput, Prisma.part_messagesUncheckedCreateWithoutThreadInput> | Prisma.part_messagesCreateWithoutThreadInput[] | Prisma.part_messagesUncheckedCreateWithoutThreadInput[]
307
+ connectOrCreate?: Prisma.part_messagesCreateOrConnectWithoutThreadInput | Prisma.part_messagesCreateOrConnectWithoutThreadInput[]
308
+ createMany?: Prisma.part_messagesCreateManyThreadInputEnvelope
309
+ connect?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
310
+ }
311
+
312
+ export type part_messagesUpdateManyWithoutThreadNestedInput = {
313
+ create?: Prisma.XOR<Prisma.part_messagesCreateWithoutThreadInput, Prisma.part_messagesUncheckedCreateWithoutThreadInput> | Prisma.part_messagesCreateWithoutThreadInput[] | Prisma.part_messagesUncheckedCreateWithoutThreadInput[]
314
+ connectOrCreate?: Prisma.part_messagesCreateOrConnectWithoutThreadInput | Prisma.part_messagesCreateOrConnectWithoutThreadInput[]
315
+ upsert?: Prisma.part_messagesUpsertWithWhereUniqueWithoutThreadInput | Prisma.part_messagesUpsertWithWhereUniqueWithoutThreadInput[]
316
+ createMany?: Prisma.part_messagesCreateManyThreadInputEnvelope
317
+ set?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
318
+ disconnect?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
319
+ delete?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
320
+ connect?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
321
+ update?: Prisma.part_messagesUpdateWithWhereUniqueWithoutThreadInput | Prisma.part_messagesUpdateWithWhereUniqueWithoutThreadInput[]
322
+ updateMany?: Prisma.part_messagesUpdateManyWithWhereWithoutThreadInput | Prisma.part_messagesUpdateManyWithWhereWithoutThreadInput[]
323
+ deleteMany?: Prisma.part_messagesScalarWhereInput | Prisma.part_messagesScalarWhereInput[]
324
+ }
325
+
326
+ export type part_messagesUncheckedUpdateManyWithoutThreadNestedInput = {
327
+ create?: Prisma.XOR<Prisma.part_messagesCreateWithoutThreadInput, Prisma.part_messagesUncheckedCreateWithoutThreadInput> | Prisma.part_messagesCreateWithoutThreadInput[] | Prisma.part_messagesUncheckedCreateWithoutThreadInput[]
328
+ connectOrCreate?: Prisma.part_messagesCreateOrConnectWithoutThreadInput | Prisma.part_messagesCreateOrConnectWithoutThreadInput[]
329
+ upsert?: Prisma.part_messagesUpsertWithWhereUniqueWithoutThreadInput | Prisma.part_messagesUpsertWithWhereUniqueWithoutThreadInput[]
330
+ createMany?: Prisma.part_messagesCreateManyThreadInputEnvelope
331
+ set?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
332
+ disconnect?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
333
+ delete?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
334
+ connect?: Prisma.part_messagesWhereUniqueInput | Prisma.part_messagesWhereUniqueInput[]
335
+ update?: Prisma.part_messagesUpdateWithWhereUniqueWithoutThreadInput | Prisma.part_messagesUpdateWithWhereUniqueWithoutThreadInput[]
336
+ updateMany?: Prisma.part_messagesUpdateManyWithWhereWithoutThreadInput | Prisma.part_messagesUpdateManyWithWhereWithoutThreadInput[]
337
+ deleteMany?: Prisma.part_messagesScalarWhereInput | Prisma.part_messagesScalarWhereInput[]
338
+ }
339
+
340
+ export type part_messagesCreateWithoutThreadInput = {
341
+ part_id: string
342
+ message_id: string
343
+ created_at?: Date | string | null
344
+ }
345
+
346
+ export type part_messagesUncheckedCreateWithoutThreadInput = {
347
+ part_id: string
348
+ message_id: string
349
+ created_at?: Date | string | null
350
+ }
351
+
352
+ export type part_messagesCreateOrConnectWithoutThreadInput = {
353
+ where: Prisma.part_messagesWhereUniqueInput
354
+ create: Prisma.XOR<Prisma.part_messagesCreateWithoutThreadInput, Prisma.part_messagesUncheckedCreateWithoutThreadInput>
355
+ }
356
+
357
+ export type part_messagesCreateManyThreadInputEnvelope = {
358
+ data: Prisma.part_messagesCreateManyThreadInput | Prisma.part_messagesCreateManyThreadInput[]
359
+ }
360
+
361
+ export type part_messagesUpsertWithWhereUniqueWithoutThreadInput = {
362
+ where: Prisma.part_messagesWhereUniqueInput
363
+ update: Prisma.XOR<Prisma.part_messagesUpdateWithoutThreadInput, Prisma.part_messagesUncheckedUpdateWithoutThreadInput>
364
+ create: Prisma.XOR<Prisma.part_messagesCreateWithoutThreadInput, Prisma.part_messagesUncheckedCreateWithoutThreadInput>
365
+ }
366
+
367
+ export type part_messagesUpdateWithWhereUniqueWithoutThreadInput = {
368
+ where: Prisma.part_messagesWhereUniqueInput
369
+ data: Prisma.XOR<Prisma.part_messagesUpdateWithoutThreadInput, Prisma.part_messagesUncheckedUpdateWithoutThreadInput>
370
+ }
371
+
372
+ export type part_messagesUpdateManyWithWhereWithoutThreadInput = {
373
+ where: Prisma.part_messagesScalarWhereInput
374
+ data: Prisma.XOR<Prisma.part_messagesUpdateManyMutationInput, Prisma.part_messagesUncheckedUpdateManyWithoutThreadInput>
375
+ }
376
+
377
+ export type part_messagesScalarWhereInput = {
378
+ AND?: Prisma.part_messagesScalarWhereInput | Prisma.part_messagesScalarWhereInput[]
379
+ OR?: Prisma.part_messagesScalarWhereInput[]
380
+ NOT?: Prisma.part_messagesScalarWhereInput | Prisma.part_messagesScalarWhereInput[]
381
+ part_id?: Prisma.StringFilter<"part_messages"> | string
382
+ message_id?: Prisma.StringFilter<"part_messages"> | string
383
+ thread_id?: Prisma.StringFilter<"part_messages"> | string
384
+ created_at?: Prisma.DateTimeNullableFilter<"part_messages"> | Date | string | null
385
+ }
386
+
387
+ export type part_messagesCreateManyThreadInput = {
388
+ part_id: string
389
+ message_id: string
390
+ created_at?: Date | string | null
391
+ }
392
+
393
+ export type part_messagesUpdateWithoutThreadInput = {
394
+ part_id?: Prisma.StringFieldUpdateOperationsInput | string
395
+ message_id?: Prisma.StringFieldUpdateOperationsInput | string
396
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
397
+ }
398
+
399
+ export type part_messagesUncheckedUpdateWithoutThreadInput = {
400
+ part_id?: Prisma.StringFieldUpdateOperationsInput | string
401
+ message_id?: Prisma.StringFieldUpdateOperationsInput | string
402
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
403
+ }
404
+
405
+ export type part_messagesUncheckedUpdateManyWithoutThreadInput = {
406
+ part_id?: Prisma.StringFieldUpdateOperationsInput | string
407
+ message_id?: Prisma.StringFieldUpdateOperationsInput | string
408
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
409
+ }
410
+
411
+
412
+
413
+ export type part_messagesSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
414
+ part_id?: boolean
415
+ message_id?: boolean
416
+ thread_id?: boolean
417
+ created_at?: boolean
418
+ thread?: boolean | Prisma.thread_sessionsDefaultArgs<ExtArgs>
419
+ }, ExtArgs["result"]["part_messages"]>
420
+
421
+ export type part_messagesSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
422
+ part_id?: boolean
423
+ message_id?: boolean
424
+ thread_id?: boolean
425
+ created_at?: boolean
426
+ thread?: boolean | Prisma.thread_sessionsDefaultArgs<ExtArgs>
427
+ }, ExtArgs["result"]["part_messages"]>
428
+
429
+ export type part_messagesSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
430
+ part_id?: boolean
431
+ message_id?: boolean
432
+ thread_id?: boolean
433
+ created_at?: boolean
434
+ thread?: boolean | Prisma.thread_sessionsDefaultArgs<ExtArgs>
435
+ }, ExtArgs["result"]["part_messages"]>
436
+
437
+ export type part_messagesSelectScalar = {
438
+ part_id?: boolean
439
+ message_id?: boolean
440
+ thread_id?: boolean
441
+ created_at?: boolean
442
+ }
443
+
444
+ export type part_messagesOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"part_id" | "message_id" | "thread_id" | "created_at", ExtArgs["result"]["part_messages"]>
445
+ export type part_messagesInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
446
+ thread?: boolean | Prisma.thread_sessionsDefaultArgs<ExtArgs>
447
+ }
448
+ export type part_messagesIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
449
+ thread?: boolean | Prisma.thread_sessionsDefaultArgs<ExtArgs>
450
+ }
451
+ export type part_messagesIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
452
+ thread?: boolean | Prisma.thread_sessionsDefaultArgs<ExtArgs>
453
+ }
454
+
455
+ export type $part_messagesPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
456
+ name: "part_messages"
457
+ objects: {
458
+ thread: Prisma.$thread_sessionsPayload<ExtArgs>
459
+ }
460
+ scalars: runtime.Types.Extensions.GetPayloadResult<{
461
+ part_id: string
462
+ message_id: string
463
+ thread_id: string
464
+ created_at: Date | null
465
+ }, ExtArgs["result"]["part_messages"]>
466
+ composites: {}
467
+ }
468
+
469
+ export type part_messagesGetPayload<S extends boolean | null | undefined | part_messagesDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$part_messagesPayload, S>
470
+
471
+ export type part_messagesCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> =
472
+ Omit<part_messagesFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
473
+ select?: Part_messagesCountAggregateInputType | true
474
+ }
475
+
476
+ export interface part_messagesDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
477
+ [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['part_messages'], meta: { name: 'part_messages' } }
478
+ /**
479
+ * Find zero or one Part_messages that matches the filter.
480
+ * @param {part_messagesFindUniqueArgs} args - Arguments to find a Part_messages
481
+ * @example
482
+ * // Get one Part_messages
483
+ * const part_messages = await prisma.part_messages.findUnique({
484
+ * where: {
485
+ * // ... provide filter here
486
+ * }
487
+ * })
488
+ */
489
+ findUnique<T extends part_messagesFindUniqueArgs>(args: Prisma.SelectSubset<T, part_messagesFindUniqueArgs<ExtArgs>>): Prisma.Prisma__part_messagesClient<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
490
+
491
+ /**
492
+ * Find one Part_messages that matches the filter or throw an error with `error.code='P2025'`
493
+ * if no matches were found.
494
+ * @param {part_messagesFindUniqueOrThrowArgs} args - Arguments to find a Part_messages
495
+ * @example
496
+ * // Get one Part_messages
497
+ * const part_messages = await prisma.part_messages.findUniqueOrThrow({
498
+ * where: {
499
+ * // ... provide filter here
500
+ * }
501
+ * })
502
+ */
503
+ findUniqueOrThrow<T extends part_messagesFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, part_messagesFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__part_messagesClient<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
504
+
505
+ /**
506
+ * Find the first Part_messages that matches the filter.
507
+ * Note, that providing `undefined` is treated as the value not being there.
508
+ * Read more here: https://pris.ly/d/null-undefined
509
+ * @param {part_messagesFindFirstArgs} args - Arguments to find a Part_messages
510
+ * @example
511
+ * // Get one Part_messages
512
+ * const part_messages = await prisma.part_messages.findFirst({
513
+ * where: {
514
+ * // ... provide filter here
515
+ * }
516
+ * })
517
+ */
518
+ findFirst<T extends part_messagesFindFirstArgs>(args?: Prisma.SelectSubset<T, part_messagesFindFirstArgs<ExtArgs>>): Prisma.Prisma__part_messagesClient<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
519
+
520
+ /**
521
+ * Find the first Part_messages that matches the filter or
522
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
523
+ * Note, that providing `undefined` is treated as the value not being there.
524
+ * Read more here: https://pris.ly/d/null-undefined
525
+ * @param {part_messagesFindFirstOrThrowArgs} args - Arguments to find a Part_messages
526
+ * @example
527
+ * // Get one Part_messages
528
+ * const part_messages = await prisma.part_messages.findFirstOrThrow({
529
+ * where: {
530
+ * // ... provide filter here
531
+ * }
532
+ * })
533
+ */
534
+ findFirstOrThrow<T extends part_messagesFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, part_messagesFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__part_messagesClient<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
535
+
536
+ /**
537
+ * Find zero or more Part_messages that matches the filter.
538
+ * Note, that providing `undefined` is treated as the value not being there.
539
+ * Read more here: https://pris.ly/d/null-undefined
540
+ * @param {part_messagesFindManyArgs} args - Arguments to filter and select certain fields only.
541
+ * @example
542
+ * // Get all Part_messages
543
+ * const part_messages = await prisma.part_messages.findMany()
544
+ *
545
+ * // Get first 10 Part_messages
546
+ * const part_messages = await prisma.part_messages.findMany({ take: 10 })
547
+ *
548
+ * // Only select the `part_id`
549
+ * const part_messagesWithPart_idOnly = await prisma.part_messages.findMany({ select: { part_id: true } })
550
+ *
551
+ */
552
+ findMany<T extends part_messagesFindManyArgs>(args?: Prisma.SelectSubset<T, part_messagesFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
553
+
554
+ /**
555
+ * Create a Part_messages.
556
+ * @param {part_messagesCreateArgs} args - Arguments to create a Part_messages.
557
+ * @example
558
+ * // Create one Part_messages
559
+ * const Part_messages = await prisma.part_messages.create({
560
+ * data: {
561
+ * // ... data to create a Part_messages
562
+ * }
563
+ * })
564
+ *
565
+ */
566
+ create<T extends part_messagesCreateArgs>(args: Prisma.SelectSubset<T, part_messagesCreateArgs<ExtArgs>>): Prisma.Prisma__part_messagesClient<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
567
+
568
+ /**
569
+ * Create many Part_messages.
570
+ * @param {part_messagesCreateManyArgs} args - Arguments to create many Part_messages.
571
+ * @example
572
+ * // Create many Part_messages
573
+ * const part_messages = await prisma.part_messages.createMany({
574
+ * data: [
575
+ * // ... provide data here
576
+ * ]
577
+ * })
578
+ *
579
+ */
580
+ createMany<T extends part_messagesCreateManyArgs>(args?: Prisma.SelectSubset<T, part_messagesCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
581
+
582
+ /**
583
+ * Create many Part_messages and returns the data saved in the database.
584
+ * @param {part_messagesCreateManyAndReturnArgs} args - Arguments to create many Part_messages.
585
+ * @example
586
+ * // Create many Part_messages
587
+ * const part_messages = await prisma.part_messages.createManyAndReturn({
588
+ * data: [
589
+ * // ... provide data here
590
+ * ]
591
+ * })
592
+ *
593
+ * // Create many Part_messages and only return the `part_id`
594
+ * const part_messagesWithPart_idOnly = await prisma.part_messages.createManyAndReturn({
595
+ * select: { part_id: true },
596
+ * data: [
597
+ * // ... provide data here
598
+ * ]
599
+ * })
600
+ * Note, that providing `undefined` is treated as the value not being there.
601
+ * Read more here: https://pris.ly/d/null-undefined
602
+ *
603
+ */
604
+ createManyAndReturn<T extends part_messagesCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, part_messagesCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
605
+
606
+ /**
607
+ * Delete a Part_messages.
608
+ * @param {part_messagesDeleteArgs} args - Arguments to delete one Part_messages.
609
+ * @example
610
+ * // Delete one Part_messages
611
+ * const Part_messages = await prisma.part_messages.delete({
612
+ * where: {
613
+ * // ... filter to delete one Part_messages
614
+ * }
615
+ * })
616
+ *
617
+ */
618
+ delete<T extends part_messagesDeleteArgs>(args: Prisma.SelectSubset<T, part_messagesDeleteArgs<ExtArgs>>): Prisma.Prisma__part_messagesClient<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
619
+
620
+ /**
621
+ * Update one Part_messages.
622
+ * @param {part_messagesUpdateArgs} args - Arguments to update one Part_messages.
623
+ * @example
624
+ * // Update one Part_messages
625
+ * const part_messages = await prisma.part_messages.update({
626
+ * where: {
627
+ * // ... provide filter here
628
+ * },
629
+ * data: {
630
+ * // ... provide data here
631
+ * }
632
+ * })
633
+ *
634
+ */
635
+ update<T extends part_messagesUpdateArgs>(args: Prisma.SelectSubset<T, part_messagesUpdateArgs<ExtArgs>>): Prisma.Prisma__part_messagesClient<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
636
+
637
+ /**
638
+ * Delete zero or more Part_messages.
639
+ * @param {part_messagesDeleteManyArgs} args - Arguments to filter Part_messages to delete.
640
+ * @example
641
+ * // Delete a few Part_messages
642
+ * const { count } = await prisma.part_messages.deleteMany({
643
+ * where: {
644
+ * // ... provide filter here
645
+ * }
646
+ * })
647
+ *
648
+ */
649
+ deleteMany<T extends part_messagesDeleteManyArgs>(args?: Prisma.SelectSubset<T, part_messagesDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
650
+
651
+ /**
652
+ * Update zero or more Part_messages.
653
+ * Note, that providing `undefined` is treated as the value not being there.
654
+ * Read more here: https://pris.ly/d/null-undefined
655
+ * @param {part_messagesUpdateManyArgs} args - Arguments to update one or more rows.
656
+ * @example
657
+ * // Update many Part_messages
658
+ * const part_messages = await prisma.part_messages.updateMany({
659
+ * where: {
660
+ * // ... provide filter here
661
+ * },
662
+ * data: {
663
+ * // ... provide data here
664
+ * }
665
+ * })
666
+ *
667
+ */
668
+ updateMany<T extends part_messagesUpdateManyArgs>(args: Prisma.SelectSubset<T, part_messagesUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
669
+
670
+ /**
671
+ * Update zero or more Part_messages and returns the data updated in the database.
672
+ * @param {part_messagesUpdateManyAndReturnArgs} args - Arguments to update many Part_messages.
673
+ * @example
674
+ * // Update many Part_messages
675
+ * const part_messages = await prisma.part_messages.updateManyAndReturn({
676
+ * where: {
677
+ * // ... provide filter here
678
+ * },
679
+ * data: [
680
+ * // ... provide data here
681
+ * ]
682
+ * })
683
+ *
684
+ * // Update zero or more Part_messages and only return the `part_id`
685
+ * const part_messagesWithPart_idOnly = await prisma.part_messages.updateManyAndReturn({
686
+ * select: { part_id: true },
687
+ * where: {
688
+ * // ... provide filter here
689
+ * },
690
+ * data: [
691
+ * // ... provide data here
692
+ * ]
693
+ * })
694
+ * Note, that providing `undefined` is treated as the value not being there.
695
+ * Read more here: https://pris.ly/d/null-undefined
696
+ *
697
+ */
698
+ updateManyAndReturn<T extends part_messagesUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, part_messagesUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
699
+
700
+ /**
701
+ * Create or update one Part_messages.
702
+ * @param {part_messagesUpsertArgs} args - Arguments to update or create a Part_messages.
703
+ * @example
704
+ * // Update or create a Part_messages
705
+ * const part_messages = await prisma.part_messages.upsert({
706
+ * create: {
707
+ * // ... data to create a Part_messages
708
+ * },
709
+ * update: {
710
+ * // ... in case it already exists, update
711
+ * },
712
+ * where: {
713
+ * // ... the filter for the Part_messages we want to update
714
+ * }
715
+ * })
716
+ */
717
+ upsert<T extends part_messagesUpsertArgs>(args: Prisma.SelectSubset<T, part_messagesUpsertArgs<ExtArgs>>): Prisma.Prisma__part_messagesClient<runtime.Types.Result.GetResult<Prisma.$part_messagesPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
718
+
719
+
720
+ /**
721
+ * Count the number of Part_messages.
722
+ * Note, that providing `undefined` is treated as the value not being there.
723
+ * Read more here: https://pris.ly/d/null-undefined
724
+ * @param {part_messagesCountArgs} args - Arguments to filter Part_messages to count.
725
+ * @example
726
+ * // Count the number of Part_messages
727
+ * const count = await prisma.part_messages.count({
728
+ * where: {
729
+ * // ... the filter for the Part_messages we want to count
730
+ * }
731
+ * })
732
+ **/
733
+ count<T extends part_messagesCountArgs>(
734
+ args?: Prisma.Subset<T, part_messagesCountArgs>,
735
+ ): Prisma.PrismaPromise<
736
+ T extends runtime.Types.Utils.Record<'select', any>
737
+ ? T['select'] extends true
738
+ ? number
739
+ : Prisma.GetScalarType<T['select'], Part_messagesCountAggregateOutputType>
740
+ : number
741
+ >
742
+
743
+ /**
744
+ * Allows you to perform aggregations operations on a Part_messages.
745
+ * Note, that providing `undefined` is treated as the value not being there.
746
+ * Read more here: https://pris.ly/d/null-undefined
747
+ * @param {Part_messagesAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
748
+ * @example
749
+ * // Ordered by age ascending
750
+ * // Where email contains prisma.io
751
+ * // Limited to the 10 users
752
+ * const aggregations = await prisma.user.aggregate({
753
+ * _avg: {
754
+ * age: true,
755
+ * },
756
+ * where: {
757
+ * email: {
758
+ * contains: "prisma.io",
759
+ * },
760
+ * },
761
+ * orderBy: {
762
+ * age: "asc",
763
+ * },
764
+ * take: 10,
765
+ * })
766
+ **/
767
+ aggregate<T extends Part_messagesAggregateArgs>(args: Prisma.Subset<T, Part_messagesAggregateArgs>): Prisma.PrismaPromise<GetPart_messagesAggregateType<T>>
768
+
769
+ /**
770
+ * Group by Part_messages.
771
+ * Note, that providing `undefined` is treated as the value not being there.
772
+ * Read more here: https://pris.ly/d/null-undefined
773
+ * @param {part_messagesGroupByArgs} args - Group by arguments.
774
+ * @example
775
+ * // Group by city, order by createdAt, get count
776
+ * const result = await prisma.user.groupBy({
777
+ * by: ['city', 'createdAt'],
778
+ * orderBy: {
779
+ * createdAt: true
780
+ * },
781
+ * _count: {
782
+ * _all: true
783
+ * },
784
+ * })
785
+ *
786
+ **/
787
+ groupBy<
788
+ T extends part_messagesGroupByArgs,
789
+ HasSelectOrTake extends Prisma.Or<
790
+ Prisma.Extends<'skip', Prisma.Keys<T>>,
791
+ Prisma.Extends<'take', Prisma.Keys<T>>
792
+ >,
793
+ OrderByArg extends Prisma.True extends HasSelectOrTake
794
+ ? { orderBy: part_messagesGroupByArgs['orderBy'] }
795
+ : { orderBy?: part_messagesGroupByArgs['orderBy'] },
796
+ OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
797
+ ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
798
+ ByValid extends Prisma.Has<ByFields, OrderFields>,
799
+ HavingFields extends Prisma.GetHavingFields<T['having']>,
800
+ HavingValid extends Prisma.Has<ByFields, HavingFields>,
801
+ ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False,
802
+ InputErrors extends ByEmpty extends Prisma.True
803
+ ? `Error: "by" must not be empty.`
804
+ : HavingValid extends Prisma.False
805
+ ? {
806
+ [P in HavingFields]: P extends ByFields
807
+ ? never
808
+ : P extends string
809
+ ? `Error: Field "${P}" used in "having" needs to be provided in "by".`
810
+ : [
811
+ Error,
812
+ 'Field ',
813
+ P,
814
+ ` in "having" needs to be provided in "by"`,
815
+ ]
816
+ }[HavingFields]
817
+ : 'take' extends Prisma.Keys<T>
818
+ ? 'orderBy' extends Prisma.Keys<T>
819
+ ? ByValid extends Prisma.True
820
+ ? {}
821
+ : {
822
+ [P in OrderFields]: P extends ByFields
823
+ ? never
824
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
825
+ }[OrderFields]
826
+ : 'Error: If you provide "take", you also need to provide "orderBy"'
827
+ : 'skip' extends Prisma.Keys<T>
828
+ ? 'orderBy' extends Prisma.Keys<T>
829
+ ? ByValid extends Prisma.True
830
+ ? {}
831
+ : {
832
+ [P in OrderFields]: P extends ByFields
833
+ ? never
834
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
835
+ }[OrderFields]
836
+ : 'Error: If you provide "skip", you also need to provide "orderBy"'
837
+ : ByValid extends Prisma.True
838
+ ? {}
839
+ : {
840
+ [P in OrderFields]: P extends ByFields
841
+ ? never
842
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
843
+ }[OrderFields]
844
+ >(args: Prisma.SubsetIntersection<T, part_messagesGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetPart_messagesGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
845
+ /**
846
+ * Fields of the part_messages model
847
+ */
848
+ readonly fields: part_messagesFieldRefs;
849
+ }
850
+
851
+ /**
852
+ * The delegate class that acts as a "Promise-like" for part_messages.
853
+ * Why is this prefixed with `Prisma__`?
854
+ * Because we want to prevent naming conflicts as mentioned in
855
+ * https://github.com/prisma/prisma-client-js/issues/707
856
+ */
857
+ export interface Prisma__part_messagesClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
858
+ readonly [Symbol.toStringTag]: "PrismaPromise"
859
+ thread<T extends Prisma.thread_sessionsDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.thread_sessionsDefaultArgs<ExtArgs>>): Prisma.Prisma__thread_sessionsClient<runtime.Types.Result.GetResult<Prisma.$thread_sessionsPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
860
+ /**
861
+ * Attaches callbacks for the resolution and/or rejection of the Promise.
862
+ * @param onfulfilled The callback to execute when the Promise is resolved.
863
+ * @param onrejected The callback to execute when the Promise is rejected.
864
+ * @returns A Promise for the completion of which ever callback is executed.
865
+ */
866
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): runtime.Types.Utils.JsPromise<TResult1 | TResult2>
867
+ /**
868
+ * Attaches a callback for only the rejection of the Promise.
869
+ * @param onrejected The callback to execute when the Promise is rejected.
870
+ * @returns A Promise for the completion of the callback.
871
+ */
872
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>
873
+ /**
874
+ * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
875
+ * resolved value cannot be modified from the callback.
876
+ * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
877
+ * @returns A Promise for the completion of the callback.
878
+ */
879
+ finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>
880
+ }
881
+
882
+
883
+
884
+
885
+ /**
886
+ * Fields of the part_messages model
887
+ */
888
+ export interface part_messagesFieldRefs {
889
+ readonly part_id: Prisma.FieldRef<"part_messages", 'String'>
890
+ readonly message_id: Prisma.FieldRef<"part_messages", 'String'>
891
+ readonly thread_id: Prisma.FieldRef<"part_messages", 'String'>
892
+ readonly created_at: Prisma.FieldRef<"part_messages", 'DateTime'>
893
+ }
894
+
895
+
896
+ // Custom InputTypes
897
+ /**
898
+ * part_messages findUnique
899
+ */
900
+ export type part_messagesFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
901
+ /**
902
+ * Select specific fields to fetch from the part_messages
903
+ */
904
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
905
+ /**
906
+ * Omit specific fields from the part_messages
907
+ */
908
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
909
+ /**
910
+ * Choose, which related nodes to fetch as well
911
+ */
912
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
913
+ /**
914
+ * Filter, which part_messages to fetch.
915
+ */
916
+ where: Prisma.part_messagesWhereUniqueInput
917
+ }
918
+
919
+ /**
920
+ * part_messages findUniqueOrThrow
921
+ */
922
+ export type part_messagesFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
923
+ /**
924
+ * Select specific fields to fetch from the part_messages
925
+ */
926
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
927
+ /**
928
+ * Omit specific fields from the part_messages
929
+ */
930
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
931
+ /**
932
+ * Choose, which related nodes to fetch as well
933
+ */
934
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
935
+ /**
936
+ * Filter, which part_messages to fetch.
937
+ */
938
+ where: Prisma.part_messagesWhereUniqueInput
939
+ }
940
+
941
+ /**
942
+ * part_messages findFirst
943
+ */
944
+ export type part_messagesFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
945
+ /**
946
+ * Select specific fields to fetch from the part_messages
947
+ */
948
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
949
+ /**
950
+ * Omit specific fields from the part_messages
951
+ */
952
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
953
+ /**
954
+ * Choose, which related nodes to fetch as well
955
+ */
956
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
957
+ /**
958
+ * Filter, which part_messages to fetch.
959
+ */
960
+ where?: Prisma.part_messagesWhereInput
961
+ /**
962
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
963
+ *
964
+ * Determine the order of part_messages to fetch.
965
+ */
966
+ orderBy?: Prisma.part_messagesOrderByWithRelationInput | Prisma.part_messagesOrderByWithRelationInput[]
967
+ /**
968
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
969
+ *
970
+ * Sets the position for searching for part_messages.
971
+ */
972
+ cursor?: Prisma.part_messagesWhereUniqueInput
973
+ /**
974
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
975
+ *
976
+ * Take `±n` part_messages from the position of the cursor.
977
+ */
978
+ take?: number
979
+ /**
980
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
981
+ *
982
+ * Skip the first `n` part_messages.
983
+ */
984
+ skip?: number
985
+ /**
986
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
987
+ *
988
+ * Filter by unique combinations of part_messages.
989
+ */
990
+ distinct?: Prisma.Part_messagesScalarFieldEnum | Prisma.Part_messagesScalarFieldEnum[]
991
+ }
992
+
993
+ /**
994
+ * part_messages findFirstOrThrow
995
+ */
996
+ export type part_messagesFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
997
+ /**
998
+ * Select specific fields to fetch from the part_messages
999
+ */
1000
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
1001
+ /**
1002
+ * Omit specific fields from the part_messages
1003
+ */
1004
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
1005
+ /**
1006
+ * Choose, which related nodes to fetch as well
1007
+ */
1008
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
1009
+ /**
1010
+ * Filter, which part_messages to fetch.
1011
+ */
1012
+ where?: Prisma.part_messagesWhereInput
1013
+ /**
1014
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1015
+ *
1016
+ * Determine the order of part_messages to fetch.
1017
+ */
1018
+ orderBy?: Prisma.part_messagesOrderByWithRelationInput | Prisma.part_messagesOrderByWithRelationInput[]
1019
+ /**
1020
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1021
+ *
1022
+ * Sets the position for searching for part_messages.
1023
+ */
1024
+ cursor?: Prisma.part_messagesWhereUniqueInput
1025
+ /**
1026
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1027
+ *
1028
+ * Take `±n` part_messages from the position of the cursor.
1029
+ */
1030
+ take?: number
1031
+ /**
1032
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1033
+ *
1034
+ * Skip the first `n` part_messages.
1035
+ */
1036
+ skip?: number
1037
+ /**
1038
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1039
+ *
1040
+ * Filter by unique combinations of part_messages.
1041
+ */
1042
+ distinct?: Prisma.Part_messagesScalarFieldEnum | Prisma.Part_messagesScalarFieldEnum[]
1043
+ }
1044
+
1045
+ /**
1046
+ * part_messages findMany
1047
+ */
1048
+ export type part_messagesFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1049
+ /**
1050
+ * Select specific fields to fetch from the part_messages
1051
+ */
1052
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
1053
+ /**
1054
+ * Omit specific fields from the part_messages
1055
+ */
1056
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
1057
+ /**
1058
+ * Choose, which related nodes to fetch as well
1059
+ */
1060
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
1061
+ /**
1062
+ * Filter, which part_messages to fetch.
1063
+ */
1064
+ where?: Prisma.part_messagesWhereInput
1065
+ /**
1066
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1067
+ *
1068
+ * Determine the order of part_messages to fetch.
1069
+ */
1070
+ orderBy?: Prisma.part_messagesOrderByWithRelationInput | Prisma.part_messagesOrderByWithRelationInput[]
1071
+ /**
1072
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1073
+ *
1074
+ * Sets the position for listing part_messages.
1075
+ */
1076
+ cursor?: Prisma.part_messagesWhereUniqueInput
1077
+ /**
1078
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1079
+ *
1080
+ * Take `±n` part_messages from the position of the cursor.
1081
+ */
1082
+ take?: number
1083
+ /**
1084
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1085
+ *
1086
+ * Skip the first `n` part_messages.
1087
+ */
1088
+ skip?: number
1089
+ distinct?: Prisma.Part_messagesScalarFieldEnum | Prisma.Part_messagesScalarFieldEnum[]
1090
+ }
1091
+
1092
+ /**
1093
+ * part_messages create
1094
+ */
1095
+ export type part_messagesCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1096
+ /**
1097
+ * Select specific fields to fetch from the part_messages
1098
+ */
1099
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
1100
+ /**
1101
+ * Omit specific fields from the part_messages
1102
+ */
1103
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
1104
+ /**
1105
+ * Choose, which related nodes to fetch as well
1106
+ */
1107
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
1108
+ /**
1109
+ * The data needed to create a part_messages.
1110
+ */
1111
+ data: Prisma.XOR<Prisma.part_messagesCreateInput, Prisma.part_messagesUncheckedCreateInput>
1112
+ }
1113
+
1114
+ /**
1115
+ * part_messages createMany
1116
+ */
1117
+ export type part_messagesCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1118
+ /**
1119
+ * The data used to create many part_messages.
1120
+ */
1121
+ data: Prisma.part_messagesCreateManyInput | Prisma.part_messagesCreateManyInput[]
1122
+ }
1123
+
1124
+ /**
1125
+ * part_messages createManyAndReturn
1126
+ */
1127
+ export type part_messagesCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1128
+ /**
1129
+ * Select specific fields to fetch from the part_messages
1130
+ */
1131
+ select?: Prisma.part_messagesSelectCreateManyAndReturn<ExtArgs> | null
1132
+ /**
1133
+ * Omit specific fields from the part_messages
1134
+ */
1135
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
1136
+ /**
1137
+ * The data used to create many part_messages.
1138
+ */
1139
+ data: Prisma.part_messagesCreateManyInput | Prisma.part_messagesCreateManyInput[]
1140
+ /**
1141
+ * Choose, which related nodes to fetch as well
1142
+ */
1143
+ include?: Prisma.part_messagesIncludeCreateManyAndReturn<ExtArgs> | null
1144
+ }
1145
+
1146
+ /**
1147
+ * part_messages update
1148
+ */
1149
+ export type part_messagesUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1150
+ /**
1151
+ * Select specific fields to fetch from the part_messages
1152
+ */
1153
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
1154
+ /**
1155
+ * Omit specific fields from the part_messages
1156
+ */
1157
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
1158
+ /**
1159
+ * Choose, which related nodes to fetch as well
1160
+ */
1161
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
1162
+ /**
1163
+ * The data needed to update a part_messages.
1164
+ */
1165
+ data: Prisma.XOR<Prisma.part_messagesUpdateInput, Prisma.part_messagesUncheckedUpdateInput>
1166
+ /**
1167
+ * Choose, which part_messages to update.
1168
+ */
1169
+ where: Prisma.part_messagesWhereUniqueInput
1170
+ }
1171
+
1172
+ /**
1173
+ * part_messages updateMany
1174
+ */
1175
+ export type part_messagesUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1176
+ /**
1177
+ * The data used to update part_messages.
1178
+ */
1179
+ data: Prisma.XOR<Prisma.part_messagesUpdateManyMutationInput, Prisma.part_messagesUncheckedUpdateManyInput>
1180
+ /**
1181
+ * Filter which part_messages to update
1182
+ */
1183
+ where?: Prisma.part_messagesWhereInput
1184
+ /**
1185
+ * Limit how many part_messages to update.
1186
+ */
1187
+ limit?: number
1188
+ }
1189
+
1190
+ /**
1191
+ * part_messages updateManyAndReturn
1192
+ */
1193
+ export type part_messagesUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1194
+ /**
1195
+ * Select specific fields to fetch from the part_messages
1196
+ */
1197
+ select?: Prisma.part_messagesSelectUpdateManyAndReturn<ExtArgs> | null
1198
+ /**
1199
+ * Omit specific fields from the part_messages
1200
+ */
1201
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
1202
+ /**
1203
+ * The data used to update part_messages.
1204
+ */
1205
+ data: Prisma.XOR<Prisma.part_messagesUpdateManyMutationInput, Prisma.part_messagesUncheckedUpdateManyInput>
1206
+ /**
1207
+ * Filter which part_messages to update
1208
+ */
1209
+ where?: Prisma.part_messagesWhereInput
1210
+ /**
1211
+ * Limit how many part_messages to update.
1212
+ */
1213
+ limit?: number
1214
+ /**
1215
+ * Choose, which related nodes to fetch as well
1216
+ */
1217
+ include?: Prisma.part_messagesIncludeUpdateManyAndReturn<ExtArgs> | null
1218
+ }
1219
+
1220
+ /**
1221
+ * part_messages upsert
1222
+ */
1223
+ export type part_messagesUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1224
+ /**
1225
+ * Select specific fields to fetch from the part_messages
1226
+ */
1227
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
1228
+ /**
1229
+ * Omit specific fields from the part_messages
1230
+ */
1231
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
1232
+ /**
1233
+ * Choose, which related nodes to fetch as well
1234
+ */
1235
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
1236
+ /**
1237
+ * The filter to search for the part_messages to update in case it exists.
1238
+ */
1239
+ where: Prisma.part_messagesWhereUniqueInput
1240
+ /**
1241
+ * In case the part_messages found by the `where` argument doesn't exist, create a new part_messages with this data.
1242
+ */
1243
+ create: Prisma.XOR<Prisma.part_messagesCreateInput, Prisma.part_messagesUncheckedCreateInput>
1244
+ /**
1245
+ * In case the part_messages was found with the provided `where` argument, update it with this data.
1246
+ */
1247
+ update: Prisma.XOR<Prisma.part_messagesUpdateInput, Prisma.part_messagesUncheckedUpdateInput>
1248
+ }
1249
+
1250
+ /**
1251
+ * part_messages delete
1252
+ */
1253
+ export type part_messagesDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1254
+ /**
1255
+ * Select specific fields to fetch from the part_messages
1256
+ */
1257
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
1258
+ /**
1259
+ * Omit specific fields from the part_messages
1260
+ */
1261
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
1262
+ /**
1263
+ * Choose, which related nodes to fetch as well
1264
+ */
1265
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
1266
+ /**
1267
+ * Filter which part_messages to delete.
1268
+ */
1269
+ where: Prisma.part_messagesWhereUniqueInput
1270
+ }
1271
+
1272
+ /**
1273
+ * part_messages deleteMany
1274
+ */
1275
+ export type part_messagesDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1276
+ /**
1277
+ * Filter which part_messages to delete
1278
+ */
1279
+ where?: Prisma.part_messagesWhereInput
1280
+ /**
1281
+ * Limit how many part_messages to delete.
1282
+ */
1283
+ limit?: number
1284
+ }
1285
+
1286
+ /**
1287
+ * part_messages without action
1288
+ */
1289
+ export type part_messagesDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1290
+ /**
1291
+ * Select specific fields to fetch from the part_messages
1292
+ */
1293
+ select?: Prisma.part_messagesSelect<ExtArgs> | null
1294
+ /**
1295
+ * Omit specific fields from the part_messages
1296
+ */
1297
+ omit?: Prisma.part_messagesOmit<ExtArgs> | null
1298
+ /**
1299
+ * Choose, which related nodes to fetch as well
1300
+ */
1301
+ include?: Prisma.part_messagesInclude<ExtArgs> | null
1302
+ }