@bendyline/gezel-service 1.0.7 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/dist/bin/gezeld.js +6253 -3616
  2. package/dist/handboek-content/whats-new/1.26224.md +1 -0
  3. package/dist/handboek-content/whats-new/1.26226.md +1 -0
  4. package/dist/handboek-content/whats-new/1.26231.md +1 -0
  5. package/dist/handboek-content/whats-new/1.26234.md +1 -0
  6. package/dist/handboek-content/whats-new/1.26237.md +1 -0
  7. package/dist/handboek-content/whats-new/1.26244.md +2 -1
  8. package/dist/handboek-content/whats-new/1.26247.md +88 -0
  9. package/dist/handboek-content/whats-new/whats-new-index.md +1 -0
  10. package/dist/index-store/static-index-worker.js +17 -1
  11. package/dist/index.d.ts +473 -209
  12. package/dist/index.js +6251 -3614
  13. package/dist/memory/embed-worker.js +58 -2
  14. package/dist/memory/image-embed-worker.js +8 -0
  15. package/dist/providers/llama-cpp/gguf-metadata-worker.js +2 -0
  16. package/dist/providers/mlx/python/gezel_mlx_server.py +18 -18
  17. package/dist/ui/assets/AmbientDashboardCard-Cf5fi_fY.js +1 -0
  18. package/dist/ui/assets/{AudioEngineSettings-BDrNIGGm.js → AudioEngineSettings-D3L7HOHe.js} +1 -1
  19. package/dist/ui/assets/{BenchmarksView-CHyujjs8.js → BenchmarksView-B68hrLCl.js} +1 -1
  20. package/dist/ui/assets/CatalogBrowser-DEM9t7Es.js +1 -0
  21. package/dist/ui/assets/{ChannelsSettings-Be_W1mr8.js → ChannelsSettings-DtK_k0Ul.js} +1 -1
  22. package/dist/ui/assets/ChatTimelineView-CQ4Sf4Ip.js +7 -0
  23. package/dist/ui/assets/ConfirmDialog-Dt1ed4Fh.js +1 -0
  24. package/dist/ui/assets/ConnectedAppsPanel-Cl8LEkrt.js +1 -0
  25. package/dist/ui/assets/CraftbookEditor-DEQRlQ2p.js +1 -0
  26. package/dist/ui/assets/{CraftbookScriptEditorView-DXIZYZT3.js → CraftbookScriptEditorView-DhXkkIdK.js} +1 -1
  27. package/dist/ui/assets/{CraftbookTabContent-Bm7t_b37.js → CraftbookTabContent-_oIdpQTG.js} +1 -1
  28. package/dist/ui/assets/{CraftbookToolsetSetup-DTEA-3K3.js → CraftbookToolsetSetup-BKg136L1.js} +1 -1
  29. package/dist/ui/assets/{CraftbooksView-C4X99TTe.js → CraftbooksView-Dm2zH-nW.js} +2 -2
  30. package/dist/ui/assets/{DiffpackReviewView-ClcNxtmF.js → DiffpackReviewView-EFLGJnwr.js} +1 -1
  31. package/dist/ui/assets/DocumentDetail-ClDRj2N-.js +1 -0
  32. package/dist/ui/assets/DocumentsView-ny9oieg2.js +1 -0
  33. package/dist/ui/assets/DropdownMenu-S4d9-3j3.js +1 -0
  34. package/dist/ui/assets/Ds4Settings-CeWlm5Vf.js +1 -0
  35. package/dist/ui/assets/EmbeddedChat-Hjrrgpao.js +1 -0
  36. package/dist/ui/assets/{FaceRecognitionCard-D3hdc7uU.js → FaceRecognitionCard-D7ufKqjI.js} +1 -1
  37. package/dist/ui/assets/FileMapView-DRjf59RH.js +1 -0
  38. package/dist/ui/assets/{FoldersSettings-BcNzl4vT.js → FoldersSettings-DDUhaFio.js} +1 -1
  39. package/dist/ui/assets/GezelDetail-Cph6pVGb.js +1 -0
  40. package/dist/ui/assets/{GezelJsonEditor-fOvYclu9.js → GezelJsonEditor-7vDGyBib.js} +1 -1
  41. package/dist/ui/assets/{GezellenView-BTzhHrxi.js → GezellenView-DQhcO1CP.js} +1 -1
  42. package/dist/ui/assets/{GildeUpdatesCard-Bq6XEpLP.js → GildeUpdatesCard-UKKNm_U8.js} +1 -1
  43. package/dist/ui/assets/{GithubSignInChip-CnlTCG8G.js → GithubSignInChip-DjM3qZsL.js} +1 -1
  44. package/dist/ui/assets/{HandboekMediaProvider-BfQW8_Nr.js → HandboekMediaProvider-DixaXTAH.js} +1 -1
  45. package/dist/ui/assets/HandboekView-BeNQqho9.js +1 -0
  46. package/dist/ui/assets/HistoryView-E2szGNGS.js +1 -0
  47. package/dist/ui/assets/{HomeView-CB_5TJIp.css → HomeView-CNeqCFPc.css} +1 -1
  48. package/dist/ui/assets/HomeView-CkiS3DXy.js +1 -0
  49. package/dist/ui/assets/{ImageEngineSettings-BpMfQy4f.js → ImageEngineSettings-BCKT7Gvi.js} +1 -1
  50. package/dist/ui/assets/{ImageRecognitionSettings-Ct-7-Oas.js → ImageRecognitionSettings-DD6syFez.js} +1 -1
  51. package/dist/ui/assets/IncompleteDownloads-BiPaaahS.js +1 -0
  52. package/dist/ui/assets/InstallProgressRow-DyKOI4MU.js +1 -0
  53. package/dist/ui/assets/KnowledgeCatalogsCard-B132vzRa.js +1 -0
  54. package/dist/ui/assets/KnowledgeView-CtPuIlN4.js +1 -0
  55. package/dist/ui/assets/LlamaCppSettings-D6zHcu4W.js +1 -0
  56. package/dist/ui/assets/{MarkdownField-D-0Zw7gM.js → MarkdownField-CK8K3fzj.js} +1 -1
  57. package/dist/ui/assets/MemoriesTree-DzjXzIrM.js +1 -0
  58. package/dist/ui/assets/{MicrophoneSettings-BIaFxyY_.js → MicrophoneSettings-1FH83SCq.js} +1 -1
  59. package/dist/ui/assets/MlxSettings-BYxUqFnJ.js +1 -0
  60. package/dist/ui/assets/ModelPicker-DoXPfQkQ.js +1 -0
  61. package/dist/ui/assets/{NewScriptDialog-D-gkY8TS.js → NewScriptDialog-C5X-7PMt.js} +1 -1
  62. package/dist/ui/assets/NewTaskDialog-Cyqtmigv.js +2 -0
  63. package/dist/ui/assets/{OllamaSettings-oIE2Mech.js → OllamaSettings-DkjmA-sB.js} +1 -1
  64. package/dist/ui/assets/ProjectChat-YEqUME6k.js +5 -0
  65. package/dist/ui/assets/{ProjectConnectionsTab-BZqp-oKI.js → ProjectConnectionsTab-dFCJpW93.js} +1 -1
  66. package/dist/ui/assets/ProjectGitStatusBar-CjZxG54t.js +1 -0
  67. package/dist/ui/assets/{ProjectGithubView-w8suLCsA.js → ProjectGithubView-CQ4-tmPx.js} +1 -1
  68. package/dist/ui/assets/{ProjectMailTab-DGo7eyB8.js → ProjectMailTab-NaScsZJf.js} +1 -1
  69. package/dist/ui/assets/ProjectOverviewView-ChjxbQas.js +1 -0
  70. package/dist/ui/assets/{ProjectTimeline-DRe3D9qY.js → ProjectTimeline-BZpdCisR.js} +1 -1
  71. package/dist/ui/assets/ProjectsView-J77ECk6V.js +7 -0
  72. package/dist/ui/assets/{RecommendedBadge-BKiDixnB.js → RecommendedBadge-D0m68PAu.js} +1 -1
  73. package/dist/ui/assets/{RemoteServersPanel-DGyl6-Rg.js → RemoteServersPanel-BdLOoORu.js} +1 -1
  74. package/dist/ui/assets/ScriptEditorTabs-BFvIiDFZ.js +2 -0
  75. package/dist/ui/assets/ScriptEditorView-B09rm1vz.js +5 -0
  76. package/dist/ui/assets/{ScriptsView-WQc28TmQ.js → ScriptsView-BvNAJXpo.js} +1 -1
  77. package/dist/ui/assets/{SecurityComplianceSettings-DsMEA4J3.js → SecurityComplianceSettings-DzGOnptO.js} +1 -1
  78. package/dist/ui/assets/SessionSwitcher-6okzcxT7.js +1 -0
  79. package/dist/ui/assets/SettingsView-Dur4dLhW.js +3 -0
  80. package/dist/ui/assets/SquisqIntegration-6v3yNOIP.js +2 -0
  81. package/dist/ui/assets/{StorageCleanupDialog-DHqwyMZZ.js → StorageCleanupDialog-OQlomMJD.js} +1 -1
  82. package/dist/ui/assets/{StorageUsageCard-CdT6SU51.js → StorageUsageCard-f6c6qTbM.js} +1 -1
  83. package/dist/ui/assets/Tabs-jE0Z5Tzd.js +1 -0
  84. package/dist/ui/assets/TaskTabContent-0w3kAUWR.js +1 -0
  85. package/dist/ui/assets/TasksView-BVMT4BAY.js +1 -0
  86. package/dist/ui/assets/{TerminalCodeEditor-77pBm6f3.js → TerminalCodeEditor-DO7zLKy-.js} +2 -2
  87. package/dist/ui/assets/ToolsetsEditor-Bb1wD5mV.js +8 -0
  88. package/dist/ui/assets/TransformToolbarButton-BWYkEB0d.js +5 -0
  89. package/dist/ui/assets/UnrecognizedModels-HtdMZUqK.js +1 -0
  90. package/dist/ui/assets/{VideoEngineSettings-DzMeINuv.js → VideoEngineSettings-Dq8Nw_tK.js} +1 -1
  91. package/dist/ui/assets/{WorkspaceIndexPane-DU4yd4Ai.js → WorkspaceIndexPane-fpDz4MwZ.js} +1 -1
  92. package/dist/ui/assets/{api-BX5xXiFs.js → api-BPraLwsh.js} +1 -1
  93. package/dist/ui/assets/chat-thread-memory-Be48zsyG.js +1 -0
  94. package/dist/ui/assets/chunk-6ECMNUIP-DDVjPyfK.js +15 -0
  95. package/dist/ui/assets/{chunk-6N2J7C2B-B5QIrD9m.js → chunk-6N2J7C2B-CsppiLVr.js} +1 -1
  96. package/dist/ui/assets/{chunk-A6N6IN3I-DXok09eC.js → chunk-A6N6IN3I-ofeM4l8g.js} +1 -1
  97. package/dist/ui/assets/chunk-B7GEAZBI-Divd2h1k.js +1 -0
  98. package/dist/ui/assets/chunk-DXYWKZ52-BXcAlClu.js +1 -0
  99. package/dist/ui/assets/chunk-FLR2ARKC-D7wrvQgT.js +2 -0
  100. package/dist/ui/assets/chunk-IIQYS2YH-DKZhWMpn.js +1 -0
  101. package/dist/ui/assets/{chunk-ILCJ3WFD-WRukZ7R1.js → chunk-ILCJ3WFD-CLZxw4Ge.js} +3 -3
  102. package/dist/ui/assets/chunk-OBADJV7C-CDVOcmYt.js +1 -0
  103. package/dist/ui/assets/chunk-Q77KNJIN-BIDRf0aP.js +6 -0
  104. package/dist/ui/assets/chunk-S5PCVMKU-Df5XzhSE.js +6 -0
  105. package/dist/ui/assets/chunk-UBFT2CDQ-FexGDigd.js +31 -0
  106. package/dist/ui/assets/{chunk-USU6HTKB-D5FmDzJU.js → chunk-USU6HTKB-B_p-YcDp.js} +1 -1
  107. package/dist/ui/assets/chunk-VKXOZTYP-BoVvWSBR.js +5 -0
  108. package/dist/ui/assets/{chunk-6RQOV3B3-CwvKotJw.js → chunk-VPWPEMZJ-DRKoa_j0.js} +1 -1
  109. package/dist/ui/assets/{chunk-WATAOG4Y-DXg2lov5.js → chunk-WATAOG4Y-C1EXVPmG.js} +1 -1
  110. package/dist/ui/assets/{container-B7jJtK5V.js → container-Ce94efbg.js} +1 -1
  111. package/dist/ui/assets/csv-62UGQMzZ.js +1 -0
  112. package/dist/ui/assets/data-B2kHjlc5.js +1 -0
  113. package/dist/ui/assets/dist-B9-VrAP8.js +2 -0
  114. package/dist/ui/assets/dist-BaHut5iX.js +2 -0
  115. package/dist/ui/assets/dist-BqGwkOe5.js +225 -0
  116. package/dist/ui/assets/dist-ZnIgkoEi.js +4 -0
  117. package/dist/ui/assets/{dist-BHl1ZAVG.js → dist-l6uUFZMV.js} +2 -2
  118. package/dist/ui/assets/dist-pLLFUPO-.js +1 -0
  119. package/dist/ui/assets/{doc-s6H7T0IO.js → doc-Dr5K49bx.js} +28 -28
  120. package/dist/ui/assets/document-companion-BQk2kS0F.js +1 -0
  121. package/dist/ui/assets/document-import-QoM9UxJr.js +1 -0
  122. package/dist/ui/assets/docx-sXa1Rf41.js +2 -0
  123. package/dist/ui/assets/{epub-B98SgHBz.js → epub-RopMP0ec.js} +4 -4
  124. package/dist/ui/assets/{export-options-Bu-tI6og.js → export-options-f7PKjEBb.js} +1 -1
  125. package/dist/ui/assets/extract-UTAOG7LV-4WDRw1o4.js +1 -0
  126. package/dist/ui/assets/file-browser-c2tf4MIb.js +5 -0
  127. package/dist/ui/assets/html-BGVOMhkv.js +253 -0
  128. package/dist/ui/assets/icons-DWaUNQbT.js +1 -0
  129. package/dist/ui/assets/images-JLBFCDD4-6JitW0hD.js +1 -0
  130. package/dist/ui/assets/index-B8NcxqcR.css +1 -0
  131. package/dist/ui/assets/index-C0DYtvfg.js +34 -0
  132. package/dist/ui/assets/index-J8TOMdvV.js +2 -0
  133. package/dist/ui/assets/{infer-kCLH1C8z.js → infer-LEGOsu64.js} +2 -2
  134. package/dist/ui/assets/ironcalc-BAi5gOlE.js +3 -0
  135. package/dist/ui/assets/layouts-2A7QNF6Y-CVwP7noP.js +1 -0
  136. package/dist/ui/assets/{mail-link-CI6YD6k2.js → mail-link-DXkmCd5b.js} +1 -1
  137. package/dist/ui/assets/markdown-baseline-9B52XlX2.js +1 -0
  138. package/dist/ui/assets/{markdown-Bi9b5f5Y.js → markdown-ryKA_OmY.js} +1 -1
  139. package/dist/ui/assets/materialize-A34OZGEU-xNNKzytx.js +1 -0
  140. package/dist/ui/assets/model-inventory-ykSm_IT5.js +1 -0
  141. package/dist/ui/assets/{model-quantization-BDzrELN_.js → model-quantization-CLO7XLoF.js} +1 -1
  142. package/dist/ui/assets/{monaco-base-BiVSa1J-.js → monaco-base-B1H1U1Sw.js} +1 -1
  143. package/dist/ui/assets/{monaco-setup-UeltVkg_.js → monaco-setup-DjhrGQui.js} +1 -1
  144. package/dist/ui/assets/{new-project-meta-0xhggGA_.js → new-project-meta-_f9sfcRX.js} +1 -1
  145. package/dist/ui/assets/outside-in-D73N1g_b.js +3 -0
  146. package/dist/ui/assets/{pdf-DgTjy3rN.js → pdf-BOjVDlCK.js} +3 -3
  147. package/dist/ui/assets/{pending-drafts-YVW6X55O.js → pending-drafts-B11MKQ9R.js} +1 -1
  148. package/dist/ui/assets/{poppetje-Ce-02Aqi.js → poppetje-DLB8uevw.js} +2 -2
  149. package/dist/ui/assets/pptx-BuxyNxQh.js +6 -0
  150. package/dist/ui/assets/primitives-CWrGZpPI.js +41 -0
  151. package/dist/ui/assets/run-export-ChaMXrKS.js +23 -0
  152. package/dist/ui/assets/squisq-formats-aAdypXoy.js +1 -0
  153. package/dist/ui/assets/standalone-source-q_Zzd1bd.js +11 -0
  154. package/dist/ui/assets/storage-D8pE2zg0.js +1 -0
  155. package/dist/ui/assets/styles-BhnF3s2q.css +1 -0
  156. package/dist/ui/assets/styles-CKVKwqoQ.js +550 -0
  157. package/dist/ui/assets/table-fcouR4db.js +1 -0
  158. package/dist/ui/assets/{terminal-monaco-setup-DNoK2tN4.js → terminal-monaco-setup-BAzrVzeR.js} +1 -1
  159. package/dist/ui/assets/{useCompactLayout-BarJPYcv.js → useCompactLayout-Dtolvzye.js} +0 -0
  160. package/dist/ui/assets/{useCopilotAvailability-BH1nLXQI.js → useCopilotAvailability-3xZvKgTF.js} +1 -1
  161. package/dist/ui/assets/{useDiffpacks-CK8W_OD_.js → useDiffpacks-Dsnr0wtX.js} +1 -1
  162. package/dist/ui/assets/{useGitSync-DWxX5-7K.js → useGitSync-BCTptQsp.js} +1 -1
  163. package/dist/ui/assets/{useShowWorkInProgressFeatures-DwwviLRO.js → useShowWorkInProgressFeatures-BhDNuQiU.js} +1 -1
  164. package/dist/ui/assets/{useTotalRamBytes-WoN_mi-V.js → useTotalRamBytes-DIx-_pf8.js} +1 -1
  165. package/dist/ui/assets/wasm-DdxEDD2H.js +1 -0
  166. package/dist/ui/assets/wasm_bg-DW9Xt_vt.wasm +0 -0
  167. package/dist/ui/assets/xlsx-DyBGuAO1.js +4 -0
  168. package/dist/ui/index.html +19 -18
  169. package/package.json +11 -11
  170. package/dist/ui/assets/AmbientDashboardCard-C1Ee-FKZ.js +0 -1
  171. package/dist/ui/assets/CatalogBrowser-Bz8ZtxPn.js +0 -1
  172. package/dist/ui/assets/ChatTimelineView-Do9EryEH.js +0 -7
  173. package/dist/ui/assets/ConfirmDialog-BHFs6vmJ.js +0 -1
  174. package/dist/ui/assets/ConnectedAppsPanel-BtMayq0R.js +0 -1
  175. package/dist/ui/assets/CraftbookEditor-D5jTzWwF.js +0 -1
  176. package/dist/ui/assets/DocumentDetail-CPU51d04.js +0 -1
  177. package/dist/ui/assets/DocumentsView-B6OyjvJ0.js +0 -1
  178. package/dist/ui/assets/DropdownMenu-D5fCzIrh.js +0 -1
  179. package/dist/ui/assets/Ds4Settings-CrUM_KGP.js +0 -1
  180. package/dist/ui/assets/EmbeddedChat-ue9ia-WY.js +0 -1
  181. package/dist/ui/assets/FileMapView-CxvfDLGA.js +0 -1
  182. package/dist/ui/assets/GezelDetail-DHuqBK55.js +0 -1
  183. package/dist/ui/assets/HandboekView-CPnnyj29.js +0 -1
  184. package/dist/ui/assets/HistoryView-B4VAfEMe.js +0 -1
  185. package/dist/ui/assets/HomeView-ccH60J6f.js +0 -1
  186. package/dist/ui/assets/KnowledgeCatalogsCard-Bi5Rx9Iz.js +0 -1
  187. package/dist/ui/assets/KnowledgeView-DAwjwLZo.js +0 -1
  188. package/dist/ui/assets/LlamaCppSettings-Ceyk9pDP.js +0 -1
  189. package/dist/ui/assets/MemoriesTree-BKZEPJpm.js +0 -1
  190. package/dist/ui/assets/MlxSettings-CG3wfuc3.js +0 -1
  191. package/dist/ui/assets/ModelPicker-CCBVjLMS.js +0 -1
  192. package/dist/ui/assets/NewPathDialog-D4jnNBfP.js +0 -1
  193. package/dist/ui/assets/NewTaskDialog-Ox9D612Z.js +0 -2
  194. package/dist/ui/assets/ProjectChat-DMwKnkW-.js +0 -5
  195. package/dist/ui/assets/ProjectGitStatusBar-C6bkCSby.js +0 -1
  196. package/dist/ui/assets/ProjectOverviewView-NNwXd_QQ.js +0 -1
  197. package/dist/ui/assets/ProjectsView-SBPgYOq8.js +0 -7
  198. package/dist/ui/assets/ScriptEditorTabs-paocQ6dj.js +0 -2
  199. package/dist/ui/assets/ScriptEditorView-N9zSLqqi.js +0 -5
  200. package/dist/ui/assets/SessionSwitcher-C8te7YSe.js +0 -1
  201. package/dist/ui/assets/SettingsView-Brl4JQkW.js +0 -3
  202. package/dist/ui/assets/Tabs-BAY1Q79B.js +0 -1
  203. package/dist/ui/assets/TaskTabContent-CNPJ4DQj.js +0 -1
  204. package/dist/ui/assets/TasksView-DuMjFS8S.js +0 -1
  205. package/dist/ui/assets/ToolsetsEditor-BdxHnIBj.js +0 -8
  206. package/dist/ui/assets/TransformToolbarButton-CVg5nz36.js +0 -5
  207. package/dist/ui/assets/UnrecognizedModels-Cw9Ku_bW.js +0 -1
  208. package/dist/ui/assets/chat-thread-memory-CZGcwgGo.js +0 -1
  209. package/dist/ui/assets/chunk-6ECMNUIP-C1kohb1U.js +0 -15
  210. package/dist/ui/assets/chunk-AONELFLA-Cv2nS9ga.js +0 -1
  211. package/dist/ui/assets/chunk-IIQYS2YH-Dxg6MAfT.js +0 -1
  212. package/dist/ui/assets/chunk-MIKKUKOD-XIkmalSN.js +0 -31
  213. package/dist/ui/assets/chunk-NNJLSQPW-DJA6camf.js +0 -5
  214. package/dist/ui/assets/chunk-S5PCVMKU-DbCZ5AUH.js +0 -6
  215. package/dist/ui/assets/csv-xmd1_Aqd.js +0 -4
  216. package/dist/ui/assets/dist-BPx-FyRH.js +0 -222
  217. package/dist/ui/assets/dist-Bvo52IGx.js +0 -1
  218. package/dist/ui/assets/dist-D5aoNQwk.js +0 -2
  219. package/dist/ui/assets/docx-Cj4A9MhC.js +0 -2
  220. package/dist/ui/assets/extract-UTAOG7LV-C4b7ycaL.js +0 -1
  221. package/dist/ui/assets/file-browser-80qWoVju.js +0 -5
  222. package/dist/ui/assets/html-C9TlzI57.js +0 -253
  223. package/dist/ui/assets/icons-C9dD-bDi.js +0 -1
  224. package/dist/ui/assets/images-ESPQKVTW-D7SgdVJ_.js +0 -1
  225. package/dist/ui/assets/index-D1m4Wx8V.css +0 -1
  226. package/dist/ui/assets/index-DXWR4qW1.js +0 -34
  227. package/dist/ui/assets/layouts-2A7QNF6Y-De2t-YXl.js +0 -1
  228. package/dist/ui/assets/markdown-baseline-HMqF2ChK.js +0 -1
  229. package/dist/ui/assets/outside-in-BFVUUcLa.js +0 -3
  230. package/dist/ui/assets/pptx-6ChgUEf4.js +0 -6
  231. package/dist/ui/assets/primitives-DEsn1shf.js +0 -41
  232. package/dist/ui/assets/run-export-BrYhHj1O.js +0 -23
  233. package/dist/ui/assets/standalone-source-D6mbpa3h.js +0 -11
  234. package/dist/ui/assets/storage-fn4FCEVK.js +0 -1
  235. package/dist/ui/assets/styles-C0EoNJbk.css +0 -1
  236. package/dist/ui/assets/styles-CKr_yrbn.js +0 -541
  237. package/dist/ui/assets/xlsx-DH7sTb3W.js +0 -4
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{An as t,Bn as n,Cn as r,Dn as i,En as a,Fn as o,Ft as s,In as c,Ln as l,Mn as u,Nn as d,On as f,Pn as p,Rn as m,Sn as ee,Tn as h,Vn as g,jn as te,kn as _,v as ne,xn as v,zn as re}from"./dist-BqGwkOe5.js";var y=t(`kind`,[p({kind:u(`gezel`),gezelId:m()}),p({kind:u(`user`)})]),ie=[`tiny`,`small`,`medium`,`large`,`cloud`],ae=n([a([`llm`,`network`,`workspace.read`,`workspace.write`,`artifacts.read`,`artifacts.write`,`documents.read`,`documents.write`,`tasks.read`,`tasks.write`,`memory.read`,`memory.write`,`index.read`,`index.refresh`]),m().regex(/^credential:[a-zA-Z][\w.:-]*$/,`credential capability must be of the form "credential:<name>" where <name> starts with a letter and contains letters, digits, underscore, hyphen, dot, or colon`)]),oe=t(`type`,[p({type:u(`string`),description:m(),required:_().optional(),default:m().optional(),pattern:m().optional(),multiline:_().optional()}),p({type:u(`number`),description:m(),required:_().optional(),default:d().optional(),min:d().optional(),max:d().optional(),integer:_().optional()}),p({type:u(`boolean`),description:m(),required:_().optional(),default:_().optional()}),p({type:u(`choice`),description:m(),required:_().optional(),default:m().optional(),options:f(p({value:m(),label:m().optional()})).min(1)}),p({type:u(`ref`),description:m(),required:_().optional(),kind:a([`gezel`,`task`,`artifact`,`document`])}),p({type:u(`json`),description:m(),required:_().optional(),default:g().optional(),schema:g().optional()})]),se=l(m(),oe),ce=t(`type`,[p({type:u(`string`),description:m(),nullable:_().optional()}),p({type:u(`number`),description:m(),nullable:_().optional()}),p({type:u(`boolean`),description:m(),nullable:_().optional()}),p({type:u(`array`),description:m(),itemType:a([`string`,`number`,`boolean`,`object`])}),p({type:u(`object`),description:m(),schema:g().optional()}),p({type:u(`json`),description:m(),schema:g().optional()})]),le=l(m(),ce),ue=p({name:m().regex(/^[a-zA-Z][\w-]*$/,`name must start with a letter and contain only letters, digits, underscore, or hyphen`),description:m().min(10),kind:a([`action`,`gate`]).optional(),inputs:se.optional(),outputs:le.optional(),requires:f(ae).optional()}),de=a([`project`,`craftbook`,`user`,`standard`]),fe=t(`op`,[p({op:u(`always`)}),p({op:u(`never`)}),p({op:u(`ok`)}),p({op:u(`equals`),field:m().min(1),value:n([m(),d(),_(),i()])}),p({op:u(`exists`),field:m().min(1),negate:_().optional()}),p({op:u(`gt`),field:m().min(1),value:d()})]),pe=p({name:m().min(1),scope:de.optional(),inputs:l(m(),g()).optional(),autoAdvanceOnSuccess:_().optional(),autoAdvanceWhen:fe.optional()}),b=n([pe,f(pe)]);function me(e){return e===void 0?[]:Array.isArray(e)?e:[e]}var he=a([`running`,`ok`,`error`]),ge=p({at:m(),kind:m(),argsSummary:m(),outputSummary:m().optional(),durationMs:d().nonnegative(),error:m().optional()}),_e=t(`kind`,[p({kind:u(`step`),taskRef:m(),stepId:m(),moment:a([`enter`,`exit`,`gate`])}),p({kind:u(`chat`),sessionId:m(),gezelId:m()}),p({kind:u(`manual`),userInitiated:u(!0)}),p({kind:u(`nested`),parentRunId:m()}),p({kind:u(`connector`),typeId:m(),bindingId:m()}),p({kind:u(`page`),tool:m()})]);p({id:m(),projectId:m(),scriptName:m(),startedAt:m(),finishedAt:m().optional(),status:he,trigger:_e,inputs:l(m(),g()),output:g().optional(),calls:f(ge),logs:m(),error:m().optional()}),p({name:m().min(1),scope:de.optional(),input:l(m(),g()).optional()});var ve=p({runId:m(),status:he,output:g().optional(),callsSummary:f(p({kind:m(),durationMs:d().nonnegative(),error:m().optional()})),error:m().optional()});p({tool:m().regex(/^[a-z][a-z0-9_]*$/),input:l(m(),g()).optional()}),ve.extend({reaction:p({delivered:_(),gezelId:m().optional(),reason:m().optional()}).optional()}),p({op:a([`read`,`list`,`stat`]),source:a([`workspace`,`artifacts`]),path:m().min(1),as:a([`text`,`json`,`bytes`]).optional(),maxBytes:d().int().positive().optional()});var ye=p({name:m(),kind:a([`file`,`dir`]),size:d().nonnegative(),mtime:d().nonnegative()});p({op:a([`read`,`list`,`stat`]),content:m().optional(),encoding:a([`utf8`,`base64`]).optional(),entries:f(ye).optional(),etag:m(),size:d().nonnegative().optional(),mtime:d().nonnegative().optional()}),p({scripts:f(p({name:m(),meta:ue,path:m()}))});var x=m().regex(/^[a-zA-Z][\w-]*$/,`script name must start with a letter and contain only letters, digits, underscore, or hyphen`),be=p({severity:a([`error`,`warning`,`info`]),source:a([`meta`,`typescript`,`runtime-compat`]),message:m(),line:d().optional(),column:d().optional()}),xe=p({kind:a([`craftbook`,`import`,`user`,`standard`]),ref:m()});p({name:x,source:m(),hash:m(),mtimeMs:d(),meta:ue.optional(),metaError:m().optional(),provenance:xe.optional()}),p({name:x,source:m(),baseHash:m().optional()}),t(`status`,[p({status:u(`saved`),hash:m(),metaOk:_(),meta:ue.optional(),diagnostics:f(be)}),p({status:u(`conflict`),currentHash:m(),currentSource:m()})]);var Se=a([`blank`,`post-message`,`fetch-and-summarize`,`check-files`,`call-tool`,`ask-ai`]);p({name:x,description:m().optional(),template:Se.optional(),source:m().optional()}),p({name:x,source:m(),hash:m()}),p({version:m(),files:f(p({name:m(),content:m()}))}),p({name:x,description:m().min(1)}),p({source:m()});var Ce=a([`html-complete`,`html-game`,`nonempty`,`json-valid`,`data-table`]),we=n([m(),d(),_(),i()]),Te=t(`kind`,[p({kind:u(`minBytes`),file:m().min(1),bytes:d().int().positive(),artifact:_().optional()}),p({kind:u(`totalMinBytes`),files:f(m().min(1)).min(1),bytes:d().int().positive(),artifact:_().optional()}),p({kind:u(`fileCount`),ext:f(m().min(1)).min(1),min:d().int().positive(),dir:m().optional(),verifyImageBytes:_().optional(),artifact:_().optional()}),p({kind:u(`cssMinBytes`),bytes:d().int().positive(),file:m().optional(),artifact:_().optional()}),p({kind:u(`sniff`),file:m().min(1),sniff:Ce,artifact:_().optional()}),p({kind:u(`jsonPathEquals`),file:m().min(1),path:m().min(1),value:we,label:m().min(1).optional(),artifact:_().optional()}),p({kind:u(`csvShape`),file:m().min(1),requiredColumns:f(m().min(1)).min(1).optional(),exactColumns:f(m().min(1)).min(1).optional(),minRows:d().int().nonnegative().optional(),consistentColumns:_().optional(),allowedValues:l(m(),f(m().min(1)).min(1)).optional(),artifact:_().optional()}),p({kind:u(`contains`),file:m().min(1),pattern:m().min(1),flags:m().optional(),label:m().min(1).optional(),artifact:_().optional()}),p({kind:u(`notContains`),file:m().min(1),pattern:m().min(1),flags:m().optional(),label:m().min(1).optional(),artifact:_().optional()}),p({kind:u(`unsupportedClaims`),file:m().min(1),sourceFiles:f(m().min(1)).min(1),patterns:f(p({pattern:m().min(1),label:m().min(1).optional()})).min(1),flags:m().optional(),artifact:_().optional()}),p({kind:u(`jsParses`),file:m().optional(),artifact:_().optional()}),p({kind:u(`htmlLint`),file:m().min(1),artifact:_().optional()}),p({kind:u(`esmImports`),file:m().min(1),artifact:_().optional()}),p({kind:u(`sourceParses`),file:m().min(1),artifact:_().optional()}),p({kind:u(`tableShape`),file:m().min(1),requiredColumns:f(m().min(1)).min(1).optional(),minRows:d().int().nonnegative().optional(),artifact:_().optional()}),p({kind:u(`recordSchema`),file:m().min(1),fields:f(p({name:m().min(1),type:m().optional(),required:_().optional()})).min(1),minRows:d().int().nonnegative().optional(),uniqueBy:m().optional(),format:a([`json`,`csv`,`auto`]).optional(),allowExtraFields:_().optional(),artifact:_().optional()}),p({kind:u(`nodeRuns`),file:m().min(1),timeoutMs:d().int().positive().max(6e4).optional()}),p({kind:u(`citationsResolve`),file:m().min(1),pattern:m().min(1).optional(),flags:m().optional(),minCitations:d().int().nonnegative().optional(),corpus:f(m().min(1)).min(1).optional(),artifact:_().optional()}),p({kind:u(`researchEvidence`),sourcePath:m().optional(),tools:f(m().min(1)).min(1),minSuccessful:d().int().positive().optional(),externalOptional:_().optional()}),p({kind:u(`commandEvidence`),script:m().min(1).optional(),bin:m().min(1).optional(),args:f(m()).optional(),expect:a([`pass`,`fail`]),minRuns:d().int().positive().optional(),onDraft:a([`defer`,`require`]).optional(),label:m().min(1).optional()}),p({kind:u(`corpusCoverage`),file:m().min(1),corpusDir:m().min(1),reviewedField:m().min(1).optional(),recordField:m().min(1).optional(),artifact:_().optional(),expectPaths:m().min(1).optional()}),p({kind:u(`corpusBatches`),file:m().min(1),corpusDir:m().min(1),manifestSuffix:m().min(1).optional(),itemsField:m().min(1).optional(),totalField:m().min(1).optional(),artifact:_().optional()}),p({kind:u(`markdownHeadingsMatch`),file:m().min(1),outlineFile:m().min(1),outlineArtifact:_().optional(),artifact:_().optional()}),p({kind:u(`valueGrounding`),file:m().min(1),facts:f(p({id:m().min(1),label:m().min(1).optional(),required:f(m().min(1)).min(1),forbidden:f(m().min(1)).optional()})).min(1),normalizeDigits:_().optional(),artifact:_().optional()}),p({kind:u(`valuesSubsetOf`),file:m().min(1),sourceFiles:f(m().min(1)).min(1),pattern:m().min(1),flags:m().optional(),minMatches:d().int().nonnegative().optional(),artifact:_().optional()}),p({kind:u(`judge`),file:m().min(1),rubric:m().min(1),sourceFiles:f(m().min(1)).optional(),requireEvidence:_().optional(),advisory:_().optional(),timeoutMs:d().int().positive().max(12e4).optional(),label:m().min(1).optional(),artifact:_().optional()}),p({kind:u(`planStructure`),file:m().min(1),minRows:d().int().positive().optional(),ownerRoster:f(m().min(1)).optional(),requireEarlierOnly:_().optional(),doneWhenMinChars:d().int().positive().optional(),artifact:_().optional()})]);p({verdict:a([`pass`,`fail`]),reasons:f(m().min(1)).max(5),evidence:f(m()).default([]),confidence:a([`low`,`medium`,`high`]).optional()});var Ee=p({checks:f(Te).min(1),onFail:m().optional(),onPass:m().optional(),maxAttempts:d().int().positive().optional(),reviewer:m().optional()}),De=p({name:m().min(1),scope:de.optional(),inputs:l(m(),g()).optional()});p({decision:a([`approve`,`reject`]),message:m().optional(),goto:m().optional(),handoff:p({message:m(),params:l(m(),g()).optional()}).optional()}).superRefine((e,t)=>{e.decision===`reject`&&!e.message?.trim()&&t.addIssue({code:h.custom,message:`a reject result must carry a message — it is the prescriptive guidance the working session uses to fix the step`,path:[`message`]})});var Oe=n([p({at:a([`completion`,`activation`]),checks:f(Te).optional(),scripts:f(De).optional(),onReject:m().optional(),onApprove:m().optional(),maxAttempts:d().int().positive().optional(),reviewer:m().optional()}).superRefine((e,t)=>{!e.checks?.length&&!e.scripts?.length&&t.addIssue({code:h.custom,message:`a gate needs at least one check or one script`})}),Ee]);function ke(e){return!(`at`in e)}function Ae(e){return ke(e)?{at:`activation`,checks:e.checks,scripts:[],...e.onFail===void 0?{}:{onReject:e.onFail},...e.onPass===void 0?{}:{onApprove:e.onPass},maxAttempts:e.maxAttempts??4,...e.reviewer===void 0?{}:{reviewer:e.reviewer},legacy:!0}:{at:e.at,checks:e.checks??[],scripts:e.scripts??[],...e.onReject===void 0?{}:{onReject:e.onReject},...e.onApprove===void 0?{}:{onApprove:e.onApprove},maxAttempts:e.maxAttempts??4,...e.reviewer===void 0?{}:{reviewer:e.reviewer},legacy:!1}}function je(e){let t=Ae(e);return[t.onReject,t.onApprove].filter(e=>e!==void 0)}var Me=a([`PreToolUse`,`PostToolUse`]),Ne=a([`allow`,`deny`,`ask`]),S=p({phase:Me,matcher:m().default(`.*`),script:pe.optional(),decision:Ne.optional(),label:m().optional()}).superRefine((e,t)=>{let n=e.script!==void 0;n===(e.decision!==void 0)&&t.addIssue({code:h.custom,message:"a hook must set exactly one of `script` or `decision`",path:[n?`decision`:`script`]})});p({decision:Ne.default(`allow`),message:m().optional()});var Pe=a([`off`,`lean`,`balanced`,`deep`]),Fe=a([`workspace`,`artifacts`,`project-memory`,`gezel-memory`,`shared`,`knowledge`]),C=p({mode:Pe,maxTokens:d().int().min(0).max(16e3).optional(),sources:f(Fe).min(1).optional()}),Ie=p({when:fe,goto:m()}),Le=p({file:m().min(1),minBytes:d().int().positive().optional(),sniff:Ce.optional(),requireChange:_().optional(),artifact:_().optional(),goto:m().optional()}),Re=p({file:m().min(1).describe(`Path relative to the selected drawer root.`),artifact:_().optional().describe(`True for the artifacts drawer; false/omitted for the project workspace.`)}),ze=a([`workspace`,`artifact`,`task-note`]),Be=a([...ze.options,`none`]),Ve=p({disallowToolsets:f(m().trim().min(1)).min(1).optional(),disallowBuiltinToolsets:f(m().trim().min(1)).min(1).optional(),outputMedium:Be.optional(),additionalOutputMedia:f(ze).min(1).optional()}).strict().superRefine((e,t)=>{let n=new Set(e.additionalOutputMedia??[]);e.outputMedium===`none`&&n.size>0&&t.addIssue({code:h.custom,path:[`additionalOutputMedia`],message:"`none` cannot have secondary output media"}),e.outputMedium&&e.outputMedium!==`none`&&n.has(e.outputMedium)&&t.addIssue({code:h.custom,path:[`additionalOutputMedia`],message:`the primary output medium must not be repeated as a secondary medium`});let r=new Set([e.outputMedium,...n]),i=new Set(e.disallowBuiltinToolsets??[]);r.has(`workspace`)&&i.has(`workspace-fs-write`)&&t.addIssue({code:h.custom,path:[`disallowBuiltinToolsets`],message:"workspace output conflicts with disallowing `workspace-fs-write`"}),r.has(`artifact`)&&i.has(`artifacts`)&&t.addIssue({code:h.custom,path:[`disallowBuiltinToolsets`],message:"artifact output conflicts with disallowing `artifacts`"}),r.has(`task-note`)&&i.has(`tasks`)&&t.addIssue({code:h.custom,path:[`disallowBuiltinToolsets`],message:"task-note output conflicts with disallowing `tasks`"})}),w=a(ie),He=p({id:m().min(1),name:m().min(1),description:m().optional(),prompt:m().optional(),suggestedGezelId:m().optional(),suggestedRole:m().optional(),capabilityFloor:w.optional(),retrieval:C.optional(),toolPolicy:Ve.optional(),assignee:y.optional(),onEnter:b.optional(),onExit:b.optional(),consumes:f(Re).min(1).optional().describe("Files this step must open before working. Artifact inputs also require an explicit `read_artifact` call in the step prompt."),advanceWhen:Le.optional(),gate:Oe.optional(),next:m().optional(),branches:f(Ie).optional(),terminal:_().optional(),spawnFanout:_().optional()}),T=p({overFile:m().min(1),overArtifact:_().optional(),itemsPath:m().optional(),entryStepId:m().optional(),steps:f(He).min(1)});function Ue(e){let t=[],n=new Set;for(let r of e.steps)n.has(r.id)&&t.push(`duplicate step id "${r.id}"`),n.add(r.id),r.terminal&&(r.next||r.branches&&r.branches.length>0)&&t.push(`step "${r.id}" is terminal but also has next/branches`);n.has(e.entryStepId)||t.push(`entryStepId "${e.entryStepId}" not in steps`);for(let r of e.steps){r.next&&!n.has(r.next)&&t.push(`step "${r.id}".next "${r.next}" missing from steps`);for(let e of r.branches??[])n.has(e.goto)||t.push(`step "${r.id}" branch goto "${e.goto}" missing from steps`);r.advanceWhen&&(r.terminal&&t.push(`step "${r.id}" is terminal but also has advanceWhen`),r.advanceWhen.goto&&!n.has(r.advanceWhen.goto)&&t.push(`step "${r.id}" advanceWhen.goto "${r.advanceWhen.goto}" missing from steps`));for(let e of r.consumes??[])e.artifact&&(/`read_artifact(?:`|\()/.test(r.prompt??``)||t.push(`step "${r.id}" consumes artifact "${e.file}" but its prompt does not explicitly call \`read_artifact\``));if(r.gate){let e=Ae(r.gate);r.terminal&&e.at===`activation`&&t.push(`step "${r.id}" is terminal but also has an activation gate`);for(let e of je(r.gate))n.has(e)||t.push(`step "${r.id}" gate route "${e}" missing from steps`)}}return t}function We(e,t){for(let n of Ue(e))t.addIssue({code:h.custom,message:n,path:n.startsWith(`entryStepId`)?[`entryStepId`]:[`steps`]});for(let n of Ye(e))t.addIssue({code:h.custom,message:n,path:[`steps`]})}var E=t(`kind`,[p({kind:u(`github`)}),p({kind:u(`non-main-branch`)})]),D=t(`kind`,[p({kind:u(`external-services`),reason:m().optional()})]),O=p({scheduled:a([`supported`,`recommended`]).optional(),nightShift:a([`supported`,`recommended`]).optional()}),k=p({toolsetId:m().min(1),sourceId:m().optional(),minVersion:m().optional(),optional:_().optional(),autoAllow:_().optional(),reason:m().optional()}),Ge=p({scope:a([`script`,`npx`]),name:m().min(1),args:f(m()).optional(),reason:m().optional(),optional:_().optional()}),Ke=p({typeId:m().min(1),sourceId:m().optional(),optional:_().optional(),reason:m().optional()}),qe=64*1024,Je=256*1024,A=l(x,m().min(1).max(qe)).superRefine((e,t)=>{let n=Object.keys(e);n.length>24&&t.addIssue({code:h.custom,message:`a craftbook carries at most 24 scripts (got ${n.length})`});let r=0;for(let t of n)r+=e[t].length;r>262144&&t.addIssue({code:h.custom,message:`craftbook scripts total ${r} bytes \u2014 the ceiling is ${Je}`})}),j=p({name:m().min(1),url:m().url().regex(/^https?:\/\//i,`basedOn.url must use http or https`)});function Ye(e){if(!e.scripts)return[];let t=[],n=new Set(Object.keys(e.scripts)),r=(e,r,i)=>{for(let a of i)(a.scope??`project`)===`craftbook`&&!n.has(a.name)&&t.push(`step "${e}" ${r} references craftbook script "${a.name}" which is not in the scripts map${n.size>0?` (available: ${[...n].join(`, `)})`:``}`)};for(let t of e.steps)r(t.id,`onEnter`,me(t.onEnter)),r(t.id,`onExit`,me(t.onExit)),t.gate&&r(t.id,`gate`,Ae(t.gate).scripts);return t}var Xe=p({id:m().min(1),name:m().min(1),description:m().optional(),version:m().optional(),basedOn:j.optional(),plan:m().optional(),defaultAssignee:y.optional(),steps:f(He).min(1),entryStepId:m().min(1),triggers:f(m()).optional(),hooks:f(S).optional(),paramSchema:l(m(),g()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:f(E).optional(),recommends:f(D).optional(),runModes:O.optional(),toolsets:f(k).optional(),commands:f(Ge).optional(),connectors:f(Ke).optional(),scripts:A.optional(),spawn:T.optional(),diffpackCapable:_().optional(),capabilityFloor:w.optional(),createdAt:m(),updatedAt:m()}).superRefine(We),Ze=a([`html-game`,`html-multiscreen-game`,`html-page`,`html-marketing-site`,`markdown-doc`,`markdown-report`,`markdown-notes`,`json`,`yaml-spec`,`code-module`,`code-with-tests`,`security-report`,`image-set`,`audio-file`,`slide-deck`,`data-file`,`generic-file`]),Qe=p({path:m().min(1),kind:Ze.optional(),minBytes:d().int().positive().optional(),maxAttempts:d().int().positive().optional(),artifact:_().optional(),requireChange:_().optional(),execute:_().optional(),columns:f(m().min(1)).min(1).optional(),minRows:d().int().positive().optional()}),$e=p({id:m().optional(),name:m().min(1),description:m().optional(),prompt:m().optional(),suggestedGezelId:m().optional(),suggestedRole:m().optional(),capabilityFloor:w.optional(),retrieval:C.optional(),toolPolicy:Ve.optional(),assignee:y.optional(),onEnter:b.optional(),onExit:b.optional(),consumes:f(Re).min(1).optional().describe("Files this step must open before working. Artifact inputs also require an explicit `read_artifact` call in the step prompt."),advanceWhen:Le.optional(),gate:Oe.optional(),deliverable:Qe.optional(),next:m().optional(),branches:f(Ie).optional(),terminal:_().optional(),spawnFanout:_().optional()});p({id:m().optional(),name:m().min(1),description:m().optional(),basedOn:j.optional(),plan:m().optional(),defaultAssignee:y.optional(),steps:f($e).min(1),entryStepId:m().optional(),paramSchema:l(m(),g()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:f(E).optional(),recommends:f(D).optional(),runModes:O.optional(),toolsets:f(k).optional(),scripts:A.optional()}),p({name:m().min(1).optional(),description:m().nullable().optional(),basedOn:j.nullable().optional(),plan:m().nullable().optional(),defaultAssignee:y.nullable().optional(),steps:f($e).min(1).optional(),entryStepId:m().optional(),paramSchema:l(m(),g()).nullable().optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).nullable().optional(),requirements:f(E).nullable().optional(),recommends:f(D).nullable().optional(),runModes:O.nullable().optional(),toolsets:f(k).nullable().optional(),scripts:A.nullable().optional()}),p({craftbooks:f(p({id:m(),name:m(),description:m().optional(),version:m().optional(),basedOn:j.optional(),source:a([`bundled`,`local`,`project`]),stepCount:d().int().nonnegative()}))}),p({installedBy:u(`project-type`),typeId:m(),typeVersion:m(),bookVersion:m(),contentHash:m(),installedAt:m()});var et=p({id:m(),name:m(),description:m().optional(),source:a([`bundled`,`local`,`project`]),version:m().optional(),basedOn:j.optional(),stepCount:d().int().nonnegative(),tags:f(m()).optional(),triggers:f(m()).optional(),score:d(),semantic:d().optional(),lexical:d()});p({suggestions:f(et)}),p({craftbook:Xe}),p({after:m().optional(),before:m().optional(),index:d().int().nonnegative().optional()}),p({id:m().optional(),name:m().min(1),description:m().optional(),basedOn:j.optional(),plan:m().optional(),entryStepId:m().optional(),triggers:f(m()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),defaultAssignee:y.optional(),requirements:f(E).optional(),recommends:f(D).optional(),runModes:O.optional(),toolsets:f(k).optional(),commands:f(Ge).optional(),connectors:f(Ke).optional(),paramSchema:l(m(),g()).optional(),hooks:f(S).optional(),steps:f($e).min(1),spawn:T.optional(),diffpackCapable:_().optional(),capabilityFloor:w.optional(),scripts:A.optional(),version:m().optional(),releasedAt:m().optional(),minGezelVersion:m().optional()});var tt=Object.keys({broad:{baseW:46,hipW:52,waistW:52,chestW:56,shoulderW:54,label:`broad`,note:`Barrel torso, broad through the shoulders. Reads adult, sturdy.`},tapered:{baseW:58,hipW:52,waistW:46,chestW:38,shoulderW:32,label:`tapered`,note:`Classic peg-doll cone. Wide base, smooth taper to a narrow top.`},curvy:{baseW:48,hipW:60,waistW:34,chestW:46,shoulderW:36,label:`curvy`,note:`Hourglass — hip flare, pinched waist, narrower shoulders.`},athletic:{baseW:38,hipW:40,waistW:42,chestW:54,shoulderW:56,label:`athletic`,note:`V-shape. Wider chest and shoulders, narrower waist and hips.`},slender:{baseW:46,hipW:42,waistW:34,chestW:36,shoulderW:32,label:`slender`,note:`Narrow throughout. Reads tall and lean.`},stout:{baseW:62,hipW:64,waistW:62,chestW:58,shoulderW:50,label:`stout`,note:`Wide throughout. Reads grounded, generous.`}}),nt=Object.keys({adult:{bodyScale:1,headScale:1,label:`adult`,note:`Standard crew member.`},shorter:{bodyScale:.88,headScale:.98,label:`shorter`,note:`Older or simply shorter adult.`},child:{bodyScale:.78,headScale:.96,label:`child`,note:`Short body, head reads proportionally larger.`},toddler:{bodyScale:.76,headScale:.95,label:`toddler`,note:`Smallest. Mostly head.`}}),rt=[`cap`,`beanie`,`kerchief`,`straw`,`newsboy`,`hood`],it=[`scarf`,`apron`,`collar`,`turtleneck`],at=[`halo`,`short`,`long`,`bun`,`braids`,`shaved`,`bald`],ot=`glasses.sunglasses.cateye.readers.monocle.eyepatch.earrings.earring-left.earring-right.flower.hairclip.headband.bowtie.necklace.brooch.facemask.goggles.safety-glasses.pince-nez.headphones.hearing-aid.nose-ring.hoop-earrings.drop-earrings.pearl-earrings.bandage.feather.pencil.ribbon.necktie.cravat.bolo-tie.lanyard.medal.pocket-square.tool-pendant`.split(`.`),st=[`beard`,`mustache`],ct=[`freckles`,`mole`],lt=[`plain`,`buttons`,`stripes`,`sash`,`yoke`,`twotone`],ut=[`smile`,`wider`,`neutral`,`wink`,`sleepy`];function dt(e){if(!e||typeof e!=`object`)return e;let t={...e},n=t.accessory;return n===`beard`||n===`mustache`?(t.facialHair??=n,t.accessory=null):n===`freckles`||n===`mole`?(t.mark??=n,t.accessory=null):n===`earring`&&(t.accessory=`earrings`),t}var ft=c(dt,p({key:m().min(1),name:m(),bodyShape:a(tt),figureScale:a(nt),skin:m(),skin2:m(),hair:m(),hairShape:a(at),hat:a(rt).nullable().optional().default(null),dress:a(it).nullable().optional().default(null),accessory:a(ot).nullable().optional().default(null),facialHair:a(st).nullable().optional().default(null),mark:a(ct).nullable().optional().default(null),expression:a(ut).optional().default(`smile`),shirt:m(),shirtAccent:m(),shirtPattern:a(lt).optional().default(`plain`)})),M=a([`default`,`acceptEdits`,`plan`,`bypassPermissions`]),pt=a([`plan`,`edit`,`reviewed`,`full`]),mt=n([pt,a([`default`,`acceptEdits`,`bypassPermissions`])]),ht=/^[A-Za-z0-9@][A-Za-z0-9@._-]{0,199}$/,gt=new Set([`CON`,`PRN`,`AUX`,`NUL`,`COM1`,`COM2`,`COM3`,`COM4`,`COM5`,`COM6`,`COM7`,`COM8`,`COM9`,`LPT1`,`LPT2`,`LPT3`,`LPT4`,`LPT5`,`LPT6`,`LPT7`,`LPT8`,`LPT9`]);function _t(e){if(typeof e!=`string`||!ht.test(e))return!1;let t=(e.split(`.`)[0]??``).toUpperCase();return!gt.has(t)}var vt=m().refine(_t,{message:`must be a portable single-segment entity id`}),N=m().min(1).describe(`Canonical tuning profile id.`),yt=p({day:m().regex(/^\d{4}-\d{2}-\d{2}$/),kind:a([`fact`,`decision`,`pref`,`status`]),excerpt:m().min(1).max(400)}),bt=p({id:m(),kind:u(`trait`),title:m().min(1).max(80),traitText:m().min(1).max(200),evidence:f(yt).min(1).max(3)}),xt=t(`type`,[p({type:u(`profile`),profile:N}),p({type:u(`temperature`),delta:n([u(.1),u(-.1)])})]),St=t(`kind`,[bt,p({id:m(),kind:u(`tuning`),title:m().max(80),description:m().max(300),action:xt}),p({id:m(),kind:u(`cosmetic`),title:m().max(80),cosmeticId:m()})]),Ct=p({toLevel:d().int().min(2),proposals:f(St).min(1).max(5),createdAt:m()}),wt=p({memoryXp:d().int().nonnegative().default(0),lessonsXp:d().int().nonnegative().default(0),taskXp:d().int().nonnegative().default(0),consultXp:d().int().nonnegative().default(0)}),Tt=p({traitId:m(),text:m(),level:d().int(),adoptedAt:m(),evidence:f(yt),removedAt:m().optional()}),Et=p({kind:a([`trait`,`tuning`,`cosmetic`]),title:m(),traitText:m().optional(),level:d().int(),declinedAt:m()}),Dt=p({version:u(1).default(1),level:d().int().min(1).default(1),xp:d().int().nonnegative().default(0),signals:wt.prefault({}),lastComputedAt:m().optional(),pendingLevelUp:Ct.optional(),adoptedTraits:f(Tt).default([]),declinedProposals:f(Et).default([]),unlockedCosmetics:f(p({id:m(),at:m()})).default([])}),Ot=p({level:d().int().min(1),pending:_().optional()}),kt=p({multiplier:d().min(0).max(5).describe(`DRY penalty strength. 0 disables. 0.8 is a reasonable default.`),base:d().min(0).max(5).optional().describe(`Base of the exponential penalty for repeated tokens. Default 1.75.`),allowedLength:d().int().min(0).max(64).optional().describe(`Minimum n-gram length before DRY kicks in. Default 2.`)}).describe(`DRY anti-repetition sampler (llama.cpp only).`),At=p({probability:d().min(0).max(1).describe(`Probability of triggering XTC on any given step.`),threshold:d().min(0).max(1).describe(`Minimum top-token probability for XTC to fire.`)}).describe(`XTC sampler (llama.cpp only).`),jt=p({temperature:d().min(0).max(2).optional().describe(`Sampling temperature. 0 = greedy. Most reasoning models want 0.6–1.0.`),topP:d().min(0).max(1).optional().describe(`Nucleus sampling. 0.95 is the common default for Qwen, Gemma, Nemotron.`),topK:d().int().min(0).max(1e3).optional().describe(`Top-k cutoff. 20 for Qwen think, 64 for Gemma, 1 for greedy-on-instruct.`),minP:d().min(0).max(1).optional().describe(`Min-p cutoff (llama.cpp / MLX / Ollama). Qwen recommends 0.`),maxTokens:d().int().positive().optional().describe(`Per-turn output token cap. Maps to num_predict / max_tokens / n_predict.`),seed:d().int().optional().describe(`RNG seed. Unset / negative = random. Best-effort determinism on cloud.`),repetitionPenalty:d().min(0).max(3).optional().describe(`Local engines (Ollama / llama.cpp / MLX): repeat_penalty. 1.0 = off, 1.1 = mild.`),repetitionContext:d().int().positive().optional().describe("Local engines: window size for repetition penalty (`repeat_last_n`)."),frequencyPenalty:d().min(-2).max(2).optional().describe(`Cloud (OpenAI) and Ollama / llama.cpp: penalize repeated tokens by frequency.`),presencePenalty:d().min(-2).max(2).optional().describe(`Cloud (OpenAI) and Ollama / llama.cpp: penalize any reused token.`),dry:kt.optional(),xtc:At.optional()}).describe(`Sampling parameters applied per-request.`),Mt=p({effort:a([`low`,`medium`,`high`]).optional().describe("Cloud reasoning effort. Maps to OpenAI `reasoning.effort` and Anthropic `thinking.budget_tokens` tiers."),thinkingBudget:d().int().positive().optional().describe("Explicit thinking-token budget (Anthropic `thinking.budget_tokens`, Nemotron `reasoning_budget`). Wins over `effort` when both set."),enableThinking:_().optional().describe(`Chat-template toggle for dual-mode models (Qwen3+, Nemotron Nano/Super). Implicit on cloud thinking models.`),templateKwargs:l(m(),n([m(),d(),_()])).optional().describe("Chat-template variables that drive this model's reasoning depth, forwarded verbatim as `chat_template_kwargs` on local engines. The names are the model's own — GPT-OSS reads `reasoning_effort`, Muse Glimmer reads `reasoning_strength` (low|medium|high|xhigh) — so the manifest declares them rather than the runtime guessing. Lives under `reasoning` (not `engine`) because depth is a per-request choice a tuning profile overrides: `thinking-coding` can ask for xhigh while `instruct` asks for low. Cloud providers ignore it; use `reasoning.effort` there.")}).describe(`Reasoning controls.`),Nt=p({responseFormat:a([`text`,`json_object`]).optional().describe("Output mode. `text` = freeform (default). `json_object` = enforce JSON."),jsonSchema:g().optional().describe(`Pin output to a JSON Schema (OpenAI strict mode, llama.cpp --json-schema).`),grammar:m().optional().describe(`llama.cpp GBNF grammar. Last-resort structured-output knob.`)}).describe(`Structured-output controls.`),Pt=p({enableThinkingTag:m().optional().describe("User-prompt tag that enables thinking for this turn (e.g. `/think`)."),disableThinkingTag:m().optional().describe("User-prompt tag that disables thinking for this turn (e.g. `/no_think`).")}).describe(`Per-turn reasoning toggle tags.`),Ft=p({llamaCpp:p({nGpuLayers:d().int().min(-1).optional().describe("`--n-gpu-layers` override. -1 = all. Unset = b9843 `auto`/`--fit`."),cpuMoe:_().optional().describe("`--cpu-moe`: keep ALL MoE experts in system RAM (attention/dense on GPU)."),nCpuMoe:d().int().min(0).optional().describe("`--n-cpu-moe N`: keep the first N layers’ MoE experts in RAM. Partial split."),cacheReuse:d().int().min(0).optional().describe("`--cache-reuse N` prefix-KV reuse chunk. 0 = disable. Unset inherits the global default."),swaFull:_().optional().describe("`--swa-full`: full-size SWA cache (Gemma family)."),flashAttn:a([`on`,`off`,`auto`]).optional().describe("`--flash-attn` mode override for this model."),ubatchSize:d().int().positive().optional().describe("`--ubatch-size` (inner microbatch) override for this model."),contextSize:d().int().positive().optional().describe(`Per-turn context ceiling (tokens) this model launches with. Capped by GGUF train ctx.`),chatTemplate:m().min(1).optional().describe("`--chat-template` override for GGUFs whose embedded Jinja template is incompatible with llama.cpp tool parsing."),threads:d().int().positive().optional().describe("`--threads` override."),batchSize:d().int().positive().optional().describe("`--batch-size` override."),spec:p({type:a([`none`,`draft-mtp`,`draft-eagle3`,`draft-dflash`,`draft-simple`,`ngram-mod`,`ngram-simple`,`ngram-map-k`,`ngram-map-k4v`,`ngram-cache`]).optional().describe("`--spec-type` speculative-decoding mode for this model."),mtp:_().optional().describe("VERIFIED capability metadata: this model’s target or companion GGUF carries MTP tensors. Does not enable `draft-mtp` by itself."),draftModelId:m().optional().describe("Catalog id / path of the draft model for `draft-simple`."),nMax:d().int().positive().optional().describe("`--spec-draft-n-max`: tokens drafted per step.")}).optional().describe(`Speculative-decoding config for this model.`)}).describe(`Per-model llama.cpp launch-flag defaults (engine-level, applied at model load).`).optional()}).describe(`Per-model engine launch-flag defaults, keyed by engine.`),It=p({sampling:jt.optional(),samplingWhenThinking:jt.optional().describe("Sparse override of `sampling` applied when the runtime determines reasoning is engaged. Used by Qwen3+ (different sampling for /think mode) and Nemotron Nano (different sampling for thinking vs instruct)."),reasoning:Mt.optional(),output:Nt.optional(),toolChoice:a([`auto`,`required`,`none`]).optional().describe("Tool selection mode (cloud + llama.cpp + MLX). `auto` lets the model decide; `required` forces a tool call this turn; `none` disables tools."),promptTags:Pt.optional()}).describe(`Per-model sampling, reasoning, and output defaults (without profiles).`),P=It.extend({engine:Ft.optional().describe("Per-model ENGINE launch-flag defaults (llama.cpp `--n-gpu-layers`, `--cpu-moe`, `--spec-type`, …). Applied once at model load, not per request — so it lives on the top-level tuning object, not inside per-request `profiles`."),profiles:l(N,It.partial()).optional().describe("Named tuning presets this model implements. Gezel frontmatter `tuningProfile` selects one; the resolver applies the profile as a layer between installDefault and catalog base. Missing requested profiles walk the canonical fallback chain.")}).describe(`Per-model sampling, reasoning, and output defaults.`),Lt=/^[a-z0-9](?:[a-z0-9._~-]*[a-z0-9])?$/,Rt=String.raw`(?:0|[1-9]\d*)`,zt=String.raw`(?:${Rt}|[xX*])`,Bt=String.raw`${zt}(?:\.${zt}){0,2}`,Vt=String.raw`[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*`,Ht=String.raw`(?:-${Vt})?(?:\+${Vt})?`,Ut=new RegExp(String.raw`^(?:\^|~|>=|<=|>|<|=)?v?${Bt}${Ht}$`),Wt=new RegExp(String.raw`^v?${Bt}${Ht}\s+-\s+v?${Bt}${Ht}$`),Gt=/^[a-z][a-z0-9._-]{0,127}$/;function Kt(e){if(typeof e!=`string`||e.length===0||e.length>214||e!==e.trim()||e!==e.toLowerCase())return!1;if(e.startsWith(`@`)){let t=e.slice(1).split(`/`);return t.length===2&&t[0]!==void 0&&t[1]!==void 0&&Lt.test(t[0])&&Lt.test(t[1])}return!e.includes(`/`)&&Lt.test(e)}function qt(e){if(typeof e!=`string`||e.length===0||e.length>128||e!==e.trim())return!1;if(Gt.test(e)||Wt.test(e))return!0;let t=e.split(`||`);return!t.some(e=>e.trim().length===0)&&t.every(e=>{let t=e.trim().split(/\s+/);return t.length>0&&t.every(e=>Ut.test(e))})}var F=m().refine(Kt,{message:`must be a lowercase npm registry package name (for example zod or @types/node)`}),I=m().refine(qt,{message:`must be a registry dist-tag or semver range`}),Jt=p({package:F,version:I.optional()}).strict(),Yt=p({package:F,version:I,decision:a([`install`,`always`,`decline`])}),Xt=p({selectedChoices:f(d().int().min(0)).optional(),writeIn:m().optional(),declined:_().optional(),silentSkip:_().optional(),npmInstallDecisions:f(Yt).optional(),at:m()}),Zt=p({package:F,version:I}),Qt=a([`script`,`npx`]),$t=p({path:m().min(1),sha256:m().regex(/^[a-f0-9]{64}$/)}),en=p({kind:u(`command-approval`),scope:Qt,name:m().min(1),body:m().optional(),args:f(m()).optional(),inputFiles:f($t).max(128).optional()}),tn=p({kind:u(`tool-permission`),toolName:m(),toolInput:l(m(),g())}),nn=p({label:m().min(1),description:m().optional()}),rn=p({kind:u(`claude-user-question`),header:m().optional(),options:f(nn),questionIndex:d().int().min(0),questionCount:d().int().min(1)}),an=p({kind:u(`toolset-install-approval`),toolsetId:m(),sourceId:m(),version:m(),targetProjectId:m(),craftbookId:m()}),on=p({kind:u(`image-generation-approval`),provider:m(),model:m(),promptPreview:m(),estimatedSize:m().optional()}),sn=p({kind:u(`video-generation-approval`),provider:m(),model:m(),promptPreview:m(),estimatedSize:m().optional()}),cn=p({kind:u(`schedule-approval`),typeId:m(),craftbookId:m(),runMode:a([`scheduled`,`night-shift`]).optional(),cron:m(),overlap:a([`skip`,`queue`,`concurrent`]).optional()}),ln=p({kind:u(`night-shift-review`),windowKey:m(),tasksCompleted:d(),reports:f(p({projectId:m(),path:m(),title:m().optional(),actionCount:d()}))}),un=a([`gate_exhausted`,`gate_plateau`,`gate_unsatisfiable`,`gate_infrastructure`,`step_exit_infrastructure`,`step_stalled`,`budget_exhausted`]),dn=p({kind:u(`task-paused`),taskRef:m(),stepId:m().optional(),reason:un}),fn=t(`kind`,[p({kind:u(`npm-install-approval`),packages:f(Zt).min(1)}),en,tn,rn,an,on,sn,cn,ln,dn]),pn=p({id:m(),projectId:m(),gezelId:m(),sessionId:m(),prompt:m().min(1),choices:f(m()).max(20).optional(),allowWriteIn:_().optional(),multiSelect:_().optional(),taskRef:m().optional(),documentPath:m().optional(),intent:fn.optional(),createdAt:m(),answer:Xt.optional()}),mn=p({make:m().optional(),model:m().optional(),lensModel:m().optional(),dateTimeOriginal:m().optional(),orientation:d().int().min(1).max(8).optional(),software:m().optional(),imageDescription:m().optional()}),hn=p({format:a([`png`,`jpeg`,`gif`,`webp`,`svg`,`unknown`]),width:d().int().positive().optional(),height:d().int().positive().optional(),byteLength:d().int().nonnegative(),sha256:m().regex(/^[a-f0-9]{64}$/),pngText:l(m(),m()).optional(),exif:mn.optional(),gps:p({lat:d(),lon:d()}).optional(),gpsRedacted:_().optional(),likelyScreenshot:_().optional()}),gn=a([`describe`,`ocr`,`ui`,`extract`]),_n=a([`auto`,`describe`,`ocr`,`ui`,`extract`]);p({schemaVersion:u(1),sha256:m().regex(/^[a-f0-9]{64}$/),meta:hn,modes:f(gn).min(1),description:m().optional(),ocrText:m().optional(),structured:p({templateId:m().optional(),data:g()}).optional(),engine:a([`llama-cpp`,`mlx`,`mock`,`none`]),modelId:m(),status:a([`ok`,`partial`,`failed`,`static-only`]),failureReason:m().optional(),durationMs:d().int().nonnegative(),at:m()});var vn=p({ref:m(),sha256:m().regex(/^[a-f0-9]{64}$/),digest:m(),modelId:m(),modes:f(gn),status:a([`ok`,`partial`,`failed`,`static-only`]),at:m()});p({artifactPath:m().min(1).optional(),data:m().min(1).optional(),mimeType:m().optional(),mode:_n.default(`auto`),schema:g().optional(),model:m().optional()}),p({state:a([`ok`,`no-model`,`not-configured`,`error`]),modelId:m().optional(),detail:m().optional()});var yn=n([p({type:u(`progress`),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative().optional()}),p({type:u(`error`),error:m()}),p({type:u(`done`),id:m()})]);p({models:f(p({id:m(),name:m(),description:m(),license:m(),approxSizeBytes:d().int().nonnegative(),recoScore:d()}))}),p({models:f(p({id:m(),name:m(),approxSizeBytes:d().int().nonnegative(),installedAt:m(),weightsPath:m().optional(),mmprojPath:m().optional()}))});var bn=p({sessionId:m(),gezelId:m()}),xn=bn.extend({kind:a([`delegation`,`consultation`,`task-entry`,`task-handoff`])}),Sn=a([`image_generation`,`video_generation`,`image_recognition`]),Cn=a([`preparing`,`recall`,`provider`]),wn=p({startedAt:d(),phase:Cn,phaseStartedAt:d(),providerRequestsStarted:d().int().nonnegative(),streamedContentChars:d().int().nonnegative(),toolCalls:d().int().nonnegative(),fileMutations:d().int().nonnegative()}),Tn=p({sessionId:m(),gezelId:m(),projectId:m(),inflight:_(),turnsStarted:d().int().nonnegative(),providerRequestsStarted:d().int().nonnegative(),deltaChunks:d().int().nonnegative(),streamedContentChars:d().int().nonnegative(),wirePulses:d().int().nonnegative(),heartbeats:d().int().nonnegative(),enginePhaseEvents:d().int().nonnegative(),generationSpurts:d().int().nonnegative(),toolCalls:d().int().nonnegative(),toolArgChars:d().int().nonnegative(),fileMutations:d().int().nonnegative(),gpuEvents:d().int().nonnegative(),gpuTaskActive:Sn.nullable(),lastStreamActivityAt:d().nullable(),lastToolActivityAt:d().nullable(),lastMutationAt:d().nullable(),lastGpuActivityAt:d().nullable(),lastProgressAt:d().nullable(),currentTurn:wn.nullable()});p({version:u(1),capturedAt:d(),sessions:f(Tn)});var L=a([`copilot`,`openai`,`anthropic`,`anthropic-cli`,`codex-cli`,`ollama`,`llama-cpp`,`mlx`,`ds4`,`remote`]),En=a([`male`,`female`,`non-binary`]),Dn=p({tool:m().min(1),promptKey:m().min(1).default(`prompt`),defaults:l(m(),g()).optional()}),On=p({id:m(),text:m().min(1).max(200),adoptedAt:m(),source:a([`levelup`,`manual`]).optional()}),kn=p({frontmatter:p({id:vt.optional(),name:m(),description:m().optional(),role:m().optional(),roleBasedName:m().optional(),gender:En.optional(),model:m().optional(),provider:L.optional(),reasoningEffort:m().optional(),tuning:P.optional(),tuningProfile:N.optional(),suggestedTuningProfile:N.optional(),tools:f(m()).optional(),tags:f(m()).optional(),fixedFunction:Dn.optional(),numCtx:d().int().positive().optional(),autoRecall:_().optional(),retrieval:C.optional(),font:m().optional(),voice:m().optional(),templateId:m().optional(),templateVersion:m().optional(),sandboxCopilot:_().optional(),claudePermissionMode:M.optional(),codexPermissionMode:mt.optional(),iconOverride:_().optional(),traits:f(On).max(8).optional(),recognition:a([`auto`,`always`,`off`]).optional()}),sections:f(p({heading:m(),template:m().optional(),params:l(m(),m()).optional(),body:m()})),source:m()}),An=p({id:vt,name:m(),description:m().optional(),role:m().optional(),roleBasedName:m().optional(),gender:En.optional(),model:m().optional(),provider:L.optional(),reasoningEffort:m().optional(),tuningProfile:N.optional(),suggestedTuningProfile:N.optional(),numCtx:d().int().positive().optional(),autoRecall:_().optional(),retrieval:C.optional(),font:m().optional(),voice:m().optional(),templateId:m().optional(),templateVersion:m().optional(),sandboxCopilot:_().optional(),claudePermissionMode:M.optional(),codexPermissionMode:mt.optional(),fixedFunction:Dn.optional(),icon:m().optional(),poppetje:ft.optional(),iconOverride:_().optional(),recognition:a([`auto`,`always`,`off`]).optional(),scope:a([`global`,`project`]).optional(),storageScope:a([`user`,`machine-shared`]).optional(),traits:f(On).optional(),growth:Ot.optional(),updatedAt:m()});An.extend({parsed:kn,about:m(),toolsMd:m().nullable().default(null)});var jn=p({path:m(),mimeType:m()}),Mn=p({path:m(),mimeType:m(),durationSeconds:d().optional(),voice:m().optional()}),Nn=p({path:m(),mimeType:m(),posterPath:m().optional()}),Pn=p({id:m(),name:m(),status:a([`done`,`active`,`pending`])}),Fn=t(`kind`,[p({kind:u(`craftbook-start`),craftbookId:m(),craftbookName:m(),taskRef:m(),projectId:m(),status:m(),activeStepId:m().optional(),steps:f(Pn),reused:_().optional(),recommendsExternalServices:p({reason:m().optional()}).optional()}),p({kind:u(`task-step-advance`),craftbookId:m(),craftbookName:m(),taskRef:m(),projectId:m(),status:m(),completedStepId:m(),completedStepName:m().optional(),activeStepId:m().optional(),activeStepName:m().optional(),steps:f(Pn)})]),In=p({name:m(),at:m().optional(),durationMs:d(),success:_(),errorMessage:m().optional(),path:m().optional(),paths:f(m()).optional(),argsSummary:m().optional(),argsFull:m().optional(),resultText:m().optional(),resultTruncated:_().optional(),images:f(jn).optional(),audios:f(Mn).optional(),videos:f(Nn).optional(),diff:m().optional(),addedLines:d().int().nonnegative().optional(),removedLines:d().int().nonnegative().optional(),card:Fn.optional(),afterReasoningChars:d().int().min(0).optional()}),Ln=p({kind:u(`external`),appId:m().min(1),appName:m().min(1),externalConversationId:m().min(1),readOnly:u(!0),workingDirectory:m().optional(),projectHint:m().optional()}),Rn=p({kind:a([`artifact`,`workspace`]),path:m()}),zn=p({removedCount:d().int().nonnegative(),contextWindow:d().int().positive(),estimatedTokensBefore:d().int().nonnegative(),compactionCount:d().int().positive(),autoCompactRatio:d().positive().max(1)}),R=p({role:a([`user`,`assistant`]),content:m(),at:m(),from:p({gezelId:m(),gezelName:m(),sessionId:m().optional(),kind:a([`delegation`,`consultation`,`task-entry`,`task-handoff`]).optional()}).optional(),referencedFiles:f(Rn).optional(),referencedArtifacts:f(m()).optional(),referencedTasks:f(m()).optional(),retrieval:p({hits:f(p({source:Fe,projectId:m().optional(),path:m().optional(),line:d().int().positive().optional(),lineEnd:d().int().positive().optional(),score:d()}))}).optional(),toolCalls:f(In).optional(),intents:f(p({label:m(),afterChars:d().int().min(0)})).optional(),pendingQuestionId:m().optional(),synthetic:a([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),contextCompaction:zn.optional(),hidden:_().optional(),nudge:_().optional(),draftId:m().optional(),origin:a([`system`]).optional(),warnings:f(m()).optional(),reasoning:m().optional(),reasoningDurationMs:d().int().nonnegative().optional(),attemptedToolCalls:f(p({body:m(),reason:m().optional()})).optional(),recognizedImages:f(vn).optional()}),Bn=p({code:m().max(64).optional(),engine:m().max(64).optional(),incidentId:m().max(64).optional(),panicKind:m().max(64).optional(),exitCode:d().int().nullable().optional(),signal:m().max(32).nullable().optional(),diagnostics:l(m(),n([m(),d(),_()])).optional()}),Vn=t(`type`,[p({type:u(`delta`),content:m()}),p({type:u(`reasoning_delta`),content:m()}),p({type:u(`complete`),message:R}),p({type:u(`user_message_pending`),preview:m()}),p({type:u(`user_message`),message:R}),p({type:u(`tool`),name:m(),at:m().optional(),durationMs:d(),success:_(),errorMessage:m().optional(),path:m().optional(),paths:f(m()).optional(),argsSummary:m().optional(),argsFull:m().optional(),resultText:m().optional(),resultTruncated:_().optional(),images:f(jn).optional(),audios:f(Mn).optional(),videos:f(Nn).optional(),diff:m().optional(),addedLines:d().int().nonnegative().optional(),removedLines:d().int().nonnegative().optional(),card:Fn.optional()}),p({type:u(`error`),error:m(),errorDetail:Bn.optional()}),p({type:u(`cancelled`)}),p({type:u(`done`)}),p({type:u(`queued`),aheadOf:d().int().min(0)}),p({type:u(`wire_pulse`)}),p({type:u(`tool_args_delta`),name:m(),content:m()}),p({type:u(`heartbeat`),label:m().optional()}),p({type:u(`warning`),message:m(),action:p({kind:u(`settings`),section:a([`llamaCpp`,`mlx`,`ds4`])}).optional()}),p({type:u(`intent`),label:m()}),p({type:u(`queue_enqueued`),queueId:m(),preview:m(),enqueuedAt:m(),nudge:_().optional()}),p({type:u(`queue_removed`),queueId:m(),reason:a([`started`,`canceled`,`rejected`])}),p({type:u(`context_window`),numCtx:d().int().positive(),model:m(),autoCompactRatio:d().positive().max(1),estimatedTokens:d().int().nonnegative().optional()}),p({type:u(`context_warning`),estimatedTokens:d(),numCtx:d(),model:m(),reason:u(`compaction_failed`).optional()}),p({type:u(`context_compacted`),removedCount:d().int().nonnegative(),model:m(),numCtx:d().int().positive().optional(),estimatedTokensBefore:d().int().nonnegative().optional(),autoCompactRatio:d().positive().max(1).optional(),compactionCount:d().int().positive().optional(),mode:a([`between-turn`,`mid-turn`]).optional()}),p({type:u(`context_loop`),compactionsThisSend:d().int().positive(),reason:m()}),p({type:u(`keurmeester_intervention`),caseId:m(),gezelId:m(),gezelName:m(),action:m(),summary:m()}),p({type:u(`recall_applied`),hitCount:d(),query:m()}),p({type:u(`question_asked`),question:pn}),p({type:u(`question_answered`),question:pn}),p({type:u(`task_event`),eventId:m(),kind:m(),summary:m(),at:m(),taskRef:m().optional(),gezelId:m().optional()}),p({type:u(`growth_level_up`),gezelId:m(),gezelName:m(),toLevel:d().int()}),p({type:u(`engine_phase`),provider:a([`llama-cpp`,`mlx`,`ds4`]),phase:a([`starting`,`loading_model`,`prefill`,`generating`,`ready`]),activity:m().optional(),detail:m().optional(),progress:d().min(0).max(1).optional(),ttftMs:d().int().nonnegative().optional(),outputTokens:d().int().nonnegative().optional(),tokensPerSec:d().nonnegative().optional()}),p({type:u(`turn_stats`),provider:a([`llama-cpp`,`ollama`,`mlx`,`ds4`]),model:m().optional(),promptTokens:d().int().nonnegative(),completionTokens:d().int().nonnegative(),durationMs:d().int().nonnegative(),tokensPerSec:d().nonnegative().optional()}),p({type:u(`engine_stats`),provider:a([`llama-cpp`,`mlx`,`ds4`]),ramAllocBytes:d().nonnegative()}),p({type:u(`gpu_swap`),state:a([`started`,`progress`,`ended`]),task:Sn,detail:m().optional(),prompt:m().optional(),progress:d().min(0).max(1).optional(),step:d().int().nonnegative().optional(),totalSteps:d().int().positive().optional(),secondsPerStep:d().nonnegative().optional()}),p({type:u(`awaiting_gezel`),state:a([`started`,`ended`]),targetGezelName:m()}),p({type:u(`project_created`),projectId:m(),name:m()}),p({type:u(`project_deleted`),projectId:m(),name:m()}),p({type:u(`gezel_created`),gezelId:m(),name:m()}),p({type:u(`prompt_draft_changed`),projectId:m(),gezelId:m(),draftId:m(),sessionId:m().nullable(),status:a([`draft`,`sent`]),deleted:_().optional(),updatedAt:m()}),p({type:u(`night_shift`),active:_(),source:a([`scheduled`,`manual`]).nullable()}),p({type:u(`meester_status`),state:a([`started`,`ended`,`failed`]),generatedAt:m().optional()}),p({type:u(`ambient_dashboard`),state:a([`started`,`ended`,`failed`]),generatedAt:m().optional(),filename:m().optional()}),p({type:u(`index_progress`),phase:a([`scan`,`shadow`,`enrich`,`review`,`digest`]),state:a([`started`,`progress`,`ended`]),projectId:m().optional(),detail:m().optional(),pending:d().int().nonnegative().optional(),gezelId:m().optional(),gezelName:m().optional()})]),Hn=p({sessionId:m(),gezelId:m(),projectId:m(),parentSession:xn.optional(),handoffFrom:bn.optional(),sessionSource:Ln.optional(),event:Vn}),Un=a(`gezel.created,gezel.deleted,gezel.renamed,gezel.settings.updated,gezel.about.generated,icon.generated,icon.reverted,poppetje.generated,poppetje.updated,poppetje.rerolled,project.created,project.deleted,project.updated,project.about.updated,project.mission.updated,project.voorman.changed,project.gezel.joined,project.gezel.left,project.suggested-work.enabled,project.suggested-work.disabled,project.properties.updated,report.action.fired,report.action.dismissed,project.status.changed,project.nudge.sent,project.github.linked,project.github.unlinked,project.github.synced,project.review.requested,project.review.settled,project.diffpack.sealed,project.diffpack.applied,project.diffpack.dismissed,project.connector.bound,project.connector.unbound,project.connector.synced,document.created,document.folder.created,document.updated,document.renamed,document.deleted,workspace.write,workspace.delete,workspace.mkdir,workspace.move,workspace.npm.installed,workspace.npm.declined,workspace.script.run,workspace.script.declined,workspace.npx.run,workspace.npx.declined,terminal.command.run,workspace.allow-writes.changed,tool.called,page.tool.invoked,page.reaction.sent,tool.gated,meester.changed,klerk.changed,boekwachter.changed,keurmeester.changed,gilde.updated,ai-app.installed,ai-app.removed,ai-app.enabled,ai-app.disabled,ai-app.applied,app-serve.started,app-serve.stopped,v1.chat.completion,keurmeester.intervention,keurmeester.digest.generated,task.created,task.activated,task.updated,task.status.changed,task.assignee.changed,task.step.added,task.step.activated,task.step.completed,task.step.redriven,task.step.stalled,task.step.gated,task.step.routed,task.entry.dispatched,task.craftbook.tier-collapsed,task.tick,task.canceled,task.instance.spawned,task.fanout.materialized,tasknote.appended,tasknote.updated,tasknote.deleted,task.about.updated,task.step.updated,task.step.removed,task.craftbook.reordered,task.craftbook.updated,craftbook.created,craftbook.updated,craftbook.deleted,toolset.config.updated,config.credential.updated,config.engagementMode.changed,memory.auto-recalled,retrieval.context-injected,memory.auto-summarized,memory.compacted,memory.lessons-updated,project.digest.generated,project.index.reviewed,meester.status.generated,meester.dashboard.generated,gezel.level.up,gezel.trait.adopted,gezel.trait.removed,gezel.tuning.adjusted,chat.compacted,gezel.messaged,gezel.message.delivered,gezel.message.delivery_failed,gezel.reply.dropped,chat.mention.fanout,render.generated,user.question.asked,user.question.answered,debug.bridge.failed,channel.configured,channel.message.sent,channel.message.failed,copilot.builtin.denied,credential.used,eval.trial.started,eval.trial.completed,knowledge.catalog.installed,knowledge.catalog.updated,knowledge.catalog.enabled,knowledge.catalog.disabled,knowledge.catalog.removed,knowledge.catalog.install_failed`.split(`,`)),Wn=p({id:m(),at:m(),kind:Un,projectId:m().optional(),gezelId:m().optional(),summary:m(),details:l(m(),g()).optional()}),Gn=p({entryType:u(`session`),id:m(),gezelId:m(),projectId:m(),title:m(),createdAt:m(),lastActivityAt:m(),messageCount:d(),durationMs:d(),providerName:L,model:m().optional(),archived:_().optional()}),Kn=t(`entryType`,[Wn.extend({entryType:u(`event`)}),Gn]);p({projectId:m().optional(),gezelId:m().optional(),kinds:f(Un).optional(),from:m().optional(),to:m().optional(),q:m().optional(),limit:d().int().positive().optional(),include:a([`events`,`entries`]).optional()}),p({entries:f(Kn)});var z=a(`sheet.folder.code.branch.envelope.calendar.bubbles.chart.frame.quill.sprout.die.house.coin.banner.terminal.globe.server.package.book.palette.camera.briefcase.heart.cards.meal.plane.people.dots`.split(`.`)),qn=[`multilingual-e5-small@1`,`bge-small-en-v1.5@1`],Jn=a([`machine-shared`,`user`]),Yn=a([`gilde`,`file`,`url`]),Xn=p({publisherId:v,catalogId:v,version:ee,contentDigest:r,storageScope:Jn});p({version:u(1),catalogs:f(p({ref:Xn,enabled:_(),addedAt:m(),autoUpdate:_().optional(),source:Yn.optional(),disabledReason:m().optional()}))}),p({version:u(1),catalogs:f(p({publisherId:v,catalogId:v,version:ee,contentDigest:r,publishedAt:m(),bytes:d().int().nonnegative()}))}),p({publisherId:v,catalogId:v,version:ee,expectedDigest:r});var Zn=p({mode:a([`inherit`,`selected`,`off`]),refs:f(p({publisherId:v,catalogId:v})).optional()}),Qn=p({repo:m(),revision:m(),path:m()}),$n=p({publisherId:v,catalogId:v,name:m(),installedVersion:m(),availableVersion:m(),releasedAt:m(),archiveBytes:d().int().nonnegative(),contentDigest:r,huggingface:Qn});p({source:u(`gilde`),checkedAt:m(),updates:f($n)});var er=a([`shared`,`profile`,`keyword-only`]);p({ref:Xn,enabled:_(),addedAt:m(),disabledReason:m().optional(),mounted:_(),name:m().optional(),description:m().optional(),language:m().optional(),license:m().optional(),documents:d().int().nonnegative().optional(),chunks:d().int().nonnegative().optional(),sizeBytes:d().int().nonnegative().optional(),vectorCompatible:_().optional(),semanticSearch:er.optional(),source:Yn,updateAvailable:_(),availableVersion:m().optional()}),p({id:v,publisherId:v,name:m(),description:m(),tags:f(m()),language:m(),category:m().optional(),license:m().optional(),licenseUrl:m().optional(),version:m(),releasedAt:m(),formatVersion:m(),huggingface:Qn,upstream:m().optional(),parquet:p({repo:m(),revision:m(),dir:m()}).optional(),sha256:r,archiveBytes:d().int().nonnegative(),uncompressedBytes:d().int().nonnegative(),documents:d().int().nonnegative(),chunks:d().int().nonnegative(),embeddingProfile:p({id:m(),modelRepo:m()}),topics:f(p({id:m(),name:m()})),minGezelVersion:m().optional(),installed:p({version:m(),contentDigest:r,storageScope:Jn,enabled:_(),updateAvailable:_()}).optional(),sharedOnDevice:_(),installing:_(),incompleteDownload:_()});var tr=a([`download`,`extract`,`embedder`]),nr=t(`type`,[p({type:u(`progress`),phase:tr,bytesDone:d().nonnegative(),bytesTotal:d().nonnegative()}),p({type:u(`verifying`)}),p({type:u(`retrying`),attempt:d().int(),maxAttempts:d().int(),delayMs:d().nonnegative(),reason:m()}),p({type:u(`done`),ref:Xn,rootDir:m(),storageScope:Jn,warning:m().optional()}),p({type:u(`error`),error:m(),mismatch:p({expected:r,actual:r}).optional()})]);p({id:m(),startedAt:m(),finished:_(),error:m().optional(),events:f(nr)}),p({jobId:m(),catalogId:v.optional(),startedAt:m(),phase:a([`download`,`verifying`,`extract`,`embedder`,`retrying`]),bytesDone:d().nonnegative(),bytesTotal:d().nonnegative()}),p({key:m().regex(/^[0-9a-f]{16}$/),bytes:d().int().nonnegative(),updatedAt:m(),resumable:_(),catalogId:v.optional(),name:m().optional(),archiveBytes:d().int().nonnegative().optional()}),p({source:t(`kind`,[p({kind:u(`file`),path:m().min(1)}),p({kind:u(`url`),url:m().url(),expectedSha256:m().regex(/^[0-9a-fA-F]{64}$/).optional()}),p({kind:u(`catalog`),id:v,version:m().optional(),placement:a([`auto`,`user`]).optional()})])}),p({enabled:_().optional(),autoUpdate:_().optional()}),p({query:m().min(1),maxResults:d().int().min(1).max(50).optional(),catalogs:f(v).optional()});var rr=m().url().refine(e=>{try{let t=new URL(e);return t.protocol===`https:`&&!t.username&&!t.password&&t.pathname===`/`&&!t.search&&!t.hash}catch{return!1}},{message:`must be an exact HTTPS origin (for example https://api.example.com)`}),ir=p({url:m().min(1),branch:m().optional(),checkoutDir:m().optional(),lastSyncedAt:m().optional(),defaultBranch:m().optional()}),ar=p({id:m().min(1),type:m().min(1),sourceId:m().optional(),version:m().optional(),displayName:m().optional(),corpusDir:m().optional(),config:l(m(),g()).default({}),cursor:g().optional(),disabled:_().optional(),lastSyncedAt:m().optional(),lastError:m().optional()}),or=p({enabled:_().optional(),rapidIntervalMs:d().int().positive().optional(),slowIntervalMs:d().int().positive().optional(),recentActivityWindowMs:d().int().positive().optional(),rapidAttemptsBeforeBackoff:d().int().positive().optional(),firstNudgeGraceMs:d().int().nonnegative().optional()}),sr=p({lastNudgedAt:m().optional(),consecutiveRapidNudges:d().int().nonnegative().optional()}),cr=p({overview:_().optional(),tasks:_().optional(),approvals:_().optional(),workspace:_().optional(),artifacts:_().optional(),map:_().optional()}).strict(),lr=a([`auto`,`allow`,`deny`]),ur=p({id:m(),version:m(),source:m(),params:l(m(),g()).optional(),appliedAt:m(),icon:z.optional()}),dr=p({path:m(),sha256:m(),typeVersion:m(),writtenAt:m()});p({schemaVersion:u(1),typeId:m(),typeVersion:m(),appliedAt:m(),seeds:f(dr).default([])});var fr=a([`crew`,`solo`]),pr=p({id:vt,name:m(),description:m().optional(),icon:z.optional(),workingDir:m().optional(),voormanGezelId:m().optional(),voormanAutoAssignedAt:m().optional(),gezelIds:f(m()).optional(),linkedProjectIds:f(vt).max(32).optional(),suggestedWorkDismissed:f(m()).optional(),properties:l(m(),m()).optional(),mode:fr.optional(),leadLabel:m().optional(),leanProfile:_().optional(),indexingEnabled:_().optional(),nightlyFixesEnabled:_().optional(),workspaceTablesEnabled:_().optional(),knowledgeCatalogs:Zn.optional(),github:ir.optional(),connectors:f(ar).optional(),nudgeConfig:or.optional(),nudgeState:sr.optional(),tabVisibility:cr.optional(),outputPaneVisible:_().optional(),managedWorkspaceWritePolicy:lr.optional(),allowGezelWrites:_().optional(),codexPermissionMode:pt.optional(),claudePermissionMode:M.optional(),status:a([`active`,`readonly`,`inactive`,`stable`]).optional(),archived:_().optional(),workspaceScriptTimeoutMs:d().int().min(3e4).max(30*6e4).optional(),grantedCredentials:f(m()).optional(),credentialAllowedOrigins:l(m(),f(rr)).optional(),projectTypeId:m().optional(),detectedProjectType:p({id:m(),score:d(),scannedAt:m()}).optional(),projectType:ur.optional(),storageScope:a([`user`,`machine-shared`]).optional(),createdAt:m(),updatedAt:m()}),mr=p({name:m(),version:m()}),hr=pr.extend({packages:f(mr),about:m().optional(),missionObjectives:m().optional()});p({name:m(),path:m(),isDirectory:_(),mtimeMs:d().optional()});var gr=n([Te,p({kind:u(`prometheusAlerts`),file:m().min(1),minRules:d().int().positive().optional(),maxPageAlerts:d().int().nonnegative().optional(),allowedSeverities:f(m().min(1)).optional(),requiredServices:f(m().min(1)).optional(),requiredRunbookUrls:f(m().min(1)).optional()}).strict(),p({kind:u(`nodeScriptPasses`),script:m().min(1),timeoutMs:d().int().positive().optional(),requiredOutput:f(p({pattern:m().min(1),flags:m().optional(),label:m().optional()}).strict()).optional()}).strict(),p({kind:u(`binaryDocument`),file:m().min(1),artifact:_().optional(),minBytes:d().int().positive().optional()}).strict()]),_r=m().min(1).regex(/^[a-z0-9][a-z0-9-]*$/,`mock service ids are lowercase kebab-case`),vr=m().min(1).regex(/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/,`mock toolset ids are lowercase catalog ids or scoped npm-style ids`),yr=p({method:a([`GET`,`POST`,`PUT`,`PATCH`,`DELETE`]).default(`GET`),path:m().min(1),status:d().int().min(100).max(599).default(200),headers:l(m(),m()).optional(),body:g(),latencyMs:d().int().nonnegative().optional()}).strict(),br=t(`kind`,[p({kind:u(`http`),id:_r,description:m().min(1),credential:p({name:m().regex(/^mock\.[a-z0-9][a-z0-9.-]*$/,`mock credentials are named mock.<service-id>`),authScheme:a([`bearer`,`basic`]).optional()}).strict(),routes:f(yr).min(1)}).strict(),p({kind:u(`webhook`),id:_r,description:m().min(1),path:m().min(1).optional()}).strict(),p({kind:u(`cli`),id:_r,description:m().min(1),shim:p({path:m().min(1),content:m()}).strict()}).strict(),p({kind:u(`mcp`),id:_r,description:m().min(1),toolsetId:vr.optional(),tools:f(p({name:m().min(1),description:m().min(1),resultTemplate:g().optional(),resultSequence:f(g()).min(1).optional(),writeFixture:p({surface:a([`workspace`,`artifact`]),pathArgument:m().min(1),fixture:a([`minimal-pptx`,`minimal-docx`,`minimal-pdf`,`minimal-png`])}).strict().optional()}).strict()).min(1)}).strict()]),xr=p({path:m().min(1),content:m(),surface:a([`workspace`,`artifact`,`harness`]).optional(),modelInput:_().optional()}).strict(),Sr=p({name:m().min(1),role:m().min(1),description:m().optional(),about:m().optional()}).strict(),Cr=p({projectName:m().min(1),about:m().optional(),missionObjectives:m().optional(),managedWorkspaceWritePolicy:lr.optional(),files:f(xr).default([]),craftbookParams:l(m(),m()).optional(),worker:Sr.optional()}).strict(),wr=p({path:m().min(1),kind:Ze,artifact:_().optional(),minBytes:d().int().positive().optional(),checks:f(gr).optional()}).strict(),Tr=p({service:_r,minRequests:d().int().positive().optional(),requiredPaths:f(m().min(1)).optional(),forbiddenPaths:f(m().min(1)).optional(),requiredTools:f(m().min(1)).optional(),toolCalls:l(m().min(1),p({minCalls:d().int().nonnegative().default(1),maxCalls:d().int().nonnegative().optional()}).strict().refine(e=>e.maxCalls===void 0||e.minCalls<=e.maxCalls,`minCalls must be less than or equal to maxCalls`)).optional()}).strict(),Er=p({kind:Un,minEntries:d().int().nonnegative().default(1),maxEntries:d().int().nonnegative().optional(),summaryPattern:m().min(1).optional(),flags:m().optional(),details:l(m(),n([m(),d(),_(),i()])).optional()}).strict(),Dr=p({summary:m().min(1),deliverables:f(wr).optional(),checks:f(gr).optional(),taskNotes:p({minBytes:d().int().positive().optional(),checks:f(gr).optional(),requireCraftbookTask:_().optional()}).strict().optional(),taskGraph:p({checks:f(gr).optional(),requireCraftbookTask:_().optional(),requireTerminalStep:_().optional(),requireDraftRef:_().optional(),draft:p({status:a([`draft`,`paused`,`active`,`complete`,`canceled`]).optional(),minDescriptionBytes:d().int().positive().optional(),minOutcomes:d().int().positive().optional(),minSteps:d().int().positive().optional(),requireTerminalVerification:_().optional(),requireGatedBuildSteps:_().optional()}).strict().optional()}).strict().optional(),mocks:f(Tr).optional(),history:f(Er).optional(),unchangedFixtures:f(m().min(1)).optional()}).strict(),Or=p({artifact:p({path:m().min(1),kind:a([`html`,`markdown`,`yaml`,`typescript`,`json`,`text`])}).strict(),axes:f(p({name:m().min(1),description:m().min(1)}).strict()).min(1),contextNote:m().optional()}).strict();p({schemaVersion:u(1),title:m().min(1),objective:m().min(1),tags:f(m().min(1)).default([]),prompt:m().min(1),setup:Cr,mocks:f(br).default([]),success:Dr,rubric:Or,qualityFocus:f(m().min(1)).default([]),extensions:l(m(),g()).optional()}).strict().superRefine((e,t)=>{let n=new Set(e.mocks.map(e=>e.id)),r=new Map(e.mocks.map(e=>[e.id,e]));for(let[i,a]of(e.success.mocks??[]).entries()){if(n.has(a.service)||t.addIssue({code:h.custom,path:[`success`,`mocks`,i,`service`],message:`success.mocks[${i}] references unknown mock service "${a.service}"`}),a.requiredTools&&a.requiredTools.length>0){let e=r.get(a.service);if(e&&e.kind!==`mcp`)t.addIssue({code:h.custom,path:[`success`,`mocks`,i,`requiredTools`],message:`success.mocks[${i}].requiredTools requires an mcp service; "${a.service}" is kind "${e.kind}"`});else if(e?.kind===`mcp`){let n=new Set(e.tools.map(e=>e.name));for(let e of a.requiredTools)n.has(e)||t.addIssue({code:h.custom,path:[`success`,`mocks`,i,`requiredTools`],message:`success.mocks[${i}].requiredTools names undeclared tool "${e}" on mcp service "${a.service}"`})}}if(a.toolCalls&&Object.keys(a.toolCalls).length>0){let e=r.get(a.service);if(e&&e.kind!==`mcp`)t.addIssue({code:h.custom,path:[`success`,`mocks`,i,`toolCalls`],message:`success.mocks[${i}].toolCalls requires an mcp service; "${a.service}" is kind "${e.kind}"`});else if(e?.kind===`mcp`){let n=new Set(e.tools.map(e=>e.name));for(let e of Object.keys(a.toolCalls))n.has(e)||t.addIssue({code:h.custom,path:[`success`,`mocks`,i,`toolCalls`,e],message:`success.mocks[${i}].toolCalls names undeclared tool "${e}" on mcp service "${a.service}"`})}}}for(let[n,r]of e.mocks.entries())r.kind===`http`&&r.credential.name!==`mock.${r.id}`&&t.addIssue({code:h.custom,path:[`mocks`,n,`credential`,`name`],message:`http mock "${r.id}" must use credential name "mock.${r.id}"`});let i=new Set(e.setup.files.filter(e=>e.surface===void 0||e.surface===`workspace`).map(e=>e.path));for(let[n,r]of(e.success.unchangedFixtures??[]).entries())i.has(r)||t.addIssue({code:h.custom,path:[`success`,`unchangedFixtures`,n],message:`unchanged fixture "${r}" is not a seeded workspace file`});for(let[n,r]of(e.success.history??[]).entries())r.maxEntries!==void 0&&r.minEntries>r.maxEntries&&t.addIssue({code:h.custom,path:[`success`,`history`,n],message:`minEntries must be less than or equal to maxEntries`})});var kr=p({id:m().min(1),name:m().min(1),role:m().optional(),kind:a([`gezel`,`user`,`system`]),meester:_().optional(),poppetje:ft.optional()}).strict(),Ar=p({screenshot:m().optional(),artifact:m().optional(),sessionFile:m().optional(),messageIndex:d().int().nonnegative().optional()}).strict(),B={at:m().min(1),actorId:m().optional(),sessionId:m().optional(),taskRef:m().optional(),excerpt:m().optional(),refs:Ar.optional()},jr=t(`kind`,[p({kind:u(`user-prompt`),...B}).strict(),p({kind:u(`reasoning`),...B,durationMs:d().nonnegative().optional()}).strict(),p({kind:u(`tool-call`),...B,name:m().min(1),argsSummary:m().optional(),success:_(),durationMs:d().nonnegative().optional(),path:m().optional(),count:d().int().positive().optional(),diffStats:p({addedLines:d().int().nonnegative(),removedLines:d().int().nonnegative()}).strict().optional()}).strict(),p({kind:u(`reply`),...B}).strict(),p({kind:u(`delegation`),...B,toActorId:m().min(1),toSessionId:m().optional(),delegationKind:a([`delegation`,`consultation`,`task-entry`,`task-handoff`]).optional()}).strict(),p({kind:u(`step-transition`),...B,stepId:m().min(1),stepName:m().optional(),phase:a([`activated`,`completed`,`gated`,`redriven`,`stalled`])}).strict(),p({kind:u(`gate-verdict`),...B,stepId:m().optional(),verdict:a([`pass`,`fail`]),attempt:d().int().positive().optional()}).strict(),p({kind:u(`artifact-produced`),...B,store:a([`workspace`,`artifact`]),path:m().min(1),bytes:d().int().nonnegative().optional(),count:d().int().positive().optional(),screenshotRef:m().optional()}).strict(),p({kind:u(`question`),...B,state:a([`asked`,`answered`]).optional()}).strict(),p({kind:u(`turn-aborted`),...B,reason:m().optional()}).strict(),p({kind:u(`note`),...B,stepId:m().optional()}).strict()]),Mr=p({trialId:m().min(1),scenarioId:m().min(1),modelId:m().min(1),startedAt:m().min(1),durationMs:d().nonnegative().optional(),success:_().optional(),reason:m().optional()}).strict(),Nr=p({craftbookId:m().min(1),craftbookVersion:m().min(1),testSpecHash:m().regex(/^[0-9a-f]{64}$/).optional(),modelId:m().min(1),recordedAt:m().min(1),durationMs:d().nonnegative().optional(),title:m().optional(),summary:m().optional()}).strict(),Pr=p({file:m().min(1).refine(e=>!e.includes(`..`)&&!e.startsWith(`/`)&&!/^[a-zA-Z]:/.test(e),{message:`file must be a transcript-dir-relative path`}),caption:m().optional(),sceneId:m().optional(),width:d().int().positive().optional(),height:d().int().positive().optional()}).strict(),Fr=p({droppedScenes:d().int().nonnegative(),truncatedExcerpts:d().int().nonnegative()}).strict();p({schemaVersion:d().int().positive(),trial:Mr.optional(),provenance:Nr.optional(),actors:f(kr),scenes:f(jr),screenshots:f(Pr).optional(),budget:Fr,extensions:l(m(),g()).optional()}).strict().extend({provenance:Nr}),p({schemaVersion:d().int().positive(),trialId:m().min(1),scenarioId:m().min(1),modelId:m().min(1),startedAt:m().optional(),finishedAt:m().optional(),files:l(m(),m()).optional(),chatEvents:p({lines:d().int().nonnegative(),coalescedDeltas:d().int().nonnegative().optional(),gaps:f(p({from:m(),to:m()}).strict()).optional(),truncated:_().optional()}).strict().optional(),capture:l(m(),m()).optional()}).strict();var Ir=p({id:m().min(1),label:m().min(1),description:m().optional(),kind:a([`gezel`,`model`]).default(`model`),provider:m().min(1),gezelId:m().min(1).optional(),role:m().min(1).optional(),modelLabel:m().min(1).optional(),contextWindow:d().int().positive().optional(),supportsReasoning:_().optional(),supportsTools:_().optional()}),Lr=a([`not-configured`,`configured`,`update-needed`,`conflict`,`unavailable`]),Rr=p({baseUrl:m().url(),listening:_(),port:d().int().nonnegative()}),zr=p({state:Lr,models:f(Ir),configuredModel:m().optional(),recommendedModel:m().optional(),reasons:f(m()),message:m().optional(),endpointsEnabled:_(),launchCommand:m().min(1),bridge:Rr,canConfigure:_(),canRemove:_(),canRepair:_()});zr.extend({codexInstalled:_(),codexVersion:m().optional(),codexPath:m().optional(),profileName:m().min(1),profilePath:m().min(1),profileBackupPath:m().min(1).optional()}),p({model:m().min(1),backupConflictingProfile:_().optional()});var Br=p({state:a([`not-installed`,`installed`,`stale`,`conflict`,`unsupported`]),path:m().min(1).optional(),canInstall:_(),canRemove:_(),canReplace:_(),message:m().optional()});zr.extend({opencodeInstalled:_(),opencodeVersion:m().optional(),opencodePath:m().optional(),providerId:m().min(1),configPath:m().min(1),plugin:Br,configBackupPath:m().min(1).optional(),pluginBackupPath:m().min(1).optional()}),p({model:m().min(1),backupConflictingConfig:_().optional()}),p({backupConflictingPlugin:_().optional()});var Vr=p({state:a([`not-installed`,`installed`,`stale`,`conflict`,`unsupported`]),path:m().min(1).optional(),agentDir:m().min(1).optional(),agentDirSource:a([`override`,`env`,`default`]).optional(),canInstall:_(),canRemove:_(),canReplace:_(),message:m().optional()});zr.extend({piInstalled:_(),piVersion:m().optional(),piPath:m().optional(),providerId:m().min(1),configPath:m().min(1),extensionPath:m().min(1),extension:Vr,configBackupPath:m().min(1).optional(),extensionBackupPath:m().min(1).optional()}),p({model:m().min(1),backupConflictingConfig:_().optional()}),p({backupConflictingExtension:_().optional()});var Hr=p({id:m().min(1),label:m().min(1),product:a([`code`,`code-insiders`]),configPath:m().min(1)});zr.extend({vscodeInstalled:_(),vscodeVersion:m().optional(),vscodePath:m().optional(),providerId:m().min(1),profiles:f(Hr).min(1),configuredProfileId:m().min(1).optional(),configPath:m().min(1),configBackupPath:m().min(1).optional()}),p({profileId:m().min(1),backupConflictingConfig:_().optional()});var Ur=m().regex(/^\d{4}-\d{2}-\d{2}-\d{4,}$/),Wr=a([`draft`,`sent`]),Gr=p({id:Ur,projectId:m(),gezelId:m(),sessionId:m().nullable(),taskRef:m().optional(),craftbookRef:m().optional(),scope:m().optional(),createdAt:m(),updatedAt:m(),status:Wr,sentAt:m().optional(),sentSessionId:m().optional(),sentMessageAt:m().optional()}).extend({title:m(),hasFiles:_(),fileCount:d().int().nonnegative()});Gr.extend({content:m()}),p({gezelId:m().min(1),sessionId:m().nullable().optional(),content:m().optional(),taskRef:m().optional(),craftbookRef:m().optional(),scope:m().optional()}),p({content:m()}),p({draft:Gr.nullable(),deleted:_()}),p({gezelId:m().min(1).optional(),sessionId:m().nullable().optional(),taskRef:m().nullable().optional(),craftbookRef:m().nullable().optional(),scope:m().nullable().optional()}),p({sessionId:m().nullable().optional()}),p({drafts:f(Gr)}),p({ok:u(!0),deleted:_()});var Kr=p({keepSentDays:d().int().min(0).optional()}),qr=a([`AGENTS.md`,`CLAUDE.md`,`.github/copilot-instructions.md`]),Jr=a([`primary`,`concat`]);p({schemaVersion:u(1).default(1),sourceFile:qr.optional(),mergeMode:Jr.optional(),aboutHash:m().optional(),derivedAt:m().optional()});var Yr=p({hash:m(),sourceFile:qr,mergeMode:Jr.optional(),gezelId:m(),userEdited:_().optional()}),Xr=p({hash:m(),sourceFile:m()}),Zr=p({hash:m(),craftbookId:m(),scriptNames:f(m()).default([]),userEdited:_().optional()});p({version:u(1).default(1),gezel:Yr.optional(),about:Xr.optional(),craftbooks:l(m(),Zr).default({})});var Qr=p({name:m(),body:m(),confidence:d().min(0).max(1),sourceBlock:m(),origin:a([`static`,`llm`]).optional()}),$r=p({role:m(),about:m()}),ei=p({skillSource:m(),sourceHash:m(),craftbook:Xe,scripts:f(Qr).default([]),persona:$r.optional(),notes:f(m()).optional(),createdAt:m()});p({version:u(1).default(1),items:f(ei).default([])});var ti=a([`draft`,`paused`,`active`,`complete`,`canceled`]),ni=a([`skip`,`queue`,`concurrent`]),ri=p({expression:m(),lastTickAt:m().optional(),nextTickAt:m().optional(),overlap:ni.optional()}),ii=p({title:m().optional(),plan:m().optional(),description:m().optional(),context:l(m(),m()).optional()}),ai=p({count:d().int().positive(),variations:f(ii).optional(),materializedAt:m().optional()}),oi=p({count:d().int().positive(),variations:f(ii).optional()}),si=p({enabled:_(),onceADay:_().optional(),lastRunDay:m().optional()}),ci=He.extend({createdAt:m(),completedAt:m().optional(),attemptCount:d().int().nonnegative().optional(),lastActivatedAt:m().optional(),onEnterCompletedAt:m().optional(),gateAttempts:d().int().nonnegative().optional(),gateProgressAttempts:d().int().nonnegative().optional(),lastGateReject:p({contentHash:m().optional(),messageFingerprint:m(),message:m(),at:m()}).optional(),redriveCount:d().int().nonnegative().optional(),lastRedriveAt:m().optional(),restartResumeCount:d().int().nonnegative().optional(),lastRestartResumeAt:m().optional(),gateAttemptHistory:f(p({at:m(),attempt:d().int().nonnegative(),contentHash:m().optional(),signatureHash:m(),messageFingerprint:m(),failedChecks:f(m()).optional(),remaining:d().int().nonnegative().optional(),frozen:_().optional()})).optional()}),li=p({id:m().min(1),name:m().min(1),description:m().optional(),version:m().optional(),basedOn:j.optional(),plan:m().optional(),defaultAssignee:y.optional(),steps:f(ci).min(1),entryStepId:m().min(1),triggers:f(m()).optional(),hooks:f(S).optional(),paramSchema:l(m(),g()).optional(),toolsets:f(k).optional(),connectors:f(Ke).optional(),recommends:f(D).optional(),commands:f(Ge).optional(),scripts:A.optional(),spawn:T.optional(),diffpackCapable:_().optional(),capabilityFloor:w.optional(),createdAt:m(),updatedAt:m(),renderedForTier:w.optional()}),ui=p({role:a([`main`,`spawn`]),catalogId:m(),version:m().optional(),sourceId:m().optional()}),di=p({id:m(),text:m().min(1),met:_().optional(),evidence:m().optional(),verifiedAt:m().optional()}),fi=p({projectId:m(),num:d().int().positive(),ref:m(),title:m(),description:m().optional(),plan:m().optional(),outcomes:f(di).optional(),status:ti,assignee:y,assigneeAuto:_().optional(),craftbook:li,spawnsCraftbook:li.optional(),sourceCraftbookIds:f(ui).optional(),craftbookParams:l(m(),m()).optional(),spawnsCraftbookParams:l(m(),m()).optional(),activeStepId:m().optional(),parentTaskRef:m().optional(),launchSessionId:m().optional(),artifactDir:m().optional(),diffpackId:m().optional(),origin:t(`kind`,[p({kind:u(`project-type-schedule`),typeId:m(),scheduleKey:m()}),p({kind:u(`system-job`),jobId:m(),managedByGezelId:m().optional()}),p({kind:u(`boekwachter-issue`),issueRef:m().regex(/^BW-[1-9]\d*$/),path:m().min(1)}),p({kind:u(`craftbook-invocation`),key:m().regex(/^craftbook-root-v1:[a-f0-9]{64}$/)}),p({kind:u(`gezel-suggested-craftbook`),templateId:m(),suggestionKey:m()})]).optional(),cron:ri.optional(),nightShift:si.optional(),fanout:ai.optional(),lastGateHandoff:p({fromStepId:m(),toStepId:m().optional(),message:m(),params:l(m(),g()).optional(),at:m()}).optional(),roleBasedNameOnlyMode:_().optional(),createdAt:m(),updatedAt:m(),createdBy:y});p({title:m().min(1),description:m().min(40),plan:m().optional(),outcomes:f(di).optional(),assignee:y.optional(),status:a([`draft`,`active`]).optional(),craftbookId:m().optional(),craftbookSourceId:m().optional(),craftbookVersion:m().optional(),steps:f($e).optional(),entryStepId:m().optional(),craftbookParams:l(m(),m()).optional(),spawnsCraftbookParams:l(m(),m()).optional(),spawnsCraftbookId:m().optional(),spawnsCraftbookSourceId:m().optional(),spawnsCraftbookVersion:m().optional(),spawnsSteps:f($e).optional(),spawnsEntryStepId:m().optional(),parentTaskRef:m().optional(),launchSessionId:m().optional(),cron:p({expression:m(),overlap:ni.optional()}).optional(),nightShift:p({enabled:_(),onceADay:_().optional()}).optional(),fanout:oi.optional(),createdBy:y.optional(),roleBasedNameOnlyMode:_().optional(),deliveryMode:a([`auto`,`edit`,`propose`]).optional(),dispatchEntry:_().optional(),craftbookInvocationKey:m().regex(/^craftbook-root-v1:[a-f0-9]{64}$/).optional()}).refine(e=>!!e.craftbookId!=!!(e.steps&&e.steps.length>0),{message:`exactly one of craftbookId or steps must be provided for the main craftbook`,path:[`craftbookId`]}).refine(e=>{let t=!!e.spawnsCraftbookId,n=!!(e.spawnsSteps&&e.spawnsSteps.length>0);return!(t&&n)},{message:`spawnsCraftbookId and spawnsSteps are mutually exclusive`,path:[`spawnsCraftbookId`]}).refine(e=>e.spawnsCraftbookId||e.spawnsSteps&&e.spawnsSteps.length>0?!!e.cron||!!e.fanout:!0,{message:`spawn craftbook only valid when cron or fanout is set`,path:[`spawnsCraftbookId`]}).refine(e=>!e.spawnsCraftbookParams||!!e.spawnsCraftbookId||!!(e.spawnsSteps&&e.spawnsSteps.length>0),{message:`spawn craftbook params require spawnsCraftbookId or spawnsSteps`,path:[`spawnsCraftbookParams`]}).refine(e=>e.status!==`draft`||!e.cron&&!e.fanout,{message:`a draft task cannot have a cron schedule or fanout`,path:[`status`]}).refine(e=>e.dispatchEntry!==!0||e.status!==`draft`&&!e.cron&&!e.fanout,{message:`dispatchEntry is only valid on an immediately-active, non-spawning task (drafts kick off via activate; cron/fanout children dispatch themselves)`,path:[`dispatchEntry`]}),p({title:m().min(1).optional(),description:m().optional(),plan:m().optional(),outcomes:f(di).nullable().optional(),assignee:y.optional(),cron:p({expression:m(),overlap:ni.optional()}).nullable().optional(),nightShift:p({enabled:_(),onceADay:_().optional()}).nullable().optional(),fanout:oi.nullable().optional(),spawnsCraftbookParams:l(m(),m()).nullable().optional()}),p({count:d().int().positive().optional(),variations:f(ii).optional()}),p({status:ti}),p({next:m().optional(),force:_().optional()}),p({task:fi,gate:p({decision:u(`reject`),message:m(),attempt:d().int().nonnegative(),maxAttempts:d().int().positive(),paused:_(),infrastructureError:_().optional(),hook:u(`onExit`).optional(),scriptRuns:f(p({scriptName:m(),runId:m().optional(),error:m().optional(),logsTail:m().optional()})).optional()}).optional()}),p({name:m().min(1).optional(),description:m().optional(),prompt:m().optional(),suggestedRole:m().nullable().optional(),retrieval:C.nullable().optional(),toolPolicy:Ve.nullable().optional(),assignee:y.nullable().optional(),suggestedGezelId:m().nullable().optional(),onEnter:b.nullable().optional(),onExit:b.nullable().optional(),consumes:f(Re).min(1).nullable().optional(),advanceWhen:Le.nullable().optional(),gate:Oe.nullable().optional(),next:m().nullable().optional(),branches:f(Ie).nullable().optional(),terminal:_().optional()}),p({task:fi}),p({name:m().min(1).optional(),description:m().nullable().optional(),plan:m().nullable().optional(),defaultAssignee:y.nullable().optional(),entryStepId:m().optional()}),p({id:m().optional(),name:m().min(1),description:m().optional(),prompt:m().optional(),suggestedGezelId:m().optional(),assignee:y.optional()});var pi=a([`dispatching`,`provider-busy`,`night-shift`,`night-quota`,`engagement-off`,`engagement-paused`,`queued`]),mi=p({ref:m(),reason:pi,gezelId:m(),stepId:m().optional(),sessionId:m().optional(),since:m()});p({tasks:f(fi),waiting:f(mi).optional()});var hi=t(`kind`,[p({kind:u(`gezel`),gezelId:m(),name:m()}),p({kind:u(`user`)})]),gi=p({id:m(),at:m(),author:hi,stepId:m().optional(),text:m()});p({notes:f(gi)}),p({text:m().min(1),stepId:m().optional()}),p({note:gi}),p({text:m().min(1)}),p({note:gi});function _i(e){let t=e.lastIndexOf(`/`);if(t<0||t===e.length-1)return null;let n=e.slice(0,t),r=e.slice(t+1);if(!n)return null;let i=Number.parseInt(r,10);return!Number.isFinite(i)||i<=0||String(i)!==r?null:{projectId:n,num:i}}var vi=m().refine(e=>_i(e)!==null,{message:`task ref must use projectId/num form`}),yi=a([`code-build`,`code-quality`,`code-review`,`code-data`,`code-release`,`code-ops`,`code-docs`,`writing`,`media`,`design`,`marketing`,`research`,`business`,`personal`,`practice`,`other`]);new Map(Object.entries({"code-review":{strong:[`code-review`,`pr-review`,`pull-request`,`appsec`,`sast`,`vulnerability`,`supply-chain`,`threat-model`,`stride`,`security`,`dependencies`,`accessibility`,`a11y`,`wcag`],weak:[`audit`,`review`,`diff`,`github`,`guardrail`,`safety`,`integrity`,`drift`,`pr`]},"code-quality":{strong:[`testing`,`tests`,`test-gaps`,`tdd`,`regression`,`regression-test`,`coverage`,`qa`,`manual-test`,`smoke-test`,`playwright`,`refactor`,`refactoring`,`technical-debt`,`code-quality`,`maintainability`,`debugging`,`bug-fix`,`root-cause`,`codemod`,`profiling`,`type-safety`,`strict`],weak:[`debug`,`quality`,`performance`,`optimization`,`speed`,`benchmark`,`cleanup`,`compatibility`,`upgrade`,`rewrite`,`investigation`,`diagnosis`]},"code-release":{strong:`release.changelog.release-notes.keep-a-changelog.semver.versioning.deploy.deployment.ci.cd.devops.github-actions.docker.container.dockerfile.rollout.canary.progressive-delivery.feature-flag.kill-switch.rollback.hotfix.whats-new.go-no-go.ship-readiness.pre-flight.bump`.split(`.`),weak:[`launch`,`patch`,`toggle`,`signing`,`production`,`readiness`,`packaging`,`pipeline`,`tagging`,`build`,`version`]},"code-ops":{strong:[`incident`,`oncall`,`sre`,`monitoring`,`alerting`,`alerts`,`runbook`,`outage`,`postmortem`,`status-page`,`reliability`,`resilience`,`failure-modes`,`blameless`,`cron`,`scheduled-job`],weak:[`ops`,`escalation`,`recovery`,`drill`,`log`,`polling`,`backup`,`scheduled`,`maintenance`]},"code-data":{strong:`api.rest.graphql.grpc.protobuf.rpc.openapi.sql.database.etl.webhook.http.api-client.indexes.query-tuning.scraping.parser.dsl.grammar.lexer.ast.queue.worker.consumer.state-machine.fsm.regex.regexp.schema`.split(`.`),weak:[`data`,`integration`,`ingest`,`transform`,`convert`,`csv`,`join`,`merge`,`reconcile`,`migration`,`export`,`import`,`routing`,`dictionary`,`metadata`,`query`,`wrangling`,`cleaning`,`pattern`,`string-matching`,`validation`,`data-entry`,`yaml`]},"code-docs":{strong:[`documentation`,`docs`,`technical-writing`,`glossary`,`design-doc`,`rfc`],weak:[`reference`,`spec`,`walkthrough`,`definitions`]},"code-build":{strong:`backend.frontend.web-app.pwa.service-worker.scaffold.cli.command-line.terminal.argv.javascript.typescript.css.html.crud.localstorage.browser-extension.chrome.manifest-v3.popup.widget.embeddable.web-component.custom-element.shadow-dom.module.auth.authentication.login.booking.checkout.forms.wizard.multi-step.game.arcade.puzzle.idle.incremental.clicker.game-jam.micro-game.board-game.turn-based.multiscreen.physics.simulation.particles.gamedev.datapack.minecraft.mod.responsive.srcset.website.static-site.personal-site.portfolio.landing-page.landing.code.sdk.library.architecture`.split(`.`),weak:`codebase.ecommerce.engineering.interactive.browser.offline.installable.grid.logic.juice.polish.showcase.admin.session.config.bootstrap.setup.iteration.tooling.tool.script.scripting.automation.app.pages.package.component.server.diagram.flowchart.mermaid.tiles.favicon.developer`.split(`.`)},media:{strong:`video.audio.images.image-generation.photo.photos.tts.text-to-speech.stt.speech-to-text.podcast.narration.music.transcript.transcription.subtitles.srt.vtt.audiobook.voiceover.voice.animation.mp4.animated-gif.gif.footage.reel.clip.highlight-reel.album.captions.thumbnails.storyboard.shots.preproduction.slideshow.episode.rundown.show.show-notes.shownotes.mastering.ocr.scans.vision.comic.panels.sprite.game-art.atlas.render.camera`.split(`.`),weak:[`timestamps`,`resize`,`perceptual-hash`,`culling`,`text-extraction`,`motion`,`radio`,`capture`,`processing`,`ad-spot`,`dedup`,`clustering`,`alt-text`]},design:{strong:`design.ux.ui.visual-design.interaction-design.usability.branding.logo.identity.palette.color.design-tokens.theme.icons.design-system.moodboard.visual-direction.print.slides.deck.presentation.pptx.powerpoint.canvas.svg.app-icon.poster.layout.booklet.creative-coding.generative.art`.split(`.`),weak:[`visual`,`critique`,`style`,`inspiration`,`docblocks`,`banner`,`hero`,`cards`]},marketing:{strong:`marketing.advertising.ppc.ab-testing.ab-test.seo.meta-tags.open-graph.social.newsletter.conversion.press-release.announcement.sales.leads.pitch.investor.fundraising.case-study.success-story.customer-story.engagement.drip-campaign.twitter.linkedin.instagram.bluesky.youtube.copywriting.pricing.plans.one-pager.thread.post`.split(`.`),weak:[`launch`,`communications`,`news`,`broadcast`,`multichannel`,`copy`,`tone`,`brand-voice`,`html-email`,`blog`,`explainer`,`crm`]},writing:{strong:[`writing`,`editing`,`editorial`,`proofreading`,`long-form`,`chapter`,`chapters`,`memoir`,`narrative`,`ebook`,`book`,`whitepaper`,`translation`,`localization`,`i18n`,`multilingual`,`faq`,`knowledge-base`,`help-center`,`wiki`,`handbook`,`story`,`character`],weak:[`draft`,`clarity`,`consistency`,`markdown`,`summary`,`tldr`,`executive-summary`,`digest`,`minutes`,`notes`,`docx`,`word`,`pdf`,`how-to`,`templates`,`template`,`letters`,`thank-you`,`correspondence`,`language`,`article`,`document`,`documents`,`prose`]},research:{strong:`research.analysis.fact-check.literature-review.competitive-analysis.market.trends.industry.landscape.comparison.decision-matrix.evaluation.statistics.forecast.projection.survey.evidence.due-diligence.synthesis.citations.bibliography.sources.curation.reading-list.learning-path.anomaly.outliers.detection.cohort.retention.churn.time-series.data-viz.chart.charts.visualization.verification.accuracy.corpus.knowledge`.split(`.`),weak:[`news`,`feeds`,`rss`,`investigation`,`decision-support`,`recommendation`,`systemic`,`dashboard`,`bi`,`insights`,`trend`,`classification`,`ranking`,`categorization`,`index`,`tags`,`academic`]},business:{strong:`finance.billing.invoicing.invoice.expenses.budget.tax.ledger.receipts.bookkeeping.accounting.subscriptions.spend.contract.agreement.legal.proposal.sow.statement-of-work.client.freelance.hr.onboarding.meeting.meetings.agenda.standup.retrospective.debrief.career.job.job-application.resume.cv.cover-letter.interview.offer.compensation.policy.compliance.insurance.inventory.kpi.scorecard.okr.roadmap.strategy.playbook.procedure.process.executive.board`.split(`.`),weak:`report.reporting.metrics.analytics.quarterly.annual.weekly.monthly.daily.planning.plan.team.async.support.feedback.intake.triage.inbox.email.comms.messaging.notifications.status.handoff.tasks.task.action-items.actions.productivity.company.product.ideation.experiment.event.events.calendar.follow-up.approval.catalog.risk.close.governance`.split(`.`)},personal:{strong:`household.home.family.family-history.genealogy.garden.pests.meals.meal.recipes.recipe.grocery.pantry.kitchen.menu.travel.trip.packing.departure.holiday.gifts.celebration.invitation.wedding.fundraiser.donations.fitness.coaching.medical.caregiving.visit.appointment.study.flashcards.exam.education.practice.quiz.almanac.estate.heirloom.binder.smart-home.devices.seasonal`.split(`.`),weak:[`community`,`thanks`,`wrapup`,`personalized`,`memory`,`archive`,`week`,`focus`,`morning`,`countdown`,`assessment`,`games`,`crossword`,`ritual`,`plane`,`life-binder`]}}).map(([e,{strong:t,weak:n}])=>{let r=new Map;for(let e of n)r.set(e,1);for(let e of t)r.set(e,3);return[e,r]}));var bi=p({family:a([`gemma`,`qwen`,`gpt-oss`,`mistral`,`llama`,`deepseek`,`qwq`,`phi`,`nemotron`,`granite`,`glm`,`muse`,`other`]),reasoningFormat:a([`think`,`channel`,`inline`,`none`]),toolCallFormat:a([`function-call`,`qwen-xml`,`hermes`,`gemma-special-token`,`json-envelope`])}),xi=m().min(1),Si=n([xi,p({id:xi,config:g().optional()})]),Ci=a([`time`,`dimension`,`measure`,`identifier`,`attribute`]),wi=a([`BOOLEAN`,`BIGINT`,`DOUBLE`,`VARCHAR`,`DATE`,`TIMESTAMP`,`JSON`]),Ti=p({name:m().min(1).max(120).regex(/^[a-z_][a-z0-9_]*$/,`column names are lowercase snake_case identifiers`),type:wi,role:Ci.default(`attribute`),description:m().max(500).optional(),unit:m().max(60).optional(),cardinalityHint:m().max(120).optional(),examples:f(m().max(200)).max(8).optional()}),Ei=p({name:m().min(1).max(120).regex(/^[a-z_][a-z0-9_]*$/,`measure names are lowercase snake_case identifiers`),sql:m().min(1).max(2e3),description:m().max(500).optional(),unit:m().max(60).optional()}),Di=p({question:m().min(1).max(300),sql:m().min(1).max(4e3)}),Oi=p({name:m().min(1).max(120).regex(/^[a-z_][a-z0-9_]*$/,`rollup names are lowercase snake_case identifiers`),grain:f(m().min(1).max(120)).min(1).max(16),sql:m().min(1).max(8e3),description:m().max(500).optional()}),ki=p({rawDays:d().int().positive().max(36500).optional()}),Ai=p({schemaVersion:u(1),table:m().min(1).max(120).regex(/^[a-z0-9][a-z0-9_-]*$/,`table names are lowercase slugs`),title:m().min(1).max(200).optional(),description:m().max(2e3).optional(),grain:m().max(300).optional(),timeColumn:m().max(120).optional(),partitionColumn:m().max(120).optional(),columns:f(Ti).min(1).max(512),measures:f(Ei).max(64).default([]),exemplars:f(Di).max(32).default([]),rollups:f(Oi).max(32).default([]),retention:ki.optional(),inferred:_().optional()}),ji=a([`artifacts`,`workspace`,`type`]);p({source:ji,path:m().max(4096)}),p({url:m().startsWith(`/preview/`),browserUrl:m().url().optional(),expiresAt:m(),scopePath:m()}),p({path:m().max(4096)}),p({ran:_(),ok:_().optional(),errors:f(m()).optional(),reason:m().optional()}),p({entries:f(p({kind:a([`error`,`unhandledrejection`,`console.error`]),message:m().max(2e3),path:m().max(4096),source:ji,at:m()})).min(1).max(20)});var V=/^[a-z0-9][a-z0-9.\-:]{1,63}$/,H=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,Mi=a([`open`,`commercial-restricted`,`custom-restricted`]),U={licenseClass:Mi.optional(),licenseShortName:m().optional(),licenseUrl:m().url().optional()},W={recoScore:d().int().positive().optional()},G={minGezelVersion:m().optional()},K=p({...G,schemaVersion:u(1),id:m().regex(V),name:m().min(1),description:m(),tags:f(m()).default([]),maintainer:p({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),...U,...W,yankedVersions:f(m()).default([]),minSupportedVersion:m().optional()}),Ni=a([`search`,`dev-tools`,`data`,`cloud`,`productivity`,`communication`,`content`,`ai`,`media`,`other`]),Pi=a([`general`,`code`,`communication`,`creative`,`writing`,`growth`,`game`,`data`,`home`,`money`,`events`,`other`]),Fi=a([`darwin-arm64`,`darwin-x64`,`linux-arm64`,`linux-x64`,`win32-x64`]),Ii=p({kind:u(`npm-package`),package:m().min(1).max(214).regex(/^(?:@[a-z0-9][a-z0-9._~-]*\/)?[a-z0-9][a-z0-9._~-]*$/),version:m().min(1).max(128).regex(/^v?\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/),sha256:m().regex(/^[a-f0-9]{64}$/),entry:m().min(1).max(512).refine(e=>!e.includes(`\\`)&&!e.includes(`\0`)&&!e.startsWith(`/`)&&e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`),`entry must be a contained POSIX-style relative path`),args:f(m().max(4096).refine(e=>!e.includes(`\0`))).max(64).default([]),envHints:f(m().regex(/^[A-Z_][A-Z0-9_]{0,63}$/)).max(64).default([])}),Li=t(`kind`,[Ii,p({kind:u(`http-mcp`),url:m().url(),transport:a([`streamable-http`,`sse`]).default(`streamable-http`),authHint:a([`none`,`bearer`,`oauth`]).default(`none`),envHints:f(m()).default([])}),p({kind:u(`stdio-mcp-binary`),binaries:l(Fi,p({url:m().url(),sha256:m().regex(/^[a-f0-9]{64}$/)})),args:f(m()).default([]),envHints:f(m()).default([])}),p({kind:u(`builtin`),toolsetGroupId:m()}),p({kind:u(`custom-mcp`),serverName:m().min(1).max(256),transport:a([`stdio`,`streamable-http`,`sse`]),source:t(`kind`,[p({kind:u(`project-file`),relativePath:a([`.gezel/mcp.json`,`.vscode/mcp.json`,`.mcp.json`])}),p({kind:u(`imported`),sourceName:m().min(1).max(512).optional()})]),command:m().min(1).max(4096).optional(),args:f(m().max(16384)).max(256).default([]),cwd:m().max(4096).optional(),envFile:m().max(4096).optional(),url:m().max(16384).optional(),envKeys:f(m().min(1).max(256)).max(256).default([]),headerKeys:f(m().min(1).max(256)).max(256).default([])}).superRefine((e,t)=>{e.source.kind!==`project-file`&&(e.transport===`stdio`&&!e.command&&t.addIssue({code:`custom`,path:[`command`],message:`imported stdio MCP servers require a command`}),e.transport!==`stdio`&&!e.url&&t.addIssue({code:`custom`,path:[`url`],message:`imported HTTP MCP servers require a URL`}))})]),Ri=p({id:m(),label:m(),description:m().optional(),type:a([`string`,`enum`,`url`,`number`,`boolean`]),secret:_().default(!1),required:_().default(!1),default:m().optional(),options:f(m()).optional(),multiline:_().default(!1),pattern:m().optional(),placeholder:m().optional(),envVar:m().optional()}),zi=K.extend({kind:u(`toolset`),category:Ni.optional()});p({...G,schemaVersion:u(1),version:m().regex(H),releasedAt:m(),runtime:Li,tools:f(p({name:m(),description:m().default(``)})).default([]),config:f(Ri).default([]),requirements:p({node:m().optional(),platforms:f(Fi).optional()}).optional(),notes:m().optional()});var Bi=p({...G,schemaVersion:u(1),kind:u(`toolset`),id:m().regex(V),name:m().min(1),description:m(),tags:f(m()).default([]),maintainer:p({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),runtime:Li,tools:f(p({name:m(),description:m().default(``)})).default([]),config:f(Ri).default([]),requirements:p({node:m().optional(),platforms:f(Fi).optional()}).optional(),notes:m().optional(),availableVersions:f(m()).default([]),category:Ni.optional()}),Vi=K.extend({kind:u(`gezel-template`),role:m(),meesterCandidate:_().default(!1)}),Hi=p({craftbookId:m(),runMode:a([`night-shift`,`scheduled`]),cron:m().optional(),overlap:a([`skip`,`queue`,`concurrent`]).optional(),params:l(m(),m()).optional(),reason:m().optional()}).refine(e=>e.runMode!==`scheduled`||!!e.cron,{message:`scheduled suggestions require cron`});p({...G,schemaVersion:u(1),version:m().regex(H),releasedAt:m(),about:m(),suggestedProvider:L.optional(),suggestedModel:m().optional(),suggestedTools:f(m()).default([]),notes:m().optional(),frontmatter:l(m(),g()).optional(),nameSuggestions:f(m()).optional(),suggestedCraftbooks:f(Hi).optional()});var Ui=p({...G,schemaVersion:u(1),kind:u(`gezel-template`),id:m().regex(V),name:m().min(1),description:m(),tags:f(m()).default([]),maintainer:p({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),role:m(),about:m(),suggestedProvider:L.optional(),suggestedModel:m().optional(),suggestedTools:f(m()).default([]),meesterCandidate:_().default(!1),notes:m().optional(),availableVersions:f(m()).default([]),frontmatter:l(m(),g()).optional(),nameSuggestions:f(m()).optional(),suggestedCraftbooks:f(Hi).optional()}),Wi=a([`project-starter`,`maintenance-review`,`general`]),Gi=K.extend({kind:u(`craftbook-template`),role:Wi.default(`general`),category:yi.optional(),workflow:m().optional()});p({...G,schemaVersion:u(1),version:m().regex(H),releasedAt:m(),about:m(),steps:f(He).min(1),entryStepId:m().min(1),defaultAssignee:y.optional(),basedOn:j.optional(),plan:m().optional(),notes:m().optional(),spawn:T.optional(),triggers:f(m()).optional(),hooks:f(S).optional(),bundledScripts:f(m()).optional(),paramSchema:l(m(),g()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:f(E).optional(),recommends:f(D).optional(),runModes:O.optional(),toolsets:f(k).optional(),connectors:f(Ke).optional(),commands:f(Ge).optional(),diffpackCapable:_().optional(),capabilityFloor:w.optional()});var Ki=p({...G,schemaVersion:u(1),kind:u(`craftbook-template`),id:m().regex(V),name:m().min(1),description:m(),tags:f(m()).default([]),maintainer:p({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),role:Wi.default(`general`),category:yi.optional(),workflow:m().optional(),about:m(),steps:f(He).min(1),entryStepId:m().min(1),defaultAssignee:y.optional(),basedOn:j.optional(),plan:m().optional(),notes:m().optional(),spawn:T.optional(),availableVersions:f(m()).default([]),triggers:f(m()).optional(),hooks:f(S).optional(),scripts:A.optional(),bundledScripts:f(m()).optional(),paramSchema:l(m(),g()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:f(E).optional(),recommends:f(D).optional(),runModes:O.optional(),toolsets:f(k).optional(),connectors:f(Ke).optional(),commands:f(Ge).optional(),diffpackCapable:_().optional(),capabilityFloor:w.optional()}),qi=p({templateId:m(),voorman:_().default(!1)}),Ji=p({id:m(),sourceId:m().optional(),need:a([`required`,`suggested`]).default(`suggested`),autoAllow:f(m()).default([]),reason:m().optional()}),Yi=p({gezel:m(),prompt:m().min(1),hideSeed:_().optional()}),Xi=p({name:m().regex(/^[a-z][a-z0-9_]*$/),description:m(),script:m(),inputs:l(m(),g()).optional(),bind:l(m(),g()).optional(),reaction:Yi.optional()}),Zi=p({runMode:a([`scheduled`,`night-shift`]).default(`scheduled`),cron:m().optional(),craftbook:m(),consent:a([`ask`,`auto`,`disabled`]).default(`ask`),overlap:a([`skip`,`queue`,`concurrent`]).optional()}).refine(e=>e.runMode!==`scheduled`||!!e.cron,{message:`scheduled project-type schedules require cron`}),Qi=p({source:ji,path:m().min(1),subtree:_().optional()}),$i=p({entry:m(),api:u(1).optional(),reads:f(Qi).optional(),tools:f(m().regex(/^[a-z][a-z0-9_]*$/)).optional()}),ea={extends:m().optional(),meesterManaged:_().optional(),tabVisibility:cr.optional(),mode:a([`crew`,`solo`]).optional(),leadLabel:m().min(1).optional(),leanProfile:_().optional(),indexingEnabled:_().optional(),params:l(m(),g()).optional(),nameTemplate:m().min(1).optional(),aboutTemplate:m().optional(),missionTemplate:m().optional(),gezels:f(qi).default([]),toolsets:f(Ji).default([]),craftbooks:f(m()).default([]),scripts:A.optional(),tools:f(Xi).default([]),pages:$i.optional(),schedules:f(Zi).default([]),workspaceSeed:f(m()).default([]),artifactsSeed:f(m()).default([]),notes:m().optional()},ta=K.extend({kind:u(`project-type`),category:Pi.optional(),icon:z.optional()});p({...G,schemaVersion:u(1),version:m().regex(H),releasedAt:m(),...ea});var na=p({...G,schemaVersion:u(1),kind:u(`project-type`),id:m().regex(V),name:m().min(1),description:m(),tags:f(m()).default([]),category:Pi.optional(),icon:z.optional(),maintainer:p({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),...ea,availableVersions:f(m()).default([])}),ra=a([`mcp`,`script`,`spectral`,`native`]),ia=n([p({kind:u(`mapping`),map:l(m(),g())}),p({kind:u(`script`),script:m()}),p({kind:u(`native`)}),p({kind:u(`observations`),tables:f(Ai).min(1).max(64).optional()})]),aa=p({name:m(),consentScope:m()}),oa=p({title:m().min(1),description:m().min(1).optional(),steps:f(m().min(1)).optional(),url:m().url().optional(),urlLabel:m().min(1).optional()}),sa={driver:ra,configSchema:l(m(),g()).optional(),secretShape:l(m(),g()).optional(),setupInstructions:oa.optional(),source:l(m(),g()),normalize:ia.default({kind:`native`}),actions:f(aa).default([]),completeness:a([`mirror`,`window`]).optional(),allowedOrigins:f(m()).optional(),notes:m().optional()},ca=K.extend({kind:u(`connector-type`)});p({...G,schemaVersion:u(1),version:m().regex(H),releasedAt:m(),...sa});var la=p({...G,schemaVersion:u(1),kind:u(`connector-type`),id:m().regex(V),name:m().min(1),description:m(),tags:f(m()).default([]),maintainer:p({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),...sa,availableVersions:f(m()).default([])}),ua=a([`general`,`coding`,`reasoning`,`vision`,`embedding`]),da=p({tag:m()}),fa=p({name:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:d().int().positive()}),pa=p({huggingfaceRepo:m().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:m().optional(),filename:m().optional(),sha256:m().regex(/^[a-f0-9]{64}$/).optional(),shards:f(fa).min(2).optional(),approxSizeBytes:d().int().positive(),residentBytes:d().int().positive().optional(),quantization:m().optional(),mmproj:p({filename:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:d().int().positive()}).optional(),draftModel:p({filename:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:d().int().positive()}).optional()}).refine(e=>(!!e.filename&&!!e.sha256)!==(Array.isArray(e.shards)&&e.shards.length>=2),{message:`llamaCpp source must set exactly one of (filename + sha256) or shards[] (>=2)`}),ma=p({huggingfaceRepo:m().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:m().optional(),filename:m().optional(),sha256:m().regex(/^[a-f0-9]{64}$/).optional(),shards:f(fa).min(2).optional(),approxSizeBytes:d().int().positive(),residentBytes:d().int().positive().optional(),kvBytesPerToken:d().int().positive().optional(),residentCtxTokens:d().int().positive().optional(),quantization:m().optional(),cacheExpertsBytes:d().int().positive().optional(),ssdStreaming:_().optional(),maxLaunchCtx:d().int().positive().optional(),draftModel:p({filename:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:d().int().positive()}).optional()}).refine(e=>(!!e.filename&&!!e.sha256)!==(Array.isArray(e.shards)&&e.shards.length>=2),{message:`ds4 source must set exactly one of (filename + sha256) or shards[] (>=2)`});function ha(e){for(let t of e){let e=t.charCodeAt(0);if(e<=31||e===127)return!0}return!1}var ga=m().min(1).max(1024).refine(e=>!e.includes(`\\`)&&!ha(e)&&!e.startsWith(`/`)&&e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`),`path must be a contained POSIX-style relative path`),_a=p({huggingfaceRepo:m().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),subdir:ga.optional(),revision:m().optional(),files:f(p({name:ga,sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:d().int().positive()})).min(1),approxSizeBytes:d().int().positive(),residentBytes:d().int().positive().optional(),quantization:m().optional(),drafter:p({huggingfaceRepo:m().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:m().optional(),kind:a([`mtp`]).default(`mtp`),files:f(p({name:ga,sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:d().int().positive()})).min(1),approxSizeBytes:d().int().positive(),residentBytes:d().int().positive().optional()}).optional(),chatTemplate:m().optional(),chatTemplateOverride:m().optional(),disabledReason:m().optional()}).superRefine((e,t)=>{let n=new Set;e.files.forEach((e,r)=>{n.has(e.name)&&t.addIssue({code:`custom`,path:[`files`,r,`name`],message:`duplicate MLX install path: ${e.name}`}),n.add(e.name)})}),va=K.extend({kind:u(`chat-model`),maker:p({name:m().min(1),url:m().url().optional()}).optional(),parameterSize:m(),supportsTools:_(),contextWindow:d().int().positive().optional(),kvBytesPerTokenF16:d().positive().optional(),kvFixedBytesF16:d().nonnegative().optional(),upstream:m().url().optional(),category:ua.optional(),style:bi.optional(),behaviors:f(Si).optional(),tuning:P.optional()});p({...G,schemaVersion:u(1),version:m().regex(H),releasedAt:m(),approxSizeBytes:d().int().positive(),ollama:da.optional(),llamaCpp:pa.optional(),mlx:_a.optional(),ds4:ma.optional(),notes:m().optional()});var ya=p({sniffThresholds:p({inlineJsMinBytes:d().int().min(1e3).optional(),htmlMinBytes:d().int().min(1e3).optional()}).optional()}),ba=p({...G,schemaVersion:u(1),kind:u(`chat-model`),id:m().regex(V),name:m().min(1),description:m(),tags:f(m()).default([]),maintainer:p({name:m(),url:m().url().optional()}),maker:p({name:m().min(1),url:m().url().optional()}).optional(),logo:m().optional(),license:m().optional(),...U,...W,version:m(),releasedAt:m(),parameterSize:m(),approxSizeBytes:d().int().positive(),supportsTools:_(),contextWindow:d().int().positive().optional(),kvBytesPerTokenF16:d().positive().optional(),kvFixedBytesF16:d().nonnegative().optional(),upstream:m().url().optional(),category:ua.optional(),style:bi.optional(),behaviors:f(Si).optional(),tuning:P.optional(),evalHints:ya.optional(),ollama:da.optional(),llamaCpp:pa.optional(),mlx:_a.optional(),ds4:ma.optional(),notes:m().optional(),availableVersions:f(m()).default([])}),xa=a([`general`,`artistic`,`photographic`]),Sa=a([`low`,`mid`,`high`,`workstation`]),Ca=p({role:a([`vae`,`clip_l`,`clip_g`,`t5xxl`,`llm`]),downloadUrl:m().url(),sha256:m().regex(/^[a-f0-9]{64}$/),approxSizeBytes:d().int().positive()}),wa=K.extend({kind:u(`image-model`),recommendedSteps:d().int().positive().default(20),widthRange:p({min:d().int().positive(),max:d().int().positive()}).optional(),heightRange:p({min:d().int().positive(),max:d().int().positive()}).optional(),upstream:m().url().optional(),category:xa.optional(),weightsKind:a([`checkpoint`,`diffusion-model`]).default(`checkpoint`),supportsImg2Img:_().optional(),hardwareTier:Sa,minRamGB:d().positive(),commercialUse:_()});p({...G,schemaVersion:u(1),version:m().regex(H),releasedAt:m(),downloadUrl:m().url(),sha256:m().regex(/^[a-f0-9]{64}$/),approxSizeBytes:d().int().positive(),quantization:m().optional(),auxiliaryFiles:f(Ca).default([]),notes:m().optional()});var Ta=p({...G,schemaVersion:u(1),kind:u(`image-model`),id:m().regex(V),name:m().min(1),description:m(),tags:f(m()).default([]),maintainer:p({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),...U,...W,version:m(),releasedAt:m(),downloadUrl:m().url(),sha256:m().regex(/^[a-f0-9]{64}$/),approxSizeBytes:d().int().positive(),quantization:m().optional(),recommendedSteps:d().int().positive().default(20),widthRange:p({min:d().int().positive(),max:d().int().positive()}).optional(),heightRange:p({min:d().int().positive(),max:d().int().positive()}).optional(),upstream:m().url().optional(),category:xa.optional(),weightsKind:a([`checkpoint`,`diffusion-model`]).default(`checkpoint`),supportsImg2Img:_().optional(),auxiliaryFiles:f(Ca).default([]),hardwareTier:Sa,minRamGB:d().positive(),commercialUse:_(),notes:m().optional(),availableVersions:f(m()).default([])}),Ea=a([`ltx`,`ltx2`,`wan`]),Da=p({strategy:a([`diffusers-tree`,`single-file`]).default(`diffusers-tree`),pipelineClass:m().optional(),singleFileName:m().optional(),transformerClass:m().optional(),vaeDtype:a([`float32`,`bfloat16`]).optional(),audio:_().default(!1)}),Oa=p({huggingfaceRepo:m().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:m().optional(),files:f(p({name:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:d().int().positive(),repo:m().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/).optional(),revision:m().optional()})).min(1),approxSizeBytes:d().int().positive(),quantization:m().optional()}),q=p({min:d().int().positive(),max:d().int().positive()}),ka=K.extend({kind:u(`video-model`),family:Ea,load:Da.optional(),recommendedSteps:d().int().positive().default(40),guidanceScale:d().positive().optional(),defaultNumFrames:d().int().positive().default(97),numFramesRange:q.optional(),defaultFps:d().int().positive().default(24),fpsRange:q.optional(),maxDurationSeconds:d().positive().optional(),widthRange:q.optional(),heightRange:q.optional(),defaultWidth:d().int().positive().optional(),defaultHeight:d().int().positive().optional(),supportsImageToVideo:_().default(!1),upstream:m().url().optional(),hardwareTier:Sa,minVramGB:d().positive(),commercialUse:_()});p({...G,schemaVersion:u(1),version:m().regex(H),releasedAt:m(),source:Oa,notes:m().optional()});var Aa=p({...G,schemaVersion:u(1),kind:u(`video-model`),id:m().regex(V),name:m().min(1),description:m(),tags:f(m()).default([]),maintainer:p({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),...U,...W,version:m(),releasedAt:m(),family:Ea,load:Da.optional(),source:Oa,approxSizeBytes:d().int().positive(),recommendedSteps:d().int().positive().default(40),guidanceScale:d().positive().optional(),defaultNumFrames:d().int().positive().default(97),numFramesRange:q.optional(),defaultFps:d().int().positive().default(24),fpsRange:q.optional(),maxDurationSeconds:d().positive().optional(),widthRange:q.optional(),heightRange:q.optional(),defaultWidth:d().int().positive().optional(),defaultHeight:d().int().positive().optional(),supportsImageToVideo:_().default(!1),upstream:m().url().optional(),hardwareTier:Sa,minVramGB:d().positive(),commercialUse:_(),notes:m().optional(),availableVersions:f(m()).default([])}),ja=a([`encyclopedia`,`reference`,`science`,`history`,`technology`,`culture`,`manuals`,`other`]),Ma=/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/,Na=/^[0-9a-f]{40}$/,Pa=m().min(1).refine(e=>!e.startsWith(`/`)&&e.split(`/`).every(e=>e!==``&&e!==`..`),`a relative repo path without empty or parent segments`),Fa=p({repo:m().regex(Ma),revision:m().regex(Na),path:Pa}),Ia=K.extend({kind:u(`knowledge-catalog`),id:v,publisherId:v,language:m().min(2),category:ja.optional(),upstream:m().url().optional()}),La=p({id:v,name:m().min(1)}),Ra=p({repo:m().regex(Ma),revision:m().regex(Na),dir:Pa});p({...G,schemaVersion:u(1),version:m().regex(H),releasedAt:m(),formatVersion:m().min(1),huggingface:Fa,sha256:m().regex(/^[a-f0-9]{64}$/),archiveBytes:d().int().positive(),uncompressedBytes:d().int().positive(),documents:d().int().nonnegative(),chunks:d().int().nonnegative(),embeddingProfile:p({id:a(qn),modelRepo:m().min(1)}),topics:f(La).min(1),sourceSnapshot:p({name:m(),date:m(),taxonomyVersion:m().optional()}).optional(),parquet:Ra.optional(),notes:m().optional()});var za=p({...G,schemaVersion:u(1),kind:u(`knowledge-catalog`),id:v,name:m().min(1),description:m(),tags:f(m()).default([]),maintainer:p({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),...U,...W,publisherId:v,language:m().min(2),category:ja.optional(),upstream:m().url().optional(),version:m(),releasedAt:m(),formatVersion:m().min(1),huggingface:Fa,sha256:m().regex(/^[a-f0-9]{64}$/),archiveBytes:d().int().positive(),uncompressedBytes:d().int().positive(),documents:d().int().nonnegative(),chunks:d().int().nonnegative(),embeddingProfile:p({id:a(qn),modelRepo:m().min(1)}),topics:f(La).min(1),sourceSnapshot:p({name:m(),date:m(),taxonomyVersion:m().optional()}).optional(),parquet:Ra.optional(),notes:m().optional(),availableVersions:f(m()).default([])});t(`kind`,[zi,Vi,Gi,ta,ca,va,wa,ka,Ia]);var Ba=t(`kind`,[Bi,Ui,Ki,na,la,ba,Ta,Aa,za]),Va=a([`toolset`,`gezel-template`,`craftbook-template`,`project-type`,`connector-type`,`chat-model`,`image-model`,`video-model`,`knowledge-catalog`]),Ha=p({sourceId:m(),kind:Va,manifest:Ba,logoUrl:m().optional(),iconSvg:m().optional()});p({items:f(Ha)}),Ha.extend({readme:m().optional(),about:m().optional()}),p({versions:f(p({version:m(),releasedAt:m(),yanked:_()}))});var Ua={toolsetId:m(),sourceId:m(),version:m(),installedAt:m(),installPath:m().optional()},Wa=p({...Ua,runtime:Li}),Ga=Ii.extend({sha256:m().regex(/^(?:sha256-[A-Za-z0-9+/]{43}=|sha384-[A-Za-z0-9+/]{64}|sha512-[A-Za-z0-9+/]{86}==)$/)});n([Wa,p({...Ua,sourceId:u(`system`),runtime:Ga})]),p({toolsetId:m(),values:l(m(),m()).default({}),updatedAt:m()});var Ka=a([`project-type`,`gezel-template`,`craftbook-template`]),qa=a([`toolset`,`connector-type`,`chat-model`,`image-model`,`video-model`]),Ja=p({kind:Ka,id:m().regex(V),version:m().regex(H),sha256:m().regex(/^[a-f0-9]{64}$/)}),Ya=p({kind:qa,id:m().regex(V),version:m().regex(H),required:_().default(!0),sourceId:m().optional(),reason:m().optional()}),Xa=p({projectType:m().regex(V),version:m().regex(H)}),Za=p({format:u(`gezel-ai-app`),schemaVersion:u(1),entry:Xa,name:m().min(1),description:m().default(``),publisher:p({name:m().min(1),url:m().url().optional()}),createdAt:m().datetime(),minGezelVersion:m().optional(),signature:p({status:u(`unsigned`)}),items:f(Ja).min(1).max(512),dependencies:f(Ya).max(512).default([]),provenance:p({source:m().optional(),exportedFromProject:m().optional()}).optional()}).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.items.entries()){let e=`${i.kind}:${i.id}`;n.has(e)&&t.addIssue({code:`custom`,path:[`items`,r],message:`duplicate embedded item ${e}`}),n.add(e)}let r=new Set;for(let[n,i]of e.dependencies.entries()){let e=`${i.kind}:${i.id}`;r.has(e)&&t.addIssue({code:`custom`,path:[`dependencies`,n],message:`duplicate external dependency ${e}`}),r.add(e)}let i=e.items.filter(e=>e.kind===`project-type`);if(i.length!==1){t.addIssue({code:`custom`,path:[`items`],message:`a .gezapp must contain exactly one project type`});return}let a=i[0];(a.id!==e.entry.projectType||a.version!==e.entry.version)&&t.addIssue({code:`custom`,path:[`entry`],message:`entry must identify the embedded project type and exact version`})});p({schemaVersion:u(1),manifest:Za,packageSha256:m().regex(/^[a-f0-9]{64}$/),installedAt:m().datetime()});var Qa=p({appId:m().regex(V),version:m().regex(H),packageSha256:m().regex(/^[a-f0-9]{64}$/),installedAt:m().datetime(),enabled:_().default(!0)});p({schemaVersion:u(1),apps:f(Qa).default([])}),p({format:u(`gezel-ai-app-source`),schemaVersion:u(1),entry:p({projectType:m().regex(V).optional(),version:m().regex(H).optional()}).optional(),publisher:p({name:m().min(1),url:m().url().optional()}).optional()}).strict();var $a=a([`llama-cpp`,`mlx`,`ds4`]),eo=p({path:m().min(1).max(1024).refine(e=>!e.includes(`\\`)&&!e.includes(`\0`)&&!e.startsWith(`/`)&&e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`),`bundle path must be a contained POSIX-style relative path`),sizeBytes:d().int().nonnegative().max(2**53-1),sha256:m().regex(/^[a-f0-9]{64}$/),role:a([`model`,`installed-manifest`,`catalog-manifest`,`catalog-file`])}),to=p({name:m().min(1),shortName:m().min(1).optional(),class:Mi.optional(),url:m().url().optional()}),no=p({schemaVersion:u(1),kind:u(`gezel-model`),id:m().regex(V),name:m().min(1).max(256),engine:$a,createdAt:m().datetime(),createdBy:u(`gezel`),catalogVersion:m().optional(),approxSizeBytes:d().int().nonnegative().max(2**53-1),license:to.optional(),files:f(eo).min(2).max(16384)});p({importId:m().uuid(),manifest:no,alreadyInstalled:_(),warnings:f(m())});var ro=a([`current`,`default`,`development`]),io=p({source:ro,sourceLabel:m().min(1).max(128),engine:$a,id:m().regex(V),name:m().min(1).max(256),approxSizeBytes:d().int().nonnegative().max(2**53-1),catalogVersion:m().min(1),moving:_().default(!1)});p({available:_(),candidates:f(io)}),p({source:ro,engine:$a,id:m().regex(V)}),p({ok:u(!0),engine:$a,id:m().regex(V),localRemoved:_(),warning:m().min(1).optional()});var ao=p({label:m().min(1),path:m().min(1)}),oo=p({id:m(),kind:a([`command`,`output`]),content:m(),at:m(),resolvedFrom:m().optional(),stdout:m().optional(),stderr:m().optional(),exitCode:d().int().optional(),durationMs:d().int().nonnegative().optional(),truncated:_().optional(),errorMessage:m().optional(),fileReferences:f(ao).optional(),cwd:m().optional()});p({threads:f(p({version:u(1),id:m(),projectId:m(),workingDir:m(),createdAt:m(),lastActivityAt:m(),archived:_().optional(),messages:f(oo)}).pick({id:!0,projectId:!0,workingDir:!0,createdAt:!0,lastActivityAt:!0,archived:!0}).extend({lastCommand:m().optional()}))}),p({workingDir:m(),input:m().min(1),columns:d().int().min(20).max(500).optional()}),p({threadId:m(),runId:m()});var so=t(`kind`,[p({kind:u(`message`),projectId:m(),threadId:m(),workingDir:m(),message:te(()=>oo),runId:m().optional()}),p({kind:u(`workingDirChanged`),projectId:m(),threadId:m(),newWorkingDir:m()}),p({kind:u(`runStarted`),projectId:m(),threadId:m(),runId:m(),commandMessageId:m(),at:m(),cwd:m()}),p({kind:u(`outputChunk`),projectId:m(),threadId:m(),runId:m(),chunk:m()}),p({kind:u(`inputRequested`),projectId:m(),threadId:m(),runId:m(),promptLine:m(),mode:a([`text`,`password`,`yes-no`])}),p({kind:u(`openFile`),projectId:m(),threadId:m(),path:m(),source:u(`workspace`)})]),co=p({threadId:m(),projectId:m(),workingDir:m(),threadCreatedAt:m(),threadLastActivityAt:m(),threadArchived:_().optional(),messageId:m(),msgKind:a([`command`,`output`]),content:m(),at:m(),resolvedFrom:m().optional(),stdout:m().optional(),stderr:m().optional(),exitCode:d().int().optional(),durationMs:d().int().nonnegative().optional(),truncated:_().optional(),errorMessage:m().optional(),fileReferences:f(ao).optional(),cwd:m().optional()}),lo=p({kind:a([`file`,`chat`]),filePath:m().optional(),checks:f(Te).optional(),scripts:f(De).optional()}),uo=p({capturedAt:m(),systemMessage:m(),toolNames:f(m()),messageCount:d().int().nonnegative(),transcriptTruncated:_().optional(),transcript:f(p({role:a([`system`,`developer`,`user`,`assistant`,`tool`]),content:m(),toolCalls:f(p({id:m(),name:m(),arguments:m()})).optional(),toolCallId:m().optional()})),actionLedger:m().optional()}),fo=p({version:u(1),id:m(),gezelId:m(),projectId:m(),providerName:L,model:m().optional(),modelSource:a([`capability-routing`]).optional(),nightShift:_().optional(),engineKey:m().optional(),reasoningEffort:m().optional(),title:m(),createdAt:m(),lastActivityAt:m(),archived:_().optional(),source:Ln.optional(),externalRequestDiagnostics:uo.optional(),messages:f(R),providerState:p({copilotSessionId:m().optional(),openaiPreviousResponseId:m().optional(),claudeCliSessionId:m().optional(),codexCliThreadId:m().optional()}),aboutSnapshot:m().optional(),roleBasedNameOnlyMode:_().optional(),resumeFailed:_().optional(),deliverableGatePlateau:p({signatureHash:m(),count:d().int().nonnegative(),stage:d().int().min(0).max(3),at:m()}).optional(),lastTurnError:m().optional(),lastTurnErrorDetail:Bn.optional(),turnStartedAt:m().optional(),taskRef:m().optional(),stepId:m().optional(),parentSession:xn.optional(),handoffFrom:bn.optional(),lastImageGeneration:p({prompt:m(),negativePrompt:m().optional(),artifactPath:m(),seed:d().int().optional(),model:m().optional(),at:m()}).optional(),craftbookRef:m().optional(),consultationMode:_().optional(),visitorAccess:u(!0).optional(),expectedDeliverable:lo.optional(),scriptTools:f(Xi).optional(),numCtx:d().int().positive().optional(),contextWindow:d().int().positive().optional(),contextAutoCompactRatio:d().positive().max(1).optional(),contextEstimatedTokens:d().int().nonnegative().optional(),recall:p({at:m(),query:m(),hits:f(p({text:m(),scope:a([`gezel`,`project`,`workspace`,`library`]),day:m(),score:d(),kind:a([`fact`,`decision`,`pref`,`status`]).optional()}))}).optional(),summarizedAt:m().optional(),summarizedUpTo:d().int().nonnegative().optional(),extractedUpTo:d().int().nonnegative().optional(),compactionCount:d().int().nonnegative().optional(),lastCompactedAt:m().optional()}),po=p({id:m(),at:m(),fromGezelId:m(),fromSessionId:m().optional(),toGezelIdOrName:m(),projectId:m().optional(),text:m(),suppressReply:_().optional(),taskRef:m().optional(),stepId:m().optional(),lane:a([`interactive`,`background`]).optional(),ambient:_().optional(),expectedDeliverable:lo.optional()});p({version:u(1),messages:f(po)});var mo=fo.pick({id:!0,gezelId:!0,projectId:!0,providerName:!0,model:!0,title:!0,createdAt:!0,lastActivityAt:!0,archived:!0,source:!0,lastTurnError:!0,turnStartedAt:!0,taskRef:!0,stepId:!0,parentSession:!0,handoffFrom:!0,contextWindow:!0,contextAutoCompactRatio:!0,contextEstimatedTokens:!0,compactionCount:!0}).extend({lastHumanActivityAt:m().optional(),lastMessagePreview:m().max(200).optional(),involvedGezelIds:f(m()).optional(),transcriptTokens:d().int().nonnegative().optional()});p({gezelId:m(),projectId:m().optional(),taskRef:m().optional(),stepId:m().optional(),craftbookRef:m().optional(),roleBasedNameOnlyMode:_().optional()}),p({sessions:f(mo)}),p({message:m().min(1),mentions:f(m().min(1)).max(10).optional(),passiveCcGezelIds:f(m().min(1)).max(5).optional(),nudge:_().optional(),draftId:m().optional()}),p({accepted:u(!0),sessionId:m()});var ho=p({queueId:m(),text:m(),preview:m(),enqueuedAt:m(),nudge:_()});p({sessionId:m(),entries:f(ho)}),p({message:m().min(1)}),p({updated:u(!0),entry:ho}),p({message:m().min(1),draftId:m().optional()}),p({messages:f(p({sessionId:m(),gezelId:m(),projectId:m(),sessionTitle:m(),sessionCreatedAt:m(),sessionLastActivityAt:m(),sessionArchived:_().optional(),sessionSource:Ln.optional(),sessionProviderName:L,sessionModel:m().optional(),sessionContextWindow:d().int().positive().optional(),sessionContextAutoCompactRatio:d().positive().max(1).optional(),sessionCompactionCount:d().int().nonnegative().optional(),sessionLastCompactedAt:m().optional(),sessionLastTurnError:m().optional(),sessionLastTurnErrorDetail:Bn.optional(),taskRef:m().optional(),stepId:m().optional(),parentSession:xn.optional(),handoffFrom:bn.optional(),role:a([`user`,`assistant`]),content:m(),at:m(),from:p({gezelId:m(),gezelName:m()}).optional(),nudge:_().optional(),draftId:m().optional(),origin:a([`system`]).optional(),referencedFiles:f(Rn).optional(),retrieval:R.shape.retrieval,referencedArtifacts:f(m()).optional(),referencedTasks:f(m()).optional(),toolCalls:f(In).optional(),intents:f(p({label:m(),afterChars:d().int().min(0)})).optional(),pendingQuestionId:m().optional(),warnings:f(m()).optional(),reasoning:m().optional(),reasoningDurationMs:d().int().nonnegative().optional(),attemptedToolCalls:f(p({body:m(),reason:m().optional()})).optional(),synthetic:a([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),contextCompaction:R.shape.contextCompaction})),hasMore:_(),nextCursor:m().optional(),terminalEntries:f(co).optional()});var go=p({ready:_(),eligible:d().optional(),embedded:d().optional(),pendingEmbedOnly:d().optional(),embedModel:m().optional(),vectorsAvailable:_().optional()}),_o=p({eligible:d(),reviewed:d(),stale:d(),pending:d()}),vo=p({staffed:_(),paused:_(),achievable:_(),summariesEligible:d().optional(),summarized:d().optional(),summariesPending:d().optional(),shadowsPending:d().optional(),skipped:d().optional(),reviews:_o.optional()}),yo=p({budgetMs:d(),waitedMs:d(),drained:_(),driveStillRunning:_()});p({version:u(1),projectId:m(),generatedAt:m(),indexingEnabled:_(),staticState:a([`fresh`,`stale`,`indexing`,`never`,`disabled`]),fileCount:d().optional(),scannedAt:m().optional(),search:go,aiTier:vo,wait:yo,notes:f(m())});var bo=a([`up-to-date`,`updated`,`incompatible`,`error`,`blocked`]),xo=p({at:m(),outcome:bo,message:m().optional(),version:m().optional(),regressions:f(p({kind:m(),id:m()})).max(25).optional()});p({enabled:_(),mode:a([`bundled`,`live`,`overridden`]),bundledVersion:m(),activeVersion:m().nullable(),lastCheck:xo.nullable(),updateInProgress:_()});var So=a([`nudge_budget_exhausted`,`context_loop`,`gate_exhausted`,`step_redrive_exhausted`,`turn_aborted`,`deliverable_plateau`]),Co=t(`kind`,[p({kind:u(`corrective_prompt`),prompt:m().min(1)}),p({kind:u(`rewrite_step`),stepId:m().min(1),prompt:m().min(1),name:m().optional(),deliverable:m().optional()}),p({kind:u(`rewrite_craftbook`),document:m().min(1),rationale:m().min(1)}),p({kind:u(`takeover_step`),instruction:m().min(1)}),p({kind:u(`stand_down`),reason:m().min(1)})]),wo=a([`silent_stall`,`tool_loop`,`capability_ceiling`,`task_shape`,`context_pressure`,`unknown`]),To=p({diagnosis:m().min(1),failureClass:wo,action:Co,confidence:a([`low`,`medium`,`high`])}),Eo=p({record:u(`case.opened`),caseId:m().min(1),ts:m().min(1),trigger:So,sessionId:m().optional(),gezelId:m().min(1),projectId:m().optional(),taskRef:m().optional(),stepId:m().optional(),providerName:m().min(1),model:m().optional(),modelTier:m().optional(),consultProviderName:m().min(1),consultModel:m().optional(),signals:l(m(),g()),verdict:To.optional(),applied:_(),consultDurationMs:d().int().nonnegative(),promptChars:d().int().nonnegative(),responseChars:d().int().nonnegative(),debug:p({prompt:m(),rawResponse:m()}).optional()}),Do=a([`unblocked`,`re_triggered`,`gave_up`,`takeover_completed`,`takeover_failed`,`unknown`]);t(`record`,[Eo,p({record:u(`case.closed`),caseId:m().min(1),ts:m().min(1),outcome:Do,turnsObserved:d().int().nonnegative()})]);var Oo=p({label:m().max(60),target:t(`kind`,[p({kind:u(`project`),projectId:m()}),p({kind:u(`task`),projectId:m(),taskRef:m()}),p({kind:u(`view`),view:a([`projects`,`gezels`,`documents`,`settings`])})])}),ko=p({projectId:m(),taskRef:m(),title:m()}),Ao=p({headline:m().max(120),cta:Oo.optional(),report:m(),generatedAt:m(),trigger:a([`auto`,`manual`]),actions:f(ko).default([])});p({headline:m(),cta:Oo.optional(),report:m(),actions:f(p({projectId:m(),title:m(),description:m()})).optional()}),p({lastRunAt:m().optional(),inputHash:m().optional(),runDay:m().optional(),runsOnDay:d().int().nonnegative().optional(),recentActionKeys:f(m()).optional()}),p({lastActivityAt:m()}),p({report:Ao.nullable(),budget:p({runsToday:d().int().nonnegative(),maxRunsPerDay:d().int().positive(),lastRunAt:m().nullable()}),running:_()});var jo=a([`hd`,`fhd`,`4k`,`square`,`square-2k`,`portrait`,`portrait-4k`,`standard`]),Mo=a([`basic`,`card`,`panel`,`accent`]),No=a([`standard`,`standard-dark`,`documentary`,`minimalist`,`bold`,`morning-light`,`tech-dark`,`magazine`,`cinematic`,`warm-earth`,`gezellig`]),Po=p({id:No,name:m(),description:m()}),Fo=7680,Io=33177600,Lo=p({width:d().int().min(64).max(Fo),height:d().int().min(64).max(Fo),safeArea:p({x:d().int().nonnegative(),y:d().int().nonnegative(),width:d().int().min(64).max(Fo),height:d().int().min(64).max(Fo)})}).superRefine((e,t)=>{e.width*e.height>33177600&&t.addIssue({code:`custom`,message:`The dashboard display target may not exceed ${Io} pixels.`}),e.safeArea.x+e.safeArea.width>e.width&&t.addIssue({code:`custom`,path:[`safeArea`,`width`],message:`The safe area must fit inside the display width.`}),e.safeArea.y+e.safeArea.height>e.height&&t.addIssue({code:`custom`,path:[`safeArea`,`height`],message:`The safe area must fit inside the display height.`})});p({lastRunAt:m().optional(),lastGeneratedAt:m().optional(),lastFailedAt:m().optional(),lastError:m().optional(),inputHash:m().optional(),lastFile:m().optional()}),p({enabled:_(),running:_(),lastGeneratedAt:m().nullable(),lastFailedAt:m().nullable().optional(),lastError:m().nullable().optional(),latestFilename:m().nullable(),resolution:jo,themeId:No.optional(),themes:f(Po).optional(),displayTarget:Lo.nullable().optional()}),p({projectId:m().min(1),port:d().int().min(0).max(65535).optional(),host:m().optional(),allowedHosts:f(m().min(1)).max(8).optional(),chat:_().optional(),public:_().optional(),siteKey:m().min(24).max(128).optional()});var Ro=p({siteId:m(),projectId:m(),projectName:m(),typeId:m(),typeName:m(),typeVersion:m(),host:m(),port:d().int(),url:m(),chat:_(),public:_(),startedAt:m(),visitors:d().int(),counters:p({pageViews:d().int(),invokes:d().int(),reads:d().int(),chatMessages:d().int()})});Ro.extend({siteKey:m(),shareUrl:m()}),p({sites:f(Ro)}),p({revokeVisitors:_().optional()}),p({message:m().min(1).max(4e3)}),p({typeName:m(),typeVersion:m(),chat:_(),limits:p({maxInflight:d().int(),maxReadBytes:d().int()})});var zo=a([`info`,`minor`,`major`]),Bo=p({severity:zo,category:m().min(1).max(40),message:m().min(1).max(300),line:d().int().positive().optional()}),Vo=a([`open`,`in_progress`,`resolved`,`dismissed`]),Ho=a([`not_an_issue`,`duplicate`,`wont_fix`]),Uo=Bo.extend({ref:m().regex(/^BW-[1-9]\d*$/),id:m().min(1),fingerprint:m().min(1),path:m().min(1),status:Vo,seen:_(),stale:_(),taskRef:m().optional(),dismissalReason:Ho.optional(),createdAt:m(),lastSeenAt:m(),lastCheckedAt:m().optional(),seenAt:m().optional(),resolvedAt:m().optional(),dismissedAt:m().optional()});p({notes_md:m().min(1),issues:f(Bo),health:d().int().min(1).max(10),health_reason:m().min(1)});var Wo=p({notesMd:m(),issues:f(Bo),health:d().int().min(1).max(10),healthReason:m(),model:m().nullable(),provider:m().nullable().optional(),gezelId:m().nullable().optional(),gezelName:m().nullable().optional(),appVersion:m().nullable().optional(),reviewedAt:m().nullable()});p({github:ir.optional(),exists:_(),originMatches:_().optional(),branch:m().optional(),defaultBranch:m().optional(),ahead:d().int().optional(),behind:d().int().optional(),dirty:_().optional(),changesCount:d().int().optional(),conflictedCount:d().int().optional(),mergeInProgress:_().optional(),hasUpstream:_().optional(),syncStale:_().optional(),syncStaleReason:a([`never-synced`,`branch-changed`,`no-upstream`,`git-activity`]).optional(),hasPat:_(),credentialSource:a([`pat`,`env`,`gh`,`none`])}),p({ok:u(!0),checkoutDir:m(),branch:m().optional(),adopted:_()}),p({branch:m().min(1),create:_().optional()}),p({local:f(m()),remote:f(m()),current:m().optional()}),p({ok:u(!0),fetched:_()}),p({message:m().min(1),allowEmpty:_().optional()}),p({ok:u(!0),sha:m(),filesChanged:d().int()}),p({ok:u(!0),pushed:_(),rejected:a([`non-fast-forward`,`auth`,`unknown`]).optional()});var Go=p({number:d().int(),title:m(),author:m(),headRef:m(),baseRef:m(),draft:_(),updatedAt:m(),url:m()});p({pulls:f(Go)}),Go.extend({body:m(),state:m(),merged:_(),mergeable:_().nullable().optional(),additions:d().int(),deletions:d().int(),changedFiles:d().int()}),p({files:f(p({filename:m(),status:m(),additions:d().int(),deletions:d().int(),changes:d().int(),patch:m().optional(),patchChars:d().int().nonnegative().optional(),patchTruncated:_().optional(),previousFilename:m().optional()})),allFiles:d().int().nonnegative().optional(),totalFiles:d().int().nonnegative().optional(),offset:d().int().nonnegative().optional(),limit:d().int().positive().optional(),hasMore:_().optional(),nextOffset:d().int().nonnegative().optional(),includesPatch:_().optional()}),p({comments:f(p({id:d(),author:m(),body:m(),createdAt:m(),kind:a([`issue`,`review`]),path:m().optional()}))}),p({number:d().int(),diff:m(),path:m().optional(),offset:d().int().nonnegative().optional(),returnedChars:d().int().nonnegative().optional(),totalChars:d().int().nonnegative().optional(),truncated:_().optional(),nextOffset:d().int().nonnegative().optional()}),p({body:m().min(1)}),p({id:d(),url:m()}),p({title:m().min(1),body:m().optional(),head:m().min(1),base:m().min(1),draft:_().optional()}),p({number:d().int(),url:m()}),p({runs:f(p({id:d(),name:m(),status:m(),conclusion:m().nullable(),createdAt:m(),url:m()}))}),p({state:a([`success`,`failure`,`pending`,`unknown`]),checks:f(p({name:m(),status:m(),conclusion:m().nullable(),url:m().optional()}))});var Ko=a([`modified`,`added`,`deleted`,`renamed`,`conflicted`]),qo=p({path:m(),oldPath:m().optional(),kind:Ko,additions:d().int().optional(),deletions:d().int().optional(),binary:_().optional()});p({changes:f(qo),total:d().int(),truncated:_()}),p({path:m(),kind:Ko,oldPath:m().optional(),binary:_(),truncated:_(),diff:m().optional(),additions:d().int().optional(),deletions:d().int().optional()}),p({paths:f(m().min(1)).min(1).optional(),all:_().optional()}).refine(e=>!!e.all!=!!e.paths?.length,{message:"Pass exactly one of `paths` or `all`."}),p({ok:u(!0),discarded:d().int()});var Jo=p({sha:m(),shortSha:m(),author:m(),email:m().optional(),date:m(),subject:m(),filesChanged:d().int(),additions:d().int(),deletions:d().int()});p({commits:f(Jo),hasMore:_()}),p({sha:m(),shortSha:m(),author:m(),date:m(),subject:m(),files:f(p({path:m(),additions:d().int().optional(),deletions:d().int().optional(),binary:_().optional()})),diff:m().optional(),truncated:_()}),p({state:a([`synced`,`needs-save`,`conflicts`,`auth`,`offline`,`error`]),pulled:d().int(),pushed:d().int(),merged:_().optional(),branch:m().optional(),conflictedFiles:f(m()).optional(),message:m().optional()});var Yo=a([`both-modified`,`both-added`,`deleted-by-us`,`deleted-by-them`]),Xo=p({path:m(),kind:Yo});p({inMerge:_(),conflicts:f(Xo)}),p({path:m(),base:m().optional(),ours:m().optional(),theirs:m().optional(),binary:_(),tooLarge:_()}),p({path:m().min(1),choice:a([`mine`,`theirs`,`custom`]),content:m().optional()}).refine(e=>e.choice!==`custom`||e.content!==void 0,{message:"`content` is required when choice is `custom`."}),p({ok:u(!0),remaining:d().int()}),p({message:m().optional()}),p({ok:u(!0),sha:m()}),p({ok:u(!0)}),p({message:m()}),p({path:m().min(1)}),p({path:m(),merged:m()});var Zo=a([`commit`,`pr`]),Qo=a([`running`,`complete`,`canceled`,`error`]),$o=p({id:m().min(1),kind:Zo,status:Qo,createdAt:m(),settledAt:m().optional(),outcome:a([`complete`,`canceled`]).optional(),error:m().optional(),taskRef:m().min(1),gezelId:m().optional(),branch:m(),headSha:m(),baseRef:m().optional(),baseSha:m().optional(),filesChanged:d().int(),additions:d().int().optional(),deletions:d().int().optional(),commitCount:d().int().optional(),filesTruncated:_(),diffTruncated:_(),manifestPath:m(),diffPath:m(),reportPath:m()}).extend({taskStatus:a([`draft`,`paused`,`active`,`complete`,`canceled`]).optional(),needsAttention:_().optional(),activeStepName:m().optional(),stepsTotal:d().int().optional(),stepsComplete:d().int().optional(),assigneeName:m().optional()});p({kind:Zo}),p({ok:u(!0),review:$o}),p({reviews:f($o)}),p({ok:u(!0),review:$o}),p({version:u(1),reviewId:m().min(1),kind:Zo,projectId:m().min(1),createdAt:m(),branch:m(),headSha:m(),baseRef:m(),baseSha:m(),files:f(qo),totalFiles:d().int(),filesTruncated:_(),diffFile:m(),diffChars:d().int(),diffTruncated:_(),commits:f(Jo).optional(),commitsTruncated:_().optional(),notes:f(m())});var es=a([`webhook`]),ts=p({url:m().url(),method:a([`POST`,`PUT`]).optional(),headers:l(m(),m()).optional(),bodyTemplate:m().optional(),bodyContentType:m().optional()}),ns=p({default:es.optional(),webhook:ts.optional()});p({name:es,configured:_(),ready:_(),lastError:m().optional(),detail:l(m(),g()).optional()}),p({channel:es.optional(),message:m().min(1),metadata:l(m(),g()).optional()}),n([p({ok:u(!0),id:m().optional(),channel:es}),p({ok:u(!1),error:m(),channel:es.optional()})]);var rs=m().regex(/^[1-9]\d*$/),is=a([`drafting`,`ready`,`applied`,`partially-applied`,`failed`,`dismissed`]),as=t(`kind`,[p({kind:u(`boekwachter-issue`),issueRefs:f(m()).min(1)}),p({kind:u(`manual`)})]),os=a([`modify`,`add`,`delete`]),ss=p({path:m().min(1),diffArtifact:m(),baseHash:m(),additions:d().int().nonnegative(),deletions:d().int().nonnegative(),change:os}),cs=p({packId:rs,projectId:m().min(1),title:m().min(1),summary:m(),status:is,origin:as,taskRef:m().min(1),gezelId:m().optional(),gezelName:m().optional(),windowKey:m().optional(),files:f(ss),notesPath:m(),manifestPath:m(),createdAt:m(),sealedAt:m().optional(),appliedAt:m().optional(),error:m().optional(),results:f(p({path:m(),ok:_(),error:m().optional()})).optional()}),ls=p({path:m(),packIds:f(rs).min(1)}),us=cs.extend({drifted:f(m()),overlaps:f(ls),additions:d().int().nonnegative(),deletions:d().int().nonnegative(),taskStatus:a([`draft`,`paused`,`active`,`complete`,`canceled`]).optional(),needsAttention:_().optional()}),ds=p({packId:rs,projectId:m(),projectName:m(),title:m(),status:is,fileCount:d().int().nonnegative(),additions:d().int().nonnegative(),deletions:d().int().nonnegative(),issueRefs:f(m()),drifted:_()});p({diffpacks:f(us)}),p({diffpack:us,notes:m()}),p({paths:f(m().min(1)).optional(),allowDrifted:_().optional()}),p({ok:_(),diffpack:us,results:f(p({path:m(),ok:_(),error:m().optional()}))}),p({ok:u(!0),diffpack:us}),p({version:u(1),packId:rs,projectId:m(),title:m(),summary:m(),origin:as,createdAt:m(),sealedAt:m().optional(),gezelName:m().optional(),files:f(ss),deletions:f(m())});var fs=a([`llama-server`,`ds4-server`,`sd-server`,`whisper-server`,`uv`,`duckdb`]),ps=t(`type`,[p({type:u(`progress`),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative()}),p({type:u(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:m()}),p({type:u(`verifying`),what:a([`sha256`,`signature`])}),p({type:u(`done`),binPath:m(),cached:_()}),p({type:u(`error`),error:m()})]),ms=p({name:fs,installed:_(),path:m().optional()});p({release:m(),pinned:_(),platformKey:m().nullable(),llamaBackend:a([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),engines:f(ms)});var hs=p({id:m(),name:m(),kind:m(),lineStart:d().int().positive(),lineEnd:d().int().positive(),signature:m().optional(),parent:m().optional()});p({path:m().min(1)}),p({path:m(),lang:m().nullable(),summary:m().nullable().optional(),symbols:f(hs),totalLines:d().int().nonnegative(),engine:a([`index`,`live`,`unavailable`]),truncated:_(),review:Wo.optional()}),p({name:m().min(1),kind:m().optional(),maxResults:d().int().positive().max(200).optional()}),p({matches:f(hs.extend({path:m()})),truncated:_(),engine:a([`index`,`unavailable`])}),p({name:m().min(1),path:m().optional()}),p({found:_(),path:m().optional(),name:m().optional(),kind:m().optional(),lineStart:d().int().positive().optional(),lineEnd:d().int().positive().optional(),signature:m().optional(),source:m().optional()}),p({name:m().min(1),glob:m().optional(),maxResults:d().int().positive().max(500).optional()}),p({references:f(p({path:m(),line:d().int().positive(),text:m()})),truncated:_(),engine:a([`ripgrep`,`javascript`])}),p({path:m().min(1)});var gs=p({ruleId:m(),category:m(),severity:a([`critical`,`high`,`medium`,`low`,`info`]),line:d().int().positive().nullable(),title:m(),source:m()}),_s=p({path:m(),viaBinding:_()}),vs=p({name:m(),kind:m(),lineStart:d().int().positive(),lineEnd:d().int().positive(),signature:m().optional(),parent:m().optional(),importedBy:f(_s),importedByTruncated:_(),uses:f(p({name:m(),from:m(),inRepo:_()})),usedInFileBy:f(m()),findings:f(gs),summary:m().optional()});p({path:m(),lang:m().nullable(),totalLines:d().int().nonnegative(),summary:m().nullable(),importedBy:f(p({path:m(),names:f(m())})),importedByTruncated:_(),imports:f(p({specifier:m(),resolvedPath:m().nullable(),names:f(m()),default:_(),namespace:_()})),fileFindings:f(gs),symbols:f(vs),symbolsTruncated:_(),engine:a([`index`,`live`,`unavailable`]),review:Wo.optional()}),p({path:m().min(1)}),p({path:m(),found:_(),pending:_().optional(),review:Wo.optional(),trackedIssues:f(Uo).optional(),eligible:_().optional()}),p({severity:zo.optional(),category:m().optional(),path:m().optional(),status:Vo.optional(),includeClosed:_().optional(),maxResults:d().int().positive().max(1e3).optional()}),p({issues:f(Uo),counts:p({total:d().int().nonnegative(),bySeverity:l(m(),d().int().nonnegative()),byCategory:l(m(),d().int().nonnegative())}),truncated:_(),indexed:_(),reviewedFiles:d().int().nonnegative(),eligibleFiles:d().int().nonnegative(),reviewers:f(p({model:m().nullable(),provider:m().nullable(),gezelName:m().nullable(),files:d().int().nonnegative()})).optional()}),p({ref:m().regex(/^BW-[1-9]\d*$/)}),p({issue:Uo}),p({ref:m().regex(/^BW-[1-9]\d*$/),status:Vo.optional(),seen:_().optional(),dismissalReason:Ho.optional()}).refine(e=>e.status!==void 0||e.seen!==void 0,{message:`status or seen is required`}).refine(e=>e.status===`dismissed`?e.dismissalReason!==void 0:e.dismissalReason===void 0,{message:`dismissalReason is required only when status is dismissed`}),p({issue:Uo}),p({ref:m().regex(/^BW-[1-9]\d*$/),gezelId:m().min(1),message:m().min(1)}),p({issue:Uo,taskRef:m().min(1),gezelId:m().min(1),gezelName:m().min(1),enqueued:_(),packId:m().optional()}),p({path:m().optional()}),p({root:m(),languages:f(p({lang:m(),fileCount:d().int().nonnegative()})),areas:f(p({path:m(),fileCount:d().int().nonnegative(),purpose:m().optional()})),entryPoints:f(m()),keyFiles:f(m()),fileCount:d().int().nonnegative(),indexed:_(),architecture:m().optional(),health:p({reviewedFiles:d().int().nonnegative(),eligibleFiles:d().int().nonnegative(),avgHealth:d(),majorIssues:d().int().nonnegative(),minorIssues:d().int().nonnegative(),worstFiles:f(p({path:m(),health:d().int().min(1).max(10),reason:m().optional()})).max(5)}).optional()});var ys=a([`user`,`machine-engine`,`legacy-full`]),bs=p({status:a([`cold`,`warming`,`ready`,`disabled`,`unavailable`]),reason:m().optional()});p({ok:u(!0),version:m(),embeddings:bs.optional(),serviceRole:ys.optional(),machineEngineConnected:_().optional(),startedAt:m(),nodeVersion:m().optional(),platform:m().optional(),llamaCppBackend:a([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppDetectedBackend:a([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppDetectedVendor:a([`amd`,`nvidia`,`intel`]).optional(),llamaCppQuarantinedBackends:f(a([`cuda`,`vulkan`,`metal`,`cpu`])).optional(),ds4ServerBundled:_().optional(),childProcessSpawn:a([`ok`,`denied`]).optional(),apiCompat:p({floor:d().int(),current:d().int()}).optional()});var xs=a([`vram`,`unified`,`ram`]),Ss=p({provider:m(),modelId:m(),reservedBytes:d().nonnegative(),replicaCount:d().int().positive()}),Cs=a([`machine-engine`,`app-engine`,`development-engine`,`gezel-engine`,`external`]),ws=p({pid:d().int().positive(),name:m().optional(),adapterLuid:m().optional(),dedicatedBytes:d().nonnegative(),owner:Cs}),Ts=p({provider:m(),modelId:m(),replicaIdx:d().int().nonnegative(),running:_(),active:_(),pid:d().int().positive().optional(),lastUsedAt:d().nonnegative().nullable(),unloadAt:d().nonnegative().nullable(),idleTimeoutMs:d().nonnegative(),releaseReason:a([`idle`,`memory-pressure`]).nullable()});p({kind:xs,totalBytes:d().nonnegative(),usedBytes:d().nonnegative().nullable(),gezelBytesEstimated:d().nonnegative(),gezelBytesObserved:d().nonnegative().nullable(),processAttributionKind:a([`measured`,`estimated`]).optional(),gezelInfraBytes:d().nonnegative(),gezelModelWeightsBytes:d().nonnegative(),gezelModelCacheBytes:d().nonnegative(),engineReservedBytes:d().nonnegative(),engineBudgetBytes:d().nonnegative().nullable(),enginePools:p({kind:a([`unified`,`discrete-gpu`,`system-ram`]),vramBytes:d().nonnegative(),ramShareBytes:d().nonnegative(),fastBytes:d().nonnegative()}).nullable().optional(),engineRamSpillover:p({allowed:_(),auto:_(),overridden:_(),coResidencyBytes:d().nonnegative()}).optional(),residentModels:f(Ss),engineLifecycles:f(Ts).optional(),gpuProcesses:f(ws).optional(),gezelEngineProcessCount:d().int().nonnegative(),orphanedGezelEngineProcessCount:d().int().nonnegative(),otherBytes:d().nonnegative().nullable(),cachedBytes:d().nonnegative().nullable().optional(),freeBytes:d().nonnegative().nullable(),sampledAt:m(),source:a([`device-health`,`system-memory`,`capacity-only`]),deviceNames:f(m())}),p({sizeBytes:d().int().positive().max(10*1024**4)}),p({known:_(),ok:_(),freeBytes:d().nonnegative(),requiredBytes:d().positive(),storageLocation:u(`Gezel model storage`)}),p({version:m(),sampledAt:m(),runtime:p({nodeVersion:m(),platform:m(),arch:m(),osRelease:m(),platformKey:m().nullable()}),hardware:p({totalRamBytes:d().nonnegative(),gpuVramBytes:d().nonnegative().nullable(),gpuMemoryKind:a([`discrete`,`integrated`,`unified`,`none`,`unknown`]).optional(),usableBytes:d().nonnegative(),budgetBytes:d().nonnegative().optional(),source:a([`darwin-unified`,`gpu-nvidia`,`gpu-vulkan`,`gpu-integrated`,`system-ram-fallback`]),gpuVendor:a([`amd`,`nvidia`,`intel`]).optional(),description:m(),tier:a([`tiny`,`small`,`medium`,`large`]),gpuDevices:f(p({name:m(),totalMiB:d().nonnegative(),computeCapability:m().optional(),driverVersion:m().optional()}))}),engine:p({nativeRelease:m(),nativePinned:_(),installedEngines:f(fs),llamaCppBackend:a([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppDetectedBackend:a([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppBackendOverride:a([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppRevision:m().optional(),llamaCppBuildBackend:m().optional(),cudaArchitectures:f(m()).optional(),cudaToolkit:m().optional()}),models:p({defaultProvider:L,defaultModel:m().optional(),installed:f(p({id:m(),provider:a([`llama-cpp`,`mlx`,`ds4`]),parameterSize:m().optional()}))}),localEngines:f(p({provider:a([`llama-cpp`,`mlx`,`ds4`]),model:m().optional(),pid:d().optional(),startedAt:m().optional(),contextPerSlot:d().optional(),contextTotal:d().optional(),slots:d().optional(),kvCacheType:m().optional(),backend:m().optional()})).optional()}),p({home:m(),scope:a([`machine`,`user`]),version:m(),startedAt:m(),firstRunCompleted:_(),usage:p({gezelCount:d().int().nonnegative(),projectCount:d().int().nonnegative(),sessionCount:d().int().nonnegative(),everUsed:_()}),provider:L.optional(),defaultModel:m().optional(),memory:p({totalBytes:d().nonnegative(),freeBytes:d().nonnegative()}),engines:f(p({key:m(),residentBytes:d().nonnegative()}))});var Es=p({kind:a([`pat`,`oauth`]),login:m().optional(),name:m().optional(),avatarUrl:m().optional(),scopes:f(m()).optional(),acquiredAt:m().optional()}),Ds=p({documents:m().min(1).optional(),gezels:m().min(1).optional(),projects:m().min(1).optional()}),Os=p({level:a([`super-lockdown`,`lockdown`,`free`,`custom`]),allowFileEdits:_(),allowExternalChat:_(),allowExternalServices:_(),allowScriptExecution:_(),allowAppNetwork:_()}),ks=p({mode:a([`off`,`observe`,`guard`]).optional(),maxStartTemperatureC:d().min(40).max(110).optional(),resumeTemperatureC:d().min(35).max(105).optional(),minThermalMarginC:d().min(0).max(40).optional(),pollIntervalMs:d().int().min(500).max(6e4).optional(),maxWaitMs:d().int().min(0).max(36e5).optional(),consecutiveHealthySamples:d().int().min(1).max(20).optional(),onTelemetryFailure:a([`allow`,`block`]).optional()}),As=p({format:a([`docx`,`pdf`,`pptx`,`md`,`html`]),themeId:m().min(1),transformStyle:m().min(1),pageSize:a([`letter`,`a4`]),htmlStyle:a([`rendered`,`plain`]),htmlBundle:a([`single`,`zip`])}),js=a([`adaptive`,`model-max`]);p({policy:js}),p({overrides:l(m(),d().int().positive())}),p({contextTokens:d().int().min(32768).max(4194304).nullable()});var Ms=p({enabled:_().default(!1),bindAddress:m().optional(),port:d().int().positive().optional(),priority:a([`equal`,`below-local`,`above-local`]).optional(),reserveLocalGb:d().nonnegative().optional(),allowModels:f(m()).optional(),limits:p({maxConcurrentPerDevice:d().int().positive().optional(),maxChatPerDevice:d().int().positive().optional(),requestsPerMinute:d().int().positive().optional()}).optional()}),Ns=p({provider:L.optional(),hosting:a([`auto`,`machine-service`,`per-user`]).optional(),service:p({url:m(),token:m()}).optional(),localEngineIdleTimeoutMs:d().int().min(6e4).optional(),deviceSafety:ks.optional(),roleBasedNameOnlyMode:_().optional(),showPoppetjes:_().optional(),narrateAssistantReplies:_().optional(),defaultSttModel:m().optional(),microphoneDeviceId:m().max(1024).optional(),microphoneDeviceLabel:m().max(1024).optional(),githubToken:m().optional(),githubAuth:Es.optional(),oauthClients:l(m(),p({clientId:m()})).optional(),openaiApiKey:m().optional(),openaiOrganization:m().optional(),anthropicApiKey:m().optional(),googleAiApiKey:m().optional(),imageProvider:a([`sd-cpp`,`google-ai`,`openai`,`mock`]).optional(),defaultImageModel:p({"sd-cpp":m().optional(),"google-ai":m().optional(),openai:m().optional()}).optional(),imageGenerationConfirmation:n([u(`always-allow`),u(`ask`),p({mode:u(`snooze`),until:m()})]).optional(),gpuMemoryPolicy:a([`auto`,`coexist`,`swap`]).optional(),videoProvider:a([`diffusers`,`mock`]).optional(),defaultVideoModel:m().optional(),videoGenerationConfirmation:n([u(`always-allow`),u(`ask`),p({mode:u(`snooze`),until:m()})]).optional(),recognitionProvider:a([`llama-cpp`,`mlx`,`mock`]).optional(),defaultRecognitionModel:m().optional(),recognition:p({mode:a([`auto`,`always`,`off`]).optional(),modes:f(gn).optional(),maxImagesPerTurn:d().int().min(1).max(16).optional(),timeoutMsPerImage:d().int().min(5e3).optional(),maxDigestChars:d().int().min(200).optional(),maxMegapixels:d().positive().optional()}).optional(),nativeVision:l(m(),_()).optional(),webhookBearerToken:m().optional(),webhookBasicAuth:m().optional(),braveSearchApiKey:m().optional(),tavilyApiKey:m().optional(),ollamaBaseUrl:m().optional(),autoStartOllama:_().optional(),defaultModel:p({copilot:m().optional(),openai:m().optional(),anthropic:m().optional(),"anthropic-cli":m().optional(),"codex-cli":m().optional(),ollama:m().optional(),"llama-cpp":m().optional(),mlx:m().optional(),ds4:m().optional(),remote:m().optional()}).optional(),defaultReasoningEffort:p({copilot:m().optional(),openai:m().optional(),anthropic:m().optional(),"anthropic-cli":m().optional(),"codex-cli":m().optional(),ollama:m().optional(),"llama-cpp":m().optional(),mlx:m().optional(),ds4:m().optional(),remote:m().optional()}).optional(),modelTuning:l(m(),P).optional(),modelFitness:l(m(),g()).optional(),remoteServing:Ms.optional(),fileReviews:p({enabled:_().default(!0),disabledKinds:f(m()).optional()}).optional(),modelTuningProfile:l(m(),m()).optional(),meesterGezelId:m().optional(),sharedProjectId:m().optional(),klerkGezelId:m().optional(),boekwachterGezelId:m().optional(),keurmeesterGezelId:m().optional(),openaiEndpoints:p({enabled:_().optional(),servingGezelId:m().optional(),supportingBehaviors:_().optional(),emulateOllama:_().optional()}).optional(),ollamaNumCtx:d().int().positive().optional(),ollamaStreamingIdleSec:d().int().positive().optional(),ollamaPreFirstByteIdleSec:d().int().positive().optional(),ollamaTurnTimeoutMin:d().int().positive().optional(),ollamaNumPredict:d().int().positive().optional(),ollamaThink:_().optional(),llamaCppModelPath:m().optional(),llamaCppBaseUrl:m().optional(),llamaCppNumCtx:d().int().positive().optional(),llamaCppContextSizing:js.optional(),modelContextOverrides:l(m(),d().int().positive()).optional(),ds4BaseUrl:m().optional(),ds4ModelPath:m().optional(),ds4NumCtx:d().int().positive().optional(),ds4SsdStreaming:_().optional(),ds4CacheExpertsGb:d().positive().optional(),ds4Dspark:a([`off`,`on`,`auto`]).optional(),ds4DsparkModelPath:m().optional(),llamaCppStreamingIdleSec:d().int().positive().optional(),llamaCppPreFirstByteIdleSec:d().int().positive().optional(),llamaCppBackendOverride:a([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).optional(),autoDownloadEngines:_().optional(),engineSignaturePolicy:a([`off`,`prefer`,`require`]).optional(),llamaCppKvCacheType:a([`f16`,`q8_0`,`q4_0`]).optional(),llamaCppMlock:_().optional(),llamaCppFlashAttn:n([_(),a([`on`,`off`,`auto`])]).optional(),llamaCppNGpuLayers:d().int().min(-1).optional(),llamaCppCpuMoe:_().optional(),llamaCppNCpuMoe:d().int().min(0).optional(),llamaCppCacheReuse:d().int().min(0).optional(),llamaCppSwaFull:_().optional(),llamaCppThreads:d().int().positive().optional(),llamaCppBatchSize:d().int().positive().optional(),llamaCppSpecType:a([`none`,`draft-mtp`,`draft-eagle3`,`draft-dflash`,`draft-simple`,`ngram-mod`,`ngram-simple`,`ngram-map-k`,`ngram-map-k4v`,`ngram-cache`]).optional(),llamaCppDraftModelPath:m().optional(),llamaCppSpecDraftNMax:d().int().positive().optional(),llamaCppExtraArgs:l(m(),n([m(),d(),_()])).optional(),llamaCppUbatchSize:d().int().positive().optional(),mlxBaseUrl:m().optional(),mlxModelPath:m().optional(),mlxNumCtx:d().int().positive().optional(),mlxPackageSpec:m().optional(),mlxKvBits:d().int().min(0).max(8).optional(),mlxSpecDraftModelPath:m().optional(),mlxSpeculativeDecoding:_().optional(),mlxSpecBlockSize:d().int().positive().optional(),mlxPrefillStepSize:d().int().positive().optional(),localEngineMemoryGb:d().positive().nullable().optional(),allowRamSpillover:_().nullable().optional(),localEngineReplicas:l(m(),d().int().min(0)).optional(),localEngineReplicasMax:d().int().positive().optional(),pythonRuntime:p({source:a([`system-uv`,`system-python`,`bundled-uv`]),installerPath:m().optional(),uvVersion:m().optional(),pythonVersion:m().optional(),resolvedAt:m().optional()}).optional(),firstRunCompleted:_().optional(),securityPolicy:Os.optional(),firstRunInstallError:m().optional(),copilotTurnTimeoutMin:d().int().positive().optional(),providerConcurrency:p({copilot:d().int().min(1).optional(),openai:d().int().min(1).optional(),anthropic:d().int().min(1).optional(),"anthropic-cli":d().int().min(1).optional(),"codex-cli":d().int().min(1).optional(),ollama:d().int().min(1).optional(),"llama-cpp":d().int().min(1).optional(),mlx:d().int().min(1).optional(),ds4:d().int().min(1).optional()}).optional(),cacheBudgetMb:p({mlx:d().int().min(64).optional(),"llama-cpp":d().int().min(64).optional()}).optional(),mlxDiskCacheBudgetMb:d().int().min(0).optional(),llamaCppDiskCacheBudgetMb:d().int().min(0).optional(),layeredPrefixCache:p({enabled:_().optional()}).optional(),mlxSharedBandPrefix:p({enabled:_().optional()}).optional(),providerQueue:p({affinity:_().optional()}).optional(),taskRunner:p({tickIntervalMs:d().int().min(500).optional()}).optional(),taskBudget:p({enabled:_().optional(),softNudge:_().optional(),hardPause:_().optional(),scale:d().positive().optional(),limits:l(a([`tiny`,`small`,`medium`,`large`,`cloud`]),p({softTurns:d().int().positive().optional(),hardTurns:d().int().positive().optional(),softOutputTokens:d().int().positive().optional(),hardOutputTokens:d().int().positive().optional()}).partial()).optional()}).optional(),stuckStep:p({enabled:_().optional(),stallMs:d().int().positive().optional(),maxRedrives:d().int().positive().optional()}).optional(),autoRecall:p({enabled:_().optional(),topK:d().int().positive().optional(),minScore:d().optional()}).optional(),retrieval:C.optional(),summarization:p({enabled:_().optional(),provider:L.optional(),model:m().optional(),minUserTurns:d().int().positive().optional(),idleHours:d().positive().optional()}).optional(),memory:p({maintenance:p({enabled:_().optional(),olderThanDays:d().int().min(2).optional(),minEntries:d().int().positive().optional()}).optional(),lessons:p({enabled:_().optional(),maxChars:d().int().positive().optional(),lookbackDays:d().int().positive().optional()}).optional()}).optional(),searchIndex:p({enabled:_().optional(),sessions:_().optional(),history:_().optional(),documents:_().optional()}).optional(),digest:p({enabled:_().optional()}).optional(),promptDrafts:Kr.optional(),gildeUpdates:p({enabled:_().optional()}).optional(),faceRecognition:p({enabled:_().optional()}).optional(),knowledge:p({autoUpdate:_().optional(),registryUrl:m().optional()}).optional(),meesterStatus:p({enabled:_().optional(),maxRunsPerDay:d().int().min(1).max(24).optional(),changeWindowHours:d().positive().optional()}).optional(),ambientDashboard:p({enabled:_().optional(),intervalMinutes:d().int().min(15).optional(),resolution:jo.optional(),themeId:No.optional(),displayTarget:Lo.optional(),style:Mo.optional(),keep:d().int().min(1).max(200).optional()}).optional(),ambientDisplay:p({applyWallpaper:_().optional()}).optional(),growth:p({enabled:_().optional()}).optional(),keurmeester:p({enabled:_().optional(),providerName:m().optional(),model:m().optional(),allowTakeover:_().optional(),maxConsultsPerSession:d().int().positive().optional(),maxConsultsPerTask:d().int().positive().optional(),cooldownMs:d().int().positive().optional()}).optional(),projectNudge:p({enabled:_().optional(),rapidIntervalMs:d().int().positive().optional(),slowIntervalMs:d().int().positive().optional(),recentActivityWindowMs:d().int().positive().optional(),rapidAttemptsBeforeBackoff:d().int().positive().optional(),firstNudgeGraceMs:d().int().nonnegative().optional()}).optional(),debugMode:_().optional(),showAdvancedFeatures:_().optional(),showWorkInProgressFeatures:_().optional(),resetTemplatesOnStartup:_().optional(),aiEngagementMode:a([`proactive`,`scheduled`,`reactive`,`off`]).optional(),showSystemTray:_().optional(),autoUpdateChecks:_().optional(),quitOnClose:_().optional(),themePref:a([`system`,`light`,`dark`]).optional(),cliShowThinking:_().optional(),cliShowWrites:_().optional(),documentExportOptions:As.optional(),inlineSpellChecking:_().optional(),inlineGrammarChecking:_().optional(),sidebarSide:a([`left`,`right`]).optional(),homeGreetingCollapsed:_().optional(),workshopTempo:a([`gezellig`,`bedrijvig`,`druk`,`dolle-boel`]).optional(),nightShift:p({enabled:_().optional(),window:p({startHour:d().int().min(0).max(23),endHour:d().int().min(0).max(23)}).optional(),keepAwakeWhileRunning:_().optional(),wakeOnStart:_().optional(),modelOverride:p({enabled:_().optional(),provider:L.optional(),model:m().optional()}).optional(),quotaReserve:p({overall:p({enabled:_().optional(),percent:d().min(0).max(100).optional()}).optional(),perDay:p({enabled:_().optional(),percent:d().min(0).max(100).optional()}).optional()}).optional()}).optional(),toolFilterMode:a([`always`,`never`,`small-model`]).optional(),channels:ns.optional(),sandboxCopilot:_().optional(),anthropicCli:p({binaryPath:m().optional(),manageRuntimeFiles:_().optional(),defaultPermissionMode:M.optional(),extraModels:f(p({id:m(),name:m()})).optional(),poolSize:d().int().min(1).max(32).optional(),workerIdleSec:d().int().min(60).max(3600).optional()}).optional(),codexCli:p({binaryPath:m().optional(),manageRuntimeFiles:_().optional(),defaultPermissionMode:mt.optional(),defaultReasoningEffort:a([`minimal`,`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]).optional(),extraModels:f(p({id:m(),name:m()})).optional(),extraConfigOverrides:l(m(),m()).optional()}).optional(),executionDensity:a([`auto`,`flat`,`scaffold`]).optional(),playwrightHeadless:_().optional(),fetchUrl:p({allow:f(m()).optional(),deny:f(m()).optional()}).optional(),webSearch:p({provider:a([`brave`,`wikipedia`,`tavily`,`mock`]).optional(),fallbackProvider:a([`brave`,`wikipedia`,`tavily`]).optional(),defaultLimit:d().int().min(1).max(20).optional(),allow:f(m()).optional(),deny:f(m()).optional()}).optional(),projectMru:f(p({id:m(),at:d()})).optional(),recentTabs:f(t(`kind`,[p({kind:u(`project`),id:m(),at:d(),order:d()}),p({kind:u(`gezel`),id:m(),at:d(),order:d()}),p({kind:u(`document`),path:m(),at:d(),order:d()}),p({kind:u(`task`),ref:m(),at:d(),order:d()}),p({kind:u(`area`),area:a([`projects`,`gezels`,`documents`,`tasks`,`scripts`,`history`,`settings`,`benchmarks`]),at:d(),order:d()})])).optional(),externalFolders:Ds.optional()}),Ps=a([`projects`,`gezels`,`documents`,`tasks`,`craftbooks`,`scripts`,`history`,`settings`,`benchmarks`,`handboek`,`knowledge`]);t(`kind`,[p({kind:u(`project`),id:m(),at:d(),order:d(),pinned:_().optional()}),p({kind:u(`gezel`),id:m(),at:d(),order:d(),pinned:_().optional()}),p({kind:u(`document`),path:m(),at:d(),order:d(),pinned:_().optional()}),p({kind:u(`task`),ref:m(),at:d(),order:d(),pinned:_().optional()}),p({kind:u(`area`),area:Ps,at:d(),order:d(),pinned:_().optional()}),p({kind:u(`script`),projectId:m(),name:m(),scope:a([`standard`,`user`]).optional(),at:d(),order:d(),pinned:_().optional()}),p({kind:u(`craftbook`),id:m(),source:a([`bundled`,`local`,`project`]).optional(),at:d(),order:d(),pinned:_().optional()}),p({kind:u(`craftbook-script`),craftbookId:m(),name:m(),at:d(),order:d(),pinned:_().optional()})]),Ns.extend({ollamaThink:_().nullable().optional(),firstRunInstallError:m().nullable().optional(),microphoneDeviceId:m().max(1024).nullable().optional(),microphoneDeviceLabel:m().max(1024).nullable().optional(),service:p({url:m(),token:m()}).nullable().optional(),llamaCppBaseUrl:m().nullable().optional(),llamaCppModelPath:m().nullable().optional(),llamaCppBackendOverride:a([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).nullable().optional(),llamaCppKvCacheType:a([`f16`,`q8_0`,`q4_0`]).nullable().optional(),llamaCppFlashAttn:n([_(),a([`on`,`off`,`auto`])]).nullable().optional(),llamaCppSpecType:a([`none`,`draft-mtp`,`draft-eagle3`,`draft-dflash`,`draft-simple`,`ngram-mod`,`ngram-simple`,`ngram-map-k`,`ngram-map-k4v`,`ngram-cache`]).nullable().optional(),llamaCppCpuMoe:_().nullable().optional(),llamaCppSwaFull:_().nullable().optional(),mlxBaseUrl:m().nullable().optional(),mlxModelPath:m().nullable().optional(),mlxPackageSpec:m().nullable().optional(),mlxKvBits:d().int().min(0).max(8).nullable().optional(),mlxSpecDraftModelPath:m().nullable().optional(),mlxSpeculativeDecoding:_().nullable().optional(),mlxSpecBlockSize:d().int().positive().nullable().optional(),externalFolders:p({documents:m().min(1).nullable().optional(),gezels:m().min(1).nullable().optional(),projects:m().min(1).nullable().optional()}).nullable().optional()}),p({gezels:f(An)}),p({name:m().min(1),description:m().optional(),role:m().optional(),gender:En.optional(),model:m().optional(),about:m().optional()}),p({state:Dt,nextLevelXp:d().int(),activeTraits:f(On),driftedTraitIds:f(m())}),p({proposalId:m().min(1)}),p({proposalId:m().min(1).optional()}),p({source:m()}),p({source:m()}),p({name:m().min(1)}),p({defaults:l(m(),g()).nullable()}),p({provider:L.nullable().optional(),model:m().nullable().optional(),reasoningEffort:m().nullable().optional(),numCtx:d().int().positive().nullable().optional(),autoRecall:_().nullable().optional(),retrieval:C.nullable().optional(),font:m().nullable().optional(),sandboxCopilot:_().nullable().optional(),claudePermissionMode:M.nullable().optional(),codexPermissionMode:mt.nullable().optional(),tuning:P.nullable().optional(),tuningProfile:N.nullable().optional(),iconOverride:_().nullable().optional(),recognition:a([`auto`,`always`,`off`]).nullable().optional()}),p({instruction:m().optional()}),p({role:m().optional()}),p({provider:L,models:f(p({id:m(),name:m(),supportsReasoning:_().optional(),reasoningEfforts:f(m()).optional(),defaultReasoningEffort:m().optional(),contextWindow:d().optional(),supportsTools:_().optional(),parameterSize:m().optional()}))}),p({svg:m()});var Fs=p({timestamp:m(),svg:m()});p({current:m().nullable(),history:f(Fs)}),p({timestamp:m()}),p({poppetje:ft}),p({seed:d().int().optional()});var Is=a([`about`,`chat-composer`,`task-description`,`generic`]);p({text:m(),context:Is.optional(),instruction:m().optional(),isSelection:_().optional(),subject:m().optional(),parentContext:m().optional()}),p({text:m()}),p({mode:a([`rewrite`,`insert`]).default(`rewrite`),text:m().default(``),instruction:m().optional(),context:Is.optional(),subject:m().optional(),parentContext:m().optional(),textBefore:m().optional(),textAfter:m().optional()}),t(`type`,[p({type:u(`status`),phase:a([`queued`,`started`]),detail:m().optional()}),p({type:u(`thinking-delta`),text:m()}),p({type:u(`output-delta`),text:m()}),p({type:u(`done`),text:m()}),p({type:u(`error`),error:m()})]),p({path:m().min(1),content:m(),gezelId:m().optional(),sessionId:m().optional()});var Ls=m().trim().min(1).max(1024).refine(e=>{let t=e.replace(/\\/g,`/`);return!t.startsWith(`/`)&&!/^[A-Za-z]:\//.test(t)&&t.split(`/`).every(e=>e!==`..`)},{message:`must be a relative path without .. segments`}),Rs=t(`kind`,[p({kind:u(`documents`)}),p({kind:u(`project-artifacts`),projectId:m().trim().min(1)})]);p({markdown:m().max(5e6),selectedFile:Ls,format:a([`mp4`,`gif`]),source:Rs}),p({path:m().min(1)}),p({fromPath:m().trim().min(1),toPath:m().trim().min(1)}),p({gezelId:m(),messages:f(R)}),p({message:m().min(1),projectId:m().optional(),expectedDeliverable:lo.optional()}),p({accepted:u(!0),gezelId:m()}),p({fromGezelId:m().min(1),fromSessionId:m().optional(),projectId:m().optional(),text:m().min(1),suppressReply:_().optional(),expectedDeliverable:lo.optional()}),p({accepted:u(!0),sessionId:m(),toGezelId:m(),toGezelName:m(),deliveryState:a([`parked`,`dispatched`]),deduplicated:_().optional()}),p({jobTitle:m().min(1),preferredName:m().optional()}),p({gezelId:m(),name:m(),role:m(),action:a([`reused`,`created-from-gilde`,`created-bespoke`]),matchScore:d().optional(),templateId:m().optional(),alternatives:f(m()).optional()}),p({candidates:f(p({id:m(),label:m(),description:m().optional(),roleBasedName:m().optional(),group:a([`voorman`,`assignees`,`team`]).optional()}))}),p({projects:f(p({projectId:m(),projectName:m(),precedence:a([`voorman`,`assignment`,`session`,`fallback`]),lastActivityAt:m().optional()}))}),p({projectId:m(),gezelId:m(),sessionId:m(),prompt:m().min(1),choices:f(m()).max(20).optional(),allowWriteIn:_().optional(),multiSelect:_().optional(),taskRef:vi.optional(),documentPath:m().optional()}),p({questionId:m(),deduped:_().optional()}),p({projectId:m(),gezelId:m(),sessionId:m(),toolName:m().min(1),toolInput:l(m(),g())}),t(`behavior`,[p({behavior:u(`allow`),updatedInput:l(m(),g())}),p({behavior:u(`deny`),message:m()})]),p({fromGezelId:m().min(1),fromSessionId:m().min(1),toGezelIdOrName:m().min(1),projectId:m().optional(),question:m().min(1),timeoutMs:d().int().positive().optional(),taskRef:m().optional(),stepId:m().optional(),expectedDeliverable:lo.optional()}),t(`outcome`,[p({outcome:u(`reply`),text:m(),toGezelId:m(),toGezelName:m(),sessionId:m()}),p({outcome:u(`error`),reason:a([`cycle`,`depth`,`self`,`not-found`,`engagement-off`,`timeout`,`target-error`,`target-deleted`,`delivery-failed`]),message:m()})]),p({selectedChoices:f(d().int().min(0)).optional(),writeIn:m().optional(),declined:_().optional(),silentSkip:_().optional(),npmInstallDecisions:f(Yt).optional()}),p({questions:f(pn)}),p({kind:a([`artifact`,`document`,`workspace`]),path:m().min(1).max(4096)}),p({path:m().min(1)}),t(`mode`,[p({mode:u(`text`),content:m()}),p({mode:u(`markdown`),content:m(),sidecarPath:m().min(1)}),p({mode:u(`media`),mediaKind:a([`image`,`video`,`audio`])}),p({mode:u(`binary`)})]),t(`kind`,[p({kind:u(`found`),content:m(),path:m(),fuzzy:_()}),p({kind:u(`ambiguous`),candidates:f(m())}),p({kind:u(`missing`)})]),p({lines:p({start:d().int().min(1),count:d().int().min(0)}).optional(),head:d().int().min(0).optional(),tail:d().int().min(0).optional()}),t(`kind`,[p({kind:u(`found`),content:m(),path:m(),fuzzy:_(),linesReturned:d().int().nonnegative(),totalLines:d().int().nonnegative(),bytesReturned:d().int().nonnegative(),totalBytes:d().int().nonnegative(),hasMore:_()}),p({kind:u(`ambiguous`),candidates:f(m())}),p({kind:u(`missing`)})]),p({path:m().min(1),pattern:m().min(1),caseInsensitive:_().optional(),contextLines:d().int().min(0).max(10).optional(),maxMatches:d().int().min(1).max(100).optional()}),t(`kind`,[p({kind:u(`found`),matches:f(p({lineNumber:d().int().min(1),line:m(),contextBefore:f(m()).optional(),contextAfter:f(m()).optional()})),totalMatches:d().int().nonnegative(),totalLines:d().int().nonnegative(),truncated:_(),path:m(),fuzzy:_()}),p({kind:u(`ambiguous`),candidates:f(m())}),p({kind:u(`missing`)}),p({kind:u(`invalid-pattern`),error:m()})]);var zs=p({phase:a([`idle`,`installing-toolsets`,`downloading-browser`,`ready`,`setup-incomplete`,`error`]),currentToolset:m().optional(),browserProgress:p({bytesDownloaded:d(),bytesTotal:d().nullable()}).optional(),error:m().optional(),updatedAt:m()}),Bs=p({phase:a([`idle`,`provisioning`,`ready`,`error`]),message:m().optional(),error:m().optional(),updatedAt:m()}),Vs=n([p({kind:u(`stdout`),line:m()}),p({kind:u(`stderr`),line:m()}),p({kind:u(`exit`),code:d()}),p({kind:u(`error`),message:m()})]),Hs=t(`type`,[p({type:u(`phase`),phase:a([`resolving`,`downloading`,`extracting`,`installing-deps`,`publishing`])}),p({type:u(`progress`),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative()}),p({type:u(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:m()}),p({type:u(`log`),line:m()}),p({type:u(`done`),installPath:m(),version:m()}),p({type:u(`error`),error:m()})]);p({toolsetId:m(),version:m(),startedAt:m(),phase:a([`resolving`,`downloading`,`extracting`,`installing-deps`,`publishing`]),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative(),retrying:p({attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:m()}).optional(),log:f(m()),finished:_(),error:m().optional(),installPath:m().optional()}),p({available:_(),source:a([`env`,`managed`,`path`]).nullable(),managed:a([`current`,`outdated`,`absent`,`damaged`]),damagedReason:m().optional(),installedVersion:m().optional(),pinnedVersion:m(),installDir:m().optional(),cliPath:m().optional(),updateAvailable:_(),canInstall:_().optional()}),p({projects:f(pr.extend({architecture:m().optional()}))});var Us=p({name:m().min(1),description:m().optional(),icon:z.optional(),workingDir:m().min(1).optional(),about:m().optional().describe(`A few paragraphs about who this project is for, what's in scope, what's explicitly out of scope. First thing any gezel reads when they join the project.`),missionObjectives:m().optional().describe(`Concrete success criteria — usually a bullet list. What does "done" look like?`),mode:a([`crew`,`solo`]).optional(),indexingEnabled:_().optional(),github:p({url:m().url()}).optional()});p({name:m().min(1).optional(),description:m().optional(),icon:z.nullable().optional(),workingDir:m().nullable().optional(),voormanGezelId:m().nullable().optional(),linkedProjectIds:f(vt).max(32).optional(),about:m().optional(),missionObjectives:m().optional(),knowledgeCatalogs:Zn.optional(),github:n([i(),p({url:m().url().optional(),branch:m().optional()})]).optional(),managedWorkspaceWritePolicy:lr.optional(),allowGezelWrites:_().optional(),codexPermissionMode:pt.optional(),claudePermissionMode:M.optional(),nudgeConfig:or.optional(),tabVisibility:cr.optional(),outputPaneVisible:_().nullable().optional(),indexingEnabled:_().optional(),nightlyFixesEnabled:_().optional(),status:a([`active`,`readonly`,`inactive`,`stable`]).optional(),archived:_().optional(),workspaceScriptTimeoutMs:d().int().min(3e4).max(30*6e4).optional(),grantedCredentials:f(m()).optional(),credentialAllowedOrigins:l(m(),f(rr)).optional(),projectTypeId:m().nullable().optional(),properties:l(m(),m()).optional(),mode:fr.optional()});var Ws=p({typeId:m().min(1),version:m().optional(),params:l(m(),g()).optional(),seedPolicy:a([`overwrite`,`preserve`]).optional(),reuseRosterGezels:_().optional()}),Gs=p({ref:m(),craftbook:m(),cron:m(),consent:a([`ask`,`auto`,`disabled`]),status:a([`active`,`paused`]),created:_()}),Ks=p({typeId:m(),version:m(),source:m(),gezelsCreated:f(p({id:m(),name:m(),templateId:m(),voorman:_()})),scriptsInstalled:f(m()),workspaceSeeded:f(m()),seedsSkipped:f(m()).default([]),toolsetsInstalled:f(m()),toolsBound:f(m()),craftbooksInstalled:f(m()),schedulesCreated:f(Gs),aboutRendered:_(),missionRendered:_(),deferred:p({toolsets:f(m()),craftbooks:f(m()),pages:_(),schedules:d()})});Us.pick({name:!0,description:!0,mode:!0,icon:!0}).extend({projectType:Ws}),p({project:hr,applied:Ks});var qs=a([`new`,`unchanged`,`update`,`keep-modified`]);p({typeId:m(),version:m(),source:m(),gezels:f(p({templateId:m(),voorman:_(),reuse:_()})),scripts:f(m()),seeds:f(p({path:m(),state:qs})),toolsets:p({installNow:f(m()),deferred:f(m())}),craftbooks:f(m()),schedules:f(p({craftbook:m(),cron:m().optional(),consent:a([`ask`,`auto`,`disabled`])})),pages:_()});var Js=a([`ok`,`modified`,`missing`,`untracked`]);p({projectId:m(),provenance:ur.nullable(),installedApp:p({appId:m(),version:m(),enabled:_()}).nullable(),updateAvailable:_(),seeds:f(p({path:m(),state:Js}))});var Ys=p({appId:m(),version:m(),packageSha256:m(),installedAt:m(),enabled:_(),name:m().nullable(),description:m().nullable(),publisher:p({name:m(),url:m().optional()}).nullable(),itemCount:d().int(),dependencyCount:d().int(),versionsOnDisk:f(m())});p({apps:f(Ys)});var Xs=p({id:m(),name:m(),version:m()});Ys.extend({manifest:Za.nullable(),missingDependencies:f(Ya),appliedProjects:f(Xs)}),p({enabled:_()}),p({appId:m(),removedVersions:f(m()),keptVersions:f(m()),appliedProjects:f(Xs)}),p({manifest:Za,items:f(p({kind:Ka,id:m(),version:m()})),dependencies:f(Ya),missingDependencies:f(Ya),packageSha256:m(),installed:p({appId:m(),version:m(),receiptPath:m(),alreadyPresent:_()}).optional(),previous:p({version:m(),enabled:_()}).optional()}),p({name:F,version:I.optional()}).strict(),p({packages:f(Jt).min(1).max(50).optional(),package:F.optional(),version:I.optional(),gezelId:m().optional(),sessionId:m().optional()}).strict().superRefine((e,t)=>{let n=e.packages!==void 0,r=e.package!==void 0;n===r&&t.addIssue({code:`custom`,message:`provide exactly one of packages or package`}),!r&&e.version!==void 0&&t.addIssue({code:`custom`,path:[`version`],message:`version requires the singular package field`})}),p({project:hr,log:m()}),p({scripts:l(m(),m()),packageManager:m().optional()}),p({ok:_(),code:d(),stdout:m(),stderr:m(),stdoutTruncated:_(),stderrTruncated:_(),timedOut:_(),error:m().optional(),approvalPending:_().optional(),questionId:m().optional(),declined:m().optional(),resolvedBinPath:m().optional()}),p({script:m().min(1),args:f(m()).optional(),timeoutMs:d().int().positive().optional(),gezelId:m().optional(),sessionId:m().optional()}),p({bin:m().min(1),args:f(m()).optional(),timeoutMs:d().int().positive().optional(),gezelId:m().optional(),sessionId:m().optional()}),p({npmApproved:f(p({package:m(),version:m(),at:m(),approvedBy:a([`user`,`shipped`])})),npmDeclined:f(p({package:m(),version:m(),at:m()})),scriptApprovals:l(m(),a([`approved`,`declined`])),npxApprovals:l(m(),a([`approved`,`declined`])),npmShipped:f(p({package:m(),allowedVersions:f(m())}))}),p({error:m(),details:g().optional()}),p({url:m().url(),method:a([`GET`,`HEAD`,`POST`,`PUT`,`PATCH`,`DELETE`]).optional(),headers:l(m(),m()).optional(),body:m().optional(),timeoutMs:d().int().positive().max(12e4).optional(),maxBytes:d().int().positive().max(50*1024*1024).optional()}),p({status:d().int(),statusText:m(),headers:l(m(),m()),body:m().optional(),bodyBase64:m().optional(),mimeType:m().optional(),truncated:_()}),p({query:m().min(1).max(400),limit:d().int().min(1).max(20).optional(),freshness:a([`day`,`week`,`month`,`year`]).optional(),country:m().length(2).optional(),language:m().min(2).max(8).optional()});var Zs=p({title:m(),url:m(),snippet:m(),domain:m(),publishedAt:m().optional(),source:a([`brave`,`wikipedia`,`tavily`,`mock`]),content:m().optional()});p({query:m().min(1).max(400),limit:d().int().min(1).max(20).optional(),language:m().min(2).max(8).optional()}),p({results:f(Zs),source:a([`brave`,`wikipedia`,`tavily`,`mock`]),query:m(),durationMs:d().int().nonnegative()}),p({title:m().min(1).max(400),language:m().min(2).max(8).optional(),maxChars:d().int().min(500).max(6e4).optional()}),p({title:m(),url:m(),content:m(),truncated:_(),durationMs:d().int().nonnegative()}),p({files:f(p({path:m().min(1).max(4096),startLine:d().int().min(1).max(1e7).optional(),endLine:d().int().min(1).max(1e7).optional()}).superRefine((e,t)=>{let n=e.startLine??1;e.endLine!==void 0&&e.endLine<n&&t.addIssue({code:h.custom,path:[`endLine`],message:`endLine must be greater than or equal to startLine`}),e.endLine!==void 0&&e.endLine-n+1>400&&t.addIssue({code:h.custom,path:[`endLine`],message:`a read range may contain at most 400 lines`})})).min(1).max(8)}),p({results:f(t(`status`,[p({status:u(`ok`),path:m(),content:m(),startLine:d().int().positive(),endLine:d().int().nonnegative(),linesReturned:d().int().nonnegative(),bytesReturned:d().int().nonnegative(),scannedBytes:d().int().nonnegative(),totalLines:d().int().nonnegative().optional(),totalBytes:d().int().nonnegative(),eof:_(),completeFile:_(),hasMore:_(),nextStartLine:d().int().positive().optional(),truncated:_(),truncationReason:a([`line-limit`,`output-limit`]).optional()}),p({status:u(`error`),path:m(),code:a([`path-not-found`,`path-safety`,`not-file`,`binary-file`,`unsupported-encoding`,`range-out-of-bounds`,`line-too-long`,`scan-limit`,`deadline`,`read-failed`,`aggregate-limit`]),error:m(),scannedBytes:d().int().nonnegative().optional()})])),truncated:_(),totalBytesReturned:d().int().nonnegative(),totalScannedBytes:d().int().nonnegative()}),p({pattern:m().min(1).max(4e3),path:m().max(4096).optional(),glob:m().min(1).max(512).optional(),includeGlobs:f(m().min(1).max(512)).max(32).optional(),excludeGlobs:f(m().min(1).max(512)).max(32).optional(),caseInsensitive:_().optional(),literal:_().optional(),contextLines:d().int().min(0).max(5).optional(),resultMode:a([`matches`,`files`,`count`]).optional(),cursor:d().int().min(0).max(1e4).optional(),maxResults:d().int().positive().max(200).optional(),timeoutMs:d().int().min(100).max(3e4).optional()});var Qs=p({line:d().int().positive(),text:m()}),$s=p({path:m(),line:d().int().positive(),text:m(),before:f(Qs).optional(),after:f(Qs).optional()});p({mode:a([`matches`,`files`,`count`]).default(`matches`),matches:f($s),files:f(m()).default([]),count:d().int().nonnegative().default(0),truncated:_(),truncationReason:a([`limit`,`output`]).optional(),nextCursor:d().int().nonnegative().optional(),engine:a([`ripgrep`,`javascript`])}),p({});var ec=p({table:m(),title:m().optional(),grain:m().optional(),rows:d().int().nonnegative(),columns:d().int().nonnegative(),partitions:d().int().nonnegative(),earliestPartition:m().optional(),latestPartition:m().optional(),origin:a([`connector`,`workspace`]).default(`connector`),source:m(),schemaInferred:_()});p({tables:f(ec)}),p({table:m().min(1).max(200)}),p({table:m(),markdown:m(),summary:ec}),p({sql:m().min(1).max(2e4),limit:d().int().positive().max(1e4).optional(),tables:f(m().min(1).max(200)).max(32).optional(),timeoutMs:d().int().min(1e3).max(3e5).optional()}),p({rows:f(l(m(),g())),columns:f(m()),truncated:_(),limit:d().int().positive(),tablesInScope:f(m())}),p({glob:m().min(1),path:m().optional(),caseInsensitive:_().optional(),maxResults:d().int().positive().max(5e3).optional()}),p({files:f(m()),truncated:_()});var J=p({x:d(),y:d(),w:d(),h:d()}),tc=p({id:m(),parentId:m().nullable(),rect:J,label:m(),depth:d().int().nonnegative(),fileCount:d().int().nonnegative(),weight:d().nonnegative(),color:m().optional(),labelPlate:J.optional(),displayLabel:m().optional()}),nc=p({findings:d().int().nonnegative(),maxSeverity:a([`critical`,`high`,`medium`,`low`,`info`]).nullable(),fanIn:d().int().nonnegative(),fanOut:d().int().nonnegative(),vibe:a([`lush`,`tidy`,`plain`,`scruffy`,`blighted`]),zone:a([`residential`,`commercial`,`civic`,`industrial`]),importance:d().min(0).max(1).optional(),churn:d().int().nonnegative().optional()}),rc=a([`hamlet`,`village`,`town`,`city`]),ic=p({id:m(),districtId:m(),rect:J,label:m(),weight:d().nonnegative(),kind:m().nullable().optional(),lang:m().nullable().optional(),state:a([`live`,`new`,`tombstoned`]),buildingCount:d().int().nonnegative(),phantom:_().optional(),placedAt:m().nullable().optional(),lot:J.optional(),health:nc.optional(),levels:d().int().min(1).max(5).optional(),landmark:_().optional(),lastTouchedAt:m().optional(),urbanity:d().min(0).max(1).optional(),settlement:rc.optional()}),ac=p({id:m(),blockId:m(),rect:J,height:d().nonnegative(),lines:d().int().positive().optional(),lineStart:d().int().positive().optional(),lineEnd:d().int().positive().optional(),label:m(),kind:m()}),oc=p({id:m(),rect:J,tier:d().int().min(0).max(3),districtId:m().nullable(),traffic:d().nonnegative().optional(),grade:d().int().min(0).max(7).optional()}),sc=p({id:m(),districtId:m().nullable(),rect:J,kind:a([`plaza`,`green`]),blockId:m().optional()}),cc=p({a:m(),b:m(),affinity:d(),source:a([`import`,`embedding`,`mixed`]),bidirectional:_()}),lc=p({blockId:m(),change:a([`added`,`modified`,`deleted`,`renamed`]),additions:d().int().nonnegative(),deletions:d().int().nonnegative(),fromPath:m().optional()}),uc=p({prNumber:d().int().optional(),title:m().optional(),changedBlocks:f(lc)}),dc=p({center:p({x:d(),y:d()}),radius:d().positive(),ceiling:d().min(0).max(1),peak:d().min(0).max(1),median:d().min(0).max(1),settlement:rc,fileCount:d().int().nonnegative()}),fc=a([`core`,`tests`,`all`]);p({domain:a([`code`,`docs`,`data`]).optional(),scope:fc.optional(),pr:d().int().positive().optional()}),p({domain:m(),root:m(),bounds:J,builtAt:m(),indexed:_(),districts:f(tc),blocks:f(ic),buildings:f(ac),roads:f(cc),streets:f(oc).optional(),plazas:f(sc).optional(),overlay:uc.optional(),urbanity:dc.optional(),signals:p({gitAvailable:_(),churnWindowDays:d().int().positive()}).optional()}),p({query:m().min(1),maxResults:d().int().positive().max(100).optional()}),p({results:f(p({sourcePath:m(),markdownPath:m(),lineStart:d().int().positive(),lineEnd:d().int().positive(),snippet:m()})),engine:a([`fts`,`unavailable`]),truncated:_()}),p({path:m().min(1)}),p({found:_(),sourcePath:m().optional(),markdownPath:m().optional(),markdown:m().optional(),truncated:_()}),p({query:m().min(1),mode:a([`auto`,`semantic`,`keyword`]).optional(),maxResults:d().int().positive().max(100).optional()}),p({results:f(p({path:m(),lineStart:d().int().positive(),lineEnd:d().int().positive(),kind:m(),name:m().optional(),snippet:m(),score:d(),source:a([`vector`,`fts`])})),engine:a([`hybrid`,`semantic`,`fts`,`unavailable`]),truncated:_()});var pc=a([`critical`,`high`,`medium`,`low`,`info`]),mc=a([`builtin`,`semgrep`,`osv`,`gitleaks`]),hc=a([`open`,`in_progress`,`resolved`]),gc=p({fingerprint:m().min(1),path:m(),line:d().int().positive().nullable(),ruleId:m(),category:m(),severity:pc,source:mc,title:m(),evidence:m().optional(),status:hc,taskRef:vi.optional()}),_c=p({total:d().int().nonnegative(),bySeverity:l(m(),d().int().nonnegative()),byCategory:l(m(),d().int().nonnegative()),bySource:l(m(),d().int().nonnegative())});p({useExternalTools:_().optional()});var vc=p({semgrep:_(),osvScanner:_(),gitleaks:_(),npm:_()}),yc=p({engine:m().nullable(),measured:_(),lockfiles:f(m())}),bc=p({scannedAt:m(),engines:f(m()),toolsAvailable:vc,sca:yc});p({ran:_(),engines:f(m()),toolsAvailable:vc,findingCounts:_c,dependencies:d().int().nonnegative(),advisories:d().int().nonnegative(),sca:yc.optional()}),p({severity:pc.optional(),category:m().optional(),path:m().optional(),source:mc.optional(),maxResults:d().int().positive().max(1e3).optional()}),p({findings:f(gc),counts:_c,truncated:_(),indexed:_()}),p({fingerprint:m().min(1)}),p({resolved:_()}),p({fingerprint:m().min(1)}),p({finding:gc,taskRef:vi,gezelId:m(),gezelName:m(),enqueued:_()}),p({entryPoints:f(m()),routes:f(m()),authBoundaries:f(m()),secretTouchpoints:f(m()),taintSources:f(p({path:m(),count:d().int().positive()}))}).extend({root:m(),indexed:_()}),p({dependencies:f(p({name:m(),ecosystem:m(),version:m().nullable(),direct:_(),advisoryIds:f(m()),maxSeverity:pc.nullable(),license:m().nullable()})),total:d().int().nonnegative(),withAdvisories:d().int().nonnegative(),scanned:_(),provenance:bc.optional()}),p({indexed:_(),scanned:_(),findings:_c,attackSurface:p({entryPoints:d().int().nonnegative(),routes:d().int().nonnegative(),authBoundaries:d().int().nonnegative(),secretTouchpoints:d().int().nonnegative(),taintSources:d().int().nonnegative()}),dependencies:p({total:d().int().nonnegative(),withAdvisories:d().int().nonnegative()}),systemicCandidates:f(p({category:m(),fileCount:d().int().positive(),findingCount:d().int().positive(),severity:pc})),provenance:bc.optional()}),p({file:m().min(1),maxHops:d().int().positive().max(8).optional()}),p({file:m(),found:_(),upstream:f(m()),downstream:f(m()),taintSources:f(gc),sinks:f(gc),note:m()});var xc=p({kind:a([`project`,`gezel`,`file`,`document`,`content`,`symbol`,`memory`,`session`,`task`,`craftbook`,`handboek`,`mail`,`knowledge`]),id:m(),title:m(),subtitle:m().optional(),snippet:m().optional(),projectId:m().optional(),projectName:m().optional(),path:m().optional(),source:a([`workspace`,`artifacts`]).optional(),retrievalSource:Fe.optional(),line:d().int().positive().optional(),lineEnd:d().int().positive().optional(),gezelId:m().optional(),score:d(),relevance:d().min(0).max(1).optional(),tier:a([`strong`,`weak`]).optional(),catalogId:m().optional(),catalogVersion:m().optional(),documentId:m().optional(),topicPath:f(m()).optional(),uri:m().optional(),sourceUrl:m().optional(),attribution:m().optional()});p({query:m().min(1).max(400),mode:a([`names`,`full`]).optional(),maxResults:d().int().positive().max(100).optional()});var Sc=p({results:f(xc),truncated:_(),sourcesIncomplete:_().optional()});p({gezelId:m().min(1),projectId:m().min(1),query:m().min(1).max(400),topK:d().int().positive().max(50).optional()}),p({query:m().min(1).max(400),maxResults:d().int().positive().max(100).optional(),offset:d().int().nonnegative().max(1e4).optional(),pathPrefix:m().min(1).max(500).optional(),gezelId:m().min(1).optional(),includeShared:_().optional(),sources:f(Fe).min(1).optional()});var Cc=et.pick({id:!0,name:!0,description:!0,source:!0,version:!0,stepCount:!0,score:!0}).extend({invocation:p({tool:u(`invoke_craftbook`),arguments:p({craftbookId:m().min(1),description:m().min(1)})})});Sc.extend({craftbooks:f(Cc)}),p({q:m().min(1).max(400),gezel:m().optional(),project:m().optional(),maxResults:d().int().positive().max(100).optional()}),p({results:f(p({sessionId:m(),gezelId:m(),projectId:m(),title:m(),snippet:m(),messageStart:d().int().positive(),lastActivityAt:m(),archived:_()})),engine:a([`fts`,`unavailable`])}),p({q:m().min(1).max(400),maxResults:d().int().positive().max(100).optional()}),p({results:f(p({path:m(),lineStart:d().int().positive(),lineEnd:d().int().positive().optional(),snippet:m(),score:d().optional(),markdownPath:m().optional(),source:a([`vector`,`fts`]).optional(),kind:m().optional()})),engine:a([`hybrid`,`semantic`,`fts`,`unavailable`])}),p({query:m().min(1),maxResults:d().int().positive().max(100).optional()}),p({results:f(p({path:m(),width:d().int().optional(),height:d().int().optional(),format:m().optional(),caption:m().optional(),score:d()})),engine:a([`fts`,`unavailable`]),truncated:_()}),p({path:m().min(1),maxResults:d().int().positive().max(100).optional()}),p({results:f(p({path:m(),score:d()})),engine:a([`vector`,`unavailable`]),truncated:_()}),p({path:m().optional()}),p({path:m(),imageCount:d().int().nonnegative(),formats:f(p({format:m(),count:d().int()})),dimensions:p({minWidth:d().int(),maxWidth:d().int(),minHeight:d().int(),maxHeight:d().int()}).nullable(),samples:f(m()),captioned:d().int().nonnegative()}),p({query:m().optional(),kind:m().optional(),maxResults:d().int().positive().max(200).optional()}),p({entities:f(p({id:d().int(),kind:m(),label:m(),canonical:m(),mentions:d().int().nonnegative()})),engine:a([`index`,`unavailable`])}),p({entity:m().min(1),maxResults:d().int().positive().max(500).optional()});var wc=p({x:d(),y:d(),w:d(),h:d()});p({found:_(),entity:p({kind:m(),label:m()}).optional(),mentions:f(p({path:m(),line:d().int().optional(),date:m().optional(),region:wc.optional(),confidence:d().optional()}))});var Tc=p({path:m(),region:wc.optional()});p({people:f(p({entityId:d().int(),label:m(),clusterId:m(),count:d().int(),exemplar:Tc.optional(),samples:f(Tc)})),available:_()}),p({label:m().min(1).max(120)}),p({projects:d().int(),disabled:_()}),p({leftPath:m().optional(),leftText:m().optional(),rightPath:m().optional(),rightText:m().optional(),contextLines:d().int().min(0).max(20).optional()}).refine(e=>(e.leftPath||e.leftText)&&(e.rightPath||e.rightText),{message:`Provide {leftPath|leftText} and {rightPath|rightText}.`}),p({diff:m(),identical:_()}),p({path:m().min(1),artifact:_().optional()}),p({path:m(),mimeType:m(),base64:m(),bytes:d().int().nonnegative()}),p({path:m().min(1),maxEntries:d().int().positive().max(5e3).optional()});var Ec=p({name:m(),size:d().int().nonnegative(),isDirectory:_()});p({format:a([`zip`,`tar`,`tar.gz`]),entries:f(Ec),truncated:_()}),p({path:m().min(1),outputPath:m().min(1)}),p({format:a([`zip`,`tar`,`tar.gz`]),extractedCount:d().int().nonnegative(),destination:m()}),p({subcommand:a([`status`,`log`,`diff`,`show`,`blame`,`branch`,`rev-parse`,`ls-files`]),args:f(m()).max(32).optional(),timeoutMs:d().int().positive().max(12e4).optional()}),p({code:d().int(),stdout:m(),stderr:m(),stdoutTruncated:_(),timedOut:_()}),p({deviceCode:m(),userCode:m(),verificationUri:m(),interval:d().int().positive(),expiresIn:d().int().positive()});var Dc=p({login:m(),name:m().optional(),avatarUrl:m().optional()});p({deviceCode:m()}),t(`status`,[p({status:u(`pending`)}),p({status:u(`slow_down`)}),p({status:u(`expired`)}),p({status:u(`denied`),error:m().optional()}),p({status:u(`success`),identity:Dc,scopes:f(m()).optional()}),p({status:u(`not_configured`),error:m()})]),n([Dc.extend({signedIn:u(!0)}),p({signedIn:u(!1)})]),p({repos:f(p({fullName:m(),url:m(),description:m().optional(),private:_().optional(),pushedAt:m().optional()}))}),p({url:m()}),p({owner:m(),repo:m(),canonicalUrl:m(),defaultBranch:m().optional(),description:m().optional(),topics:f(m()).optional(),language:m().optional(),readme:m(),readmeTruncated:_()}),p({name:m().min(1),repoUrl:m(),description:m().optional(),topics:f(m()).optional(),readme:m()}),p({about:m(),missionObjectives:m()}),p({path:m().min(1)}),p({name:m(),about:m().optional(),source:m().optional()});var Oc=p({name:m(),kind:a([`npm-script`,`workspace-script`,`vscode-launch`,`bin`]),source:m(),run:m(),description:m().optional()}),kc=p({version:d().int(),scannedAt:m(),root:m(),durationMs:d().int(),fileCount:d().int(),commandCount:d().int(),shapeCount:d().int().optional()}),Ac=p({name:m(),char:m().length(1).optional(),type:a([`boolean`,`option`]),description:m().optional(),required:_().optional(),default:m().optional(),options:f(m()).optional(),multiple:_().optional()}),jc=p({name:m(),description:m().optional(),required:_().optional(),default:m().optional(),options:f(m()).optional()}),Mc=p({source:u(`oclif`),package:m(),packageVersion:m().optional(),summary:m().optional(),description:m().optional(),subcommands:f(p({name:m(),fullName:m(),summary:m().optional()})).optional(),flags:f(Ac).optional(),args:f(jc).optional(),usage:m().optional(),examples:f(m()).optional()});p({shapes:l(m(),Mc)}),p({state:a([`fresh`,`stale`,`indexing`,`never`,`disabled`]),embeddings:bs.optional(),meta:kc.optional(),aiScanPending:_().optional(),aiDrive:a([`background`,`full`]).optional(),enrichment:p({eligible:d().int().nonnegative(),summarized:d().int().nonnegative(),embedded:d().int().nonnegative(),searchReady:d().int().nonnegative().optional(),pending:d().int().nonnegative(),skipped:d().int().nonnegative().optional(),skippedFiles:f(p({path:m(),attempts:d().int().nonnegative(),reason:m().optional()})).optional(),shadowsPending:d().int().nonnegative().optional(),embedOnlyPending:d().int().nonnegative().optional(),embedModel:m().optional(),vectorsAvailable:_().optional(),reviews:p({eligible:d().int().nonnegative(),reviewed:d().int().nonnegative(),stale:d().int().nonnegative(),pending:d().int().nonnegative()}).optional()}).optional()}),p({files:f(p({path:m(),size:d(),mtimeMs:d()})),total:d().int().nonnegative()}),p({maxFiles:d().int().positive().max(25).optional(),budgetMs:d().int().positive().max(6e4).optional(),areas:_().optional(),reviews:_().optional(),intensity:a([`background`,`full`]).optional()}),p({paused:_(),files:d().int().nonnegative(),summarized:d().int().nonnegative(),embedded:d().int().nonnegative(),pending:d().int().nonnegative(),areasUpdated:d().int().nonnegative(),architectureUpdated:_(),reviewed:d().int().nonnegative().optional(),reviewPending:d().int().nonnegative().optional(),drained:_(),started:_().optional(),alreadyRunning:_().optional(),mode:a([`background`,`full`,`embed-only`]).optional(),hint:m().optional()});var Nc=p({ref:m(),title:m(),projectName:m(),stepName:m().optional(),quotaHeld:_().optional()});p({background:f(p({id:m(),title:m(),detail:m(),projectName:m().optional()})),active:f(Nc),upcoming:f(Nc)});var Pc=p({ref:m(),title:m(),projectId:m(),projectName:m(),completedAt:m().optional()}),Fc=p({projectId:m(),projectName:m(),path:m(),title:m(),writtenAt:m().optional(),actionCounts:p({total:d(),suggested:d(),fired:d(),applied:d(),dismissed:d()})});p({windowKey:m(),windowStart:m(),windowEnd:m(),tasksCompleted:f(Pc),reports:f(Fc),diffpacks:f(ds)});var Ic=p({provider:L,bucket:m(),remainingPercent:d(),floorPercent:d(),rule:a([`overall`,`per-day`]),resetDate:m().optional()}),Lc=p({start:m(),end:m(),open:_()});p({active:_(),source:a([`scheduled`,`manual`]).nullable(),quotaHold:p({heldTaskCount:d(),reasons:f(Ic)}).optional(),window:Lc.nullable().optional(),startedAt:m().nullable().optional()}),p({since:m(),until:m(),live:_(),tasksCompleted:d(),stepsCompleted:d(),filesIndexed:d(),filesReviewed:d(),mediaDescribed:d(),filesWritten:d(),documentsCreated:d(),imagesRendered:d(),questionsRaised:d(),toolCalls:d()}),p({meta:kc,commands:f(Oc),shapes:l(m(),Mc).optional()}),p({skills:f(p({name:m(),source:m(),origin:a([`claude`,`gstack`,`agents`,`other`]),description:m().optional(),triggers:f(m()).optional(),version:m().optional(),body:m(),generated:_().optional(),hasShellScripts:_(),files:f(p({relPath:m(),kind:a([`section`,`reference`,`template`,`script`,`bin`,`other`]),bytes:d().int().nonnegative()})).optional()}))}),p({instructions:f(p({source:m(),origin:a([`agents`,`claude`,`copilot`]),content:m(),hash:m(),mtimeMs:d()}))}),p({sessionId:m(),providerName:m(),model:m().optional(),modelTier:a([`tiny`,`small`,`medium`,`large`,`cloud`]),parameterSize:m().optional(),leaksUntaggedReasoning:_(),reasoningEffort:m().optional(),numCtx:d().optional(),systemPrompt:m(),volatileContext:m().optional(),customToolsMd:_(),registeredTools:f(m()),registeredToolsSource:a([`live`,`persisted`,`unavailable`,`caller`]).optional(),externalConversation:p({appId:m(),appName:m(),externalConversationId:m(),workingDirectory:m().optional(),request:uo.optional()}).optional(),turnStatus:a([`idle`,`in-progress`,`queued`]),recentMessages:f(p({role:a([`user`,`assistant`,`system`,`tool`]),content:m(),reasoning:m().optional(),warnings:f(m()).optional(),synthetic:a([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),attemptedToolCalls:f(p({body:m(),reason:m().optional()})).optional(),toolCalls:f(p({name:m(),argsSummary:m().optional(),success:_(),errorMessage:m().optional()})).optional()})),diagnostics:p({sessionRecordPath:m(),logsDir:m(),engineLogGlob:m().optional()}).optional(),generatedAt:m()}),p({source:m().min(1),dest:m().min(1),gezelId:m().optional(),sessionId:m().optional()}),p({ok:u(!0),source:m(),dest:m(),bytes:d().int().nonnegative()}),p({url:m().url(),dest:m().optional(),branch:m().min(1).optional(),gezelId:m().optional(),sessionId:m().optional()}),p({ok:u(!0),path:m(),files:d().int().nonnegative(),bytes:d().int().nonnegative()}),p({url:m().url(),baseRef:m().min(1),headRef:m().min(1),dest:m().optional(),diffPath:m().min(1).optional(),gezelId:m().optional(),sessionId:m().optional()}),p({ok:u(!0),path:m(),diffPath:m(),baseSha:m(),headSha:m(),files:d().int().nonnegative(),bytes:d().int().nonnegative(),diffBytes:d().int().nonnegative(),filesChanged:d().int().nonnegative()}),p({path:m().min(1),find:m().min(1),replace:m(),occurrence:n([d().int().positive(),u(`all`)]).optional(),gezelId:m().optional(),sessionId:m().optional()}),p({path:m().min(1),diff:m().min(1),gezelId:m().optional(),sessionId:m().optional()}),p({path:m().min(1),marker:m().min(1),content:m(),where:a([`before`,`after`]).optional(),gezelId:m().optional(),sessionId:m().optional()}),p({path:m().min(1),startLine:d().int().positive(),endLine:d().int().positive(),content:m(),gezelId:m().optional(),sessionId:m().optional()}),p({ok:u(!0),path:m(),diff:m(),addedLines:d().int().nonnegative(),removedLines:d().int().nonnegative(),diffTruncated:_().optional()}),p({tools:f(p({name:m(),description:m(),parameters:l(m(),g())}))}),p({args:l(m(),g()).optional()}),p({text:m(),images:f(p({base64:m(),mimeType:m()}))});var Rc=a([`NW`,`N`,`NE`,`W`,`C`,`E`,`SW`,`S`,`SE`]),zc=p({path:m().min(1),region:Rc,cx:d().min(0).max(1),cy:d().min(0).max(1)}),Bc=p({path:m().min(1),region:Rc.optional(),rect:J.optional(),style:m().optional()}),Vc=p({k:a([`block`,`street`,`plate`,`plaza`]),id:m(),p:m().nullable().optional(),h:m().nullable().optional(),r:re([d(),d(),d(),d()]),w:d().optional(),a:m().nullable().optional(),d:m().nullable().optional()}),Hc=p({cx:d(),cy:d(),r:d().positive(),impRef:d().min(0)}),Uc=p({layoutVersion:d().int().positive(),anchors:f(zc).default([]),journal:f(Vc).default([]),downtown:Hc.optional()});p({schemaVersion:d().int().positive().default(1),about:m().default(`Gezel Village placement memory. Committing this file keeps the village stable across machines and index rebuilds. anchors/overrides are safe to hand-edit; journal is machine-maintained. Deliberately free of provenance timestamps so an unchanged rebuild produces no diff.`),overrides:f(Bc).default([]),domains:l(m(),Uc).default({})});var Wc=p({ok:_(),detail:m(),reached:_().optional()}),Gc=a([`probed`,`failed`,`deferred`,`blocked`]),Kc=a([`install`,`manual`]);p({schemaVersion:u(1),provider:m(),modelId:m(),status:Gc,admitted:_(),genTokensPerSec:d().nullable(),shortPromptGenTokensPerSec:d().nullable().optional(),genTokensPerSecSource:a([`engine`,`stream-estimate`]).optional(),representativeContext:p({targetPromptTokens:d().int().positive(),promptTokens:d().int().nonnegative().nullable(),cachedPromptTokens:d().int().nonnegative().nullable(),completionTokens:d().int().nonnegative().nullable(),durationMs:d().nonnegative().nullable(),ttftMs:d().nonnegative().nullable(),promptTokensPerSec:d().positive().nullable(),genTokensPerSec:d().positive().nullable()}).optional(),createdAt:m(),durationMs:d().int().nonnegative(),trigger:Kc,sha256:m().optional(),catalogVersion:m().optional(),contextWindow:d().int().optional(),host:p({totalRamBytes:d(),gpuVramBytes:d().nullable(),source:m()}),checks:p({spawn:Wc,toolRoundTrip:Wc,throughput:Wc,reasoningBudget:Wc,contextFit:Wc})}),p({scope:t(`kind`,[p({kind:u(`gezel`),gezelId:m()}),p({kind:u(`project`),projectId:m()}),p({kind:u(`shared`)}),p({kind:u(`system`)})]),text:m().min(1).max(2*1024*1024),sourceName:m().min(1).max(512).optional()});var qc=p({serverName:m().optional(),message:m()});p({ok:u(!0),imported:f(m()),warnings:f(qc).default([])});var Jc=a([`fire-craftbook`,`create-task`,`apply-edits`]),Yc={id:m().regex(/^[a-z0-9][a-z0-9_-]*$/i).optional(),title:m().min(1),reason:m().optional(),projectId:m().optional()},Xc=t(`kind`,[p({kind:u(`fire-craftbook`),...Yc,craftbookId:m().min(1),params:l(m(),m()).optional()}),p({kind:u(`create-task`),...Yc,prompt:m().min(1),role:m().optional()}),p({kind:u(`apply-edits`),...Yc,edits:f(p({path:m().min(1),diffArtifact:m().min(1)})).min(1)})]),Zc=a([`suggested`,`fired`,`applied`,`failed`,`dismissed`]),Qc=p({actionId:m(),reportPath:m(),kind:Jc,contentHash:m(),firstSeenAt:m(),state:Zc,taskRef:m().optional(),firedAt:m().optional(),settledAt:m().optional(),outcome:a([`complete`,`canceled`]).optional(),results:f(p({path:m(),ok:_(),error:m().optional()})).optional()}),$c=p({index:d().int(),message:m(),raw:m()});p({actions:f(p({action:Xc,id:m(),contentHash:m(),state:Zc,taskRef:m().optional(),firedAt:m().optional(),settledAt:m().optional(),outcome:a([`complete`,`canceled`]).optional(),results:f(p({path:m(),ok:_(),error:m().optional()})).optional(),contentChanged:_().optional()})),issues:f($c),stale:f(Qc)}),p({path:m().min(1),actionId:m().min(1),params:l(m(),m()).optional()}),p({record:Qc,taskRef:m().optional()}),p({path:m().min(1),actionId:m().min(1)});var el=t(`kind`,[p({kind:u(`gezel-template`),templateId:m(),gezelId:m().optional(),gezelName:m().optional(),role:m().optional()}),p({kind:u(`project-type`),typeId:m(),scheduleKey:m()})]),tl=a([`suggested`,`enabled`,`paused`,`dismissed`]);p({items:f(p({key:m(),source:el,craftbookId:m(),craftbookName:m().optional(),description:m().optional(),reason:m().optional(),runMode:a([`night-shift`,`scheduled`]),cron:m().optional(),overlap:ni.optional(),paramSchema:l(m(),g()).optional(),params:l(m(),m()).optional(),state:tl,taskRef:m().optional(),pendingQuestionId:m().optional(),orphaned:_().optional()}))}),p({key:m(),params:l(m(),m()).optional()}),p({key:m()}),p({key:m(),dismissed:_()});var nl=a([`workspace`,`artifacts`]),Y={__gezelPage:u(1)};t(`kind`,[p({...Y,kind:u(`hello`)}),p({...Y,kind:u(`invoke`),id:m().min(1).max(64),tool:m().regex(/^[a-z][a-z0-9_]*$/),input:l(m(),g()).optional()}),p({...Y,kind:u(`read`),id:m().min(1).max(64),op:a([`read`,`list`,`stat`]),source:nl,path:m().min(1),as:a([`text`,`json`,`bytes`]).optional(),maxBytes:d().int().positive().optional()}),p({...Y,kind:u(`watch`),id:m().min(1).max(64),source:nl,path:m().min(1)}),p({...Y,kind:u(`unwatch`),id:m().min(1).max(64)}),p({...Y,kind:u(`refresh`)})]);var rl=a([`not-allowed`,`invalid-input`,`script-error`,`timeout`,`unavailable`,`rate-limited`]);t(`kind`,[p({...Y,kind:u(`init`),api:u(1),theme:p({mode:a([`light`,`dark`])}),limits:p({maxInflight:d().int().positive(),maxReadBytes:d().int().positive()})}),p({...Y,kind:u(`result`),id:m(),ok:_(),output:g().optional(),error:m().optional(),errorCode:rl.optional(),runId:m().optional(),reaction:p({delivered:_(),gezelId:m().optional(),reason:m().optional()}).optional()}),p({...Y,kind:u(`read-result`),id:m(),ok:_(),error:m().optional(),errorCode:rl.optional(),content:m().optional(),encoding:a([`utf8`,`base64`]).optional(),entries:f(p({name:m(),kind:a([`file`,`dir`]),size:d().nonnegative(),mtime:d().nonnegative()})).optional(),etag:m().optional(),size:d().nonnegative().optional(),mtime:d().nonnegative().optional()}),p({...Y,kind:u(`change`),watchId:m(),path:m(),etag:m()}),p({...Y,kind:u(`theme`),theme:p({mode:a([`light`,`dark`])})})]);var il=p({apiBase:m(),dataBase:m(),chat:_()});p({api:u(1),projectId:m(),source:u(`type`),entry:m(),typeName:m(),params:l(m(),g()),tools:f(m()),serve:il.optional()});var al=m().min(1).describe(`CSS color — hex (#rgb, #rgba, #rrggbb, #rrggbbaa) or the keyword "transparent".`),ol={x:d().optional(),y:d().optional(),width:d().positive().optional(),height:d().positive().optional(),opacity:d().min(0).max(1).optional()},sl=t(`kind`,[p({kind:u(`svg`),svg:m().min(1).describe(`SVG markup. <script>/<foreignObject>/event handlers are stripped.`),rotate:d().optional().describe(`Degrees of rotation around the layer center.`),...ol}),p({kind:u(`html`),html:m().min(1).describe(`HTML fragment rendered inside a sandboxed iframe.`),...ol}),p({kind:u(`pixels`),rows:f(m()).min(1).describe("Pixel grid as a JSON array of strings; one row per string, one character per cell. Every character must appear as a key in `palette`."),palette:l(m(),al).describe('Map from single-character keys in `rows` to CSS colors. Mnemonic letters ("r"=red, "w"=white, "g"=green) are encouraged. Use "transparent" for empty cells.'),scale:d().int().positive().optional().describe(`Pixel size in output px. Defaults to a value that fits the canvas.`),...ol}),p({kind:u(`image`),artifactPath:m().min(1).describe(`Path to a previously-written artifact, relative to the project artifacts/ root.`),...ol}),p({kind:u(`text`),text:m().min(1),x:d(),y:d(),font:m().optional(),size:d().positive().optional(),color:al.optional(),weight:d().int().optional(),opacity:d().min(0).max(1).optional()})]);p({projectId:m().optional().describe(`Project to save the artifact under. Defaults to "default".`),width:d().int().positive().max(4096),height:d().int().positive().max(4096),layers:f(sl).min(1).max(64),background:al.optional().describe(`Canvas background color. Defaults to transparent.`),filename:m().optional().describe(`Artifact filename (without extension) saved under artifacts/renders/. Defaults to a timestamped name.`),format:a([`png`,`jpeg`]).optional().describe(`Output format. Defaults to png.`)}),p({path:m().describe(`Project-relative path, e.g. "renders/sprite-1234.png".`),url:m().describe(`HTTP URL to the saved artifact, authed like every other artifact route.`),width:d().int().positive(),height:d().int().positive(),bytes:d().int().nonnegative(),mimeType:m(),base64:m().describe(`Base64-encoded image data, ready to feed into a vision input.`),engine:a([`playwright`,`resvg`]).describe(`Which render engine produced the image.`)});var cl=n([p({data:m().min(1),mimeType:m().default(`image/png`)}),p({artifactPath:m().min(1)})]);p({prompt:m().min(1),negativePrompt:m().optional(),model:m().optional(),width:d().int().positive().optional(),height:d().int().positive().optional(),steps:d().int().positive().optional(),seed:d().int().optional(),inputImages:f(cl).optional(),strength:d().min(0).max(1).optional(),projectId:m().optional(),gezelId:m().optional(),sessionId:m().optional(),inline:_().optional(),saveAs:m().optional()});var ll=p({model:m(),seed:d().int(),steps:d().int(),widthPx:d().int().positive(),heightPx:d().int().positive(),durationMs:d().int().nonnegative(),img2imgSkippedReason:m().optional()});p({artifactPath:m(),workspacePath:m().nullable(),meta:ll,b64Png:m().optional()}),p({models:f(p({id:m(),name:m(),approxSizeBytes:d().int().nonnegative(),installedAt:m(),kind:a([`local`,`cloud`]).optional(),supportsImg2Img:_().optional()})),defaultModel:m().optional()}),p({engine:p({status:a([`ok`,`unreachable`,`not-configured`]),baseUrl:m(),error:m().optional(),kind:a([`local`,`cloud`]).optional(),provider:m().optional()}),modelCount:d().int().nonnegative()}),p({pulls:f(p({id:m(),startedAt:m(),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative(),retrying:p({attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().int().nonnegative(),reason:m()}).optional(),finished:_(),error:m().optional()}))});var ul=t(`type`,[p({type:u(`progress`),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative().optional()}),p({type:u(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().int().nonnegative(),reason:m()}),p({type:u(`error`),error:m()}),p({type:u(`done`),id:m()})]),dl=n([p({data:m().min(1),mimeType:m().default(`image/png`)}),p({artifactPath:m().min(1)})]);p({prompt:m().min(1),negativePrompt:m().optional(),model:m().optional(),width:d().int().positive().optional(),height:d().int().positive().optional(),numFrames:d().int().positive().optional(),fps:d().int().positive().optional(),steps:d().int().positive().optional(),seed:d().int().optional(),inputImage:dl.optional(),projectId:m().optional(),gezelId:m().optional(),sessionId:m().optional(),inline:_().optional(),saveAs:m().optional()});var fl=p({model:m(),seed:d().int(),steps:d().int(),widthPx:d().int().positive(),heightPx:d().int().positive(),numFrames:d().int().positive(),fps:d().int().positive(),durationMs:d().int().nonnegative(),mimeType:m()});p({artifactPath:m(),workspacePath:m().nullable(),meta:fl,b64Poster:m().optional()}),p({models:f(p({id:m(),name:m(),approxSizeBytes:d().int().nonnegative(),installedAt:m(),kind:a([`local`,`cloud`]).optional(),readOnly:_().optional()})),defaultModel:m().optional()});var pl=a([`cuda`,`mps`,`cpu`]);p({engine:p({status:a([`ok`,`unreachable`,`not-configured`]),baseUrl:m(),error:m().optional(),kind:a([`local`,`cloud`]).optional(),provider:m().optional(),accelerator:pl.optional()}),modelCount:d().int().nonnegative()}),p({pulls:f(p({id:m(),startedAt:m(),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative(),file:m().optional(),fileIndex:d().int().nonnegative().optional(),fileCount:d().int().positive().optional(),retrying:p({attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().int().nonnegative(),reason:m()}).optional(),finished:_(),error:m().optional()}))});var ml=t(`type`,[p({type:u(`progress`),fileIndex:d().int().nonnegative(),fileCount:d().int().positive(),file:m(),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative(),bytesWrittenAll:d().int().nonnegative(),totalBytesAll:d().int().nonnegative()}),p({type:u(`retrying`),file:m(),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().int().nonnegative(),reason:m()}),p({type:u(`verifying`),file:m()}),p({type:u(`error`),error:m()}),p({type:u(`done`),id:m()})]);p({audio:n([p({data:m().min(1).describe(`Base64-encoded audio bytes.`),mimeType:m().default(`audio/wav`)}),p({artifactPath:m().min(1).describe("Project-relative artifact path under `audio/` or `audio/uploaded/`.")})]),model:m().optional(),language:m().optional(),prompt:m().trim().min(1).max(2e3).optional(),projectId:m().optional()});var hl=p({start:d(),end:d(),text:m()});p({text:m(),language:m().optional(),segments:f(hl).optional(),durationMs:d().int().nonnegative()}),p({text:m().min(1),voice:m().optional(),model:m().optional(),speed:d().min(.25).max(4).optional(),projectId:m().optional(),sessionId:m().optional(),gezelId:m().optional(),inline:_().optional()});var gl=p({voice:m(),model:m(),sampleRate:d().int().positive(),durationSeconds:d().nonnegative(),durationMs:d().int().nonnegative()}),_l=p({artifactPath:m(),meta:gl,b64Wav:m().optional()}),vl=p({phase:a([`loading`,`synthesizing`,`encoding`]),completedCharacters:d().int().nonnegative(),totalCharacters:d().int().positive(),completedChunks:d().int().nonnegative()}),yl=p({index:d().int().nonnegative(),b64Wav:m(),sampleRate:d().int().positive(),durationSeconds:d().positive()}),bl=t(`type`,[p({type:u(`progress`),progress:vl}),p({type:u(`chunk`),chunk:yl}),p({type:u(`done`),result:_l}),p({type:u(`error`),error:m()})]);p({models:f(p({id:m(),name:m(),approxSizeBytes:d().int().nonnegative(),installedAt:m()}))});var xl=p({id:m(),name:m(),description:m(),approxSizeBytes:d().int().nonnegative(),kind:a([`stt`,`tts`]),license:m().optional(),...U,...W});p({stt:f(xl),tts:f(xl)}),p({voices:f(p({id:m(),name:m(),language:m(),gender:a([`female`,`male`,`neutral`]).optional(),modelId:m()}))});var Sl=p({status:a([`ok`,`unreachable`,`not-configured`,`no-model`]),baseUrl:m().optional(),error:m().optional(),provider:m().optional(),modelCount:d().int().nonnegative()});p({stt:Sl,tts:Sl});var Cl=t(`type`,[p({type:u(`progress`),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative().optional()}),p({type:u(`error`),error:m()}),p({type:u(`done`),id:m()})]),wl=a([`conceptual`,`gezel-roles`,`craftbooks`,`project-types`,`technical`,`whats-new`]);a([`app`,`site`,`agent`]);var Tl=p({id:m().min(1),title:m().min(1),order:d()}),El=p({id:m().min(1),title:m().min(1),area:wl,order:d(),summary:m().optional(),ogHeadline:m().optional(),generated:_(),siteVisible:_().optional(),subcategory:Tl.optional()});p({areas:f(p({area:wl,title:m(),entries:f(El)}))});var Dl=p({path:m().min(1),gezelId:m().min(1),name:m(),roleLabel:m().optional(),variant:a([`full`,`headshot`,`icon`]),poppetje:ft}),Ol=p({blockId:m(),hash:m().regex(/^[a-f0-9]{64}$/),durationMs:d().int().nonnegative(),silent:_().optional()});p({articleId:m(),voice:m(),model:m(),segments:f(Ol)}),p({results:f(p({id:m().min(1),title:m().min(1),area:wl,summary:m().optional(),markdown:m(),figures:f(Dl).default([]),generated:_(),defaultDuration:d().positive().optional()}))});var kl=a([`redownloadable`,`user-content`,`ephemeral`,`uninstaller-owned`]),Al=a([`models`,`native-engines`,`engine-caches`,`toolsets`,`gilde-cache`,`derived-caches`,`service-bundle`,`runtimes`,`gezels`,`projects`,`documents`,`settings`,`secrets`,`folder-backups`,`git-clones`,`knowledge-user`,`knowledge-shared`]),jl=p({id:m(),label:m(),bytes:d(),external:_(),blockedReason:m().optional()}),Ml=p({id:Al,class:kl,label:m(),description:m(),bytes:d(),itemCount:d(),deletable:_(),inBackup:_(),external:f(p({path:m(),bytes:d()})),items:f(jl).optional()});p({home:m(),categories:f(Ml),redownloadableBytes:d(),userContentBytes:d(),measuredAt:m()}),p({categories:f(Al).min(1),itemIds:o(Al,f(m())).optional(),confirmUserContent:_().optional()});var Nl=a([`cleanup`,`backup`,`restore`]),Pl=a([`queued`,`running`,`done`,`error`,`cancelled`]),Fl=a([`quiesce`,`delete`,`scan`,`write`,`extract`,`publish`,`verify-recovery`]);p({id:m(),kind:Nl,status:Pl,phase:Fl.optional(),currentLabel:m().optional(),itemsDone:d(),totalItems:d(),bytesDone:d(),totalBytes:d(),startedAt:m(),endedAt:m().optional(),error:m().optional(),restartRequired:_(),cancelRequested:_(),skippedExternal:f(p({label:m(),path:m()}))});var Il=a([`gezel`,`project`,`document-root`,`settings-file`]);p({items:f(p({kind:Il,id:m(),label:m(),bytes:d(),fileCount:d(),external:_()})),totalBytes:d(),secretsExcluded:u(!0),warnings:f(m()),destFreeBytes:d().optional()}),p({outPath:m(),include:p({gezels:f(m()).optional(),projects:f(m()).optional(),documents:_().optional(),settings:_().optional()}).optional(),excludeWorkspaces:_().optional()}),p({schemaVersion:d(),kind:u(`gezel-backup`),createdAt:m(),gezelVersion:m(),platform:m(),externalFolders:p({documents:m().optional(),gezels:m().optional(),projects:m().optional()}).nullable(),items:f(p({kind:Il,id:m(),label:m(),entryPrefix:m(),bytes:d(),fileCount:d()})),secretsExcluded:u(!0)}),p({path:m()});var Ll=a([`none`,`exists`]),Rl=p({kind:Il,id:m(),label:m(),bytes:d(),fileCount:d(),conflict:Ll});p({restoreId:m(),createdAt:m(),gezelVersion:m(),archivePath:m(),items:f(Rl),secretsExcluded:u(!0),warnings:f(m())}),p({items:f(p({kind:Il,id:m(),action:a([`add`,`replace`])})),settings:_().optional()});var zl=e({GezelApiError:()=>Q,GezelClient:()=>cu,SsePayloadError:()=>Ul,SsePrematureEofError:()=>Hl,SseResponseError:()=>Wl,SseStreamStaleError:()=>Vl,consumeSseJson:()=>Kl,streamAllChatEvents:()=>Yl,streamChatEvents:()=>ql,streamCopilotLogin:()=>$l,streamMlxRuntimeStatus:()=>Ql,streamProjectChatEvents:()=>Jl,streamSystemToolsetStatus:()=>Zl,streamTerminalEvents:()=>Xl}),Bl=2*6e4,Vl=class extends Error{constructor(e){super(`SSE stream stale: no bytes from server in ${e}ms`),this.name=`SseStreamStaleError`}},Hl=class extends Error{constructor(e=`SSE operation`){super(`${e} ended before a terminal event was received`),this.name=`SsePrematureEofError`}},Ul=class extends Error{constructor(e){super(e),this.name=`SsePayloadError`}},Wl=class extends Error{constructor(e,t){super(`SSE stream failed: ${e} ${t}`.trim()),this.status=e,this.name=`SseResponseError`}status};async function*X(e,t,n,r={}){let i=await(e.fetch??fetch).bind(globalThis)(e.url,{method:e.method??`GET`,headers:{Accept:`text/event-stream`,...e.headers},signal:e.signal,body:e.body});if(!i.ok||!i.body)throw new Wl(i.ok?0:i.status,i.statusText);let a=i.body.getReader(),o=new TextDecoder,s=``,c=e.keepaliveTimeoutMs??0,l=!1,u=e=>{let n=e.split(/\r?\n/).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart());if(n.length===0)return null;let i=n.join(`
2
+ `);if(i.trim()===``)return null;let a;try{a=JSON.parse(i)}catch{if(r.strictPayloads)throw new Ul(`SSE event contained invalid JSON`);return console.warn(`[sse] skipping non-JSON payload:`,i.slice(0,200)),null}let o=t.safeParse(a);if(!o.success){let e=a&&typeof a==`object`&&`type`in a?String(a.type):`<no type>`;if(r.strictPayloads)throw new Ul(`SSE event ${e} failed schema validation: ${o.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `)}`);return console.error(`[sse] DROPPED event (type=${e}) \u2014 failed schema validation. This usually means a schema/version mismatch between packages; rebuild all of them. Issues:`,o.error.issues),null}return o.data};try{for(;;){let{value:e,done:t}=await Gl(a,c);if(t){if(s+=o.decode(),s.trim()!==``){let e=u(s);e&&(yield e,n?.(e)&&(l=!0))}if(r.requireTerminal&&!l)throw new Hl(r.label);return}s+=o.decode(e,{stream:!0});let i=/\r?\n\r?\n/.exec(s);for(;i;){let e=s.slice(0,i.index);s=s.slice(i.index+i[0].length);let t=u(e);if(t&&(yield t,n?.(t))){l=!0;return}i=/\r?\n\r?\n/.exec(s)}}}finally{await a.cancel().catch(()=>{}),a.releaseLock()}}async function Gl(e,t){if(t<=0)return e.read();let n;try{return await Promise.race([e.read(),new Promise((e,r)=>{n=setTimeout(()=>r(new Vl(t)),t)})])}finally{n&&clearTimeout(n)}}async function Kl(e){let{schema:t,onEvent:n,isTerminal:r,label:i,...a}=e;for await(let e of X({keepaliveTimeoutMs:Bl,...a},t,r,{strictPayloads:!0,requireTerminal:!0,label:i}))n(e)}function ql(e){return X(e,Vn,e=>e.type===`done`,{requireTerminal:!0,label:`Chat stream`})}function Jl(e){return X({keepaliveTimeoutMs:1e4,...e},Hn)}function Yl(e){return X({keepaliveTimeoutMs:1e4,...e},Hn)}function Xl(e){return X({keepaliveTimeoutMs:1e4,...e},so)}function Zl(e){return X(e,zs)}function Ql(e){return X(e,Bs)}function $l(e){return X({method:`POST`,...e},Vs,e=>e.kind===`exit`||e.kind===`error`,{requireTerminal:!0,label:`Copilot login stream`})}var eu=class extends Error{},Z={keepaliveTimeoutMs:40*6e4,staleMessage:`Download stopped: server has gone quiet.`},Q=class extends Error{constructor(e,t,n){super(e),this.status=t,this.details=n,this.name=`GezelApiError`}status;details};function tu(e){if(!(e instanceof Error))return String(e);let t=e.cause;return t instanceof Error&&t.message&&t.message!==e.message?`${e.message} (${t.message})`:t&&typeof t==`object`&&`code`in t?`${e.message} (${String(t.code)})`:e.message}async function $(e){let{staleMessage:t,...n}=e;try{await Kl(n)}catch(e){throw e instanceof Q?e:new Q(e instanceof Vl&&t?t:e instanceof Error?e.message:`SSE stream failed`,e instanceof Wl?e.status:0,{cause:e instanceof Error?e.name:`unknown`})}}var nu=p({file:m(),expected:m(),actual:m()}),ru=t(`type`,[p({type:u(`progress`),bytesWritten:d(),totalBytes:d()}),p({type:u(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:m()}),p({type:u(`verifying`)}),p({type:u(`extracting-metadata`)}),p({type:u(`companion`),kind:u(`image-recognition`),id:m(),name:m(),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative(),error:m().optional()}),p({type:u(`done`),id:m(),warning:m().optional()}),p({type:u(`error`),error:m(),mismatch:nu.optional()})]),iu=t(`type`,[p({type:u(`progress`),fileIndex:d().int().nonnegative(),fileCount:d().int().positive(),file:m(),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative(),bytesWrittenAll:d().nonnegative(),totalBytesAll:d().nonnegative()}),p({type:u(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:m(),file:m()}),p({type:u(`verifying`),file:m()}),p({type:u(`extracting-metadata`)}),p({type:u(`done`),id:m(),warning:m().optional()}),p({type:u(`error`),error:m(),mismatch:nu.optional()})]),au=t(`type`,[p({type:u(`spawned`),trialId:m().optional(),runDir:m().optional()}),p({type:u(`log`),line:m()}),p({type:u(`done`),result:p({trialId:m(),scenarioId:m(),modelId:m(),startedAt:m(),finishedAt:m(),durationMs:d(),success:_(),reason:m(),failureMode:m().optional(),runDir:m()})}),p({type:u(`error`),error:m()})]),ou=t(`type`,[p({type:u(`status`),phase:a([`queued`,`started`]),detail:m().optional()}),p({type:u(`thinking-delta`),text:m()}),p({type:u(`output-delta`),text:m()}),p({type:u(`done`),text:m()}),p({type:u(`error`),error:m()})]),su=t(`type`,[p({type:u(`progress`),chunk:p({status:m(),digest:m().optional(),total:d().optional(),completed:d().optional()})}),p({type:u(`error`),error:m()}),p({type:u(`done`)})]),cu=class{baseUrl;token;fetchImpl;constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,``),this.token=e.token;let t=e.fetch??fetch;this.fetchImpl=t.bind(globalThis)}async request(e,t,n,r,i){let a;try{a=await this.fetchImpl(`${this.baseUrl}${t}`,{method:e,headers:{Authorization:`Bearer ${this.token}`,...n===void 0?{}:{"Content-Type":`application/json`},...r??{}},body:n===void 0?void 0:JSON.stringify(n),...i?{signal:i}:{}})}catch(n){let r=tu(n);throw new Q(`Gezel API transport unavailable on ${e} ${t}: ${r}`,0,{kind:`transport`,cause:r})}if(!a.ok){let n;try{let e=await a.text();if(e.length===0)n=void 0;else try{n=JSON.parse(e)}catch{n=e}}catch(e){n=e instanceof Error?e.message:String(e)}throw new Q(`Gezel API error ${a.status} on ${e} ${t}`,a.status,n)}if(a.status!==204)return await a.json()}health(e){return this.request(`GET`,`/api/health`,void 0,void 0,e)}getUsage(){return this.request(`GET`,`/api/usage`)}getQueueStatus(){return this.request(`GET`,`/api/queues`)}cancelProviderQueueItem(e,t){return this.request(`DELETE`,`/api/queues/${encodeURIComponent(e)}/${t}`)}moveProviderQueueItem(e,t,n){return this.request(`POST`,`/api/queues/${encodeURIComponent(e)}/${t}/move`,{direction:n})}getCacheStats(){return this.request(`GET`,`/api/cache/stats`)}evictSessionCache(e){return this.request(`POST`,`/api/cache/evict`,{sessionId:e})}clearProviderCache(e){return this.request(`POST`,`/api/cache/clear`,{provider:e})}warmSessionCache(e){return this.request(`POST`,`/api/cache/warm`,{sessionId:e})}getConfig(){return this.request(`GET`,`/api/config`)}updateConfig(e){return this.request(`PUT`,`/api/config`,e)}getCodexSetupStatus(){return this.request(`GET`,`/api/codex-setup`)}configureCodex(e){return this.request(`PUT`,`/api/codex-setup`,e)}removeCodexSetup(){return this.request(`DELETE`,`/api/codex-setup`)}getOpenCodeSetupStatus(){return this.request(`GET`,`/api/opencode-setup`)}configureOpenCode(e){return this.request(`PUT`,`/api/opencode-setup`,e)}removeOpenCodeSetup(){return this.request(`DELETE`,`/api/opencode-setup`)}installOpenCodePlugin(e={}){return this.request(`PUT`,`/api/opencode-setup/plugin`,e)}removeOpenCodePlugin(){return this.request(`DELETE`,`/api/opencode-setup/plugin`)}getPiSetupStatus(){return this.request(`GET`,`/api/pi-setup`)}configurePi(e){return this.request(`PUT`,`/api/pi-setup`,e)}removePiSetup(){return this.request(`DELETE`,`/api/pi-setup`)}installPiExtension(e={}){return this.request(`PUT`,`/api/pi-setup/extension`,e)}removePiExtension(){return this.request(`DELETE`,`/api/pi-setup/extension`)}getVSCodeSetupStatus(){return this.request(`GET`,`/api/vscode-setup`)}configureVSCode(e){return this.request(`PUT`,`/api/vscode-setup`,e)}removeVSCodeSetup(){return this.request(`DELETE`,`/api/vscode-setup`)}getGildeUpdateStatus(){return this.request(`GET`,`/api/gilde-updates`)}checkGildeUpdates(){return this.request(`POST`,`/api/gilde-updates/check`)}getNightShiftStatus(){return this.request(`GET`,`/api/night-shift/status`)}setNightShiftManual(e){return this.request(`POST`,`/api/night-shift/manual`,{action:e})}getNightShiftTasks(){return this.request(`GET`,`/api/night-shift/tasks`)}getNightShiftReview(){return this.request(`GET`,`/api/night-shift/review`)}getNightShiftTally(){return this.request(`GET`,`/api/night-shift/tally`)}listSuggestedWork(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/suggested-work`)}enableSuggestedWork(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/suggested-work/enable`,t)}disableSuggestedWork(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/suggested-work/disable`,{key:t})}dismissSuggestedWork(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/suggested-work/dismiss`,{key:t,dismissed:n})}getReportActions(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/report-actions?path=${encodeURIComponent(t)}`)}fireReportAction(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/report-actions/fire`,t)}dismissReportAction(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/report-actions/dismiss`,t)}listDiffpacks(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/diffpacks`)}getDiffpack(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/diffpacks/${encodeURIComponent(t)}`)}applyDiffpack(e,t,n={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/diffpacks/${encodeURIComponent(t)}/apply`,n)}dismissDiffpack(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/diffpacks/${encodeURIComponent(t)}/dismiss`)}async exportDiffpack(e,t){let n=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/diffpacks/${encodeURIComponent(t)}/export`,r=await this.fetchImpl(n,{headers:{Authorization:`Bearer ${this.token}`}});if(!r.ok)throw Error(`diffpack export failed: ${r.status}`);return r.blob()}readDiffpackDraftFile(e,t,n){return this.request(`GET`,`${this.draftBase(e,t)}/read?path=${encodeURIComponent(n)}`)}statDiffpackDraftPath(e,t,n){return this.request(`GET`,`${this.draftBase(e,t)}/stat?path=${encodeURIComponent(n)}`)}writeDiffpackDraftFile(e,t,n){return this.request(`PUT`,`${this.draftBase(e,t)}/file`,n)}replaceInDiffpackDraftFile(e,t,n){return this.request(`POST`,`${this.draftBase(e,t)}/replace`,n)}replaceLinesInDiffpackDraftFile(e,t,n){return this.request(`POST`,`${this.draftBase(e,t)}/replace-lines`,n)}insertAtMarkerInDiffpackDraftFile(e,t,n){return this.request(`POST`,`${this.draftBase(e,t)}/insert-at-marker`,n)}deleteDiffpackDraftPath(e,t,n){return this.request(`DELETE`,`${this.draftBase(e,t)}/path?path=${encodeURIComponent(n)}`)}draftBase(e,t){return`/api/projects/${encodeURIComponent(e)}/diffpacks/${encodeURIComponent(t)}/draft`}getMeesterStatus(){return this.request(`GET`,`/api/meester-status`)}runMeesterStatus(){return this.request(`POST`,`/api/meester-status/run`)}getAmbientDashboard(){return this.request(`GET`,`/api/ambient-dashboard`)}ambientDashboardLatestUrl(){return`${this.baseUrl}/api/ambient-dashboard/latest.png`}runAmbientDashboard(){return this.request(`POST`,`/api/ambient-dashboard/run`)}setAmbientDashboardDisplayTarget(e){return this.request(`PUT`,`/api/ambient-dashboard/display-target`,e)}listKnowledgeCatalogs(){return this.request(`GET`,`/api/knowledge/catalogs`)}listAvailableKnowledgeCatalogs(){return this.request(`GET`,`/api/knowledge/available`)}knowledgeUpdates(){return this.request(`GET`,`/api/knowledge/updates`)}installKnowledgeCatalog(e){return this.request(`POST`,`/api/knowledge/install`,e)}async installKnowledgeCatalogFromCatalog(e,t,n,r){let i=new URLSearchParams;r?.version&&i.set(`version`,r.version),r?.placement&&i.set(`placement`,r.placement);let a=i.toString();await $({...Z,url:`${this.baseUrl}/api/knowledge/catalogs/${encodeURIComponent(e)}/install${a?`?${a}`:``}`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:n,fetch:this.fetchImpl,schema:ne,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Knowledge install stream for "${e}"`})}async subscribeKnowledgeInstall(e,t,n){await $({...Z,url:`${this.baseUrl}/api/knowledge/jobs/${encodeURIComponent(e)}/events`,headers:{Authorization:`Bearer ${this.token}`},signal:n,fetch:this.fetchImpl,schema:ne,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Knowledge install stream for job "${e}"`})}cancelKnowledgeCatalogInstall(e){return this.request(`DELETE`,`/api/knowledge/catalogs/${encodeURIComponent(e)}/install`)}listKnowledgeActiveInstalls(){return this.request(`GET`,`/api/knowledge/active-installs`)}listIncompleteKnowledgeDownloads(){return this.request(`GET`,`/api/knowledge/incomplete`)}deleteIncompleteKnowledgeDownload(e){return this.request(`DELETE`,`/api/knowledge/incomplete/${encodeURIComponent(e)}`)}getKnowledgeJob(e){return this.request(`GET`,`/api/knowledge/jobs/${encodeURIComponent(e)}`)}cancelKnowledgeJob(e){return this.request(`DELETE`,`/api/knowledge/jobs/${encodeURIComponent(e)}`)}updateKnowledgeCatalog(e,t){return this.request(`PATCH`,`/api/knowledge/catalogs/${encodeURIComponent(e)}`,t)}removeKnowledgeCatalog(e){return this.request(`DELETE`,`/api/knowledge/catalogs/${encodeURIComponent(e)}`)}searchKnowledge(e){return this.request(`POST`,`/api/knowledge/search`,e)}knowledgeCatalogTopics(e){return this.request(`GET`,`/api/knowledge/catalogs/${encodeURIComponent(e)}/topics`)}knowledgeCatalogDocuments(e,t){let n=new URLSearchParams;t?.topicId&&n.set(`topic`,t.topicId),t?.offset&&n.set(`offset`,String(t.offset)),t?.limit&&n.set(`limit`,String(t.limit));let r=n.toString();return this.request(`GET`,`/api/knowledge/catalogs/${encodeURIComponent(e)}/documents${r?`?${r}`:``}`)}readKnowledgeDocument(e,t){return this.request(`GET`,`/api/knowledge/catalogs/${encodeURIComponent(e)}/document?id=${encodeURIComponent(t)}`)}storageSummary(e){return this.request(`GET`,`/api/storage/summary${e?.refresh?`?refresh=1`:``}`)}startCleanup(e){return this.request(`POST`,`/api/storage/cleanup`,e)}getStorageJob(e){return this.request(`GET`,`/api/storage/cleanup/${encodeURIComponent(e)}`)}cancelStorageJob(e){return this.request(`POST`,`/api/storage/cleanup/${encodeURIComponent(e)}/cancel`)}planBackup(e){let t=new URLSearchParams;e?.destPath&&t.set(`dest`,e.destPath),e?.excludeWorkspaces&&t.set(`excludeWorkspaces`,`1`);let n=t.toString();return this.request(`GET`,`/api/storage/backup/plan${n?`?${n}`:``}`)}startBackup(e){return this.request(`POST`,`/api/storage/backup`,e)}scanRestore(e){return this.request(`POST`,`/api/storage/restore/scan`,e)}confirmRestore(e,t){return this.request(`POST`,`/api/storage/restore/${encodeURIComponent(e)}/confirm`,t)}cancelRestore(e){return this.request(`POST`,`/api/storage/restore/${encodeURIComponent(e)}/cancel`)}getFolders(){return this.request(`GET`,`/api/folders`)}planFolderMove(e){return this.request(`POST`,`/api/folders/plan`,e)}startFolderMove(e){return this.request(`POST`,`/api/folders/move`,e)}getFolderMoveStatus(e){return this.request(`GET`,`/api/folders/move/${encodeURIComponent(e)}`)}cancelFolderMove(e){return this.request(`POST`,`/api/folders/move/${encodeURIComponent(e)}/cancel`)}resetFolder(e){return this.request(`POST`,`/api/folders/reset`,{scope:e})}createNewMeester(e={}){return this.request(`POST`,`/api/config/meester`,e)}createNewKlerk(e={}){return this.request(`POST`,`/api/config/klerk`,e)}createNewBoekwachter(e={}){return this.request(`POST`,`/api/config/boekwachter`,e)}createNewKeurmeester(e={}){return this.request(`POST`,`/api/config/keurmeester`,e)}testProvider(e){return this.request(`GET`,`/api/models/test?provider=${encodeURIComponent(e)}`)}listProviderModels(e,t){let n=t?.refresh?`&refresh=1`:``;return this.request(`GET`,`/api/models?provider=${encodeURIComponent(e)}${n}`)}listChannels(){return this.request(`GET`,`/api/channels`)}sendChannelMessage(e){return this.request(`POST`,`/api/channels/send`,e)}testChannel(e){return this.request(`POST`,`/api/channels/${encodeURIComponent(e)}/test`)}listOAuthClients(){return this.request(`GET`,`/api/oauth-clients`)}putOAuthClient(e,t){return this.request(`PUT`,`/api/oauth-clients/${encodeURIComponent(e)}`,t)}deleteOAuthClient(e){return this.request(`DELETE`,`/api/oauth-clients/${encodeURIComponent(e)}`)}createProjectPreviewUrl(e,t){return this.createPreviewUrl(`artifacts`,e,t)}createProjectWorkspacePreviewUrl(e,t){return this.createPreviewUrl(`workspace`,e,t)}createProjectTypePreviewUrl(e,t){return this.createPreviewUrl(`type`,e,t)}async createPreviewUrl(e,t,n){let r=await this.request(`POST`,`/api/projects/${encodeURIComponent(t)}/preview-capability`,{source:e,path:n});return{...r,url:new URL(r.url,this.baseUrl).toString()}}checkProjectPage(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/page-check`,{path:t})}reportProjectPreviewLog(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/preview-log`,{entries:t})}async uploadProjectAttachment(e,t,n,r){let i=r?`?filename=${encodeURIComponent(r)}`:``,a=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/attachments${i}`,o=t instanceof Blob||t instanceof Uint8Array?t:new Uint8Array(t),s=await this.fetchImpl(a,{method:`POST`,headers:{"content-type":n,Authorization:`Bearer ${this.token}`},body:o});if(!s.ok){let e=await s.text().catch(()=>``);throw Error(`upload failed (${s.status}): ${e}`)}return s.json()}listProjectAttachments(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/attachments`)}deleteProjectAttachment(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/attachments/${encodeURIComponent(t)}`)}async fetchProjectAttachment(e,t){let n=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/attachments/${encodeURIComponent(t)}`,r=await this.fetchImpl(n,{headers:{Authorization:`Bearer ${this.token}`}});if(!r.ok)throw Error(`attachment fetch failed: ${r.status}`);return r.blob()}async uploadSessionImage(e,t,n,r){let i=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/images`,a=n instanceof Blob||n instanceof Uint8Array?n:new Uint8Array(n),o=await this.fetchImpl(i,{method:`POST`,headers:{"content-type":r,Authorization:`Bearer ${this.token}`},body:a});if(!o.ok){let e=await o.text().catch(()=>``);throw Error(`upload failed (${o.status}): ${e}`)}return o.json()}listSessionImages(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/images`)}deleteSessionImage(e,t,n){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/images/${encodeURIComponent(n)}`)}async fetchProjectArtifactBlob(e,t){let n=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/artifacts/read?path=${encodeURIComponent(t)}&raw=1`,r=await this.fetchImpl(n,{headers:{Authorization:`Bearer ${this.token}`}});if(!r.ok)throw new Q(`artifact fetch failed: ${r.status}`,r.status);return r.blob()}async fetchProjectWorkspaceBlob(e,t){let n=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/workspace/read?path=${encodeURIComponent(t)}&raw=1`,r=await this.fetchImpl(n,{headers:{Authorization:`Bearer ${this.token}`}});if(!r.ok)throw new Q(`workspace fetch failed: ${r.status}`,r.status);return r.blob()}async fetchSessionImage(e,t,n){let r=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/images/${encodeURIComponent(n)}`,i=await this.fetchImpl(r,{headers:{Authorization:`Bearer ${this.token}`}});if(!i.ok)throw Error(`image fetch failed: ${i.status}`);return i.blob()}getCopilotUser(){return this.request(`GET`,`/api/system/copilot-user`)}startGitHubLogin(){return this.request(`POST`,`/api/system/github-login/start`,{})}pollGitHubLogin(e){return this.request(`POST`,`/api/system/github-login/poll`,{deviceCode:e})}gitHubLogout(){return this.request(`POST`,`/api/system/github-logout`,{})}getGitHubIdentity(){return this.request(`GET`,`/api/system/github-identity`)}listGitHubRepos(){return this.request(`GET`,`/api/system/github-repos`)}previewGitHubRepo(e,t){return this.request(`POST`,`/api/system/github-repo-preview`,{url:e},void 0,t)}previewProjectAbout(e,t){return this.request(`POST`,`/api/projects/preview-about`,e,void 0,t)}previewFolder(e){return this.request(`POST`,`/api/projects/preview-folder`,{path:e})}listCatalogItems(e){return this.request(`GET`,`/api/catalog/${e}`)}listProjectCraftbooks(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/craftbooks`)}getCatalogItem(e,t,n){let r=new URLSearchParams;n?.source&&r.set(`source`,n.source),n?.version&&r.set(`version`,n.version);let i=r.toString()?`?${r.toString()}`:``;return this.request(`GET`,`/api/catalog/${e}/${encodeURIComponent(t)}${i}`)}listCatalogItemVersions(e,t,n){let r=n?`?source=${encodeURIComponent(n)}`:``;return this.request(`GET`,`/api/catalog/${e}/${encodeURIComponent(t)}/versions${r}`)}async fetchCatalogFile(e){let t=await this.fetchImpl(`${this.baseUrl}${e}`,{headers:{Authorization:`Bearer ${this.token}`}});if(!t.ok)throw Error(`catalog file fetch failed: ${t.status}`);return t.blob()}createGezelFromTemplate(e,t){return this.request(`POST`,`/api/catalog/gezel-template/${encodeURIComponent(e)}/install`,t)}installToolset(e,t){return this.request(`POST`,`/api/catalog/toolset/${encodeURIComponent(e)}/install`,t)}importCustomMcpConfig(e){return this.request(`POST`,`/api/catalog/custom-toolsets/import`,e)}getToolsetConfig(e){return this.request(`GET`,`/api/toolset/${encodeURIComponent(e)}/config`)}updateToolsetConfig(e,t){return this.request(`PUT`,`/api/toolset/${encodeURIComponent(e)}/config`,t)}uninstallToolset(e,t){return this.request(`DELETE`,`/api/catalog/toolset/${encodeURIComponent(e)}/install?${lu(t)}`)}listInstalledToolsets(e){return this.request(`GET`,`/api/catalog/installed-toolsets?${lu(e)}`)}ollamaStatus(){return this.request(`GET`,`/api/ollama/status`)}ollamaProbe(){return this.request(`GET`,`/api/ollama/probe`)}ollamaDetect(){return this.request(`GET`,`/api/ollama/detect`)}ollamaStart(){return this.request(`POST`,`/api/ollama/start`)}listPendingOllamaPulls(){return this.request(`GET`,`/api/ollama/pending-pulls`)}clearPendingOllamaPull(e){return this.request(`DELETE`,`/api/ollama/pending-pulls/${encodeURIComponent(e)}`)}getMemoryProfile(){return this.request(`GET`,`/api/system/memory`)}getMachineMemoryUsage(){return this.request(`GET`,`/api/system/memory/usage`)}checkModelDownloadSpace(e){return this.request(`POST`,`/api/system/model-download-preflight`,e)}getSystemDiagnostics(e){return this.request(`GET`,`/api/system/diagnostics`,void 0,void 0,e)}getSystemHomeInfo(e){return this.request(`GET`,`/api/system/home`,void 0,void 0,e)}deleteOllamaModel(e){return this.request(`DELETE`,`/api/ollama/models/${encodeURIComponent(e)}`)}listLlamaCppModels(){return this.request(`GET`,`/api/llama-cpp/models`)}listIncompleteLlamaCppModels(){return this.request(`GET`,`/api/llama-cpp/incomplete`)}async exportModelBundle(e,t,n){let r=`${this.baseUrl}/api/model-bundles/${encodeURIComponent(e)}/${encodeURIComponent(t)}/export`,i=await this.fetchImpl(r,{headers:{Authorization:`Bearer ${this.token}`},signal:n});if(!i.ok){let e=await i.text().catch(()=>``);throw Error(`model export failed (${i.status}): ${e}`)}return i}async scanModelBundle(e,t={}){let n=e instanceof Blob||e instanceof ReadableStream||e instanceof Uint8Array?e:new Uint8Array(e),r=n instanceof ReadableStream,i=t.scanId??globalThis.crypto.randomUUID(),a=!1;t.onProgress?.({phase:`receiving`,bytesCompleted:0,...t.totalBytes===void 0?{}:{bytesTotal:t.totalBytes}});let o=this.fetchImpl(`${this.baseUrl}/api/model-bundles/imports/scan`,{method:`POST`,headers:{Authorization:`Bearer ${this.token}`,"Content-Type":`application/vnd.gezel.model+zip`,Prefer:`respond-async`,"X-Gezel-Import-Id":i,...t.totalBytes===void 0?{}:{"X-Gezel-Upload-Bytes":String(t.totalBytes)}},body:n,signal:t.signal,...r?{duplex:`half`}:{}}),s=this.pollModelBundleImportProgress(i,()=>a,t.onProgress,t.signal);s.catch(()=>{});try{let e=await o;if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.error??`model bundle scan failed (${e.status})`)}let t=await e.json();return e.status===201&&t.manifest?t:await s}finally{a=!0}}async pollModelBundleImportProgress(e,t,n,r){let i=0;for(;!t()&&!r?.aborted;){try{let t=await this.fetchImpl(`${this.baseUrl}/api/model-bundles/imports/${encodeURIComponent(e)}/progress`,{headers:{Authorization:`Bearer ${this.token}`},signal:r});if(t.ok){let e=await t.json();if(i=0,e.status===`complete`)return e.review;if(e.status===`error`)throw new eu(e.error);n?.(e.progress)}else i+=1,await t.body?.cancel().catch(()=>{})}catch(e){if(e instanceof eu||r?.aborted)throw e;if(i+=1,i>=20)throw Error(`Lost contact with the model bundle scan: ${e instanceof Error?e.message:String(e)}`)}if(i>=20)throw Error(`The model bundle scan disappeared from the service.`);!t()&&!r?.aborted&&await new Promise(e=>setTimeout(e,150))}throw r?.throwIfAborted(),Error(`Model bundle progress ended before the security scan completed.`)}confirmModelBundleImport(e,t=!1){return this.request(`POST`,`/api/model-bundles/imports/confirm`,{importId:e,replace:t})}cancelModelBundleImport(e){return this.request(`DELETE`,`/api/model-bundles/imports/${encodeURIComponent(e)}`)}listSharedModelMigrationCandidates(e){let t=e?`?engine=${encodeURIComponent(e)}`:``;return this.request(`GET`,`/api/model-migrations/candidates${t}`)}moveModelToShared(e){return this.request(`POST`,`/api/model-migrations/move`,e)}listModelFitness(){return this.request(`GET`,`/api/model-fitness`)}runModelFitnessProbe(e,t){return this.request(`POST`,`/api/model-fitness/${encodeURIComponent(e)}/${encodeURIComponent(t)}/probe`)}listDs4Models(){return this.request(`GET`,`/api/ds4/models`)}listDs4ContextPlans(){return this.request(`GET`,`/api/ds4/context-plans`)}listIncompleteDs4Models(){return this.request(`GET`,`/api/ds4/incomplete`)}listDs4ActiveInstalls(){return this.request(`GET`,`/api/ds4/active-installs`)}deleteDs4Model(e){return this.request(`DELETE`,`/api/ds4/models/${encodeURIComponent(e)}`)}getDs4Log(e){let t=typeof e==`number`?`?bytes=${e}`:``;return this.request(`GET`,`/api/ds4/log${t}`)}getLlamaCppLog(e){let t=typeof e==`number`?`?bytes=${e}`:``;return this.request(`GET`,`/api/llama-cpp/log${t}`)}async installLlamaCppModel(e,t,n,r){return this.installGgufSse(`llama-cpp`,e,t,n,r)}async installDs4Model(e,t,n,r){return this.installGgufSse(`ds4`,e,t,n,r)}async installGgufSse(e,t,n,r,i){let a=[...i?.skipSha?[`skipSha=1`]:[],...i?.skipCompanion?[`skipCompanion=1`]:[]].join(`&`),o=a?`?${a}`:``,s=`${this.baseUrl}/api/${e}/models/${encodeURIComponent(t)}/install${o}`;await $({...Z,url:s,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:r,fetch:this.fetchImpl,schema:ru,onEvent:n,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Install stream for "${t}"`})}deleteLlamaCppModel(e){return this.request(`DELETE`,`/api/llama-cpp/models/${encodeURIComponent(e)}`)}cancelLlamaCppModelInstall(e){return this.request(`DELETE`,`/api/llama-cpp/models/${encodeURIComponent(e)}/install`)}cancelDs4ModelInstall(e){return this.request(`DELETE`,`/api/ds4/models/${encodeURIComponent(e)}/install`)}listEvalScenarios(){return this.request(`GET`,`/api/eval/scenarios`)}getEvalAvailability(){return this.request(`GET`,`/api/eval/availability`)}listEvalResults(e){let t=new URLSearchParams;e?.scenarioId&&t.set(`scenario`,e.scenarioId),e?.limit!=null&&t.set(`limit`,String(e.limit));let n=t.toString()?`/api/eval/results?${t.toString()}`:`/api/eval/results`;return this.request(`GET`,n)}async runEval(e,t,n){await $({url:`${this.baseUrl}/api/eval/run`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`,"Content-Type":`application/json`},body:JSON.stringify(e),signal:n,fetch:this.fetchImpl,schema:au,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Eval stream`})}listLlamaCppActiveInstalls(){return this.request(`GET`,`/api/llama-cpp/active-installs`)}listMlxModels(){return this.request(`GET`,`/api/mlx/models`)}listIncompleteMlxModels(){return this.request(`GET`,`/api/mlx/incomplete`)}async installMlxModel(e,t,n,r){let i=r?.skipSha?`?skipSha=1`:``,a=`${this.baseUrl}/api/mlx/models/${encodeURIComponent(e)}/install${i}`;await $({...Z,url:a,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:n,fetch:this.fetchImpl,schema:iu,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Install stream for "${e}"`})}deleteMlxModel(e){return this.request(`DELETE`,`/api/mlx/models/${encodeURIComponent(e)}`)}cancelMlxModelInstall(e){return this.request(`DELETE`,`/api/mlx/models/${encodeURIComponent(e)}/install`)}listMlxActiveInstalls(){return this.request(`GET`,`/api/mlx/active-installs`)}getMlxRuntime(){return this.request(`GET`,`/api/mlx/runtime`)}resetMlxRuntime(){return this.request(`POST`,`/api/mlx/runtime/reset`)}getEngineStatus(){return this.request(`GET`,`/api/engines/status`)}getEngineRetention(){return this.request(`GET`,`/api/engines/retention`)}updateEngineRetention(e){return this.request(`PUT`,`/api/engines/retention`,{idleTimeoutMs:e})}updateEngineMemoryBudget(e){return this.request(`PUT`,`/api/engines/memory-budget`,{localEngineMemoryGb:e})}updateEngineRamSpillover(e){return this.request(`PUT`,`/api/engines/ram-spillover`,{allowRamSpillover:e})}unloadIdleEngine(e){return this.request(`POST`,`/api/engines/unload`,e)}getLlamaCppContextSizing(){return this.request(`GET`,`/api/engines/llama-cpp/context-sizing`)}updateLlamaCppContextSizing(e){return this.request(`PUT`,`/api/engines/llama-cpp/context-sizing`,{policy:e})}getModelContextOverrides(e){return this.request(`GET`,`/api/engines/${e}/model-context`)}updateModelContextOverride(e,t,n){return this.request(`PUT`,`/api/engines/${e}/model-context/${encodeURIComponent(t)}`,{contextTokens:n})}getNativeEngineStatus(){return this.request(`GET`,`/api/engines/binaries/status`)}async ensureNativeEngine(e,t,n,r){let i=n?`?variant=${encodeURIComponent(n)}`:``;await $({...Z,url:`${this.baseUrl}/api/engines/binaries/${encodeURIComponent(e)}/ensure${i}`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:r,fetch:this.fetchImpl,schema:ps,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Native engine install stream for "${e}"`})}reconcileEnginePool(e){return this.request(`POST`,`/api/engines/reconcile`,e)}generateImage(e){return this.request(`POST`,`/api/image-gen/generate`,e)}listInstalledImageModels(){return this.request(`GET`,`/api/image-gen/models`)}getImageEngineStatus(){return this.request(`GET`,`/api/image-gen/engine-status`)}deleteImageModel(e){return this.request(`DELETE`,`/api/image-gen/models/${encodeURIComponent(e)}`)}async pullImageModel(e,t,n){return this.consumeImagePullSse(`${this.baseUrl}/api/image-gen/models/${encodeURIComponent(e)}/pull`,`POST`,t,n)}listActiveImagePulls(){return this.request(`GET`,`/api/image-gen/pulls`)}subscribeImagePull(e,t,n){return this.consumeImagePullSse(`${this.baseUrl}/api/image-gen/pulls/${encodeURIComponent(e)}/events`,`GET`,t,n)}cancelImagePull(e){return this.request(`DELETE`,`/api/image-gen/pulls/${encodeURIComponent(e)}`)}async consumeImagePullSse(e,t,n,r){await $({...Z,url:e,method:t,headers:{Authorization:`Bearer ${this.token}`},signal:r,fetch:this.fetchImpl,schema:ul,onEvent:n,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Image model pull stream`})}generateVideo(e){return this.request(`POST`,`/api/video-gen/generate`,e)}listInstalledVideoModels(){return this.request(`GET`,`/api/video-gen/models`)}getVideoEngineStatus(){return this.request(`GET`,`/api/video-gen/engine-status`)}deleteVideoModel(e){return this.request(`DELETE`,`/api/video-gen/models/${encodeURIComponent(e)}`)}async pullVideoModel(e,t,n){return this.consumeVideoPullSse(`${this.baseUrl}/api/video-gen/models/${encodeURIComponent(e)}/pull`,`POST`,t,n)}listActiveVideoPulls(){return this.request(`GET`,`/api/video-gen/pulls`)}subscribeVideoPull(e,t,n){return this.consumeVideoPullSse(`${this.baseUrl}/api/video-gen/pulls/${encodeURIComponent(e)}/events`,`GET`,t,n)}cancelVideoPull(e){return this.request(`DELETE`,`/api/video-gen/pulls/${encodeURIComponent(e)}`)}async consumeVideoPullSse(e,t,n,r){await $({...Z,url:e,method:t,headers:{Authorization:`Bearer ${this.token}`},signal:r,fetch:this.fetchImpl,schema:ml,onEvent:n,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Video model pull stream`})}transcribeAudio(e){let{signal:t,...n}=e;return this.request(`POST`,`/api/audio/transcribe`,n,void 0,t)}synthesizeSpeech(e){let{signal:t,...n}=e;return this.request(`POST`,`/api/audio/synthesize`,n,void 0,t)}async synthesizeSpeechWithProgress(e,t,n){let r,i,a=Promise.resolve();if(await $({url:`${this.baseUrl}/api/audio/synthesize-stream`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`,"Content-Type":`application/json`},body:JSON.stringify(e),signal:n,fetch:this.fetchImpl,schema:bl,onEvent:e=>{e.type===`progress`&&t.onProgress(e.progress),e.type===`chunk`&&t.onChunk&&(a=a.then(()=>t.onChunk?.(e.chunk))),e.type===`done`&&(r=e.result),e.type===`error`&&(i=e.error)},isTerminal:e=>e.type===`done`||e.type===`error`,label:`Speech synthesis stream`,keepaliveTimeoutMs:10*6e4}),await a,i)throw new Q(i,500);if(!r)throw new Q(`Speech synthesis ended without audio.`,500);return r}getAudioEngineStatus(){return this.request(`GET`,`/api/audio/engine-status`)}listAudioCatalog(){return this.request(`GET`,`/api/audio/catalog`)}listInstalledSttModels(){return this.request(`GET`,`/api/audio/stt/models`)}listInstalledTtsModels(){return this.request(`GET`,`/api/audio/tts/models`)}deleteSttModel(e){return this.request(`DELETE`,`/api/audio/stt/models/${encodeURIComponent(e)}`)}deleteTtsModel(e){return this.request(`DELETE`,`/api/audio/tts/models/${encodeURIComponent(e)}`)}listAudioVoices(){return this.request(`GET`,`/api/audio/voices`)}async pullAudioModel(e,t,n,r){await $({...Z,url:`${this.baseUrl}/api/audio/${e}/models/${encodeURIComponent(t)}/pull`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:r,fetch:this.fetchImpl,schema:Cl,onEvent:n,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Audio model pull stream`})}getRecognitionHealth(){return this.request(`GET`,`/api/recognition/health`)}listRecognitionCatalog(){return this.request(`GET`,`/api/recognition/catalog`)}listInstalledRecognitionModels(){return this.request(`GET`,`/api/recognition/models`)}deleteRecognitionModel(e){return this.request(`DELETE`,`/api/recognition/models/${encodeURIComponent(e)}`)}clearRecognitionCache(){return this.request(`POST`,`/api/recognition/cache/clear`)}describeImage(e,t){let n=t?.projectId?`?project=${encodeURIComponent(t.projectId)}`:``;return this.request(`POST`,`/api/recognition/describe${n}`,e)}readImageMetadata(e,t){let n=t?.projectId?`?project=${encodeURIComponent(t.projectId)}`:``;return this.request(`POST`,`/api/recognition/metadata${n}`,e)}async pullRecognitionModel(e,t,n){await $({...Z,url:`${this.baseUrl}/api/recognition/models/${encodeURIComponent(e)}/pull`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:n,fetch:this.fetchImpl,schema:yn,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Recognition model pull stream`})}async pullOllamaModel(e,t,n){await $({...Z,url:`${this.baseUrl}/api/ollama/pull`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`,"Content-Type":`application/json`},body:JSON.stringify({name:e}),signal:n,fetch:this.fetchImpl,schema:su,onEvent:t,isTerminal:e=>e.type===`done`,label:`Ollama pull stream`})}listGezels(){return this.request(`GET`,`/api/gezels`)}createGezel(e){return this.request(`POST`,`/api/gezels`,e)}resetGezelTemplates(){return this.request(`POST`,`/api/gezels/reset-templates`)}getGezel(e){return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}`)}deleteGezel(e){return this.request(`DELETE`,`/api/gezels/${encodeURIComponent(e)}`)}renameGezel(e,t){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/rename`,t)}updateGezelSettings(e,t){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/settings`,t)}updateGezelMarkdown(e,t){return this.request(`PUT`,`/api/gezels/${encodeURIComponent(e)}/md`,t)}getGezelGrowth(e){return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}/growth`)}refreshGezelGrowth(e){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/growth/refresh`)}acceptGrowthProposal(e,t){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/growth/accept`,{proposalId:t})}declineGrowthLevelUp(e,t){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/growth/decline`,t?{proposalId:t}:{})}retireGrowthTrait(e,t){return this.request(`DELETE`,`/api/gezels/${encodeURIComponent(e)}/growth/traits/${encodeURIComponent(t)}`)}updateGezelAbout(e,t){return this.request(`PUT`,`/api/gezels/${encodeURIComponent(e)}/about`,t)}updateGezelFixedFunctionDefaults(e,t){return this.request(`PUT`,`/api/gezels/${encodeURIComponent(e)}/fixed-function-defaults`,t)}generateGezelAbout(e,t={}){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/about/generate`,t)}generateGezelIcon(e,t={}){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/icon/generate`,t)}updateGezelIcon(e,t){return this.request(`PUT`,`/api/gezels/${encodeURIComponent(e)}/icon`,t)}listGezelIconHistory(e){return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}/icons`)}revertGezelIcon(e,t){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/icon/revert`,t)}getGezelPoppetje(e){return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}/poppetje`)}setGezelPoppetje(e,t){return this.request(`PUT`,`/api/gezels/${encodeURIComponent(e)}/poppetje`,t)}rerollGezelPoppetje(e,t={}){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/poppetje/reroll`,t)}messageGezel(e,t){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/message`,t)}askGezel(e){return this.request(`POST`,`/api/asks/request-and-wait`,e)}ensureGezel(e){return this.request(`POST`,`/api/gezels/ensure`,e)}rewriteText(e){return this.request(`POST`,`/api/ai/rewrite`,e)}async transformTextStream(e,t,n){await $({url:`${this.baseUrl}/api/ai/transform`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`,"Content-Type":`application/json`},body:JSON.stringify(e),signal:n,fetch:this.fetchImpl,schema:ou,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Transform stream`})}listChatSessions(e){let t=new URLSearchParams;e?.gezelId&&t.set(`gezel`,e.gezelId),e?.projectId&&t.set(`project`,e.projectId);let n=t.toString()?`?${t.toString()}`:``;return this.request(`GET`,`/api/sessions${n}`)}createChatSession(e){return this.request(`POST`,`/api/sessions`,e)}getChatSession(e){return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}`)}getChatSessionDebug(e,t){let n=new URLSearchParams;t?.atTimestamp&&n.set(`at`,t.atTimestamp),t?.limit&&n.set(`limit`,String(t.limit));let r=n.toString()?`?${n.toString()}`:``;return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}/debug${r}`)}sendToChatSession(e,t){let n=typeof t==`string`?{message:t}:t;return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/send`,n)}listSessionTools(e){return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}/tools`)}listProjectTools(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tools`)}searchProjectFiles(e,t){let n=t?`?prefix=${encodeURIComponent(t)}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/index/files${n}`)}invokeSessionTool(e,t,n){return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/tools/${encodeURIComponent(t)}/invoke`,{args:n??{}})}askUserQuestion(e){return this.request(`POST`,`/api/questions`,e)}listQuestions(e){let t=new URLSearchParams;e?.projectId&&t.set(`project`,e.projectId),e?.pending&&t.set(`pending`,`true`);let n=t.toString();return this.request(`GET`,`/api/questions${n?`?${n}`:``}`)}answerQuestion(e,t){return this.request(`POST`,`/api/questions/${encodeURIComponent(e)}/answer`,t)}listProjectsForGezel(e){return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}/projects`)}listMentionCandidates(e){let t=new URLSearchParams;e.projectId&&t.set(`project`,e.projectId),e.query&&t.set(`query`,e.query);let n=t.toString();return this.request(`GET`,`/api/gezels/mention-candidates${n?`?${n}`:``}`)}archiveChatSession(e){return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/archive`)}deleteChatSession(e){return this.request(`DELETE`,`/api/sessions/${encodeURIComponent(e)}`)}compactChatSession(e){return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/compact`)}getChatSessionInflight(e){return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}/inflight`)}listInflightTurns(e={}){let t=new URLSearchParams;e.projectId&&t.set(`project`,e.projectId),e.gezelId&&t.set(`gezel`,e.gezelId);let n=t.toString()?`?${t.toString()}`:``;return this.request(`GET`,`/api/sessions/inflight${n}`)}listSessionTelemetry(e={}){let t=new URLSearchParams;e.projectId&&t.set(`project`,e.projectId),e.gezelId&&t.set(`gezel`,e.gezelId);let n=t.toString()?`?${t.toString()}`:``;return this.request(`GET`,`/api/sessions/telemetry${n}`)}getSessionTelemetry(e){return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}/telemetry`)}cancelChatSessionTurn(e){return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/cancel`)}emergencyStopChats(){return this.request(`POST`,`/api/sessions/emergency-stop`)}clearProjectErrors(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/clear-errors`,void 0,void 0,t)}retryChatSessionTurn(e){return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/retry`)}listPoisonedProjects(){return this.request(`GET`,`/api/projects/poisoned`)}cancelQueuedMessage(e,t){return this.request(`DELETE`,`/api/sessions/${encodeURIComponent(e)}/queue/${encodeURIComponent(t)}`)}listSessionQueue(e){return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}/queue`)}updateQueuedMessage(e,t,n){return this.request(`PATCH`,`/api/sessions/${encodeURIComponent(e)}/queue/${encodeURIComponent(t)}`,n)}interruptChatSession(e,t){return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/interrupt`,t)}saveMemory(e){return this.request(`POST`,`/api/memory/save`,e)}listMemoryDays(e,t){return this.request(`GET`,`/api/memory/days?scope=${e}&id=${encodeURIComponent(t)}`)}readMemoryDay(e,t,n){return this.request(`GET`,`/api/memory/day?scope=${e}&id=${encodeURIComponent(t)}&day=${encodeURIComponent(n)}`)}updateMemoryDay(e,t,n,r){return this.request(`PATCH`,`/api/memory/day?scope=${e}&id=${encodeURIComponent(t)}&day=${encodeURIComponent(n)}`,{content:r})}readMemorySummary(e,t){return this.request(`GET`,`/api/memory/summary?scope=${e}&id=${encodeURIComponent(t)}`)}readMemoryLessons(e){return this.request(`GET`,`/api/memory/lessons?gezelId=${encodeURIComponent(e)}`)}sessionEventsUrl(e){return`${this.baseUrl}/events/chat?session=${encodeURIComponent(e)}`}listProjectTimeline(e,t){let n=new URLSearchParams;t?.limit!=null&&n.set(`limit`,String(t.limit)),t?.before&&n.set(`before`,t.before),t?.gezelId&&n.set(`gezel`,t.gezelId),t?.taskRef&&n.set(`task`,t.taskRef);let r=n.toString()?`?${n.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/timeline${r}`)}listGezelTimeline(e,t){let n=new URLSearchParams;t?.limit!=null&&n.set(`limit`,String(t.limit)),t?.before&&n.set(`before`,t.before),t?.projectId&&n.set(`project`,t.projectId);let r=n.toString()?`?${n.toString()}`:``;return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}/timeline${r}`)}listGlobalTimeline(e){let t=new URLSearchParams;e?.limit!=null&&t.set(`limit`,String(e.limit)),e?.before&&t.set(`before`,e.before);let n=t.toString()?`?${t.toString()}`:``;return this.request(`GET`,`/api/timeline${n}`)}projectEventsUrl(e){return`${this.baseUrl}/events/chat/project?project=${encodeURIComponent(e)}`}gezelEventsUrl(e){return`${this.baseUrl}/events/chat/gezel?gezel=${encodeURIComponent(e)}`}allEventsUrl(){return`${this.baseUrl}/events/chat/all`}listTerminalThreads(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/terminals`)}getTerminalThread(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/terminals/${encodeURIComponent(t)}`)}runTerminalCommand(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/terminals/run`,t)}deleteTerminalThread(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/terminals/${encodeURIComponent(t)}`)}async cancelTerminalRun(e,t){try{await this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/terminals/runs/${encodeURIComponent(t)}/cancel`)}catch(e){if(e instanceof Error&&/\b404\b/.test(e.message))return;throw e}}sendTerminalInput(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/terminals/runs/${encodeURIComponent(t)}/input`,{text:n})}terminalEventsUrl(e){return`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/terminals/events`}copilotLoginUrl(){return`${this.baseUrl}/api/system/copilot-login`}chatHistory(e,t=`default`){return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}/chat?project=${encodeURIComponent(t)}`)}sendChatMessage(e,t){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/chat/send`,t)}resetChat(e,t=`default`){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/chat/reset?project=${encodeURIComponent(t)}`)}chatEventsUrl(e,t=`default`){return`${this.baseUrl}/events/chat?gezel=${encodeURIComponent(e)}&project=${encodeURIComponent(t)}`}listProjects(e){return this.request(`GET`,`/api/projects${e?.rollup?`?rollup=1`:``}`)}listRemotes(){return this.request(`GET`,`/api/remotes`)}pairRemote(e){return this.request(`POST`,`/api/remotes/pair`,e)}inspectRemote(e){return this.request(`POST`,`/api/remotes/inspect`,e)}unpairRemote(e){return this.request(`DELETE`,`/api/remotes/${encodeURIComponent(e)}`)}getMachineServing(){return this.request(`GET`,`/api/machine-serving`)}updateMachineServing(e){return this.request(`PUT`,`/api/machine-serving`,e)}listMachineServingGrants(){return this.request(`GET`,`/api/machine-serving/grants`)}approveMachineServingGrant(e){return this.request(`POST`,`/api/machine-serving/grants/${encodeURIComponent(e)}/approve`)}denyMachineServingGrant(e){return this.request(`POST`,`/api/machine-serving/grants/${encodeURIComponent(e)}/deny`)}listMachineServingDevices(){return this.request(`GET`,`/api/machine-serving/devices`)}revokeMachineServingDevice(e){return this.request(`DELETE`,`/api/machine-serving/devices/${encodeURIComponent(e)}`)}listRemoteModels(e){return this.request(`GET`,`/api/remotes/${encodeURIComponent(e)}/models`)}createProject(e){return this.request(`POST`,`/api/projects`,e)}createTypedProject(e){return this.request(`POST`,`/api/projects/typed`,e)}getProject(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}`)}setProjectWorkingDir(e,t){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/working-dir`,{workingDir:t})}updateProject(e,t){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}`,t)}deleteProject(e,t){let n=t?.removeWorkspace?`?removeWorkspace=1`:``;return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}${n}`)}applyProjectType(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/apply-project-type`,t)}preflightProjectType(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/apply-project-type/preflight`,t)}projectTypeStatus(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/project-type/status`)}exportAiApp(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/ai-apps/export`,t)}importAiApp(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/ai-apps/import`,t)}listAiApps(){return this.request(`GET`,`/api/ai-apps`)}getAiApp(e){return this.request(`GET`,`/api/ai-apps/${encodeURIComponent(e)}`)}async importAiAppPackage(e,t){let n=`${this.baseUrl}/api/ai-apps/import${t?.confirm?`?confirm=1`:``}`,r=e instanceof Blob||e instanceof Uint8Array?e:new Uint8Array(e),i=await this.fetchImpl(n,{method:`POST`,headers:{"content-type":`application/octet-stream`,Authorization:`Bearer ${this.token}`},body:r});if(!i.ok){let e=await i.text().catch(()=>``),t=e;try{let n=JSON.parse(e);n.error&&(t=n.error)}catch{}throw Error(t||`AI App import failed (${i.status})`)}return i.json()}setAiAppEnabled(e,t){return this.request(`PATCH`,`/api/ai-apps/${encodeURIComponent(e)}`,{enabled:t})}removeAiApp(e,t){return this.request(`DELETE`,`/api/ai-apps/${encodeURIComponent(e)}${t?.keepFiles?`?keepFiles=1`:``}`)}startAppServe(e){return this.request(`POST`,`/api/app-serve`,e)}listAppServeSites(){return this.request(`GET`,`/api/app-serve`)}getAppServeSite(e){return this.request(`GET`,`/api/app-serve/${encodeURIComponent(e)}`)}rotateAppServeKey(e,t){return this.request(`POST`,`/api/app-serve/${encodeURIComponent(e)}/rotate-key`,t??{})}stopAppServeSite(e){return this.request(`DELETE`,`/api/app-serve/${encodeURIComponent(e)}`)}listConnectorTypes(){return this.listCatalogItems(`connector-type`)}listConnectors(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/connectors`)}bindConnector(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/connectors/bind`,t)}syncConnector(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/connectors/${encodeURIComponent(t)}/sync`,{})}unbindConnector(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/connectors/${encodeURIComponent(t)}`)}startConnectorOAuth(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/connectors/oauth/start`,t)}completeConnectorOAuth(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/connectors/oauth/complete`,t)}listConnectorActions(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/connectors/actions`)}queueConnectorAction(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/connectors/actions/${encodeURIComponent(t)}/queue`,{})}commitConnectorAction(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/connectors/actions/${encodeURIComponent(t)}/commit`,{})}discardConnectorAction(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/connectors/actions/${encodeURIComponent(t)}`)}listProjectGezels(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/gezels`)}addGezelToProject(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/gezels`,{gezelId:t})}removeGezelFromProject(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/gezels/${encodeURIComponent(t)}`)}listHistory(e){let t=new URLSearchParams;e?.projectId&&t.set(`project`,e.projectId),e?.gezelId&&t.set(`gezel`,e.gezelId),e?.kind&&t.set(`kind`,e.kind),e?.from&&t.set(`from`,e.from),e?.to&&t.set(`to`,e.to),e?.q&&t.set(`q`,e.q),e?.limit!=null&&t.set(`limit`,String(e.limit));let n=t.toString()?`?${t.toString()}`:``;return this.request(`GET`,`/api/history${n}`)}searchSessions(e){let t=new URLSearchParams;return t.set(`q`,e.q),e.gezel&&t.set(`gezel`,e.gezel),e.project&&t.set(`project`,e.project),e.maxResults!=null&&t.set(`maxResults`,String(e.maxResults)),this.request(`GET`,`/api/sessions/search?${t.toString()}`)}searchDocuments(e){let t=new URLSearchParams;return t.set(`q`,e.q),e.maxResults!=null&&t.set(`maxResults`,String(e.maxResults)),this.request(`GET`,`/api/documents/search?${t.toString()}`)}revealProject(e,t=`artifacts`){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/reveal?which=${t}`)}resolveReferenceFileLocation(e,t){let n=new URLSearchParams({kind:t.kind,path:t.path});return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/reference-file-location?${n.toString()}`)}revealProjectReference(e,t){let n=new URLSearchParams({kind:t.kind,path:t.path});return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/reveal-reference?${n.toString()}`)}previewReference(e,t){let n=new URLSearchParams({kind:t.kind,path:t.path});return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/reference-preview?${n.toString()}`)}listProjectArtifacts(e,t,n,r){let i=new URLSearchParams;t&&i.set(`path`,t),n&&i.set(`recursive`,`1`),r?.stats&&i.set(`stats`,`1`),r?.hidden&&i.set(`hidden`,`1`);let a=i.toString()?`?${i.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/artifacts${a}`)}readProjectArtifact(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/artifacts/read?path=${encodeURIComponent(t)}`)}resolveProjectArtifact(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/artifacts/resolve?path=${encodeURIComponent(t)}`)}readProjectArtifactSlice(e,t,n){let r=new URLSearchParams({path:t});return n?.lines?r.set(`lines`,`${n.lines.start},${n.lines.count}`):typeof n?.head==`number`?r.set(`head`,String(n.head)):typeof n?.tail==`number`&&r.set(`tail`,String(n.tail)),this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/artifacts/slice?${r.toString()}`)}grepProjectArtifact(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/artifacts/grep`,t)}runPlaywrightScript(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/run-playwright`,t)}getSystemToolsetStatus(){return this.request(`GET`,`/api/system-toolsets/status`)}systemToolsetStatusStreamUrl(){return`${this.baseUrl}/api/system-toolsets/status/stream`}listSystemToolsetInstalls(){return this.request(`GET`,`/api/system-toolsets/installs`)}async installSystemToolset(e,t,n){await $({...Z,url:`${this.baseUrl}/api/system-toolsets/${encodeURIComponent(e)}/install`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:n,fetch:this.fetchImpl,schema:Hs,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`System toolset install stream for "${e}"`})}cancelSystemToolsetInstall(e){return this.request(`DELETE`,`/api/system-toolsets/${encodeURIComponent(e)}/install`)}getCopilotStatus(){return this.request(`GET`,`/api/system/copilot-status`)}getMlxRuntimeStatus(){return this.request(`GET`,`/api/mlx/runtime/status`)}mlxRuntimeStatusStreamUrl(){return`${this.baseUrl}/api/mlx/runtime/status/stream`}writeProjectArtifact(e,t,n,r){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/artifacts/write`,{path:t,content:n,...r?.gezelId?{gezelId:r.gezelId}:{},...r?.sessionId?{sessionId:r.sessionId}:{}})}async writeProjectArtifactBinary(e,t,n,r,i){let a=i?.createOnly?`&create=1`:``,o=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/artifacts/raw?path=${encodeURIComponent(t)}${a}`,s=n instanceof Blob||n instanceof Uint8Array?n:new Uint8Array(n),c=await this.fetchImpl(o,{method:`PUT`,headers:{"content-type":r,Authorization:`Bearer ${this.token}`},body:s});if(!c.ok){let e=await c.text().catch(()=>``);throw Error(`artifact binary write failed (${c.status}): ${e}`)}return c.json()}renderImage(e){return this.request(`POST`,`/api/render/image`,e)}listPromptDrafts(e,t){let n=new URLSearchParams;t?.gezelId&&n.set(`gezelId`,t.gezelId),t?.sessionId===null?n.set(`sessionId`,`new`):t?.sessionId&&n.set(`sessionId`,t.sessionId),t?.status&&n.set(`status`,t.status);let r=n.toString();return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/prompt-drafts${r?`?${r}`:``}`)}createPromptDraft(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/prompt-drafts`,t)}getPromptDraft(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/prompt-drafts/${encodeURIComponent(t)}`)}writePromptDraftContent(e,t,n){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/prompt-drafts/${encodeURIComponent(t)}/content`,{content:n})}patchPromptDraft(e,t,n){return this.request(`PATCH`,`/api/projects/${encodeURIComponent(e)}/prompt-drafts/${encodeURIComponent(t)}`,n)}duplicatePromptDraft(e,t,n={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/prompt-drafts/${encodeURIComponent(t)}/duplicate`,n)}deletePromptDraft(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/prompt-drafts/${encodeURIComponent(t)}`)}deleteProjectArtifact(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/artifacts/delete?path=${encodeURIComponent(t)}`)}createProjectArtifactFolder(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/artifacts/mkdir`,{path:t})}renameProjectArtifactPath(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/artifacts/rename`,{fromPath:t,toPath:n})}listProjectWorkspace(e,t,n,r){let i=new URLSearchParams;t&&i.set(`path`,t),n&&i.set(`recursive`,`1`),r?.stats&&i.set(`stats`,`1`),r?.hidden&&i.set(`hidden`,`1`);let a=i.toString()?`?${i.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace${a}`)}listProjectWorkspaceHtmlPages(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace/html-pages`)}readProjectWorkspaceFile(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace/read?path=${encodeURIComponent(t)}`)}statProjectWorkspacePath(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace/stat?path=${encodeURIComponent(t)}`)}writeProjectWorkspaceFile(e,t){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/workspace/file`,t)}async writeProjectWorkspaceBinary(e,t,n,r=`application/octet-stream`,i){let a=i?.createOnly?`&create=1`:``,o=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/workspace/raw?path=${encodeURIComponent(t)}${a}`,s=n instanceof Blob||n instanceof Uint8Array?n:new Uint8Array(n),c=await this.fetchImpl(o,{method:`PUT`,headers:{"content-type":r,Authorization:`Bearer ${this.token}`},body:s});if(!c.ok){let e=await c.text().catch(()=>``);throw Error(`workspace binary write failed (${c.status}): ${e}`)}return c.json()}copyArtifactToWorkspace(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/copy-from-artifact`,t)}fetchProjectRepo(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/fetch-repo`,t)}fetchProjectDiff(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/fetch-diff`,t)}replaceInProjectWorkspaceFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/replace`,t)}replaceLinesInProjectWorkspaceFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/replace-lines`,t)}applyPatchToProjectWorkspaceFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/patch`,t)}insertAtMarkerInProjectWorkspaceFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/insert-at-marker`,t)}rmProjectWorkspacePath(e,t,n={}){let r=new URLSearchParams;return r.set(`path`,t),n.recursive&&r.set(`recursive`,`1`),n.gezelId&&r.set(`gezelId`,n.gezelId),n.sessionId&&r.set(`sessionId`,n.sessionId),this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/workspace/path?${r.toString()}`)}mkdirProjectWorkspace(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/mkdir`,t)}renameProjectWorkspacePath(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/rename`,t)}toolFetchUrl(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/fetch-url`,t)}toolWebSearch(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/web-search`,t)}toolWikipediaSearch(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/wikipedia-search`,t)}toolWikipediaRead(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/wikipedia-read`,t)}toolSearchFiles(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/search-files`,t)}toolListTables(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/list-tables`,{})}toolDescribeTable(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/describe-table`,t)}toolQueryTable(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/query-table`,t)}toolReadWorkspaceFiles(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/read-files`,t)}toolFindFiles(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/find-files`,t)}toolOutlineFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/outline-file`,t)}toolFileContext(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/file-context`,t)}toolFileReview(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/file-review`,t)}toolListFileIssues(e,t={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/list-file-issues`,t)}getBoekwachterIssue(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/get-file-issue`,t)}updateBoekwachterIssue(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/update-file-issue`,t)}fixBoekwachterIssue(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/fix-file-issue`,t)}toolFindSymbol(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/find-symbol`,t)}toolReadSymbol(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/read-symbol`,t)}toolFindReferences(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/find-references`,t)}toolMapRepo(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/map-repo`,t)}toolFileMap(e,t={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/file-map`,t)}toolSearchDocs(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/search-docs`,t)}toolSearchCode(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/search-code`,t)}toolSearch(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/search`,t)}toolSecurityScan(e,t={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/security-scan`,t)}toolScanFindings(e,t={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/scan-findings`,t)}resolveSecurityFinding(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/resolve-finding`,t)}delegateSecurityFinding(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/delegate-finding`,t)}toolMapAttackSurface(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/map-attack-surface`,{})}toolListDependencies(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/list-dependencies`,{})}toolSecurityOverview(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/security-overview`,{})}toolTraceTaint(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/trace-taint`,t)}toolSearchImages(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/search-images`,t)}toolFindSimilarImages(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/find-similar-images`,t)}toolDescribeFolder(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/describe-folder`,t)}toolFindEntity(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/find-entity`,t)}toolListEntityMentions(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/list-entity-mentions`,t)}listPeople(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/people`)}renamePerson(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/people/${t}/rename`,{label:n})}forgetPerson(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/people/${t}`)}wipeFaceData(){return this.request(`POST`,`/api/people/wipe`)}reportSystemIdle(e){return this.request(`POST`,`/api/system/idle`,{idleSeconds:e})}getNightShiftPowerIntent(){return this.request(`GET`,`/api/night-shift/power-intent`)}getSystemPowerIntent(){return this.request(`GET`,`/api/system/power-intent`)}toolReadDocAsMarkdown(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/read-doc-as-markdown`,t)}toolDiffFiles(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/diff-files`,t)}toolReadImageBase64(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/read-image-base64`,t)}toolArchiveList(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/archive/list`,t)}toolArchiveExtract(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/archive/extract`,t)}toolRunGit(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/git`,t)}npmInstall(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/npm-install`,t)}runNodejsScript(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/run-nodejs-script`,t)}deriveFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/derive-file`,t)}listPackageScripts(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/package-scripts`)}runPackageScript(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/run-package-script`,t)}runNpx(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/run-npx`,t)}listWorkspaceWrites(e,t){let n=t?`?limit=${encodeURIComponent(String(t))}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace/writes${n}`)}installPackage(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/install`,t)}getProjectApprovals(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/approvals`)}getProjectGitStatus(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/status`)}cloneProjectGit(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/clone`)}pullProjectGit(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/pull`)}setProjectGitBranch(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/branch`,{branch:t})}createProjectGitBranch(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/branch`,{branch:t,create:!0})}listProjectGitBranches(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/branches`)}fetchProjectGit(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/fetch`)}commitProjectGit(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/commit`,{message:t})}pushProjectGit(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/push`)}getProjectGitChanges(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/changes`)}getProjectGitFileDiff(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/changes/diff?path=${encodeURIComponent(t)}`)}discardProjectGitChanges(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/discard`,t)}getProjectGitLog(e,t={}){let n=new URLSearchParams;t.limit!==void 0&&n.set(`limit`,String(t.limit)),t.skip!==void 0&&n.set(`skip`,String(t.skip));let r=n.toString();return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/log${r?`?${r}`:``}`)}getProjectGitCommit(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/log/${encodeURIComponent(t)}`)}syncProjectGit(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/sync`)}getProjectGitMergeState(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/merge`)}getProjectGitConflictVersions(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/merge/file?path=${encodeURIComponent(t)}`)}resolveProjectGitConflict(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/merge/resolve`,t)}completeProjectGitMerge(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/merge/complete`,t?{message:t}:{})}abandonProjectGitMerge(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/merge/abandon`)}suggestProjectGitMessage(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/ai/suggest-message`)}aiResolveProjectGitConflict(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/ai/merge`,{path:t})}getProjectIndex(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/index`)}getProjectIndexStatus(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/index/status`)}listProjectIndexFilesDetail(e,t){let n=t?.hidden?`&hidden=1`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/index/files?detail=1${n}`)}refreshProjectIndex(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/index/refresh`)}driveIndexEnrichment(e,t={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/index/enrich`,t)}stopIndexEnrichment(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/index/enrich/stop`)}getProjectSkills(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/index/skills`)}listProjectGitFiles(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/files`)}readProjectGitFile(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/files/read?path=${encodeURIComponent(t)}`)}startProjectCodeReview(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/reviews`,t)}listProjectCodeReviews(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/reviews`)}getProjectCodeReview(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/git/reviews/${encodeURIComponent(t)}`)}cancelProjectCodeReview(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/git/reviews/${encodeURIComponent(t)}/cancel`)}listProjectGitHubPulls(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs`)}getProjectGitHubPull(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}`)}listProjectGitHubPullFiles(e,t,n={}){let r=new URLSearchParams;n.offset!==void 0&&r.set(`offset`,String(n.offset)),n.limit!==void 0&&r.set(`limit`,String(n.limit)),n.includePatch!==void 0&&r.set(`includePatch`,String(n.includePatch));for(let e of n.paths??[])r.append(`path`,e);let i=r.size>0?`?${r.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/files${i}`)}listProjectGitHubPullComments(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/comments`)}getProjectGitHubPullDiff(e,t,n={}){let r=new URLSearchParams;n.offset!==void 0&&r.set(`offset`,String(n.offset)),n.limit!==void 0&&r.set(`limit`,String(n.limit)),n.path&&r.set(`path`,n.path);let i=r.size>0?`?${r.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/diff${i}`)}createProjectGitHubPullComment(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/comments`,{body:n})}createProjectGitHubPullRequest(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/github/prs`,t)}listProjectGitHubWorkflowRuns(e,t,n){let r=new URLSearchParams({branch:t});return n!==void 0&&r.set(`limit`,String(n)),this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/workflow-runs?${r.toString()}`)}getProjectGitHubChecks(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/checks?ref=${encodeURIComponent(t)}`)}search(e,t={}){let{signal:n,...r}=t;return this.request(`POST`,`/api/search`,{query:e,...r},void 0,n)}quickOpen(e,t={}){let n=new URLSearchParams({q:e});return t.limit&&n.set(`limit`,String(t.limit)),this.request(`GET`,`/api/search/quick?${n.toString()}`,void 0,void 0,t.signal)}getHandboekToc(){return this.request(`GET`,`/api/handboek/toc`)}getHandboekArticle(e,t={}){let n=t.mode?`?mode=${t.mode}`:``,r=e.split(`/`).map(encodeURIComponent).join(`/`);return this.request(`GET`,`/api/handboek/article/${r}${n}`)}getHandboekNarration(e,t={}){let n=t.voice?`?voice=${encodeURIComponent(t.voice)}`:``,r=e.split(`/`).map(encodeURIComponent).join(`/`);return this.request(`GET`,`/api/handboek/narration/article/${r}${n}`)}handboekHowDoI(e,t={}){let n=new URLSearchParams({q:e});return t.limit&&n.set(`limit`,String(t.limit)),this.request(`GET`,`/api/handboek/how-do-i?${n.toString()}`)}async fetchHandboekNarrationAudio(e){let t=`${this.baseUrl}/api/handboek/narration/audio/${e}`,n=await this.fetchImpl(t,{headers:{Authorization:`Bearer ${this.token}`}});if(!n.ok)throw Error(`narration fetch failed: ${n.status}`);return n.blob()}listDocuments(e,t,n){let r=new URLSearchParams;e&&r.set(`path`,e),t&&r.set(`recursive`,`1`),n?.stats&&r.set(`stats`,`1`),n?.hidden&&r.set(`hidden`,`1`);let i=r.toString()?`?${r.toString()}`:``;return this.request(`GET`,`/api/documents${i}`)}revealDocuments(){return this.request(`POST`,`/api/documents/reveal`)}readDocument(e,t){let n=t?.as?`&as=${t.as}`:``;return this.request(`GET`,`/api/documents/read?path=${encodeURIComponent(e)}${n}`)}writeDocument(e,t,n){return this.request(`PUT`,`/api/documents/write`,{path:e,content:t,...n?.gezelId?{gezelId:n.gezelId}:{},...n?.sessionId?{sessionId:n.sessionId}:{}})}async writeDocumentBinary(e,t,n){let r=`${this.baseUrl}/api/documents/raw?path=${encodeURIComponent(e)}`,i=t instanceof Blob||t instanceof Uint8Array?t:new Uint8Array(t),a=await this.fetchImpl(r,{method:`PUT`,headers:{"content-type":n,Authorization:`Bearer ${this.token}`},body:i});if(!a.ok){let e=await a.text().catch(()=>``);throw Error(`document binary write failed (${a.status}): ${e}`)}return a.json()}async fetchDocumentBlob(e){let t=`${this.baseUrl}/api/documents/read?path=${encodeURIComponent(e)}&raw=1`,n=await this.fetchImpl(t,{headers:{Authorization:`Bearer ${this.token}`}});if(!n.ok)throw new Q(`document fetch failed: ${n.status}`,n.status);return n.blob()}async exportDocumentMedia(e,t){let n=`${this.baseUrl}/api/document-media-export`,r=await this.fetchImpl(n,{method:`POST`,headers:{"content-type":`application/json`,Authorization:`Bearer ${this.token}`},body:JSON.stringify(e),signal:t});if(!r.ok){let e=`document media export failed (${r.status})`,t=await r.json().then(t=>t&&typeof t==`object`&&`error`in t&&typeof t.error==`string`?t.error:e).catch(()=>e);throw Error(t)}return r.blob()}deleteDocument(e,t){return this.request(`DELETE`,`/api/documents/delete?path=${encodeURIComponent(e)}${t?.gezelId?`&gezelId=${encodeURIComponent(t.gezelId)}`:``}`)}createDocumentFolder(e){return this.request(`POST`,`/api/documents/mkdir`,{path:e})}renameDocument(e,t){return this.request(`POST`,`/api/documents/rename`,{fromPath:e,toPath:t})}continueProject(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/continue`)}listTasks(e){let t=new URLSearchParams;e?.status&&t.set(`status`,e.status),e?.assignee&&t.set(`assignee`,e.assignee);let n=t.toString()?`?${t.toString()}`:``;return this.request(`GET`,`/api/tasks${n}`)}listProjectTasks(e,t){let n=new URLSearchParams;t?.status&&n.set(`status`,t.status),t?.assignee&&n.set(`assignee`,t.assignee);let r=n.toString()?`?${n.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks${r}`)}createTask(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks`,t)}getTask(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}`)}getTaskByRef(e){let t=s(e);return t?this.getTask(t.projectId,t.num):Promise.reject(Error(`invalid task ref "${e}"`))}updateTask(e,t,n){return this.request(`PATCH`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}`,n)}setTaskStatus(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/status`,{status:n})}retryTask(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/retry`,{})}activateTask(e,t,n=!1){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/activate`,n?{force:!0}:{})}setTaskAssignee(e,t,n){return this.updateTask(e,t,{assignee:n})}addTaskStep(e,t,n,r){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/steps`,{...n,...r??{}})}activateTaskStep(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/steps/${encodeURIComponent(n)}/activate`)}completeTaskStep(e,t,n,r={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/steps/${encodeURIComponent(n)}/complete`,r)}updateTaskStep(e,t,n,r){return this.request(`PATCH`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/steps/${encodeURIComponent(n)}`,r)}removeTaskStep(e,t,n){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/steps/${encodeURIComponent(n)}`)}reorderTaskSteps(e,t,n){return this.request(`PATCH`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/craftbook/steps/order`,{order:n})}updateTaskCraftbook(e,t,n){return this.request(`PATCH`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/craftbook`,n)}exportTaskCraftbook(e,t,n={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/export-craftbook`,n)}listTaskNotes(e,t,n){let r=n?`?step=${encodeURIComponent(n)}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/notes${r}`)}appendTaskNote(e,t,n,r={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/notes`,n,r.actorGezelId?{"x-gezel-actor":r.actorGezelId}:void 0)}updateTaskNote(e,t,n,r,i={}){return this.request(`PATCH`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/notes/${encodeURIComponent(n)}`,r,i.actorGezelId?{"x-gezel-actor":i.actorGezelId}:void 0)}deleteTaskNote(e,t,n,r={}){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/notes/${encodeURIComponent(n)}`,void 0,r.actorGezelId?{"x-gezel-actor":r.actorGezelId}:void 0)}listProjectScripts(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/scripts`)}runProjectScript(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/scripts/run`,t)}invokeProjectPageTool(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/page-invoke`,t)}invokeProjectPageRead(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/page-read`,t)}getProjectScriptRun(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/script-runs/${encodeURIComponent(t)}`)}getProjectScriptSource(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/scripts/source?name=${encodeURIComponent(t)}`)}saveProjectScriptSource(e,t){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/scripts/source`,t)}createProjectScript(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/scripts`,t)}draftProjectScript(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/scripts/draft`,t)}deleteProjectScript(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/scripts/source?name=${encodeURIComponent(t)}`)}getSdkTypes(){return this.request(`GET`,`/api/sdk/types`)}listStandardScripts(){return this.request(`GET`,`/api/scripts/standard`)}getStandardScriptSource(e){return this.request(`GET`,`/api/scripts/standard/source?name=${encodeURIComponent(e)}`)}listUserScripts(){return this.request(`GET`,`/api/scripts/user`)}getUserScriptSource(e){return this.request(`GET`,`/api/scripts/user/source?name=${encodeURIComponent(e)}`)}saveUserScriptSource(e){return this.request(`PUT`,`/api/scripts/user/source`,e)}createUserScript(e){return this.request(`POST`,`/api/scripts/user`,e)}deleteUserScript(e){return this.request(`DELETE`,`/api/scripts/user/source?name=${encodeURIComponent(e)}`)}listAvailableCredentials(){return this.request(`GET`,`/api/credentials/available`)}listTaskSessions(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/sessions`)}listTaskChildren(e,t,n){let r=new URLSearchParams;n?.status&&r.set(`status`,n.status),n?.limit&&r.set(`limit`,String(n.limit));let i=r.toString()?`?${r.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/children${i}`)}spawnTaskInstances(e,t,n={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/spawn`,n)}authHeader(){return{Authorization:`Bearer ${this.token}`}}getBaseUrl(){return this.baseUrl}getFetch(){return this.fetchImpl}listCraftbooks(e={}){let t=[];e.source&&t.push(`source=${e.source}`),e.projectId&&t.push(`projectId=${encodeURIComponent(e.projectId)}`);let n=t.length?`?${t.join(`&`)}`:``;return this.request(`GET`,`/api/craftbooks${n}`)}getCraftbook(e,t={}){let n=[];t.version&&n.push(`version=${encodeURIComponent(t.version)}`),t.source&&n.push(`source=${t.source}`),t.projectId&&n.push(`projectId=${encodeURIComponent(t.projectId)}`);let r=n.length?`?${n.join(`&`)}`:``;return this.request(`GET`,`/api/craftbooks/${encodeURIComponent(e)}${r}`)}suggestCraftbooks(e){return this.request(`POST`,`/api/craftbooks/suggest`,e)}getCraftbookDocument(e,t={}){let n=[];t.format&&n.push(`format=${t.format}`),t.version&&n.push(`version=${encodeURIComponent(t.version)}`),t.source&&n.push(`source=${t.source}`),t.projectId&&n.push(`projectId=${encodeURIComponent(t.projectId)}`);let r=n.length?`?${n.join(`&`)}`:``;return this.request(`GET`,`/api/craftbooks/${encodeURIComponent(e)}/document${r}`)}createCraftbookDocument(e){return this.request(`POST`,`/api/craftbooks/document`,e)}putCraftbookDocument(e,t){return this.request(`PUT`,`/api/craftbooks/${encodeURIComponent(e)}/document`,t)}getTaskCraftbookDocument(e,t,n={}){let r=n.format?`?format=${n.format}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/craftbook/document${r}`)}putTaskCraftbookDocument(e,t,n){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/craftbook/document`,n)}listProjectLocalGezels(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/local-gezels`)}getProjectLocalGezel(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/local-gezels/${encodeURIComponent(t)}`)}createProjectLocalGezel(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/local-gezels`,t)}deleteProjectLocalGezel(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/local-gezels/${encodeURIComponent(t)}`)}copyGezelToProject(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/local-gezels/copy`,t)}getProjectImportsPending(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/imports/pending`)}approveProjectImport(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/imports/approve`,{skillSource:t})}rejectProjectImport(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/imports/reject`,{skillSource:t})}convertProjectImport(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/imports/convert`,{skillSource:t,...n?.allowLlm===void 0?{}:{allowLlm:n.allowLlm}})}invokeProjectSkill(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/skills/invoke`,{skillSource:t})}createCraftbook(e){return this.request(`POST`,`/api/craftbooks`,e)}updateCraftbook(e,t){return this.request(`PATCH`,`/api/craftbooks/${encodeURIComponent(e)}`,t)}deleteCraftbook(e){return this.request(`DELETE`,`/api/craftbooks/${encodeURIComponent(e)}`)}listCraftbookScripts(e){return this.request(`GET`,`/api/craftbooks/${encodeURIComponent(e)}/scripts`)}getCraftbookScriptSource(e,t){return this.request(`GET`,`/api/craftbooks/${encodeURIComponent(e)}/scripts/source?name=${encodeURIComponent(t)}`)}saveCraftbookScriptSource(e,t){return this.request(`PUT`,`/api/craftbooks/${encodeURIComponent(e)}/scripts/source`,t)}createCraftbookScript(e,t){return this.request(`POST`,`/api/craftbooks/${encodeURIComponent(e)}/scripts`,t)}deleteCraftbookScript(e,t){return this.request(`DELETE`,`/api/craftbooks/${encodeURIComponent(e)}/scripts/source?name=${encodeURIComponent(t)}`)}getProjectGithubStatus(...e){return this.getProjectGitStatus(...e)}cloneProjectGithub(...e){return this.cloneProjectGit(...e)}pullProjectGithub(...e){return this.pullProjectGit(...e)}setProjectGithubBranch(...e){return this.setProjectGitBranch(...e)}createProjectGithubBranch(...e){return this.createProjectGitBranch(...e)}listProjectGithubBranches(...e){return this.listProjectGitBranches(...e)}fetchProjectGithub(...e){return this.fetchProjectGit(...e)}commitProjectGithub(...e){return this.commitProjectGit(...e)}pushProjectGithub(...e){return this.pushProjectGit(...e)}getProjectGithubChanges(...e){return this.getProjectGitChanges(...e)}getProjectGithubFileDiff(...e){return this.getProjectGitFileDiff(...e)}discardProjectGithubChanges(...e){return this.discardProjectGitChanges(...e)}getProjectGithubLog(...e){return this.getProjectGitLog(...e)}getProjectGithubCommit(...e){return this.getProjectGitCommit(...e)}syncProjectGithub(...e){return this.syncProjectGit(...e)}getProjectGithubMergeState(...e){return this.getProjectGitMergeState(...e)}getProjectGithubConflictVersions(...e){return this.getProjectGitConflictVersions(...e)}resolveProjectGithubConflict(...e){return this.resolveProjectGitConflict(...e)}completeProjectGithubMerge(...e){return this.completeProjectGitMerge(...e)}abandonProjectGithubMerge(...e){return this.abandonProjectGitMerge(...e)}suggestProjectGithubMessage(...e){return this.suggestProjectGitMessage(...e)}aiResolveProjectGithubConflict(...e){return this.aiResolveProjectGitConflict(...e)}listProjectGithubFiles(...e){return this.listProjectGitFiles(...e)}readProjectGithubFile(...e){return this.readProjectGitFile(...e)}listProjectGithubPulls(...e){return this.listProjectGitHubPulls(...e)}getProjectGithubPull(...e){return this.getProjectGitHubPull(...e)}listProjectGithubPullFiles(...e){return this.listProjectGitHubPullFiles(...e)}listProjectGithubPullComments(...e){return this.listProjectGitHubPullComments(...e)}getProjectGithubPullDiff(...e){return this.getProjectGitHubPullDiff(...e)}createProjectGithubPullComment(...e){return this.createProjectGitHubPullComment(...e)}createProjectGithubPullRequest(...e){return this.createProjectGitHubPullRequest(...e)}listProjectGithubWorkflowRuns(...e){return this.listProjectGitHubWorkflowRuns(...e)}getProjectGithubChecks(...e){return this.getProjectGitHubChecks(...e)}startGithubLogin(...e){return this.startGitHubLogin(...e)}pollGithubLogin(...e){return this.pollGitHubLogin(...e)}getGithubIdentity(...e){return this.getGitHubIdentity(...e)}listGithubRepos(...e){return this.listGitHubRepos(...e)}previewGithubRepo(...e){return this.previewGitHubRepo(...e)}githubLogout(...e){return this.gitHubLogout(...e)}};function lu(e){return e.kind===`shared`?`scope=shared`:e.kind===`system`?`scope=system`:e.kind===`project`?`scope=project&project=${encodeURIComponent(e.projectId)}`:`scope=gezel&gezel=${encodeURIComponent(e.gezelId)}`}export{ql as a,Jl as c,Yl as i,Zl as l,cu as n,$l as o,zl as r,Ql as s,Q as t};