@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,1300 @@
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 `channel_worktrees` 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 channel_worktrees
17
+ *
18
+ */
19
+ export type channel_worktreesModel = runtime.Types.Result.DefaultSelection<Prisma.$channel_worktreesPayload>
20
+
21
+ export type AggregateChannel_worktrees = {
22
+ _count: Channel_worktreesCountAggregateOutputType | null
23
+ _avg: Channel_worktreesAvgAggregateOutputType | null
24
+ _sum: Channel_worktreesSumAggregateOutputType | null
25
+ _min: Channel_worktreesMinAggregateOutputType | null
26
+ _max: Channel_worktreesMaxAggregateOutputType | null
27
+ }
28
+
29
+ export type Channel_worktreesAvgAggregateOutputType = {
30
+ enabled: number | null
31
+ }
32
+
33
+ export type Channel_worktreesSumAggregateOutputType = {
34
+ enabled: number | null
35
+ }
36
+
37
+ export type Channel_worktreesMinAggregateOutputType = {
38
+ channel_id: string | null
39
+ enabled: number | null
40
+ created_at: Date | null
41
+ updated_at: Date | null
42
+ }
43
+
44
+ export type Channel_worktreesMaxAggregateOutputType = {
45
+ channel_id: string | null
46
+ enabled: number | null
47
+ created_at: Date | null
48
+ updated_at: Date | null
49
+ }
50
+
51
+ export type Channel_worktreesCountAggregateOutputType = {
52
+ channel_id: number
53
+ enabled: number
54
+ created_at: number
55
+ updated_at: number
56
+ _all: number
57
+ }
58
+
59
+
60
+ export type Channel_worktreesAvgAggregateInputType = {
61
+ enabled?: true
62
+ }
63
+
64
+ export type Channel_worktreesSumAggregateInputType = {
65
+ enabled?: true
66
+ }
67
+
68
+ export type Channel_worktreesMinAggregateInputType = {
69
+ channel_id?: true
70
+ enabled?: true
71
+ created_at?: true
72
+ updated_at?: true
73
+ }
74
+
75
+ export type Channel_worktreesMaxAggregateInputType = {
76
+ channel_id?: true
77
+ enabled?: true
78
+ created_at?: true
79
+ updated_at?: true
80
+ }
81
+
82
+ export type Channel_worktreesCountAggregateInputType = {
83
+ channel_id?: true
84
+ enabled?: true
85
+ created_at?: true
86
+ updated_at?: true
87
+ _all?: true
88
+ }
89
+
90
+ export type Channel_worktreesAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
91
+ /**
92
+ * Filter which channel_worktrees to aggregate.
93
+ */
94
+ where?: Prisma.channel_worktreesWhereInput
95
+ /**
96
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
97
+ *
98
+ * Determine the order of channel_worktrees to fetch.
99
+ */
100
+ orderBy?: Prisma.channel_worktreesOrderByWithRelationInput | Prisma.channel_worktreesOrderByWithRelationInput[]
101
+ /**
102
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
103
+ *
104
+ * Sets the start position
105
+ */
106
+ cursor?: Prisma.channel_worktreesWhereUniqueInput
107
+ /**
108
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
109
+ *
110
+ * Take `±n` channel_worktrees from the position of the cursor.
111
+ */
112
+ take?: number
113
+ /**
114
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
115
+ *
116
+ * Skip the first `n` channel_worktrees.
117
+ */
118
+ skip?: number
119
+ /**
120
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
121
+ *
122
+ * Count returned channel_worktrees
123
+ **/
124
+ _count?: true | Channel_worktreesCountAggregateInputType
125
+ /**
126
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
127
+ *
128
+ * Select which fields to average
129
+ **/
130
+ _avg?: Channel_worktreesAvgAggregateInputType
131
+ /**
132
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
133
+ *
134
+ * Select which fields to sum
135
+ **/
136
+ _sum?: Channel_worktreesSumAggregateInputType
137
+ /**
138
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
139
+ *
140
+ * Select which fields to find the minimum value
141
+ **/
142
+ _min?: Channel_worktreesMinAggregateInputType
143
+ /**
144
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
145
+ *
146
+ * Select which fields to find the maximum value
147
+ **/
148
+ _max?: Channel_worktreesMaxAggregateInputType
149
+ }
150
+
151
+ export type GetChannel_worktreesAggregateType<T extends Channel_worktreesAggregateArgs> = {
152
+ [P in keyof T & keyof AggregateChannel_worktrees]: P extends '_count' | 'count'
153
+ ? T[P] extends true
154
+ ? number
155
+ : Prisma.GetScalarType<T[P], AggregateChannel_worktrees[P]>
156
+ : Prisma.GetScalarType<T[P], AggregateChannel_worktrees[P]>
157
+ }
158
+
159
+
160
+
161
+
162
+ export type channel_worktreesGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
163
+ where?: Prisma.channel_worktreesWhereInput
164
+ orderBy?: Prisma.channel_worktreesOrderByWithAggregationInput | Prisma.channel_worktreesOrderByWithAggregationInput[]
165
+ by: Prisma.Channel_worktreesScalarFieldEnum[] | Prisma.Channel_worktreesScalarFieldEnum
166
+ having?: Prisma.channel_worktreesScalarWhereWithAggregatesInput
167
+ take?: number
168
+ skip?: number
169
+ _count?: Channel_worktreesCountAggregateInputType | true
170
+ _avg?: Channel_worktreesAvgAggregateInputType
171
+ _sum?: Channel_worktreesSumAggregateInputType
172
+ _min?: Channel_worktreesMinAggregateInputType
173
+ _max?: Channel_worktreesMaxAggregateInputType
174
+ }
175
+
176
+ export type Channel_worktreesGroupByOutputType = {
177
+ channel_id: string
178
+ enabled: number
179
+ created_at: Date | null
180
+ updated_at: Date | null
181
+ _count: Channel_worktreesCountAggregateOutputType | null
182
+ _avg: Channel_worktreesAvgAggregateOutputType | null
183
+ _sum: Channel_worktreesSumAggregateOutputType | null
184
+ _min: Channel_worktreesMinAggregateOutputType | null
185
+ _max: Channel_worktreesMaxAggregateOutputType | null
186
+ }
187
+
188
+ type GetChannel_worktreesGroupByPayload<T extends channel_worktreesGroupByArgs> = Prisma.PrismaPromise<
189
+ Array<
190
+ Prisma.PickEnumerable<Channel_worktreesGroupByOutputType, T['by']> &
191
+ {
192
+ [P in ((keyof T) & (keyof Channel_worktreesGroupByOutputType))]: P extends '_count'
193
+ ? T[P] extends boolean
194
+ ? number
195
+ : Prisma.GetScalarType<T[P], Channel_worktreesGroupByOutputType[P]>
196
+ : Prisma.GetScalarType<T[P], Channel_worktreesGroupByOutputType[P]>
197
+ }
198
+ >
199
+ >
200
+
201
+
202
+
203
+ export type channel_worktreesWhereInput = {
204
+ AND?: Prisma.channel_worktreesWhereInput | Prisma.channel_worktreesWhereInput[]
205
+ OR?: Prisma.channel_worktreesWhereInput[]
206
+ NOT?: Prisma.channel_worktreesWhereInput | Prisma.channel_worktreesWhereInput[]
207
+ channel_id?: Prisma.StringFilter<"channel_worktrees"> | string
208
+ enabled?: Prisma.IntFilter<"channel_worktrees"> | number
209
+ created_at?: Prisma.DateTimeNullableFilter<"channel_worktrees"> | Date | string | null
210
+ updated_at?: Prisma.DateTimeNullableFilter<"channel_worktrees"> | Date | string | null
211
+ channel?: Prisma.XOR<Prisma.Channel_directoriesScalarRelationFilter, Prisma.channel_directoriesWhereInput>
212
+ }
213
+
214
+ export type channel_worktreesOrderByWithRelationInput = {
215
+ channel_id?: Prisma.SortOrder
216
+ enabled?: Prisma.SortOrder
217
+ created_at?: Prisma.SortOrderInput | Prisma.SortOrder
218
+ updated_at?: Prisma.SortOrderInput | Prisma.SortOrder
219
+ channel?: Prisma.channel_directoriesOrderByWithRelationInput
220
+ }
221
+
222
+ export type channel_worktreesWhereUniqueInput = Prisma.AtLeast<{
223
+ channel_id?: string
224
+ AND?: Prisma.channel_worktreesWhereInput | Prisma.channel_worktreesWhereInput[]
225
+ OR?: Prisma.channel_worktreesWhereInput[]
226
+ NOT?: Prisma.channel_worktreesWhereInput | Prisma.channel_worktreesWhereInput[]
227
+ enabled?: Prisma.IntFilter<"channel_worktrees"> | number
228
+ created_at?: Prisma.DateTimeNullableFilter<"channel_worktrees"> | Date | string | null
229
+ updated_at?: Prisma.DateTimeNullableFilter<"channel_worktrees"> | Date | string | null
230
+ channel?: Prisma.XOR<Prisma.Channel_directoriesScalarRelationFilter, Prisma.channel_directoriesWhereInput>
231
+ }, "channel_id">
232
+
233
+ export type channel_worktreesOrderByWithAggregationInput = {
234
+ channel_id?: Prisma.SortOrder
235
+ enabled?: Prisma.SortOrder
236
+ created_at?: Prisma.SortOrderInput | Prisma.SortOrder
237
+ updated_at?: Prisma.SortOrderInput | Prisma.SortOrder
238
+ _count?: Prisma.channel_worktreesCountOrderByAggregateInput
239
+ _avg?: Prisma.channel_worktreesAvgOrderByAggregateInput
240
+ _max?: Prisma.channel_worktreesMaxOrderByAggregateInput
241
+ _min?: Prisma.channel_worktreesMinOrderByAggregateInput
242
+ _sum?: Prisma.channel_worktreesSumOrderByAggregateInput
243
+ }
244
+
245
+ export type channel_worktreesScalarWhereWithAggregatesInput = {
246
+ AND?: Prisma.channel_worktreesScalarWhereWithAggregatesInput | Prisma.channel_worktreesScalarWhereWithAggregatesInput[]
247
+ OR?: Prisma.channel_worktreesScalarWhereWithAggregatesInput[]
248
+ NOT?: Prisma.channel_worktreesScalarWhereWithAggregatesInput | Prisma.channel_worktreesScalarWhereWithAggregatesInput[]
249
+ channel_id?: Prisma.StringWithAggregatesFilter<"channel_worktrees"> | string
250
+ enabled?: Prisma.IntWithAggregatesFilter<"channel_worktrees"> | number
251
+ created_at?: Prisma.DateTimeNullableWithAggregatesFilter<"channel_worktrees"> | Date | string | null
252
+ updated_at?: Prisma.DateTimeNullableWithAggregatesFilter<"channel_worktrees"> | Date | string | null
253
+ }
254
+
255
+ export type channel_worktreesCreateInput = {
256
+ enabled?: number
257
+ created_at?: Date | string | null
258
+ updated_at?: Date | string | null
259
+ channel: Prisma.channel_directoriesCreateNestedOneWithoutChannel_worktreeInput
260
+ }
261
+
262
+ export type channel_worktreesUncheckedCreateInput = {
263
+ channel_id: string
264
+ enabled?: number
265
+ created_at?: Date | string | null
266
+ updated_at?: Date | string | null
267
+ }
268
+
269
+ export type channel_worktreesUpdateInput = {
270
+ enabled?: Prisma.IntFieldUpdateOperationsInput | number
271
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
272
+ updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
273
+ channel?: Prisma.channel_directoriesUpdateOneRequiredWithoutChannel_worktreeNestedInput
274
+ }
275
+
276
+ export type channel_worktreesUncheckedUpdateInput = {
277
+ channel_id?: Prisma.StringFieldUpdateOperationsInput | string
278
+ enabled?: Prisma.IntFieldUpdateOperationsInput | number
279
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
280
+ updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
281
+ }
282
+
283
+ export type channel_worktreesCreateManyInput = {
284
+ channel_id: string
285
+ enabled?: number
286
+ created_at?: Date | string | null
287
+ updated_at?: Date | string | null
288
+ }
289
+
290
+ export type channel_worktreesUpdateManyMutationInput = {
291
+ enabled?: Prisma.IntFieldUpdateOperationsInput | number
292
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
293
+ updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
294
+ }
295
+
296
+ export type channel_worktreesUncheckedUpdateManyInput = {
297
+ channel_id?: Prisma.StringFieldUpdateOperationsInput | string
298
+ enabled?: Prisma.IntFieldUpdateOperationsInput | number
299
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
300
+ updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
301
+ }
302
+
303
+ export type Channel_worktreesNullableScalarRelationFilter = {
304
+ is?: Prisma.channel_worktreesWhereInput | null
305
+ isNot?: Prisma.channel_worktreesWhereInput | null
306
+ }
307
+
308
+ export type channel_worktreesCountOrderByAggregateInput = {
309
+ channel_id?: Prisma.SortOrder
310
+ enabled?: Prisma.SortOrder
311
+ created_at?: Prisma.SortOrder
312
+ updated_at?: Prisma.SortOrder
313
+ }
314
+
315
+ export type channel_worktreesAvgOrderByAggregateInput = {
316
+ enabled?: Prisma.SortOrder
317
+ }
318
+
319
+ export type channel_worktreesMaxOrderByAggregateInput = {
320
+ channel_id?: Prisma.SortOrder
321
+ enabled?: Prisma.SortOrder
322
+ created_at?: Prisma.SortOrder
323
+ updated_at?: Prisma.SortOrder
324
+ }
325
+
326
+ export type channel_worktreesMinOrderByAggregateInput = {
327
+ channel_id?: Prisma.SortOrder
328
+ enabled?: Prisma.SortOrder
329
+ created_at?: Prisma.SortOrder
330
+ updated_at?: Prisma.SortOrder
331
+ }
332
+
333
+ export type channel_worktreesSumOrderByAggregateInput = {
334
+ enabled?: Prisma.SortOrder
335
+ }
336
+
337
+ export type channel_worktreesCreateNestedOneWithoutChannelInput = {
338
+ create?: Prisma.XOR<Prisma.channel_worktreesCreateWithoutChannelInput, Prisma.channel_worktreesUncheckedCreateWithoutChannelInput>
339
+ connectOrCreate?: Prisma.channel_worktreesCreateOrConnectWithoutChannelInput
340
+ connect?: Prisma.channel_worktreesWhereUniqueInput
341
+ }
342
+
343
+ export type channel_worktreesUncheckedCreateNestedOneWithoutChannelInput = {
344
+ create?: Prisma.XOR<Prisma.channel_worktreesCreateWithoutChannelInput, Prisma.channel_worktreesUncheckedCreateWithoutChannelInput>
345
+ connectOrCreate?: Prisma.channel_worktreesCreateOrConnectWithoutChannelInput
346
+ connect?: Prisma.channel_worktreesWhereUniqueInput
347
+ }
348
+
349
+ export type channel_worktreesUpdateOneWithoutChannelNestedInput = {
350
+ create?: Prisma.XOR<Prisma.channel_worktreesCreateWithoutChannelInput, Prisma.channel_worktreesUncheckedCreateWithoutChannelInput>
351
+ connectOrCreate?: Prisma.channel_worktreesCreateOrConnectWithoutChannelInput
352
+ upsert?: Prisma.channel_worktreesUpsertWithoutChannelInput
353
+ disconnect?: Prisma.channel_worktreesWhereInput | boolean
354
+ delete?: Prisma.channel_worktreesWhereInput | boolean
355
+ connect?: Prisma.channel_worktreesWhereUniqueInput
356
+ update?: Prisma.XOR<Prisma.XOR<Prisma.channel_worktreesUpdateToOneWithWhereWithoutChannelInput, Prisma.channel_worktreesUpdateWithoutChannelInput>, Prisma.channel_worktreesUncheckedUpdateWithoutChannelInput>
357
+ }
358
+
359
+ export type channel_worktreesUncheckedUpdateOneWithoutChannelNestedInput = {
360
+ create?: Prisma.XOR<Prisma.channel_worktreesCreateWithoutChannelInput, Prisma.channel_worktreesUncheckedCreateWithoutChannelInput>
361
+ connectOrCreate?: Prisma.channel_worktreesCreateOrConnectWithoutChannelInput
362
+ upsert?: Prisma.channel_worktreesUpsertWithoutChannelInput
363
+ disconnect?: Prisma.channel_worktreesWhereInput | boolean
364
+ delete?: Prisma.channel_worktreesWhereInput | boolean
365
+ connect?: Prisma.channel_worktreesWhereUniqueInput
366
+ update?: Prisma.XOR<Prisma.XOR<Prisma.channel_worktreesUpdateToOneWithWhereWithoutChannelInput, Prisma.channel_worktreesUpdateWithoutChannelInput>, Prisma.channel_worktreesUncheckedUpdateWithoutChannelInput>
367
+ }
368
+
369
+ export type channel_worktreesCreateWithoutChannelInput = {
370
+ enabled?: number
371
+ created_at?: Date | string | null
372
+ updated_at?: Date | string | null
373
+ }
374
+
375
+ export type channel_worktreesUncheckedCreateWithoutChannelInput = {
376
+ enabled?: number
377
+ created_at?: Date | string | null
378
+ updated_at?: Date | string | null
379
+ }
380
+
381
+ export type channel_worktreesCreateOrConnectWithoutChannelInput = {
382
+ where: Prisma.channel_worktreesWhereUniqueInput
383
+ create: Prisma.XOR<Prisma.channel_worktreesCreateWithoutChannelInput, Prisma.channel_worktreesUncheckedCreateWithoutChannelInput>
384
+ }
385
+
386
+ export type channel_worktreesUpsertWithoutChannelInput = {
387
+ update: Prisma.XOR<Prisma.channel_worktreesUpdateWithoutChannelInput, Prisma.channel_worktreesUncheckedUpdateWithoutChannelInput>
388
+ create: Prisma.XOR<Prisma.channel_worktreesCreateWithoutChannelInput, Prisma.channel_worktreesUncheckedCreateWithoutChannelInput>
389
+ where?: Prisma.channel_worktreesWhereInput
390
+ }
391
+
392
+ export type channel_worktreesUpdateToOneWithWhereWithoutChannelInput = {
393
+ where?: Prisma.channel_worktreesWhereInput
394
+ data: Prisma.XOR<Prisma.channel_worktreesUpdateWithoutChannelInput, Prisma.channel_worktreesUncheckedUpdateWithoutChannelInput>
395
+ }
396
+
397
+ export type channel_worktreesUpdateWithoutChannelInput = {
398
+ enabled?: Prisma.IntFieldUpdateOperationsInput | number
399
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
400
+ updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
401
+ }
402
+
403
+ export type channel_worktreesUncheckedUpdateWithoutChannelInput = {
404
+ enabled?: Prisma.IntFieldUpdateOperationsInput | number
405
+ created_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
406
+ updated_at?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null
407
+ }
408
+
409
+
410
+
411
+ export type channel_worktreesSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
412
+ channel_id?: boolean
413
+ enabled?: boolean
414
+ created_at?: boolean
415
+ updated_at?: boolean
416
+ channel?: boolean | Prisma.channel_directoriesDefaultArgs<ExtArgs>
417
+ }, ExtArgs["result"]["channel_worktrees"]>
418
+
419
+ export type channel_worktreesSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
420
+ channel_id?: boolean
421
+ enabled?: boolean
422
+ created_at?: boolean
423
+ updated_at?: boolean
424
+ channel?: boolean | Prisma.channel_directoriesDefaultArgs<ExtArgs>
425
+ }, ExtArgs["result"]["channel_worktrees"]>
426
+
427
+ export type channel_worktreesSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
428
+ channel_id?: boolean
429
+ enabled?: boolean
430
+ created_at?: boolean
431
+ updated_at?: boolean
432
+ channel?: boolean | Prisma.channel_directoriesDefaultArgs<ExtArgs>
433
+ }, ExtArgs["result"]["channel_worktrees"]>
434
+
435
+ export type channel_worktreesSelectScalar = {
436
+ channel_id?: boolean
437
+ enabled?: boolean
438
+ created_at?: boolean
439
+ updated_at?: boolean
440
+ }
441
+
442
+ export type channel_worktreesOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"channel_id" | "enabled" | "created_at" | "updated_at", ExtArgs["result"]["channel_worktrees"]>
443
+ export type channel_worktreesInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
444
+ channel?: boolean | Prisma.channel_directoriesDefaultArgs<ExtArgs>
445
+ }
446
+ export type channel_worktreesIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
447
+ channel?: boolean | Prisma.channel_directoriesDefaultArgs<ExtArgs>
448
+ }
449
+ export type channel_worktreesIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
450
+ channel?: boolean | Prisma.channel_directoriesDefaultArgs<ExtArgs>
451
+ }
452
+
453
+ export type $channel_worktreesPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
454
+ name: "channel_worktrees"
455
+ objects: {
456
+ channel: Prisma.$channel_directoriesPayload<ExtArgs>
457
+ }
458
+ scalars: runtime.Types.Extensions.GetPayloadResult<{
459
+ channel_id: string
460
+ enabled: number
461
+ created_at: Date | null
462
+ updated_at: Date | null
463
+ }, ExtArgs["result"]["channel_worktrees"]>
464
+ composites: {}
465
+ }
466
+
467
+ export type channel_worktreesGetPayload<S extends boolean | null | undefined | channel_worktreesDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload, S>
468
+
469
+ export type channel_worktreesCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> =
470
+ Omit<channel_worktreesFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
471
+ select?: Channel_worktreesCountAggregateInputType | true
472
+ }
473
+
474
+ export interface channel_worktreesDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
475
+ [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['channel_worktrees'], meta: { name: 'channel_worktrees' } }
476
+ /**
477
+ * Find zero or one Channel_worktrees that matches the filter.
478
+ * @param {channel_worktreesFindUniqueArgs} args - Arguments to find a Channel_worktrees
479
+ * @example
480
+ * // Get one Channel_worktrees
481
+ * const channel_worktrees = await prisma.channel_worktrees.findUnique({
482
+ * where: {
483
+ * // ... provide filter here
484
+ * }
485
+ * })
486
+ */
487
+ findUnique<T extends channel_worktreesFindUniqueArgs>(args: Prisma.SelectSubset<T, channel_worktreesFindUniqueArgs<ExtArgs>>): Prisma.Prisma__channel_worktreesClient<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
488
+
489
+ /**
490
+ * Find one Channel_worktrees that matches the filter or throw an error with `error.code='P2025'`
491
+ * if no matches were found.
492
+ * @param {channel_worktreesFindUniqueOrThrowArgs} args - Arguments to find a Channel_worktrees
493
+ * @example
494
+ * // Get one Channel_worktrees
495
+ * const channel_worktrees = await prisma.channel_worktrees.findUniqueOrThrow({
496
+ * where: {
497
+ * // ... provide filter here
498
+ * }
499
+ * })
500
+ */
501
+ findUniqueOrThrow<T extends channel_worktreesFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, channel_worktreesFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__channel_worktreesClient<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
502
+
503
+ /**
504
+ * Find the first Channel_worktrees that matches the filter.
505
+ * Note, that providing `undefined` is treated as the value not being there.
506
+ * Read more here: https://pris.ly/d/null-undefined
507
+ * @param {channel_worktreesFindFirstArgs} args - Arguments to find a Channel_worktrees
508
+ * @example
509
+ * // Get one Channel_worktrees
510
+ * const channel_worktrees = await prisma.channel_worktrees.findFirst({
511
+ * where: {
512
+ * // ... provide filter here
513
+ * }
514
+ * })
515
+ */
516
+ findFirst<T extends channel_worktreesFindFirstArgs>(args?: Prisma.SelectSubset<T, channel_worktreesFindFirstArgs<ExtArgs>>): Prisma.Prisma__channel_worktreesClient<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
517
+
518
+ /**
519
+ * Find the first Channel_worktrees that matches the filter or
520
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
521
+ * Note, that providing `undefined` is treated as the value not being there.
522
+ * Read more here: https://pris.ly/d/null-undefined
523
+ * @param {channel_worktreesFindFirstOrThrowArgs} args - Arguments to find a Channel_worktrees
524
+ * @example
525
+ * // Get one Channel_worktrees
526
+ * const channel_worktrees = await prisma.channel_worktrees.findFirstOrThrow({
527
+ * where: {
528
+ * // ... provide filter here
529
+ * }
530
+ * })
531
+ */
532
+ findFirstOrThrow<T extends channel_worktreesFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, channel_worktreesFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__channel_worktreesClient<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
533
+
534
+ /**
535
+ * Find zero or more Channel_worktrees that matches the filter.
536
+ * Note, that providing `undefined` is treated as the value not being there.
537
+ * Read more here: https://pris.ly/d/null-undefined
538
+ * @param {channel_worktreesFindManyArgs} args - Arguments to filter and select certain fields only.
539
+ * @example
540
+ * // Get all Channel_worktrees
541
+ * const channel_worktrees = await prisma.channel_worktrees.findMany()
542
+ *
543
+ * // Get first 10 Channel_worktrees
544
+ * const channel_worktrees = await prisma.channel_worktrees.findMany({ take: 10 })
545
+ *
546
+ * // Only select the `channel_id`
547
+ * const channel_worktreesWithChannel_idOnly = await prisma.channel_worktrees.findMany({ select: { channel_id: true } })
548
+ *
549
+ */
550
+ findMany<T extends channel_worktreesFindManyArgs>(args?: Prisma.SelectSubset<T, channel_worktreesFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
551
+
552
+ /**
553
+ * Create a Channel_worktrees.
554
+ * @param {channel_worktreesCreateArgs} args - Arguments to create a Channel_worktrees.
555
+ * @example
556
+ * // Create one Channel_worktrees
557
+ * const Channel_worktrees = await prisma.channel_worktrees.create({
558
+ * data: {
559
+ * // ... data to create a Channel_worktrees
560
+ * }
561
+ * })
562
+ *
563
+ */
564
+ create<T extends channel_worktreesCreateArgs>(args: Prisma.SelectSubset<T, channel_worktreesCreateArgs<ExtArgs>>): Prisma.Prisma__channel_worktreesClient<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
565
+
566
+ /**
567
+ * Create many Channel_worktrees.
568
+ * @param {channel_worktreesCreateManyArgs} args - Arguments to create many Channel_worktrees.
569
+ * @example
570
+ * // Create many Channel_worktrees
571
+ * const channel_worktrees = await prisma.channel_worktrees.createMany({
572
+ * data: [
573
+ * // ... provide data here
574
+ * ]
575
+ * })
576
+ *
577
+ */
578
+ createMany<T extends channel_worktreesCreateManyArgs>(args?: Prisma.SelectSubset<T, channel_worktreesCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
579
+
580
+ /**
581
+ * Create many Channel_worktrees and returns the data saved in the database.
582
+ * @param {channel_worktreesCreateManyAndReturnArgs} args - Arguments to create many Channel_worktrees.
583
+ * @example
584
+ * // Create many Channel_worktrees
585
+ * const channel_worktrees = await prisma.channel_worktrees.createManyAndReturn({
586
+ * data: [
587
+ * // ... provide data here
588
+ * ]
589
+ * })
590
+ *
591
+ * // Create many Channel_worktrees and only return the `channel_id`
592
+ * const channel_worktreesWithChannel_idOnly = await prisma.channel_worktrees.createManyAndReturn({
593
+ * select: { channel_id: true },
594
+ * data: [
595
+ * // ... provide data here
596
+ * ]
597
+ * })
598
+ * Note, that providing `undefined` is treated as the value not being there.
599
+ * Read more here: https://pris.ly/d/null-undefined
600
+ *
601
+ */
602
+ createManyAndReturn<T extends channel_worktreesCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, channel_worktreesCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
603
+
604
+ /**
605
+ * Delete a Channel_worktrees.
606
+ * @param {channel_worktreesDeleteArgs} args - Arguments to delete one Channel_worktrees.
607
+ * @example
608
+ * // Delete one Channel_worktrees
609
+ * const Channel_worktrees = await prisma.channel_worktrees.delete({
610
+ * where: {
611
+ * // ... filter to delete one Channel_worktrees
612
+ * }
613
+ * })
614
+ *
615
+ */
616
+ delete<T extends channel_worktreesDeleteArgs>(args: Prisma.SelectSubset<T, channel_worktreesDeleteArgs<ExtArgs>>): Prisma.Prisma__channel_worktreesClient<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
617
+
618
+ /**
619
+ * Update one Channel_worktrees.
620
+ * @param {channel_worktreesUpdateArgs} args - Arguments to update one Channel_worktrees.
621
+ * @example
622
+ * // Update one Channel_worktrees
623
+ * const channel_worktrees = await prisma.channel_worktrees.update({
624
+ * where: {
625
+ * // ... provide filter here
626
+ * },
627
+ * data: {
628
+ * // ... provide data here
629
+ * }
630
+ * })
631
+ *
632
+ */
633
+ update<T extends channel_worktreesUpdateArgs>(args: Prisma.SelectSubset<T, channel_worktreesUpdateArgs<ExtArgs>>): Prisma.Prisma__channel_worktreesClient<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
634
+
635
+ /**
636
+ * Delete zero or more Channel_worktrees.
637
+ * @param {channel_worktreesDeleteManyArgs} args - Arguments to filter Channel_worktrees to delete.
638
+ * @example
639
+ * // Delete a few Channel_worktrees
640
+ * const { count } = await prisma.channel_worktrees.deleteMany({
641
+ * where: {
642
+ * // ... provide filter here
643
+ * }
644
+ * })
645
+ *
646
+ */
647
+ deleteMany<T extends channel_worktreesDeleteManyArgs>(args?: Prisma.SelectSubset<T, channel_worktreesDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
648
+
649
+ /**
650
+ * Update zero or more Channel_worktrees.
651
+ * Note, that providing `undefined` is treated as the value not being there.
652
+ * Read more here: https://pris.ly/d/null-undefined
653
+ * @param {channel_worktreesUpdateManyArgs} args - Arguments to update one or more rows.
654
+ * @example
655
+ * // Update many Channel_worktrees
656
+ * const channel_worktrees = await prisma.channel_worktrees.updateMany({
657
+ * where: {
658
+ * // ... provide filter here
659
+ * },
660
+ * data: {
661
+ * // ... provide data here
662
+ * }
663
+ * })
664
+ *
665
+ */
666
+ updateMany<T extends channel_worktreesUpdateManyArgs>(args: Prisma.SelectSubset<T, channel_worktreesUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
667
+
668
+ /**
669
+ * Update zero or more Channel_worktrees and returns the data updated in the database.
670
+ * @param {channel_worktreesUpdateManyAndReturnArgs} args - Arguments to update many Channel_worktrees.
671
+ * @example
672
+ * // Update many Channel_worktrees
673
+ * const channel_worktrees = await prisma.channel_worktrees.updateManyAndReturn({
674
+ * where: {
675
+ * // ... provide filter here
676
+ * },
677
+ * data: [
678
+ * // ... provide data here
679
+ * ]
680
+ * })
681
+ *
682
+ * // Update zero or more Channel_worktrees and only return the `channel_id`
683
+ * const channel_worktreesWithChannel_idOnly = await prisma.channel_worktrees.updateManyAndReturn({
684
+ * select: { channel_id: true },
685
+ * where: {
686
+ * // ... provide filter here
687
+ * },
688
+ * data: [
689
+ * // ... provide data here
690
+ * ]
691
+ * })
692
+ * Note, that providing `undefined` is treated as the value not being there.
693
+ * Read more here: https://pris.ly/d/null-undefined
694
+ *
695
+ */
696
+ updateManyAndReturn<T extends channel_worktreesUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, channel_worktreesUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
697
+
698
+ /**
699
+ * Create or update one Channel_worktrees.
700
+ * @param {channel_worktreesUpsertArgs} args - Arguments to update or create a Channel_worktrees.
701
+ * @example
702
+ * // Update or create a Channel_worktrees
703
+ * const channel_worktrees = await prisma.channel_worktrees.upsert({
704
+ * create: {
705
+ * // ... data to create a Channel_worktrees
706
+ * },
707
+ * update: {
708
+ * // ... in case it already exists, update
709
+ * },
710
+ * where: {
711
+ * // ... the filter for the Channel_worktrees we want to update
712
+ * }
713
+ * })
714
+ */
715
+ upsert<T extends channel_worktreesUpsertArgs>(args: Prisma.SelectSubset<T, channel_worktreesUpsertArgs<ExtArgs>>): Prisma.Prisma__channel_worktreesClient<runtime.Types.Result.GetResult<Prisma.$channel_worktreesPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
716
+
717
+
718
+ /**
719
+ * Count the number of Channel_worktrees.
720
+ * Note, that providing `undefined` is treated as the value not being there.
721
+ * Read more here: https://pris.ly/d/null-undefined
722
+ * @param {channel_worktreesCountArgs} args - Arguments to filter Channel_worktrees to count.
723
+ * @example
724
+ * // Count the number of Channel_worktrees
725
+ * const count = await prisma.channel_worktrees.count({
726
+ * where: {
727
+ * // ... the filter for the Channel_worktrees we want to count
728
+ * }
729
+ * })
730
+ **/
731
+ count<T extends channel_worktreesCountArgs>(
732
+ args?: Prisma.Subset<T, channel_worktreesCountArgs>,
733
+ ): Prisma.PrismaPromise<
734
+ T extends runtime.Types.Utils.Record<'select', any>
735
+ ? T['select'] extends true
736
+ ? number
737
+ : Prisma.GetScalarType<T['select'], Channel_worktreesCountAggregateOutputType>
738
+ : number
739
+ >
740
+
741
+ /**
742
+ * Allows you to perform aggregations operations on a Channel_worktrees.
743
+ * Note, that providing `undefined` is treated as the value not being there.
744
+ * Read more here: https://pris.ly/d/null-undefined
745
+ * @param {Channel_worktreesAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
746
+ * @example
747
+ * // Ordered by age ascending
748
+ * // Where email contains prisma.io
749
+ * // Limited to the 10 users
750
+ * const aggregations = await prisma.user.aggregate({
751
+ * _avg: {
752
+ * age: true,
753
+ * },
754
+ * where: {
755
+ * email: {
756
+ * contains: "prisma.io",
757
+ * },
758
+ * },
759
+ * orderBy: {
760
+ * age: "asc",
761
+ * },
762
+ * take: 10,
763
+ * })
764
+ **/
765
+ aggregate<T extends Channel_worktreesAggregateArgs>(args: Prisma.Subset<T, Channel_worktreesAggregateArgs>): Prisma.PrismaPromise<GetChannel_worktreesAggregateType<T>>
766
+
767
+ /**
768
+ * Group by Channel_worktrees.
769
+ * Note, that providing `undefined` is treated as the value not being there.
770
+ * Read more here: https://pris.ly/d/null-undefined
771
+ * @param {channel_worktreesGroupByArgs} args - Group by arguments.
772
+ * @example
773
+ * // Group by city, order by createdAt, get count
774
+ * const result = await prisma.user.groupBy({
775
+ * by: ['city', 'createdAt'],
776
+ * orderBy: {
777
+ * createdAt: true
778
+ * },
779
+ * _count: {
780
+ * _all: true
781
+ * },
782
+ * })
783
+ *
784
+ **/
785
+ groupBy<
786
+ T extends channel_worktreesGroupByArgs,
787
+ HasSelectOrTake extends Prisma.Or<
788
+ Prisma.Extends<'skip', Prisma.Keys<T>>,
789
+ Prisma.Extends<'take', Prisma.Keys<T>>
790
+ >,
791
+ OrderByArg extends Prisma.True extends HasSelectOrTake
792
+ ? { orderBy: channel_worktreesGroupByArgs['orderBy'] }
793
+ : { orderBy?: channel_worktreesGroupByArgs['orderBy'] },
794
+ OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
795
+ ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
796
+ ByValid extends Prisma.Has<ByFields, OrderFields>,
797
+ HavingFields extends Prisma.GetHavingFields<T['having']>,
798
+ HavingValid extends Prisma.Has<ByFields, HavingFields>,
799
+ ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False,
800
+ InputErrors extends ByEmpty extends Prisma.True
801
+ ? `Error: "by" must not be empty.`
802
+ : HavingValid extends Prisma.False
803
+ ? {
804
+ [P in HavingFields]: P extends ByFields
805
+ ? never
806
+ : P extends string
807
+ ? `Error: Field "${P}" used in "having" needs to be provided in "by".`
808
+ : [
809
+ Error,
810
+ 'Field ',
811
+ P,
812
+ ` in "having" needs to be provided in "by"`,
813
+ ]
814
+ }[HavingFields]
815
+ : 'take' extends Prisma.Keys<T>
816
+ ? 'orderBy' extends Prisma.Keys<T>
817
+ ? ByValid extends Prisma.True
818
+ ? {}
819
+ : {
820
+ [P in OrderFields]: P extends ByFields
821
+ ? never
822
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
823
+ }[OrderFields]
824
+ : 'Error: If you provide "take", you also need to provide "orderBy"'
825
+ : 'skip' extends Prisma.Keys<T>
826
+ ? 'orderBy' extends Prisma.Keys<T>
827
+ ? ByValid extends Prisma.True
828
+ ? {}
829
+ : {
830
+ [P in OrderFields]: P extends ByFields
831
+ ? never
832
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
833
+ }[OrderFields]
834
+ : 'Error: If you provide "skip", you also need to provide "orderBy"'
835
+ : ByValid extends Prisma.True
836
+ ? {}
837
+ : {
838
+ [P in OrderFields]: P extends ByFields
839
+ ? never
840
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
841
+ }[OrderFields]
842
+ >(args: Prisma.SubsetIntersection<T, channel_worktreesGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetChannel_worktreesGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
843
+ /**
844
+ * Fields of the channel_worktrees model
845
+ */
846
+ readonly fields: channel_worktreesFieldRefs;
847
+ }
848
+
849
+ /**
850
+ * The delegate class that acts as a "Promise-like" for channel_worktrees.
851
+ * Why is this prefixed with `Prisma__`?
852
+ * Because we want to prevent naming conflicts as mentioned in
853
+ * https://github.com/prisma/prisma-client-js/issues/707
854
+ */
855
+ export interface Prisma__channel_worktreesClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
856
+ readonly [Symbol.toStringTag]: "PrismaPromise"
857
+ channel<T extends Prisma.channel_directoriesDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.channel_directoriesDefaultArgs<ExtArgs>>): Prisma.Prisma__channel_directoriesClient<runtime.Types.Result.GetResult<Prisma.$channel_directoriesPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
858
+ /**
859
+ * Attaches callbacks for the resolution and/or rejection of the Promise.
860
+ * @param onfulfilled The callback to execute when the Promise is resolved.
861
+ * @param onrejected The callback to execute when the Promise is rejected.
862
+ * @returns A Promise for the completion of which ever callback is executed.
863
+ */
864
+ 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>
865
+ /**
866
+ * Attaches a callback for only the rejection of the Promise.
867
+ * @param onrejected The callback to execute when the Promise is rejected.
868
+ * @returns A Promise for the completion of the callback.
869
+ */
870
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>
871
+ /**
872
+ * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
873
+ * resolved value cannot be modified from the callback.
874
+ * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
875
+ * @returns A Promise for the completion of the callback.
876
+ */
877
+ finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>
878
+ }
879
+
880
+
881
+
882
+
883
+ /**
884
+ * Fields of the channel_worktrees model
885
+ */
886
+ export interface channel_worktreesFieldRefs {
887
+ readonly channel_id: Prisma.FieldRef<"channel_worktrees", 'String'>
888
+ readonly enabled: Prisma.FieldRef<"channel_worktrees", 'Int'>
889
+ readonly created_at: Prisma.FieldRef<"channel_worktrees", 'DateTime'>
890
+ readonly updated_at: Prisma.FieldRef<"channel_worktrees", 'DateTime'>
891
+ }
892
+
893
+
894
+ // Custom InputTypes
895
+ /**
896
+ * channel_worktrees findUnique
897
+ */
898
+ export type channel_worktreesFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
899
+ /**
900
+ * Select specific fields to fetch from the channel_worktrees
901
+ */
902
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
903
+ /**
904
+ * Omit specific fields from the channel_worktrees
905
+ */
906
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
907
+ /**
908
+ * Choose, which related nodes to fetch as well
909
+ */
910
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
911
+ /**
912
+ * Filter, which channel_worktrees to fetch.
913
+ */
914
+ where: Prisma.channel_worktreesWhereUniqueInput
915
+ }
916
+
917
+ /**
918
+ * channel_worktrees findUniqueOrThrow
919
+ */
920
+ export type channel_worktreesFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
921
+ /**
922
+ * Select specific fields to fetch from the channel_worktrees
923
+ */
924
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
925
+ /**
926
+ * Omit specific fields from the channel_worktrees
927
+ */
928
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
929
+ /**
930
+ * Choose, which related nodes to fetch as well
931
+ */
932
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
933
+ /**
934
+ * Filter, which channel_worktrees to fetch.
935
+ */
936
+ where: Prisma.channel_worktreesWhereUniqueInput
937
+ }
938
+
939
+ /**
940
+ * channel_worktrees findFirst
941
+ */
942
+ export type channel_worktreesFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
943
+ /**
944
+ * Select specific fields to fetch from the channel_worktrees
945
+ */
946
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
947
+ /**
948
+ * Omit specific fields from the channel_worktrees
949
+ */
950
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
951
+ /**
952
+ * Choose, which related nodes to fetch as well
953
+ */
954
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
955
+ /**
956
+ * Filter, which channel_worktrees to fetch.
957
+ */
958
+ where?: Prisma.channel_worktreesWhereInput
959
+ /**
960
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
961
+ *
962
+ * Determine the order of channel_worktrees to fetch.
963
+ */
964
+ orderBy?: Prisma.channel_worktreesOrderByWithRelationInput | Prisma.channel_worktreesOrderByWithRelationInput[]
965
+ /**
966
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
967
+ *
968
+ * Sets the position for searching for channel_worktrees.
969
+ */
970
+ cursor?: Prisma.channel_worktreesWhereUniqueInput
971
+ /**
972
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
973
+ *
974
+ * Take `±n` channel_worktrees from the position of the cursor.
975
+ */
976
+ take?: number
977
+ /**
978
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
979
+ *
980
+ * Skip the first `n` channel_worktrees.
981
+ */
982
+ skip?: number
983
+ /**
984
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
985
+ *
986
+ * Filter by unique combinations of channel_worktrees.
987
+ */
988
+ distinct?: Prisma.Channel_worktreesScalarFieldEnum | Prisma.Channel_worktreesScalarFieldEnum[]
989
+ }
990
+
991
+ /**
992
+ * channel_worktrees findFirstOrThrow
993
+ */
994
+ export type channel_worktreesFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
995
+ /**
996
+ * Select specific fields to fetch from the channel_worktrees
997
+ */
998
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
999
+ /**
1000
+ * Omit specific fields from the channel_worktrees
1001
+ */
1002
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
1003
+ /**
1004
+ * Choose, which related nodes to fetch as well
1005
+ */
1006
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
1007
+ /**
1008
+ * Filter, which channel_worktrees to fetch.
1009
+ */
1010
+ where?: Prisma.channel_worktreesWhereInput
1011
+ /**
1012
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1013
+ *
1014
+ * Determine the order of channel_worktrees to fetch.
1015
+ */
1016
+ orderBy?: Prisma.channel_worktreesOrderByWithRelationInput | Prisma.channel_worktreesOrderByWithRelationInput[]
1017
+ /**
1018
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1019
+ *
1020
+ * Sets the position for searching for channel_worktrees.
1021
+ */
1022
+ cursor?: Prisma.channel_worktreesWhereUniqueInput
1023
+ /**
1024
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1025
+ *
1026
+ * Take `±n` channel_worktrees from the position of the cursor.
1027
+ */
1028
+ take?: number
1029
+ /**
1030
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1031
+ *
1032
+ * Skip the first `n` channel_worktrees.
1033
+ */
1034
+ skip?: number
1035
+ /**
1036
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1037
+ *
1038
+ * Filter by unique combinations of channel_worktrees.
1039
+ */
1040
+ distinct?: Prisma.Channel_worktreesScalarFieldEnum | Prisma.Channel_worktreesScalarFieldEnum[]
1041
+ }
1042
+
1043
+ /**
1044
+ * channel_worktrees findMany
1045
+ */
1046
+ export type channel_worktreesFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1047
+ /**
1048
+ * Select specific fields to fetch from the channel_worktrees
1049
+ */
1050
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
1051
+ /**
1052
+ * Omit specific fields from the channel_worktrees
1053
+ */
1054
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
1055
+ /**
1056
+ * Choose, which related nodes to fetch as well
1057
+ */
1058
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
1059
+ /**
1060
+ * Filter, which channel_worktrees to fetch.
1061
+ */
1062
+ where?: Prisma.channel_worktreesWhereInput
1063
+ /**
1064
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1065
+ *
1066
+ * Determine the order of channel_worktrees to fetch.
1067
+ */
1068
+ orderBy?: Prisma.channel_worktreesOrderByWithRelationInput | Prisma.channel_worktreesOrderByWithRelationInput[]
1069
+ /**
1070
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1071
+ *
1072
+ * Sets the position for listing channel_worktrees.
1073
+ */
1074
+ cursor?: Prisma.channel_worktreesWhereUniqueInput
1075
+ /**
1076
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1077
+ *
1078
+ * Take `±n` channel_worktrees from the position of the cursor.
1079
+ */
1080
+ take?: number
1081
+ /**
1082
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1083
+ *
1084
+ * Skip the first `n` channel_worktrees.
1085
+ */
1086
+ skip?: number
1087
+ distinct?: Prisma.Channel_worktreesScalarFieldEnum | Prisma.Channel_worktreesScalarFieldEnum[]
1088
+ }
1089
+
1090
+ /**
1091
+ * channel_worktrees create
1092
+ */
1093
+ export type channel_worktreesCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1094
+ /**
1095
+ * Select specific fields to fetch from the channel_worktrees
1096
+ */
1097
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
1098
+ /**
1099
+ * Omit specific fields from the channel_worktrees
1100
+ */
1101
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
1102
+ /**
1103
+ * Choose, which related nodes to fetch as well
1104
+ */
1105
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
1106
+ /**
1107
+ * The data needed to create a channel_worktrees.
1108
+ */
1109
+ data: Prisma.XOR<Prisma.channel_worktreesCreateInput, Prisma.channel_worktreesUncheckedCreateInput>
1110
+ }
1111
+
1112
+ /**
1113
+ * channel_worktrees createMany
1114
+ */
1115
+ export type channel_worktreesCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1116
+ /**
1117
+ * The data used to create many channel_worktrees.
1118
+ */
1119
+ data: Prisma.channel_worktreesCreateManyInput | Prisma.channel_worktreesCreateManyInput[]
1120
+ }
1121
+
1122
+ /**
1123
+ * channel_worktrees createManyAndReturn
1124
+ */
1125
+ export type channel_worktreesCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1126
+ /**
1127
+ * Select specific fields to fetch from the channel_worktrees
1128
+ */
1129
+ select?: Prisma.channel_worktreesSelectCreateManyAndReturn<ExtArgs> | null
1130
+ /**
1131
+ * Omit specific fields from the channel_worktrees
1132
+ */
1133
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
1134
+ /**
1135
+ * The data used to create many channel_worktrees.
1136
+ */
1137
+ data: Prisma.channel_worktreesCreateManyInput | Prisma.channel_worktreesCreateManyInput[]
1138
+ /**
1139
+ * Choose, which related nodes to fetch as well
1140
+ */
1141
+ include?: Prisma.channel_worktreesIncludeCreateManyAndReturn<ExtArgs> | null
1142
+ }
1143
+
1144
+ /**
1145
+ * channel_worktrees update
1146
+ */
1147
+ export type channel_worktreesUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1148
+ /**
1149
+ * Select specific fields to fetch from the channel_worktrees
1150
+ */
1151
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
1152
+ /**
1153
+ * Omit specific fields from the channel_worktrees
1154
+ */
1155
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
1156
+ /**
1157
+ * Choose, which related nodes to fetch as well
1158
+ */
1159
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
1160
+ /**
1161
+ * The data needed to update a channel_worktrees.
1162
+ */
1163
+ data: Prisma.XOR<Prisma.channel_worktreesUpdateInput, Prisma.channel_worktreesUncheckedUpdateInput>
1164
+ /**
1165
+ * Choose, which channel_worktrees to update.
1166
+ */
1167
+ where: Prisma.channel_worktreesWhereUniqueInput
1168
+ }
1169
+
1170
+ /**
1171
+ * channel_worktrees updateMany
1172
+ */
1173
+ export type channel_worktreesUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1174
+ /**
1175
+ * The data used to update channel_worktrees.
1176
+ */
1177
+ data: Prisma.XOR<Prisma.channel_worktreesUpdateManyMutationInput, Prisma.channel_worktreesUncheckedUpdateManyInput>
1178
+ /**
1179
+ * Filter which channel_worktrees to update
1180
+ */
1181
+ where?: Prisma.channel_worktreesWhereInput
1182
+ /**
1183
+ * Limit how many channel_worktrees to update.
1184
+ */
1185
+ limit?: number
1186
+ }
1187
+
1188
+ /**
1189
+ * channel_worktrees updateManyAndReturn
1190
+ */
1191
+ export type channel_worktreesUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1192
+ /**
1193
+ * Select specific fields to fetch from the channel_worktrees
1194
+ */
1195
+ select?: Prisma.channel_worktreesSelectUpdateManyAndReturn<ExtArgs> | null
1196
+ /**
1197
+ * Omit specific fields from the channel_worktrees
1198
+ */
1199
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
1200
+ /**
1201
+ * The data used to update channel_worktrees.
1202
+ */
1203
+ data: Prisma.XOR<Prisma.channel_worktreesUpdateManyMutationInput, Prisma.channel_worktreesUncheckedUpdateManyInput>
1204
+ /**
1205
+ * Filter which channel_worktrees to update
1206
+ */
1207
+ where?: Prisma.channel_worktreesWhereInput
1208
+ /**
1209
+ * Limit how many channel_worktrees to update.
1210
+ */
1211
+ limit?: number
1212
+ /**
1213
+ * Choose, which related nodes to fetch as well
1214
+ */
1215
+ include?: Prisma.channel_worktreesIncludeUpdateManyAndReturn<ExtArgs> | null
1216
+ }
1217
+
1218
+ /**
1219
+ * channel_worktrees upsert
1220
+ */
1221
+ export type channel_worktreesUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1222
+ /**
1223
+ * Select specific fields to fetch from the channel_worktrees
1224
+ */
1225
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
1226
+ /**
1227
+ * Omit specific fields from the channel_worktrees
1228
+ */
1229
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
1230
+ /**
1231
+ * Choose, which related nodes to fetch as well
1232
+ */
1233
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
1234
+ /**
1235
+ * The filter to search for the channel_worktrees to update in case it exists.
1236
+ */
1237
+ where: Prisma.channel_worktreesWhereUniqueInput
1238
+ /**
1239
+ * In case the channel_worktrees found by the `where` argument doesn't exist, create a new channel_worktrees with this data.
1240
+ */
1241
+ create: Prisma.XOR<Prisma.channel_worktreesCreateInput, Prisma.channel_worktreesUncheckedCreateInput>
1242
+ /**
1243
+ * In case the channel_worktrees was found with the provided `where` argument, update it with this data.
1244
+ */
1245
+ update: Prisma.XOR<Prisma.channel_worktreesUpdateInput, Prisma.channel_worktreesUncheckedUpdateInput>
1246
+ }
1247
+
1248
+ /**
1249
+ * channel_worktrees delete
1250
+ */
1251
+ export type channel_worktreesDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1252
+ /**
1253
+ * Select specific fields to fetch from the channel_worktrees
1254
+ */
1255
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
1256
+ /**
1257
+ * Omit specific fields from the channel_worktrees
1258
+ */
1259
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
1260
+ /**
1261
+ * Choose, which related nodes to fetch as well
1262
+ */
1263
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
1264
+ /**
1265
+ * Filter which channel_worktrees to delete.
1266
+ */
1267
+ where: Prisma.channel_worktreesWhereUniqueInput
1268
+ }
1269
+
1270
+ /**
1271
+ * channel_worktrees deleteMany
1272
+ */
1273
+ export type channel_worktreesDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1274
+ /**
1275
+ * Filter which channel_worktrees to delete
1276
+ */
1277
+ where?: Prisma.channel_worktreesWhereInput
1278
+ /**
1279
+ * Limit how many channel_worktrees to delete.
1280
+ */
1281
+ limit?: number
1282
+ }
1283
+
1284
+ /**
1285
+ * channel_worktrees without action
1286
+ */
1287
+ export type channel_worktreesDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1288
+ /**
1289
+ * Select specific fields to fetch from the channel_worktrees
1290
+ */
1291
+ select?: Prisma.channel_worktreesSelect<ExtArgs> | null
1292
+ /**
1293
+ * Omit specific fields from the channel_worktrees
1294
+ */
1295
+ omit?: Prisma.channel_worktreesOmit<ExtArgs> | null
1296
+ /**
1297
+ * Choose, which related nodes to fetch as well
1298
+ */
1299
+ include?: Prisma.channel_worktreesInclude<ExtArgs> | null
1300
+ }