@bendyline/gezel-service 1.1.1 → 1.1.2

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 (185) hide show
  1. package/dist/NOTICE.md +3 -3
  2. package/dist/bin/gezeld.js +8471 -5311
  3. package/dist/handboek-content/technical/building-connected-apps-with-gezel-app-sdk.md +78 -0
  4. package/dist/handboek-content/whats-new/{1.26250.md → 1.26251.md} +5 -5
  5. package/dist/index-store/static-index-worker.js +160 -51
  6. package/dist/index.d.ts +416 -71
  7. package/dist/index.js +8465 -5305
  8. package/dist/memory/embed-worker.js +132 -4
  9. package/dist/memory/image-embed-worker.js +14 -5
  10. package/dist/providers/mlx/python/cache_persist.py +52 -8
  11. package/dist/providers/mlx/python/gezel_mlx_server.py +44 -1
  12. package/dist/providers/mlx/python/qwen4_ple.py +159 -0
  13. package/dist/providers/mlx/python/spec_decode.py +73 -31
  14. package/dist/providers/mlx/python/tool_call_stream.py +10 -2
  15. package/dist/providers/mlx/python/tool_grammar.py +16 -0
  16. package/dist/ui/assets/{AmbientDashboardCard-DcVHxEdC.js → AmbientDashboardCard-_xnAQGnk.js} +1 -1
  17. package/dist/ui/assets/{AudioEngineSettings-BFM2S1mm.js → AudioEngineSettings-CgXgbX0i.js} +1 -1
  18. package/dist/ui/assets/{BenchmarksView-84-YeULA.js → BenchmarksView-BlExZpYA.js} +1 -1
  19. package/dist/ui/assets/CatalogBrowser-DYXUZQ_t.js +1 -0
  20. package/dist/ui/assets/{ChannelsSettings-7NAVUk4k.js → ChannelsSettings-EH27HcqZ.js} +1 -1
  21. package/dist/ui/assets/ChatTimelineView-Dn1TNyVn.js +7 -0
  22. package/dist/ui/assets/{ConnectedAppsPanel-CIgF4Q3R.js → ConnectedAppsPanel-BROry-Y0.js} +1 -1
  23. package/dist/ui/assets/CraftbookEditor-B2RNJnFf.js +1 -0
  24. package/dist/ui/assets/{CraftbookScriptEditorView-Ck5tzj3Y.js → CraftbookScriptEditorView-B-vySmHP.js} +1 -1
  25. package/dist/ui/assets/{CraftbookTabContent-BWg7FhK_.js → CraftbookTabContent-BW_2KC89.js} +1 -1
  26. package/dist/ui/assets/{CraftbookToolsetSetup-EuFOiUzR.js → CraftbookToolsetSetup-J7rEa835.js} +1 -1
  27. package/dist/ui/assets/{CraftbooksView-BIzQ1VVn.js → CraftbooksView-BjBUWPGF.js} +1 -1
  28. package/dist/ui/assets/DiffpackReviewView-CD4qJmgT.js +1 -0
  29. package/dist/ui/assets/DocumentDetail-SYozruTJ.js +1 -0
  30. package/dist/ui/assets/DocumentsView-DE7eL49Z.js +1 -0
  31. package/dist/ui/assets/{Ds4Settings-9soZCSeO.js → Ds4Settings-DGzc7JcD.js} +1 -1
  32. package/dist/ui/assets/{EmbeddedChat-Cce7nxXT.js → EmbeddedChat-D92TaJQ8.js} +1 -1
  33. package/dist/ui/assets/{FaceRecognitionCard-BVZyOwB8.js → FaceRecognitionCard-CB1Dt9X4.js} +1 -1
  34. package/dist/ui/assets/FileMapView-kVBG22FU.js +1 -0
  35. package/dist/ui/assets/FoldersSettings-BWFQU5B4.js +1 -0
  36. package/dist/ui/assets/GezelDetail-Br4v42Nv.js +1 -0
  37. package/dist/ui/assets/{GezelJsonEditor-DXXt165-.js → GezelJsonEditor-B9XEiW5Y.js} +1 -1
  38. package/dist/ui/assets/GezellenView-DheEBAy4.js +1 -0
  39. package/dist/ui/assets/{GildeUpdatesCard-CtY8mUTA.js → GildeUpdatesCard-BeIYv09f.js} +1 -1
  40. package/dist/ui/assets/{GithubSignInChip-DT3l6E0Q.js → GithubSignInChip-eEGCe9ar.js} +1 -1
  41. package/dist/ui/assets/{HandboekMediaProvider-ByJ4NAzz.js → HandboekMediaProvider-D0zcbbpf.js} +1 -1
  42. package/dist/ui/assets/HandboekView-p0BZT1rH.js +1 -0
  43. package/dist/ui/assets/{HistoryView-CkinzFEC.js → HistoryView-CKWcWW-Y.js} +1 -1
  44. package/dist/ui/assets/{HomeView-DNBrQnwy.js → HomeView-b_TT5oV3.js} +1 -1
  45. package/dist/ui/assets/{ImageEngineSettings-BfM9HSd_.js → ImageEngineSettings-CJfk4OJ4.js} +1 -1
  46. package/dist/ui/assets/{ImageRecognitionSettings-CaSQu5Br.js → ImageRecognitionSettings-DzbvZk5S.js} +1 -1
  47. package/dist/ui/assets/{IncompleteDownloads-C36lTCMG.js → IncompleteDownloads-C8_XyP8O.js} +1 -1
  48. package/dist/ui/assets/{KnowledgeCatalogsCard-CK9bqdf6.js → KnowledgeCatalogsCard-CHopG_j-.js} +1 -1
  49. package/dist/ui/assets/KnowledgeView-CXNKZUJq.js +1 -0
  50. package/dist/ui/assets/{LlamaCppSettings-CdNMHBbp.js → LlamaCppSettings-ohcM7kes.js} +1 -1
  51. package/dist/ui/assets/{MarkdownField-Dugmfr_e.js → MarkdownField-BX0qsaFq.js} +1 -1
  52. package/dist/ui/assets/{MemoriesTree-CgFqUNEr.js → MemoriesTree-BPj5Rod8.js} +1 -1
  53. package/dist/ui/assets/{MicrophoneSettings-DzDe9y1q.js → MicrophoneSettings-CWjeYnfI.js} +1 -1
  54. package/dist/ui/assets/MlxSettings-Dq6dRpcl.js +1 -0
  55. package/dist/ui/assets/{ModelPicker-BVkJhNAH.js → ModelPicker-0Ue-eEKj.js} +1 -1
  56. package/dist/ui/assets/NewPathDialog-BhAZm9dp.js +1 -0
  57. package/dist/ui/assets/{NewScriptDialog-TEAd0KLl.js → NewScriptDialog-DuryIe50.js} +1 -1
  58. package/dist/ui/assets/NewTaskDialog-BX24flMY.js +2 -0
  59. package/dist/ui/assets/{OllamaSettings-CPy2vxyZ.js → OllamaSettings-Boj8Nd1G.js} +1 -1
  60. package/dist/ui/assets/ProjectChat-Dhw_M5bq.js +5 -0
  61. package/dist/ui/assets/ProjectConnectionsTab-BwpMQNrg.js +1 -0
  62. package/dist/ui/assets/{ProjectGitStatusBar-BgHZ2ijN.js → ProjectGitStatusBar-BORGYx5l.js} +1 -1
  63. package/dist/ui/assets/{ProjectGithubView-BV2uTNU0.js → ProjectGithubView-CTP1BOMv.js} +1 -1
  64. package/dist/ui/assets/{ProjectMailTab-DLtJdXSL.js → ProjectMailTab-qFmAeV3M.js} +1 -1
  65. package/dist/ui/assets/{ProjectOverviewView-ZMs9nL5N.js → ProjectOverviewView-Cq1FsoaT.js} +1 -1
  66. package/dist/ui/assets/{ProjectTimeline-CTPcn4Kc.js → ProjectTimeline-Cqae2Z92.js} +1 -1
  67. package/dist/ui/assets/ProjectsView-D0uJjUB-.js +7 -0
  68. package/dist/ui/assets/{RecommendedBadge-iUoisQBi.js → RecommendedBadge-CN1jEmSn.js} +1 -1
  69. package/dist/ui/assets/{RemoteServersPanel-CTVJ0IRh.js → RemoteServersPanel-CMakvCCM.js} +1 -1
  70. package/dist/ui/assets/{ScriptEditorTabs-CCDFZjdC.js → ScriptEditorTabs-st6dJePd.js} +2 -2
  71. package/dist/ui/assets/{ScriptEditorView-CergLqKj.js → ScriptEditorView-BkySh57_.js} +2 -2
  72. package/dist/ui/assets/{ScriptsView-v7ckdhDi.js → ScriptsView-7uPKwjDB.js} +1 -1
  73. package/dist/ui/assets/{SecurityComplianceSettings-Bd0-66Gs.js → SecurityComplianceSettings-Tsv_pXfy.js} +1 -1
  74. package/dist/ui/assets/SessionSwitcher-D0fSeeHO.js +1 -0
  75. package/dist/ui/assets/SettingsView-cli_z8ZW.js +3 -0
  76. package/dist/ui/assets/{SquisqIntegration-C5l_OPvD.js → SquisqIntegration-BTZ1kBlg.js} +1 -1
  77. package/dist/ui/assets/{StorageCleanupDialog-3kv9-2mT.js → StorageCleanupDialog-CDBjl8JQ.js} +1 -1
  78. package/dist/ui/assets/{StorageUsageCard-7sWTrZFa.js → StorageUsageCard-DXY1j0dZ.js} +1 -1
  79. package/dist/ui/assets/TaskTabContent-C0P681SL.js +1 -0
  80. package/dist/ui/assets/TasksView-Ddwz10ri.js +1 -0
  81. package/dist/ui/assets/{TerminalCodeEditor-ChmdzmCz.js → TerminalCodeEditor-BkNQ6QoQ.js} +2 -2
  82. package/dist/ui/assets/ToolsetsEditor-KVigemfL.js +8 -0
  83. package/dist/ui/assets/{TransformToolbarButton-gzIxUBH7.js → TransformToolbarButton-8wfJR1bO.js} +2 -2
  84. package/dist/ui/assets/{UnrecognizedModels-0hptopv6.js → UnrecognizedModels-BzdU1clO.js} +1 -1
  85. package/dist/ui/assets/{VideoEngineSettings-BdNzCEdR.js → VideoEngineSettings-f79ff57u.js} +1 -1
  86. package/dist/ui/assets/{WorkspaceIndexPane-DnsOO916.js → WorkspaceIndexPane-fu5V6o1W.js} +1 -1
  87. package/dist/ui/assets/{api-C0I7spBl.js → api-CmrgM5Rf.js} +1 -1
  88. package/dist/ui/assets/chat-thread-memory-8MCtb17Q.js +1 -0
  89. package/dist/ui/assets/{chunk-6ECMNUIP-BvCy0HUI.js → chunk-6ECMNUIP-D5AA6ozp.js} +1 -1
  90. package/dist/ui/assets/{chunk-A6N6IN3I-ofeM4l8g.js → chunk-A6N6IN3I-BpxihS5H.js} +1 -1
  91. package/dist/ui/assets/{chunk-ATWVNF7D-CYuW1Yc6.js → chunk-ATWVNF7D-CKIWh7bN.js} +1 -1
  92. package/dist/ui/assets/{chunk-UBFT2CDQ-FexGDigd.js → chunk-CW24CH7I-BD0FIooX.js} +1 -1
  93. package/dist/ui/assets/{chunk-DXYWKZ52-zxe8pjH4.js → chunk-DXYWKZ52-DMKPZnpo.js} +1 -1
  94. package/dist/ui/assets/chunk-IIQYS2YH-BtDJt4Xr.js +1 -0
  95. package/dist/ui/assets/{chunk-KGWT454C-v5-l6U5m.js → chunk-KGWT454C-DsQOBuLg.js} +1 -1
  96. package/dist/ui/assets/{chunk-Q77KNJIN-BLuPdsQF.js → chunk-Q77KNJIN-BdWizq9s.js} +1 -1
  97. package/dist/ui/assets/{chunk-USU6HTKB-B_p-YcDp.js → chunk-USU6HTKB-DyGZplh4.js} +1 -1
  98. package/dist/ui/assets/{chunk-UXEANVBI-Bt0kX-0Z.js → chunk-UXEANVBI-BUBXvqyE.js} +1 -1
  99. package/dist/ui/assets/{chunk-O7JILDEF-CqcO1qaI.js → chunk-X7BNDUNI-D14WIvlD.js} +2 -2
  100. package/dist/ui/assets/{chunk-AE3IUKMM-mZjzzO8Z.js → chunk-ZSU5DJLX-CrjQf-vs.js} +1 -1
  101. package/dist/ui/assets/{container-BI8hxN1N.js → container-iFj1r6Hk.js} +1 -1
  102. package/dist/ui/assets/csv-Di411Mv-.js +1 -0
  103. package/dist/ui/assets/data-Q05qqAp4.js +1 -0
  104. package/dist/ui/assets/{dist-APSIK7H3.js → dist-1FNFiksd.js} +3 -3
  105. package/dist/ui/assets/dist-BMZhqfv7.js +2 -0
  106. package/dist/ui/assets/dist-CE5CbmDb.js +225 -0
  107. package/dist/ui/assets/doc-BHcGsJZd.js +587 -0
  108. package/dist/ui/assets/{document-import-DPK4r8Am.js → document-import-B2Ya6sbf.js} +1 -1
  109. package/dist/ui/assets/{docx-DRLuCTaC.js → docx-B8Pwz5Ih.js} +1 -1
  110. package/dist/ui/assets/{epub-a0p2Xb1b.js → epub-BQ4g8Q9j.js} +1 -1
  111. package/dist/ui/assets/{export-options-BqYFyzWx.js → export-options-Dylv69b3.js} +1 -1
  112. package/dist/ui/assets/file-browser-BLOPfnS0.js +5 -0
  113. package/dist/ui/assets/{html-BbQNmJ5X.js → html-BnA7qFwq.js} +1 -1
  114. package/dist/ui/assets/icons-CyM7Cg4E.js +1 -0
  115. package/dist/ui/assets/index-DW6qHqhU.css +1 -0
  116. package/dist/ui/assets/index-DivKnJyx.js +36 -0
  117. package/dist/ui/assets/{mail-link-CWfsP5Aq.js → mail-link-NtlcX5OE.js} +1 -1
  118. package/dist/ui/assets/{markdown-ryKA_OmY.js → markdown-CLKH_zzl.js} +1 -1
  119. package/dist/ui/assets/markdown-baseline-0dqv9qbV.js +1 -0
  120. package/dist/ui/assets/materialize-G4WC5UG3-xq2dcwS8.js +1 -0
  121. package/dist/ui/assets/{monaco-base-C0VTMpv-.js → monaco-base-BSvdAweA.js} +1 -1
  122. package/dist/ui/assets/{monaco-setup-CX8q88c5.js → monaco-setup-CT7LZ0o_.js} +1 -1
  123. package/dist/ui/assets/{new-project-meta-ZmDPGYzC.js → new-project-meta-5Y9Blozr.js} +1 -1
  124. package/dist/ui/assets/outside-in-Msmhxf_U.js +3 -0
  125. package/dist/ui/assets/{pdf-BHrygJa5.js → pdf-C4BhW3zg.js} +1 -1
  126. package/dist/ui/assets/{pending-drafts-27ujtQxX.js → pending-drafts-BD227X9H.js} +1 -1
  127. package/dist/ui/assets/{poppetje-CfaAvFkE.js → poppetje-DvCJO36y.js} +3 -3
  128. package/dist/ui/assets/{pptx-nDW64jAN.js → pptx-B6uaM2s7.js} +3 -3
  129. package/dist/ui/assets/{run-export-86KzLZ7R.js → run-export-TscWwR6y.js} +2 -2
  130. package/dist/ui/assets/{standalone-source-7QdiNsDW.js → standalone-source-Cw9SF7Zk.js} +1 -1
  131. package/dist/ui/assets/storage-Cmhlwx70.js +1 -0
  132. package/dist/ui/assets/styles-BjDaWeMA.css +1 -0
  133. package/dist/ui/assets/styles-CqO-rmOt.js +554 -0
  134. package/dist/ui/assets/{terminal-monaco-setup-Bar-sYKd.js → terminal-monaco-setup-me523-j-.js} +1 -1
  135. package/dist/ui/assets/{transform-CmAXy0Ck.js → transform-DxJCwK68.js} +1 -1
  136. package/dist/ui/assets/{use-local-model-manager-D1yiurrC.js → use-local-model-manager-8wvk-I-y.js} +1 -1
  137. package/dist/ui/assets/{useCompactLayout-BDtPQcDh.js → useCompactLayout-cm4E9Vja.js} +0 -0
  138. package/dist/ui/assets/{useCopilotAvailability-BHOfHrfT.js → useCopilotAvailability-D9hglSH_.js} +1 -1
  139. package/dist/ui/assets/{useDiffpacks-B0kYhlWQ.js → useDiffpacks-1BN2XJWg.js} +1 -1
  140. package/dist/ui/assets/{useGitSync-DOt-ODiw.js → useGitSync-7m9YA7h5.js} +1 -1
  141. package/dist/ui/assets/{useShowWorkInProgressFeatures-BtpredG7.js → useShowWorkInProgressFeatures-D6QOaTUT.js} +1 -1
  142. package/dist/ui/assets/{useTotalRamBytes-B8NFM27w.js → useTotalRamBytes-Durk383U.js} +1 -1
  143. package/dist/ui/assets/{xlsx-B_pu1ZvY.js → xlsx-BbHA9bxA.js} +1 -1
  144. package/dist/ui/index.html +15 -15
  145. package/package.json +12 -11
  146. package/dist/ui/assets/CatalogBrowser-7_jHy5Q3.js +0 -1
  147. package/dist/ui/assets/ChatTimelineView-Cg_kLK_U.js +0 -7
  148. package/dist/ui/assets/CraftbookEditor-BKAIsnXv.js +0 -1
  149. package/dist/ui/assets/DiffpackReviewView-B2a3zgE-.js +0 -1
  150. package/dist/ui/assets/DocumentDetail-GCYhwQqV.js +0 -1
  151. package/dist/ui/assets/DocumentsView-Cm3RaQ5N.js +0 -1
  152. package/dist/ui/assets/FileMapView-BKJovLcL.js +0 -1
  153. package/dist/ui/assets/FoldersSettings-CuJd2JdE.js +0 -1
  154. package/dist/ui/assets/GezelDetail-D_KIPDhQ.js +0 -1
  155. package/dist/ui/assets/GezellenView-BOOW1QQU.js +0 -1
  156. package/dist/ui/assets/HandboekView-gRzJcIbJ.js +0 -1
  157. package/dist/ui/assets/KnowledgeView-DJ3cJVHA.js +0 -1
  158. package/dist/ui/assets/MlxSettings-45mBFHbA.js +0 -1
  159. package/dist/ui/assets/NewTaskDialog-CIXVunZn.js +0 -2
  160. package/dist/ui/assets/ProjectChat-BiJRweob.js +0 -5
  161. package/dist/ui/assets/ProjectConnectionsTab-CQgaIzuv.js +0 -1
  162. package/dist/ui/assets/ProjectsView-BUdR76n6.js +0 -7
  163. package/dist/ui/assets/SessionSwitcher-BgZqyiRn.js +0 -1
  164. package/dist/ui/assets/SettingsView-DLhOYiR5.js +0 -3
  165. package/dist/ui/assets/TaskTabContent-CG2KmfwV.js +0 -1
  166. package/dist/ui/assets/TasksView-Dy5Ue4zS.js +0 -1
  167. package/dist/ui/assets/ToolsetsEditor-J9XxQ5Ms.js +0 -8
  168. package/dist/ui/assets/chat-thread-memory-CI2-giEq.js +0 -1
  169. package/dist/ui/assets/chunk-IIQYS2YH-DEkyBlHg.js +0 -1
  170. package/dist/ui/assets/csv-B0D9jJG2.js +0 -1
  171. package/dist/ui/assets/data-BIL84EaT.js +0 -1
  172. package/dist/ui/assets/dist-CJqyWK6E.js +0 -2
  173. package/dist/ui/assets/dist-DOqbRmFj.js +0 -225
  174. package/dist/ui/assets/doc-C2Ph2FWI.js +0 -584
  175. package/dist/ui/assets/document-companion-aDThLOwl.js +0 -1
  176. package/dist/ui/assets/file-browser-DVyWN0LD.js +0 -5
  177. package/dist/ui/assets/icons-DWaUNQbT.js +0 -1
  178. package/dist/ui/assets/index-DDu8nyO6.js +0 -34
  179. package/dist/ui/assets/index-DEDUSiCx.css +0 -1
  180. package/dist/ui/assets/markdown-baseline-9B52XlX2.js +0 -1
  181. package/dist/ui/assets/materialize-G4WC5UG3-BlZQe-88.js +0 -1
  182. package/dist/ui/assets/outside-in-BmIIeMid.js +0 -3
  183. package/dist/ui/assets/storage-B-vhjyV2.js +0 -1
  184. package/dist/ui/assets/styles-BvkZd-EV.js +0 -550
  185. package/dist/ui/assets/styles-IQ4adxWr.css +0 -1
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{An as t,Bn as n,En as r,Fn as i,Gn as a,Hn as o,In as s,Ln as c,Mn as l,Nn as u,Pn as d,Rn as f,Rt as ee,Tn as te,Un as ne,Vn as p,Wn as m,jn as re,kn as h,wn as g,x as ie,zn as ae}from"./dist-DOqbRmFj.js";var _=d(`kind`,[f({kind:s(`gezel`),gezelId:o()}),f({kind:s(`user`)})]),oe=[`tiny`,`small`,`medium`,`large`,`cloud`],se=m([t([`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`]),o().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`)]),ce=d(`type`,[f({type:s(`string`),description:o(),required:u().optional(),default:o().optional(),pattern:o().optional(),multiline:u().optional()}),f({type:s(`number`),description:o(),required:u().optional(),default:c().optional(),min:c().optional(),max:c().optional(),integer:u().optional()}),f({type:s(`boolean`),description:o(),required:u().optional(),default:u().optional()}),f({type:s(`choice`),description:o(),required:u().optional(),default:o().optional(),options:l(f({value:o(),label:o().optional()})).min(1)}),f({type:s(`ref`),description:o(),required:u().optional(),kind:t([`gezel`,`task`,`artifact`,`document`])}),f({type:s(`json`),description:o(),required:u().optional(),default:a().optional(),schema:a().optional()})]),le=p(o(),ce),ue=d(`type`,[f({type:s(`string`),description:o(),nullable:u().optional()}),f({type:s(`number`),description:o(),nullable:u().optional()}),f({type:s(`boolean`),description:o(),nullable:u().optional()}),f({type:s(`array`),description:o(),itemType:t([`string`,`number`,`boolean`,`object`])}),f({type:s(`object`),description:o(),schema:a().optional()}),f({type:s(`json`),description:o(),schema:a().optional()})]),de=p(o(),ue),fe=f({name:o().regex(/^[a-zA-Z][\w-]*$/,`name must start with a letter and contain only letters, digits, underscore, or hyphen`),description:o().min(10),kind:t([`action`,`gate`]).optional(),inputs:le.optional(),outputs:de.optional(),requires:l(se).optional()}),pe=t([`project`,`craftbook`,`user`,`standard`]),me=d(`op`,[f({op:s(`always`)}),f({op:s(`never`)}),f({op:s(`ok`)}),f({op:s(`equals`),field:o().min(1),value:m([o(),c(),u(),re()])}),f({op:s(`exists`),field:o().min(1),negate:u().optional()}),f({op:s(`gt`),field:o().min(1),value:c()})]),he=f({name:o().min(1),scope:pe.optional(),inputs:p(o(),a()).optional(),autoAdvanceOnSuccess:u().optional(),autoAdvanceWhen:me.optional()}),v=m([he,l(he)]);function ge(e){return e===void 0?[]:Array.isArray(e)?e:[e]}var _e=t([`running`,`ok`,`error`]),ve=f({at:o(),kind:o(),argsSummary:o(),outputSummary:o().optional(),durationMs:c().nonnegative(),error:o().optional()}),ye=d(`kind`,[f({kind:s(`step`),taskRef:o(),stepId:o(),moment:t([`enter`,`exit`,`gate`])}),f({kind:s(`chat`),sessionId:o(),gezelId:o()}),f({kind:s(`manual`),userInitiated:s(!0)}),f({kind:s(`nested`),parentRunId:o()}),f({kind:s(`connector`),typeId:o(),bindingId:o()}),f({kind:s(`page`),tool:o()})]);f({id:o(),projectId:o(),scriptName:o(),startedAt:o(),finishedAt:o().optional(),status:_e,trigger:ye,inputs:p(o(),a()),output:a().optional(),calls:l(ve),logs:o(),error:o().optional()}),f({name:o().min(1),scope:pe.optional(),input:p(o(),a()).optional()});var be=f({runId:o(),status:_e,output:a().optional(),callsSummary:l(f({kind:o(),durationMs:c().nonnegative(),error:o().optional()})),error:o().optional()});f({tool:o().regex(/^[a-z][a-z0-9_]*$/),input:p(o(),a()).optional()}),be.extend({reaction:f({delivered:u(),gezelId:o().optional(),reason:o().optional()}).optional()}),f({op:t([`read`,`list`,`stat`]),source:t([`workspace`,`artifacts`]),path:o().min(1),as:t([`text`,`json`,`bytes`]).optional(),maxBytes:c().int().positive().optional()});var xe=f({name:o(),kind:t([`file`,`dir`]),size:c().nonnegative(),mtime:c().nonnegative()});f({op:t([`read`,`list`,`stat`]),content:o().optional(),encoding:t([`utf8`,`base64`]).optional(),entries:l(xe).optional(),etag:o(),size:c().nonnegative().optional(),mtime:c().nonnegative().optional()}),f({scripts:l(f({name:o(),meta:fe,path:o()}))});var y=o().regex(/^[a-zA-Z][\w-]*$/,`script name must start with a letter and contain only letters, digits, underscore, or hyphen`),Se=f({severity:t([`error`,`warning`,`info`]),source:t([`meta`,`typescript`,`runtime-compat`]),message:o(),line:c().optional(),column:c().optional()}),Ce=f({kind:t([`craftbook`,`import`,`user`,`standard`]),ref:o()});f({name:y,source:o(),hash:o(),mtimeMs:c(),meta:fe.optional(),metaError:o().optional(),provenance:Ce.optional()}),f({name:y,source:o(),baseHash:o().optional()}),d(`status`,[f({status:s(`saved`),hash:o(),metaOk:u(),meta:fe.optional(),diagnostics:l(Se)}),f({status:s(`conflict`),currentHash:o(),currentSource:o()})]);var we=t([`blank`,`post-message`,`fetch-and-summarize`,`check-files`,`call-tool`,`ask-ai`]);f({name:y,description:o().optional(),template:we.optional(),source:o().optional()}),f({name:y,source:o(),hash:o()}),f({version:o(),files:l(f({name:o(),content:o()}))}),f({name:y,description:o().min(1)}),f({source:o()});var Te=t([`html-complete`,`html-game`,`nonempty`,`json-valid`,`data-table`]),Ee=m([o(),c(),u(),re()]),De=d(`kind`,[f({kind:s(`minBytes`),file:o().min(1),bytes:c().int().positive(),artifact:u().optional()}),f({kind:s(`totalMinBytes`),files:l(o().min(1)).min(1),bytes:c().int().positive(),artifact:u().optional()}),f({kind:s(`fileCount`),ext:l(o().min(1)).min(1),min:c().int().positive(),dir:o().optional(),verifyImageBytes:u().optional(),artifact:u().optional()}),f({kind:s(`cssMinBytes`),bytes:c().int().positive(),file:o().optional(),artifact:u().optional()}),f({kind:s(`sniff`),file:o().min(1),sniff:Te,artifact:u().optional()}),f({kind:s(`jsonPathEquals`),file:o().min(1),path:o().min(1),value:Ee,label:o().min(1).optional(),artifact:u().optional()}),f({kind:s(`csvShape`),file:o().min(1),requiredColumns:l(o().min(1)).min(1).optional(),exactColumns:l(o().min(1)).min(1).optional(),minRows:c().int().nonnegative().optional(),consistentColumns:u().optional(),allowedValues:p(o(),l(o().min(1)).min(1)).optional(),artifact:u().optional()}),f({kind:s(`contains`),file:o().min(1),pattern:o().min(1),flags:o().optional(),label:o().min(1).optional(),artifact:u().optional()}),f({kind:s(`notContains`),file:o().min(1),pattern:o().min(1),flags:o().optional(),label:o().min(1).optional(),artifact:u().optional()}),f({kind:s(`unsupportedClaims`),file:o().min(1),sourceFiles:l(o().min(1)).min(1),patterns:l(f({pattern:o().min(1),label:o().min(1).optional()})).min(1),flags:o().optional(),artifact:u().optional()}),f({kind:s(`jsParses`),file:o().optional(),artifact:u().optional()}),f({kind:s(`htmlLint`),file:o().min(1),artifact:u().optional()}),f({kind:s(`esmImports`),file:o().min(1),artifact:u().optional()}),f({kind:s(`sourceParses`),file:o().min(1),artifact:u().optional()}),f({kind:s(`tableShape`),file:o().min(1),requiredColumns:l(o().min(1)).min(1).optional(),minRows:c().int().nonnegative().optional(),artifact:u().optional()}),f({kind:s(`recordSchema`),file:o().min(1),fields:l(f({name:o().min(1),type:o().optional(),required:u().optional()})).min(1),minRows:c().int().nonnegative().optional(),uniqueBy:o().optional(),format:t([`json`,`csv`,`auto`]).optional(),allowExtraFields:u().optional(),artifact:u().optional()}),f({kind:s(`nodeRuns`),file:o().min(1),timeoutMs:c().int().positive().max(6e4).optional()}),f({kind:s(`citationsResolve`),file:o().min(1),pattern:o().min(1).optional(),flags:o().optional(),minCitations:c().int().nonnegative().optional(),corpus:l(o().min(1)).min(1).optional(),artifact:u().optional()}),f({kind:s(`researchEvidence`),sourcePath:o().optional(),tools:l(o().min(1)).min(1),minSuccessful:c().int().positive().optional(),externalOptional:u().optional()}),f({kind:s(`commandEvidence`),script:o().min(1).optional(),bin:o().min(1).optional(),args:l(o()).optional(),expect:t([`pass`,`fail`]),minRuns:c().int().positive().optional(),onDraft:t([`defer`,`require`]).optional(),label:o().min(1).optional()}),f({kind:s(`corpusCoverage`),file:o().min(1),corpusDir:o().min(1),reviewedField:o().min(1).optional(),recordField:o().min(1).optional(),artifact:u().optional(),expectPaths:o().min(1).optional()}),f({kind:s(`corpusBatches`),file:o().min(1),corpusDir:o().min(1),manifestSuffix:o().min(1).optional(),itemsField:o().min(1).optional(),totalField:o().min(1).optional(),artifact:u().optional()}),f({kind:s(`markdownHeadingsMatch`),file:o().min(1),outlineFile:o().min(1),outlineArtifact:u().optional(),artifact:u().optional()}),f({kind:s(`valueGrounding`),file:o().min(1),facts:l(f({id:o().min(1),label:o().min(1).optional(),required:l(o().min(1)).min(1),forbidden:l(o().min(1)).optional()})).min(1),normalizeDigits:u().optional(),artifact:u().optional()}),f({kind:s(`valuesSubsetOf`),file:o().min(1),sourceFiles:l(o().min(1)).min(1),pattern:o().min(1),flags:o().optional(),minMatches:c().int().nonnegative().optional(),artifact:u().optional()}),f({kind:s(`judge`),file:o().min(1),rubric:o().min(1),sourceFiles:l(o().min(1)).optional(),requireEvidence:u().optional(),advisory:u().optional(),timeoutMs:c().int().positive().max(12e4).optional(),label:o().min(1).optional(),artifact:u().optional()}),f({kind:s(`planStructure`),file:o().min(1),minRows:c().int().positive().optional(),ownerRoster:l(o().min(1)).optional(),requireEarlierOnly:u().optional(),doneWhenMinChars:c().int().positive().optional(),artifact:u().optional()})]);f({verdict:t([`pass`,`fail`]),reasons:l(o().min(1)).max(5),evidence:l(o()).default([]),confidence:t([`low`,`medium`,`high`]).optional()});var Oe=f({checks:l(De).min(1),onFail:o().optional(),onPass:o().optional(),maxAttempts:c().int().positive().optional(),reviewer:o().optional()}),ke=f({name:o().min(1),scope:pe.optional(),inputs:p(o(),a()).optional()});f({decision:t([`approve`,`reject`]),message:o().optional(),goto:o().optional(),handoff:f({message:o(),params:p(o(),a()).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 Ae=m([f({at:t([`completion`,`activation`]),checks:l(De).optional(),scripts:l(ke).optional(),onReject:o().optional(),onApprove:o().optional(),maxAttempts:c().int().positive().optional(),reviewer:o().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`})}),Oe]);function je(e){return!(`at`in e)}function Me(e){return je(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 Ne(e){let t=Me(e);return[t.onReject,t.onApprove].filter(e=>e!==void 0)}var Pe=t([`PreToolUse`,`PostToolUse`]),Fe=t([`allow`,`deny`,`ask`]),Ie=f({phase:Pe,matcher:o().default(`.*`),script:he.optional(),decision:Fe.optional(),label:o().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`]})});f({decision:Fe.default(`allow`),message:o().optional()});var Le=t([`off`,`lean`,`balanced`,`deep`]),Re=t([`workspace`,`artifacts`,`project-memory`,`gezel-memory`,`shared`,`knowledge`]),b=f({mode:Le,maxTokens:c().int().min(0).max(16e3).optional(),sources:l(Re).min(1).optional()}),ze=f({when:me,goto:o()}),Be=f({file:o().min(1),minBytes:c().int().positive().optional(),sniff:Te.optional(),requireChange:u().optional(),artifact:u().optional(),goto:o().optional()}),Ve=f({file:o().min(1).describe(`Path relative to the selected drawer root.`),artifact:u().optional().describe(`True for the artifacts drawer; false/omitted for the project workspace.`)}),He=t([`workspace`,`artifact`,`task-note`]),Ue=t([...He.options,`none`]),We=f({disallowToolsets:l(o().trim().min(1)).min(1).optional(),disallowBuiltinToolsets:l(o().trim().min(1)).min(1).optional(),outputMedium:Ue.optional(),additionalOutputMedia:l(He).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`"})}),x=t(oe),S=f({id:o().min(1),name:o().min(1),description:o().optional(),prompt:o().optional(),suggestedGezelId:o().optional(),suggestedRole:o().optional(),capabilityFloor:x.optional(),retrieval:b.optional(),toolPolicy:We.optional(),assignee:_.optional(),onEnter:v.optional(),onExit:v.optional(),consumes:l(Ve).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:Be.optional(),gate:Ae.optional(),next:o().optional(),branches:l(ze).optional(),terminal:u().optional(),spawnFanout:u().optional()}),C=f({overFile:o().min(1),overArtifact:u().optional(),itemsPath:o().optional(),entryStepId:o().optional(),steps:l(S).min(1)});function Ge(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=Me(r.gate);r.terminal&&e.at===`activation`&&t.push(`step "${r.id}" is terminal but also has an activation gate`);for(let e of Ne(r.gate))n.has(e)||t.push(`step "${r.id}" gate route "${e}" missing from steps`)}}return t}function Ke(e,t){for(let n of Ge(e))t.addIssue({code:h.custom,message:n,path:n.startsWith(`entryStepId`)?[`entryStepId`]:[`steps`]});for(let n of Xe(e))t.addIssue({code:h.custom,message:n,path:[`steps`]})}var w=d(`kind`,[f({kind:s(`github`)}),f({kind:s(`non-main-branch`)})]),T=d(`kind`,[f({kind:s(`external-services`),reason:o().optional()})]),E=f({scheduled:t([`supported`,`recommended`]).optional(),nightShift:t([`supported`,`recommended`]).optional()}),D=f({toolsetId:o().min(1),sourceId:o().optional(),minVersion:o().optional(),optional:u().optional(),autoAllow:u().optional(),reason:o().optional()}),qe=f({scope:t([`script`,`npx`]),name:o().min(1),args:l(o()).optional(),reason:o().optional(),optional:u().optional()}),O=f({typeId:o().min(1),sourceId:o().optional(),optional:u().optional(),reason:o().optional()}),Je=64*1024,Ye=256*1024,k=p(y,o().min(1).max(Je)).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 ${Ye}`})}),A=f({name:o().min(1),url:o().url().regex(/^https?:\/\//i,`basedOn.url must use http or https`)});function Xe(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`,ge(t.onEnter)),r(t.id,`onExit`,ge(t.onExit)),t.gate&&r(t.id,`gate`,Me(t.gate).scripts);return t}var Ze=f({id:o().min(1),name:o().min(1),description:o().optional(),version:o().optional(),basedOn:A.optional(),plan:o().optional(),defaultAssignee:_.optional(),steps:l(S).min(1),entryStepId:o().min(1),triggers:l(o()).optional(),hooks:l(Ie).optional(),paramSchema:p(o(),a()).optional(),command:o().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:l(w).optional(),recommends:l(T).optional(),runModes:E.optional(),toolsets:l(D).optional(),commands:l(qe).optional(),connectors:l(O).optional(),scripts:k.optional(),spawn:C.optional(),diffpackCapable:u().optional(),capabilityFloor:x.optional(),createdAt:o(),updatedAt:o()}).superRefine(Ke),Qe=t([`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`]),$e=f({path:o().min(1),kind:Qe.optional(),minBytes:c().int().positive().optional(),maxAttempts:c().int().positive().optional(),artifact:u().optional(),requireChange:u().optional(),execute:u().optional(),columns:l(o().min(1)).min(1).optional(),minRows:c().int().positive().optional()}),et=f({id:o().optional(),name:o().min(1),description:o().optional(),prompt:o().optional(),suggestedGezelId:o().optional(),suggestedRole:o().optional(),capabilityFloor:x.optional(),retrieval:b.optional(),toolPolicy:We.optional(),assignee:_.optional(),onEnter:v.optional(),onExit:v.optional(),consumes:l(Ve).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:Be.optional(),gate:Ae.optional(),deliverable:$e.optional(),next:o().optional(),branches:l(ze).optional(),terminal:u().optional(),spawnFanout:u().optional()});f({id:o().optional(),name:o().min(1),description:o().optional(),basedOn:A.optional(),plan:o().optional(),defaultAssignee:_.optional(),steps:l(et).min(1),entryStepId:o().optional(),paramSchema:p(o(),a()).optional(),command:o().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:l(w).optional(),recommends:l(T).optional(),runModes:E.optional(),toolsets:l(D).optional(),scripts:k.optional()}),f({name:o().min(1).optional(),description:o().nullable().optional(),basedOn:A.nullable().optional(),plan:o().nullable().optional(),defaultAssignee:_.nullable().optional(),steps:l(et).min(1).optional(),entryStepId:o().optional(),paramSchema:p(o(),a()).nullable().optional(),command:o().regex(/^[a-z][a-z0-9-]*$/).nullable().optional(),requirements:l(w).nullable().optional(),recommends:l(T).nullable().optional(),runModes:E.nullable().optional(),toolsets:l(D).nullable().optional(),scripts:k.nullable().optional()}),f({craftbooks:l(f({id:o(),name:o(),description:o().optional(),version:o().optional(),basedOn:A.optional(),source:t([`bundled`,`local`,`project`]),stepCount:c().int().nonnegative()}))}),f({installedBy:s(`project-type`),typeId:o(),typeVersion:o(),bookVersion:o(),contentHash:o(),installedAt:o()});var tt=f({id:o(),name:o(),description:o().optional(),source:t([`bundled`,`local`,`project`]),version:o().optional(),basedOn:A.optional(),stepCount:c().int().nonnegative(),tags:l(o()).optional(),triggers:l(o()).optional(),score:c(),semantic:c().optional(),lexical:c()});f({suggestions:l(tt)}),f({craftbook:Ze}),f({after:o().optional(),before:o().optional(),index:c().int().nonnegative().optional()}),f({id:o().optional(),name:o().min(1),description:o().optional(),basedOn:A.optional(),plan:o().optional(),entryStepId:o().optional(),triggers:l(o()).optional(),command:o().regex(/^[a-z][a-z0-9-]*$/).optional(),defaultAssignee:_.optional(),requirements:l(w).optional(),recommends:l(T).optional(),runModes:E.optional(),toolsets:l(D).optional(),commands:l(qe).optional(),connectors:l(O).optional(),paramSchema:p(o(),a()).optional(),hooks:l(Ie).optional(),steps:l(et).min(1),spawn:C.optional(),diffpackCapable:u().optional(),capabilityFloor:x.optional(),scripts:k.optional(),version:o().optional(),releasedAt:o().optional(),minGezelVersion:o().optional()});var nt=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.`}}),rt=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.`}}),it=[`cap`,`beanie`,`kerchief`,`straw`,`newsboy`,`hood`],at=[`scarf`,`apron`,`collar`,`turtleneck`],ot=[`halo`,`short`,`bob`,`medium`,`long`,`extra-long`,`bun`,`braids`,`shaved`,`bald`],st=[`straight`,`side-swept`,`curtain`,`short`],ct=[`none`,`center`,`left`,`right`],lt=`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(`.`),ut=[`beard`,`mustache`],dt=[`freckles`,`mole`],ft=[`plain`,`buttons`,`stripes`,`sash`,`yoke`,`twotone`],pt=[`smile`,`wider`,`neutral`,`wink`,`sleepy`];function mt(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 ht=n(mt,f({key:o().min(1),name:o(),bodyShape:t(nt),figureScale:t(rt),skin:o(),skin2:o(),hair:o(),hairShape:t(ot),bangs:t(st).nullable().optional().default(null),hairPart:t(ct).optional().default(`none`),hat:t(it).nullable().optional().default(null),dress:t(at).nullable().optional().default(null),accessory:t(lt).nullable().optional().default(null),facialHair:t(ut).nullable().optional().default(null),mark:t(dt).nullable().optional().default(null),expression:t(pt).optional().default(`smile`),shirt:o(),shirtAccent:o(),shirtPattern:t(ft).optional().default(`plain`)})),j=t([`default`,`acceptEdits`,`plan`,`bypassPermissions`]),gt=t([`plan`,`edit`,`reviewed`,`full`]),_t=m([gt,t([`default`,`acceptEdits`,`bypassPermissions`])]),vt=/^[A-Za-z0-9@][A-Za-z0-9@._-]{0,199}$/,yt=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 bt(e){if(typeof e!=`string`||!vt.test(e))return!1;let t=(e.split(`.`)[0]??``).toUpperCase();return!yt.has(t)}var xt=o().refine(bt,{message:`must be a portable single-segment entity id`}),M=o().min(1).describe(`Canonical tuning profile id.`),St=f({day:o().regex(/^\d{4}-\d{2}-\d{2}$/),kind:t([`fact`,`decision`,`pref`,`status`]),excerpt:o().min(1).max(400)}),Ct=f({id:o(),kind:s(`trait`),title:o().min(1).max(80),traitText:o().min(1).max(200),evidence:l(St).min(1).max(3)}),wt=d(`type`,[f({type:s(`profile`),profile:M}),f({type:s(`temperature`),delta:m([s(.1),s(-.1)])})]),Tt=d(`kind`,[Ct,f({id:o(),kind:s(`tuning`),title:o().max(80),description:o().max(300),action:wt}),f({id:o(),kind:s(`cosmetic`),title:o().max(80),cosmeticId:o()})]),Et=f({toLevel:c().int().min(2),proposals:l(Tt).min(1).max(5),createdAt:o()}),Dt=f({memoryXp:c().int().nonnegative().default(0),lessonsXp:c().int().nonnegative().default(0),taskXp:c().int().nonnegative().default(0),consultXp:c().int().nonnegative().default(0)}),Ot=f({traitId:o(),text:o(),level:c().int(),adoptedAt:o(),evidence:l(St),removedAt:o().optional()}),kt=f({kind:t([`trait`,`tuning`,`cosmetic`]),title:o(),traitText:o().optional(),level:c().int(),declinedAt:o()}),At=f({version:s(1).default(1),level:c().int().min(1).default(1),xp:c().int().nonnegative().default(0),signals:Dt.prefault({}),lastComputedAt:o().optional(),pendingLevelUp:Et.optional(),adoptedTraits:l(Ot).default([]),declinedProposals:l(kt).default([]),unlockedCosmetics:l(f({id:o(),at:o()})).default([])}),jt=f({level:c().int().min(1),pending:u().optional()}),Mt=t([`auto`,`none`,`mmap`,`mlock`,`mmap+mlock`,`dio`]),Nt=t([`on`,`auto`,`off`]),Pt=f({llamaCppLoadMode:Mt.optional(),llamaCppLazyMode:Nt.optional(),llamaCppReasoningPreserve:u().optional(),llamaCppNCpuFfn:c().int().min(0).optional()}),Ft=f({llamaCppMlock:u().nullable().optional(),llamaCppLoadMode:Mt.nullable().optional(),llamaCppLazyMode:Nt.nullable().optional(),llamaCppReasoningPreserve:u().nullable().optional(),llamaCppNCpuFfn:c().int().min(0).nullable().optional()}),It=f({multiplier:c().min(0).max(5).describe(`DRY penalty strength. 0 disables. 0.8 is a reasonable default.`),base:c().min(0).max(5).optional().describe(`Base of the exponential penalty for repeated tokens. Default 1.75.`),allowedLength:c().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).`),Lt=f({probability:c().min(0).max(1).describe(`Probability of triggering XTC on any given step.`),threshold:c().min(0).max(1).describe(`Minimum top-token probability for XTC to fire.`)}).describe(`XTC sampler (llama.cpp only).`),Rt=f({temperature:c().min(0).max(2).optional().describe(`Sampling temperature. 0 = greedy. Most reasoning models want 0.6–1.0.`),topP:c().min(0).max(1).optional().describe(`Nucleus sampling. 0.95 is the common default for Qwen, Gemma, Nemotron.`),topK:c().int().min(0).max(1e3).optional().describe(`Top-k cutoff. 20 for Qwen think, 64 for Gemma, 1 for greedy-on-instruct.`),minP:c().min(0).max(1).optional().describe(`Min-p cutoff (llama.cpp / MLX / Ollama). Qwen recommends 0.`),maxTokens:c().int().positive().optional().describe(`Per-turn output token cap. Maps to num_predict / max_tokens / n_predict.`),seed:c().int().optional().describe(`RNG seed. Unset / negative = random. Best-effort determinism on cloud.`),repetitionPenalty:c().min(0).max(3).optional().describe(`Local engines (Ollama / llama.cpp / MLX): repeat_penalty. 1.0 = off, 1.1 = mild.`),repetitionContext:c().int().positive().optional().describe("Local engines: window size for repetition penalty (`repeat_last_n`)."),frequencyPenalty:c().min(-2).max(2).optional().describe(`Cloud (OpenAI) and Ollama / llama.cpp: penalize repeated tokens by frequency.`),presencePenalty:c().min(-2).max(2).optional().describe(`Cloud (OpenAI) and Ollama / llama.cpp: penalize any reused token.`),dry:It.optional(),xtc:Lt.optional()}).describe(`Sampling parameters applied per-request.`),zt=f({effort:t([`low`,`medium`,`high`]).optional().describe("Cloud reasoning effort. Maps to OpenAI `reasoning.effort` and Anthropic `thinking.budget_tokens` tiers."),thinkingBudget:c().int().positive().optional().describe("Explicit thinking-token budget (Anthropic `thinking.budget_tokens`, Nemotron `reasoning_budget`). Wins over `effort` when both set."),enableThinking:u().optional().describe(`Chat-template toggle for dual-mode models (Qwen3+, Nemotron Nano/Super). Implicit on cloud thinking models.`),templateKwargs:p(o(),m([o(),c(),u()])).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.`),Bt=f({responseFormat:t([`text`,`json_object`]).optional().describe("Output mode. `text` = freeform (default). `json_object` = enforce JSON."),jsonSchema:a().optional().describe(`Pin output to a JSON Schema (OpenAI strict mode, llama.cpp --json-schema).`),grammar:o().optional().describe(`llama.cpp GBNF grammar. Last-resort structured-output knob.`)}).describe(`Structured-output controls.`),Vt=f({enableThinkingTag:o().optional().describe("User-prompt tag that enables thinking for this turn (e.g. `/think`)."),disableThinkingTag:o().optional().describe("User-prompt tag that disables thinking for this turn (e.g. `/no_think`).")}).describe(`Per-turn reasoning toggle tags.`),Ht=f({llamaCpp:f({nGpuLayers:c().int().min(-1).optional().describe("`--n-gpu-layers` override. -1 = all. Unset = b9843 `auto`/`--fit`."),cpuMoe:u().optional().describe("`--cpu-moe`: keep ALL MoE experts in system RAM (attention/dense on GPU)."),nCpuMoe:c().int().min(0).optional().describe("`--n-cpu-moe N`: keep the first N layers’ MoE experts in RAM. Partial split."),nCpuFfn:c().int().min(0).optional().describe("`--n-cpu-ffn N`: keep the first N layers’ dense FFN weights in RAM. 0 disables the hardware planner."),loadMode:Mt.optional().describe("llama.cpp v0.4.0 `--load-mode` override for this model."),lazyMode:Nt.optional().describe(`llama.cpp v0.4.0 on-demand tensor loading mode.`),cacheReuse:c().int().min(0).optional().describe("`--cache-reuse N` prefix-KV reuse chunk. 0 = disable. Unset inherits the global default."),swaFull:u().optional().describe("`--swa-full`: full-size SWA cache (Gemma family)."),flashAttn:t([`on`,`off`,`auto`]).optional().describe("`--flash-attn` mode override for this model."),ubatchSize:c().int().positive().optional().describe("`--ubatch-size` (inner microbatch) override for this model."),contextSize:c().int().positive().optional().describe(`Per-turn context ceiling (tokens) this model launches with. Capped by GGUF train ctx.`),chatTemplate:o().min(1).optional().describe("`--chat-template` override for GGUFs whose embedded Jinja template is incompatible with llama.cpp tool parsing."),threads:c().int().positive().optional().describe("`--threads` override."),batchSize:c().int().positive().optional().describe("`--batch-size` override."),spec:f({type:t([`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:u().optional().describe("VERIFIED capability metadata: this model’s target or companion GGUF carries MTP tensors. Does not enable `draft-mtp` by itself."),draftModelId:o().optional().describe("Catalog id / path of the draft model for `draft-simple`."),nMax:c().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.`),Ut=f({sampling:Rt.optional(),samplingWhenThinking:Rt.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:zt.optional(),output:Bt.optional(),toolChoice:t([`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:Vt.optional()}).describe(`Per-model sampling, reasoning, and output defaults (without profiles).`),Wt=Ut.extend({engine:Ht.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:p(M,Ut.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.`),Gt=/^[a-z0-9](?:[a-z0-9._~-]*[a-z0-9])?$/,Kt=String.raw`(?:0|[1-9]\d*)`,qt=String.raw`(?:${Kt}|[xX*])`,Jt=String.raw`${qt}(?:\.${qt}){0,2}`,Yt=String.raw`[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*`,Xt=String.raw`(?:-${Yt})?(?:\+${Yt})?`,Zt=new RegExp(String.raw`^(?:\^|~|>=|<=|>|<|=)?v?${Jt}${Xt}$`),Qt=new RegExp(String.raw`^v?${Jt}${Xt}\s+-\s+v?${Jt}${Xt}$`),$t=/^[a-z][a-z0-9._-]{0,127}$/;function en(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&&Gt.test(t[0])&&Gt.test(t[1])}return!e.includes(`/`)&&Gt.test(e)}function tn(e){if(typeof e!=`string`||e.length===0||e.length>128||e!==e.trim())return!1;if($t.test(e)||Qt.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=>Zt.test(e))})}var nn=o().refine(en,{message:`must be a lowercase npm registry package name (for example zod or @types/node)`}),N=o().refine(tn,{message:`must be a registry dist-tag or semver range`}),rn=f({package:nn,version:N.optional()}).strict(),an=f({package:nn,version:N,decision:t([`install`,`always`,`decline`])}),on=f({selectedChoices:l(c().int().min(0)).optional(),writeIn:o().optional(),declined:u().optional(),silentSkip:u().optional(),npmInstallDecisions:l(an).optional(),at:o()}),sn=f({package:nn,version:N}),cn=t([`script`,`npx`]),ln=f({path:o().min(1),sha256:o().regex(/^[a-f0-9]{64}$/)}),un=f({kind:s(`command-approval`),scope:cn,name:o().min(1),body:o().optional(),args:l(o()).optional(),inputFiles:l(ln).max(128).optional()}),dn=f({kind:s(`tool-permission`),toolName:o(),toolInput:p(o(),a())}),fn=f({label:o().min(1),description:o().optional()}),pn=f({kind:s(`claude-user-question`),header:o().optional(),options:l(fn),questionIndex:c().int().min(0),questionCount:c().int().min(1)}),mn=f({kind:s(`toolset-install-approval`),toolsetId:o(),sourceId:o(),version:o(),targetProjectId:o(),craftbookId:o()}),hn=f({kind:s(`image-generation-approval`),provider:o(),model:o(),promptPreview:o(),estimatedSize:o().optional()}),gn=f({kind:s(`video-generation-approval`),provider:o(),model:o(),promptPreview:o(),estimatedSize:o().optional()}),_n=f({kind:s(`schedule-approval`),typeId:o(),craftbookId:o(),runMode:t([`scheduled`,`night-shift`]).optional(),cron:o(),overlap:t([`skip`,`queue`,`concurrent`]).optional()}),vn=f({kind:s(`night-shift-review`),windowKey:o(),tasksCompleted:c(),reports:l(f({projectId:o(),path:o(),title:o().optional(),actionCount:c()}))}),yn=t([`gate_exhausted`,`gate_plateau`,`gate_unsatisfiable`,`gate_infrastructure`,`step_exit_infrastructure`,`step_stalled`,`budget_exhausted`]),bn=f({kind:s(`task-paused`),taskRef:o(),stepId:o().optional(),reason:yn}),xn=d(`kind`,[f({kind:s(`npm-install-approval`),packages:l(sn).min(1)}),un,dn,pn,mn,hn,gn,_n,vn,bn]),Sn=f({id:o(),projectId:o(),gezelId:o(),sessionId:o(),prompt:o().min(1),choices:l(o()).max(20).optional(),allowWriteIn:u().optional(),multiSelect:u().optional(),taskRef:o().optional(),documentPath:o().optional(),intent:xn.optional(),createdAt:o(),answer:on.optional()}),Cn=f({make:o().optional(),model:o().optional(),lensModel:o().optional(),dateTimeOriginal:o().optional(),orientation:c().int().min(1).max(8).optional(),software:o().optional(),imageDescription:o().optional()}),wn=f({format:t([`png`,`jpeg`,`gif`,`webp`,`svg`,`unknown`]),width:c().int().positive().optional(),height:c().int().positive().optional(),byteLength:c().int().nonnegative(),sha256:o().regex(/^[a-f0-9]{64}$/),pngText:p(o(),o()).optional(),exif:Cn.optional(),gps:f({lat:c(),lon:c()}).optional(),gpsRedacted:u().optional(),likelyScreenshot:u().optional()}),Tn=t([`describe`,`ocr`,`ui`,`extract`]),En=t([`auto`,`describe`,`ocr`,`ui`,`extract`]);f({schemaVersion:s(1),sha256:o().regex(/^[a-f0-9]{64}$/),meta:wn,modes:l(Tn).min(1),description:o().optional(),ocrText:o().optional(),structured:f({templateId:o().optional(),data:a()}).optional(),engine:t([`llama-cpp`,`mlx`,`mock`,`none`]),modelId:o(),status:t([`ok`,`partial`,`failed`,`static-only`]),failureReason:o().optional(),durationMs:c().int().nonnegative(),at:o()});var Dn=f({ref:o(),sha256:o().regex(/^[a-f0-9]{64}$/),digest:o(),modelId:o(),modes:l(Tn),status:t([`ok`,`partial`,`failed`,`static-only`]),at:o()});f({artifactPath:o().min(1).optional(),data:o().min(1).optional(),mimeType:o().optional(),mode:En.default(`auto`),schema:a().optional(),model:o().optional()}),f({state:t([`ok`,`no-model`,`not-configured`,`error`]),modelId:o().optional(),detail:o().optional()});var On=m([f({type:s(`progress`),bytesWritten:c().int().nonnegative(),totalBytes:c().int().nonnegative().optional()}),f({type:s(`error`),error:o()}),f({type:s(`done`),id:o()})]);f({models:l(f({id:o(),name:o(),description:o(),license:o(),approxSizeBytes:c().int().nonnegative(),recoScore:c()}))}),f({models:l(f({id:o(),name:o(),approxSizeBytes:c().int().nonnegative(),installedAt:o(),weightsPath:o().optional(),mmprojPath:o().optional()}))});var kn=f({sessionId:o(),gezelId:o()}),An=kn.extend({kind:t([`delegation`,`consultation`,`task-entry`,`task-handoff`])}),jn=t([`image_generation`,`video_generation`,`image_recognition`]),Mn=t([`preparing`,`recall`,`provider`]),Nn=f({startedAt:c(),phase:Mn,phaseStartedAt:c(),providerRequestsStarted:c().int().nonnegative(),streamedContentChars:c().int().nonnegative(),toolCalls:c().int().nonnegative(),fileMutations:c().int().nonnegative()}),Pn=f({sessionId:o(),gezelId:o(),projectId:o(),inflight:u(),turnsStarted:c().int().nonnegative(),providerRequestsStarted:c().int().nonnegative(),deltaChunks:c().int().nonnegative(),streamedContentChars:c().int().nonnegative(),wirePulses:c().int().nonnegative(),heartbeats:c().int().nonnegative(),enginePhaseEvents:c().int().nonnegative(),generationSpurts:c().int().nonnegative(),toolCalls:c().int().nonnegative(),toolArgChars:c().int().nonnegative(),fileMutations:c().int().nonnegative(),gpuEvents:c().int().nonnegative(),gpuTaskActive:jn.nullable(),lastStreamActivityAt:c().nullable(),lastToolActivityAt:c().nullable(),lastMutationAt:c().nullable(),lastGpuActivityAt:c().nullable(),lastProgressAt:c().nullable(),currentTurn:Nn.nullable()});f({version:s(1),capturedAt:c(),sessions:l(Pn)});var P=t([`copilot`,`openai`,`anthropic`,`anthropic-cli`,`codex-cli`,`ollama`,`llama-cpp`,`mlx`,`ds4`,`remote`]),Fn=t([`male`,`female`,`non-binary`]),In=f({tool:o().min(1),promptKey:o().min(1).default(`prompt`),defaults:p(o(),a()).optional()}),Ln=f({id:o(),text:o().min(1).max(200),adoptedAt:o(),source:t([`levelup`,`manual`]).optional()}),Rn=f({frontmatter:f({id:xt.optional(),name:o(),description:o().optional(),role:o().optional(),roleBasedName:o().optional(),gender:Fn.optional(),model:o().optional(),provider:P.optional(),reasoningEffort:o().optional(),tuning:Wt.optional(),tuningProfile:M.optional(),suggestedTuningProfile:M.optional(),tools:l(o()).optional(),tags:l(o()).optional(),fixedFunction:In.optional(),numCtx:c().int().positive().optional(),autoRecall:u().optional(),retrieval:b.optional(),font:o().optional(),voice:o().optional(),templateId:o().optional(),templateVersion:o().optional(),sandboxCopilot:u().optional(),claudePermissionMode:j.optional(),codexPermissionMode:_t.optional(),iconOverride:u().optional(),traits:l(Ln).max(8).optional(),recognition:t([`auto`,`always`,`off`]).optional()}),sections:l(f({heading:o(),template:o().optional(),params:p(o(),o()).optional(),body:o()})),source:o()}),zn=f({id:xt,name:o(),description:o().optional(),role:o().optional(),roleBasedName:o().optional(),gender:Fn.optional(),model:o().optional(),provider:P.optional(),reasoningEffort:o().optional(),tuningProfile:M.optional(),suggestedTuningProfile:M.optional(),numCtx:c().int().positive().optional(),autoRecall:u().optional(),retrieval:b.optional(),font:o().optional(),voice:o().optional(),templateId:o().optional(),templateVersion:o().optional(),sandboxCopilot:u().optional(),claudePermissionMode:j.optional(),codexPermissionMode:_t.optional(),fixedFunction:In.optional(),icon:o().optional(),poppetje:ht.optional(),iconOverride:u().optional(),recognition:t([`auto`,`always`,`off`]).optional(),scope:t([`global`,`project`]).optional(),storageScope:t([`user`,`machine-shared`]).optional(),traits:l(Ln).optional(),growth:jt.optional(),updatedAt:o()});zn.extend({parsed:Rn,about:o(),toolsMd:o().nullable().default(null)});var Bn=f({path:o(),mimeType:o()}),Vn=f({path:o(),mimeType:o(),durationSeconds:c().optional(),voice:o().optional()}),Hn=f({path:o(),mimeType:o(),posterPath:o().optional()}),Un=f({id:o(),name:o(),status:t([`done`,`active`,`pending`])}),Wn=d(`kind`,[f({kind:s(`craftbook-start`),craftbookId:o(),craftbookName:o(),taskRef:o(),projectId:o(),status:o(),activeStepId:o().optional(),steps:l(Un),reused:u().optional(),recommendsExternalServices:f({reason:o().optional()}).optional()}),f({kind:s(`task-step-advance`),craftbookId:o(),craftbookName:o(),taskRef:o(),projectId:o(),status:o(),completedStepId:o(),completedStepName:o().optional(),activeStepId:o().optional(),activeStepName:o().optional(),steps:l(Un)})]),Gn=f({name:o(),at:o().optional(),durationMs:c(),success:u(),errorMessage:o().optional(),path:o().optional(),paths:l(o()).optional(),argsSummary:o().optional(),argsFull:o().optional(),resultText:o().optional(),resultTruncated:u().optional(),images:l(Bn).optional(),audios:l(Vn).optional(),videos:l(Hn).optional(),diff:o().optional(),addedLines:c().int().nonnegative().optional(),removedLines:c().int().nonnegative().optional(),card:Wn.optional(),afterReasoningChars:c().int().min(0).optional()}),Kn=f({kind:s(`external`),appId:o().min(1),appName:o().min(1),externalConversationId:o().min(1),readOnly:s(!0),workingDirectory:o().optional(),projectHint:o().optional()}),qn=f({kind:t([`artifact`,`workspace`]),path:o()}),Jn=f({removedCount:c().int().nonnegative(),contextWindow:c().int().positive(),estimatedTokensBefore:c().int().nonnegative(),compactionCount:c().int().positive(),autoCompactRatio:c().positive().max(1)}),F=f({role:t([`user`,`assistant`]),content:o(),at:o(),from:f({gezelId:o(),gezelName:o(),sessionId:o().optional(),kind:t([`delegation`,`consultation`,`task-entry`,`task-handoff`]).optional()}).optional(),referencedFiles:l(qn).optional(),referencedArtifacts:l(o()).optional(),referencedTasks:l(o()).optional(),retrieval:f({hits:l(f({source:Re,projectId:o().optional(),path:o().optional(),line:c().int().positive().optional(),lineEnd:c().int().positive().optional(),score:c()}))}).optional(),toolCalls:l(Gn).optional(),intents:l(f({label:o(),afterChars:c().int().min(0)})).optional(),pendingQuestionId:o().optional(),synthetic:t([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),contextCompaction:Jn.optional(),hidden:u().optional(),nudge:u().optional(),draftId:o().optional(),origin:t([`system`]).optional(),warnings:l(o()).optional(),reasoning:o().optional(),reasoningDurationMs:c().int().nonnegative().optional(),attemptedToolCalls:l(f({body:o(),reason:o().optional()})).optional(),recognizedImages:l(Dn).optional()}),Yn=f({code:o().max(64).optional(),engine:o().max(64).optional(),incidentId:o().max(64).optional(),panicKind:o().max(64).optional(),exitCode:c().int().nullable().optional(),signal:o().max(32).nullable().optional(),diagnostics:p(o(),m([o(),c(),u()])).optional()}),Xn=d(`type`,[f({type:s(`delta`),content:o()}),f({type:s(`reasoning_delta`),content:o()}),f({type:s(`complete`),message:F}),f({type:s(`user_message_pending`),preview:o()}),f({type:s(`user_message`),message:F}),f({type:s(`tool`),name:o(),at:o().optional(),durationMs:c(),success:u(),errorMessage:o().optional(),path:o().optional(),paths:l(o()).optional(),argsSummary:o().optional(),argsFull:o().optional(),resultText:o().optional(),resultTruncated:u().optional(),images:l(Bn).optional(),audios:l(Vn).optional(),videos:l(Hn).optional(),diff:o().optional(),addedLines:c().int().nonnegative().optional(),removedLines:c().int().nonnegative().optional(),card:Wn.optional()}),f({type:s(`error`),error:o(),errorDetail:Yn.optional()}),f({type:s(`cancelled`)}),f({type:s(`done`)}),f({type:s(`queued`),aheadOf:c().int().min(0)}),f({type:s(`wire_pulse`)}),f({type:s(`tool_args_delta`),name:o(),content:o()}),f({type:s(`heartbeat`),label:o().optional()}),f({type:s(`warning`),message:o(),action:f({kind:s(`settings`),section:t([`llamaCpp`,`mlx`,`ds4`])}).optional()}),f({type:s(`intent`),label:o()}),f({type:s(`queue_enqueued`),queueId:o(),preview:o(),enqueuedAt:o(),nudge:u().optional()}),f({type:s(`queue_removed`),queueId:o(),reason:t([`started`,`canceled`,`rejected`])}),f({type:s(`context_window`),numCtx:c().int().positive(),model:o(),autoCompactRatio:c().positive().max(1),estimatedTokens:c().int().nonnegative().optional()}),f({type:s(`context_warning`),estimatedTokens:c(),numCtx:c(),model:o(),reason:s(`compaction_failed`).optional()}),f({type:s(`context_compacted`),removedCount:c().int().nonnegative(),model:o(),numCtx:c().int().positive().optional(),estimatedTokensBefore:c().int().nonnegative().optional(),autoCompactRatio:c().positive().max(1).optional(),compactionCount:c().int().positive().optional(),mode:t([`between-turn`,`mid-turn`]).optional()}),f({type:s(`context_loop`),compactionsThisSend:c().int().positive(),reason:o()}),f({type:s(`keurmeester_intervention`),caseId:o(),gezelId:o(),gezelName:o(),action:o(),summary:o()}),f({type:s(`recall_applied`),hitCount:c(),query:o()}),f({type:s(`question_asked`),question:Sn}),f({type:s(`question_answered`),question:Sn}),f({type:s(`task_event`),eventId:o(),kind:o(),summary:o(),at:o(),taskRef:o().optional(),gezelId:o().optional()}),f({type:s(`growth_level_up`),gezelId:o(),gezelName:o(),toLevel:c().int()}),f({type:s(`engine_phase`),provider:t([`llama-cpp`,`mlx`,`ds4`]),phase:t([`starting`,`loading_model`,`prefill`,`generating`,`ready`]),activity:o().optional(),detail:o().optional(),progress:c().min(0).max(1).optional(),ttftMs:c().int().nonnegative().optional(),outputTokens:c().int().nonnegative().optional(),tokensPerSec:c().nonnegative().optional()}),f({type:s(`turn_stats`),provider:t([`llama-cpp`,`ollama`,`mlx`,`ds4`]),model:o().optional(),promptTokens:c().int().nonnegative(),completionTokens:c().int().nonnegative(),durationMs:c().int().nonnegative(),tokensPerSec:c().nonnegative().optional()}),f({type:s(`engine_stats`),provider:t([`llama-cpp`,`mlx`,`ds4`]),ramAllocBytes:c().nonnegative()}),f({type:s(`gpu_swap`),state:t([`started`,`progress`,`ended`]),task:jn,detail:o().optional(),prompt:o().optional(),progress:c().min(0).max(1).optional(),step:c().int().nonnegative().optional(),totalSteps:c().int().positive().optional(),secondsPerStep:c().nonnegative().optional()}),f({type:s(`awaiting_gezel`),state:t([`started`,`ended`]),targetGezelName:o()}),f({type:s(`project_created`),projectId:o(),name:o()}),f({type:s(`project_deleted`),projectId:o(),name:o()}),f({type:s(`gezel_created`),gezelId:o(),name:o()}),f({type:s(`prompt_draft_changed`),projectId:o(),gezelId:o(),draftId:o(),sessionId:o().nullable(),status:t([`draft`,`sent`]),deleted:u().optional(),updatedAt:o()}),f({type:s(`night_shift`),active:u(),source:t([`scheduled`,`manual`]).nullable()}),f({type:s(`meester_status`),state:t([`started`,`ended`,`failed`]),generatedAt:o().optional()}),f({type:s(`ambient_dashboard`),state:t([`started`,`ended`,`failed`]),generatedAt:o().optional(),filename:o().optional()}),f({type:s(`index_progress`),phase:t([`scan`,`shadow`,`enrich`,`review`,`digest`]),state:t([`started`,`progress`,`ended`]),projectId:o().optional(),detail:o().optional(),pending:c().int().nonnegative().optional(),gezelId:o().optional(),gezelName:o().optional()})]),Zn=f({sessionId:o(),gezelId:o(),projectId:o(),parentSession:An.optional(),handoffFrom:kn.optional(),sessionSource:Kn.optional(),event:Xn}),Qn=t(`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(`,`)),$n=f({id:o(),at:o(),kind:Qn,projectId:o().optional(),gezelId:o().optional(),summary:o(),details:p(o(),a()).optional()}),er=f({entryType:s(`session`),id:o(),gezelId:o(),projectId:o(),title:o(),createdAt:o(),lastActivityAt:o(),messageCount:c(),durationMs:c(),providerName:P,model:o().optional(),archived:u().optional()}),tr=d(`entryType`,[$n.extend({entryType:s(`event`)}),er]);f({projectId:o().optional(),gezelId:o().optional(),kinds:l(Qn).optional(),from:o().optional(),to:o().optional(),q:o().optional(),limit:c().int().positive().optional(),include:t([`events`,`entries`]).optional()}),f({entries:l(tr)});var I=t(`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(`.`)),nr=[`multilingual-e5-small@1`,`bge-small-en-v1.5@1`],rr=t([`machine-shared`,`user`]),ir=t([`gilde`,`file`,`url`]),ar=f({publisherId:g,catalogId:g,version:te,contentDigest:r,storageScope:rr});f({version:s(1),catalogs:l(f({ref:ar,enabled:u(),addedAt:o(),autoUpdate:u().optional(),source:ir.optional(),disabledReason:o().optional()}))}),f({version:s(1),catalogs:l(f({publisherId:g,catalogId:g,version:te,contentDigest:r,publishedAt:o(),bytes:c().int().nonnegative()}))}),f({publisherId:g,catalogId:g,version:te,expectedDigest:r});var or=f({mode:t([`inherit`,`selected`,`off`]),refs:l(f({publisherId:g,catalogId:g})).optional()}),sr=f({repo:o(),revision:o(),path:o()}),cr=f({publisherId:g,catalogId:g,name:o(),installedVersion:o(),availableVersion:o(),releasedAt:o(),archiveBytes:c().int().nonnegative(),contentDigest:r,huggingface:sr});f({source:s(`gilde`),checkedAt:o(),updates:l(cr)});var lr=t([`shared`,`profile`,`keyword-only`]);f({ref:ar,enabled:u(),addedAt:o(),disabledReason:o().optional(),mounted:u(),name:o().optional(),description:o().optional(),language:o().optional(),license:o().optional(),documents:c().int().nonnegative().optional(),chunks:c().int().nonnegative().optional(),sizeBytes:c().int().nonnegative().optional(),vectorCompatible:u().optional(),semanticSearch:lr.optional(),source:ir,updateAvailable:u(),availableVersion:o().optional()}),f({id:g,publisherId:g,name:o(),description:o(),tags:l(o()),language:o(),category:o().optional(),license:o().optional(),licenseUrl:o().optional(),version:o(),releasedAt:o(),formatVersion:o(),huggingface:sr,upstream:o().optional(),parquet:f({repo:o(),revision:o(),dir:o()}).optional(),sha256:r,archiveBytes:c().int().nonnegative(),uncompressedBytes:c().int().nonnegative(),documents:c().int().nonnegative(),chunks:c().int().nonnegative(),embeddingProfile:f({id:o(),modelRepo:o()}),topics:l(f({id:o(),name:o(),parentId:o().optional(),sortKey:o().optional()})),minGezelVersion:o().optional(),installed:f({version:o(),contentDigest:r,storageScope:rr,enabled:u(),updateAvailable:u()}).optional(),sharedOnDevice:u(),installing:u(),incompleteDownload:u()});var ur=t([`download`,`extract`,`embedder`]),dr=d(`type`,[f({type:s(`progress`),phase:ur,bytesDone:c().nonnegative(),bytesTotal:c().nonnegative()}),f({type:s(`verifying`)}),f({type:s(`retrying`),attempt:c().int(),maxAttempts:c().int(),delayMs:c().nonnegative(),reason:o()}),f({type:s(`done`),ref:ar,rootDir:o(),storageScope:rr,warning:o().optional()}),f({type:s(`error`),error:o(),mismatch:f({expected:r,actual:r}).optional()})]);f({id:o(),startedAt:o(),finished:u(),error:o().optional(),events:l(dr)}),f({jobId:o(),catalogId:g.optional(),startedAt:o(),phase:t([`download`,`verifying`,`extract`,`embedder`,`retrying`]),bytesDone:c().nonnegative(),bytesTotal:c().nonnegative()}),f({key:o().regex(/^[0-9a-f]{16}$/),bytes:c().int().nonnegative(),updatedAt:o(),resumable:u(),catalogId:g.optional(),name:o().optional(),archiveBytes:c().int().nonnegative().optional()}),f({source:d(`kind`,[f({kind:s(`file`),path:o().min(1)}),f({kind:s(`url`),url:o().url(),expectedSha256:o().regex(/^[0-9a-fA-F]{64}$/).optional()}),f({kind:s(`catalog`),id:g,version:o().optional(),placement:t([`auto`,`user`]).optional()})])}),f({enabled:u().optional(),autoUpdate:u().optional()}),f({id:g,parentId:g.nullable(),name:o(),description:o().nullable(),sortKey:o(),documentCount:c().int().nonnegative(),totalDocumentCount:c().int().nonnegative()});var fr=f({id:o(),title:o(),slug:o(),summary:o().nullable(),language:o(),topicId:o(),ordinal:c().int().nullable(),sourceUrl:o().nullable(),sourceRevision:o().nullable(),sourceUpdatedAt:o().nullable(),attribution:p(o(),o()).nullable(),meta:p(o(),a()).nullable()});f({documents:l(fr),total:c().int().nonnegative()}),fr.extend({markdown:o()}),f({path:o(),contentType:o(),sizeBytes:c().int().nonnegative(),sha256:r}),f({query:o().min(1),maxResults:c().int().min(1).max(50).optional(),catalogs:l(g).optional()});var pr=o().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)`}),mr=f({url:o().min(1),branch:o().optional(),checkoutDir:o().optional(),lastSyncedAt:o().optional(),defaultBranch:o().optional()}),hr=f({id:o().min(1),type:o().min(1),sourceId:o().optional(),version:o().optional(),displayName:o().optional(),corpusDir:o().optional(),config:p(o(),a()).default({}),cursor:a().optional(),disabled:u().optional(),lastSyncedAt:o().optional(),lastError:o().optional()}),gr=f({enabled:u().optional(),rapidIntervalMs:c().int().positive().optional(),slowIntervalMs:c().int().positive().optional(),recentActivityWindowMs:c().int().positive().optional(),rapidAttemptsBeforeBackoff:c().int().positive().optional(),firstNudgeGraceMs:c().int().nonnegative().optional()}),_r=f({lastNudgedAt:o().optional(),consecutiveRapidNudges:c().int().nonnegative().optional()}),vr=f({overview:u().optional(),tasks:u().optional(),approvals:u().optional(),workspace:u().optional(),artifacts:u().optional(),map:u().optional()}).strict(),yr=t([`auto`,`allow`,`deny`]),br=f({id:o(),version:o(),source:o(),params:p(o(),a()).optional(),appliedAt:o(),icon:I.optional()}),xr=f({path:o(),sha256:o(),typeVersion:o(),writtenAt:o()});f({schemaVersion:s(1),typeId:o(),typeVersion:o(),appliedAt:o(),seeds:l(xr).default([])});var Sr=t([`crew`,`solo`]),Cr=f({id:xt,name:o(),description:o().optional(),icon:I.optional(),workingDir:o().optional(),voormanGezelId:o().optional(),voormanAutoAssignedAt:o().optional(),gezelIds:l(o()).optional(),linkedProjectIds:l(xt).max(32).optional(),suggestedWorkDismissed:l(o()).optional(),properties:p(o(),o()).optional(),mode:Sr.optional(),leadLabel:o().optional(),leanProfile:u().optional(),indexingEnabled:u().optional(),nightlyFixesEnabled:u().optional(),workspaceTablesEnabled:u().optional(),knowledgeCatalogs:or.optional(),github:mr.optional(),connectors:l(hr).optional(),nudgeConfig:gr.optional(),nudgeState:_r.optional(),tabVisibility:vr.optional(),outputPaneVisible:u().optional(),managedWorkspaceWritePolicy:yr.optional(),allowGezelWrites:u().optional(),codexPermissionMode:gt.optional(),claudePermissionMode:j.optional(),status:t([`active`,`readonly`,`inactive`,`stable`]).optional(),archived:u().optional(),workspaceScriptTimeoutMs:c().int().min(3e4).max(30*6e4).optional(),grantedCredentials:l(o()).optional(),credentialAllowedOrigins:p(o(),l(pr)).optional(),projectTypeId:o().optional(),detectedProjectType:f({id:o(),score:c(),scannedAt:o()}).optional(),projectType:br.optional(),storageScope:t([`user`,`machine-shared`]).optional(),createdAt:o(),updatedAt:o()}),wr=f({name:o(),version:o()}),Tr=Cr.extend({packages:l(wr),about:o().optional(),missionObjectives:o().optional()});f({name:o(),path:o(),isDirectory:u(),mtimeMs:c().optional()});var Er=m([De,f({kind:s(`prometheusAlerts`),file:o().min(1),minRules:c().int().positive().optional(),maxPageAlerts:c().int().nonnegative().optional(),allowedSeverities:l(o().min(1)).optional(),requiredServices:l(o().min(1)).optional(),requiredRunbookUrls:l(o().min(1)).optional()}).strict(),f({kind:s(`nodeScriptPasses`),script:o().min(1),timeoutMs:c().int().positive().optional(),requiredOutput:l(f({pattern:o().min(1),flags:o().optional(),label:o().optional()}).strict()).optional()}).strict(),f({kind:s(`binaryDocument`),file:o().min(1),artifact:u().optional(),minBytes:c().int().positive().optional()}).strict()]),Dr=o().min(1).regex(/^[a-z0-9][a-z0-9-]*$/,`mock service ids are lowercase kebab-case`),Or=o().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`),kr=f({method:t([`GET`,`POST`,`PUT`,`PATCH`,`DELETE`]).default(`GET`),path:o().min(1),status:c().int().min(100).max(599).default(200),headers:p(o(),o()).optional(),body:a(),latencyMs:c().int().nonnegative().optional()}).strict(),Ar=d(`kind`,[f({kind:s(`http`),id:Dr,description:o().min(1),credential:f({name:o().regex(/^mock\.[a-z0-9][a-z0-9.-]*$/,`mock credentials are named mock.<service-id>`),authScheme:t([`bearer`,`basic`]).optional()}).strict(),routes:l(kr).min(1)}).strict(),f({kind:s(`webhook`),id:Dr,description:o().min(1),path:o().min(1).optional()}).strict(),f({kind:s(`cli`),id:Dr,description:o().min(1),shim:f({path:o().min(1),content:o()}).strict()}).strict(),f({kind:s(`mcp`),id:Dr,description:o().min(1),toolsetId:Or.optional(),tools:l(f({name:o().min(1),description:o().min(1),resultTemplate:a().optional(),resultSequence:l(a()).min(1).optional(),writeFixture:f({surface:t([`workspace`,`artifact`]),pathArgument:o().min(1),fixture:t([`minimal-pptx`,`minimal-docx`,`minimal-pdf`,`minimal-png`])}).strict().optional()}).strict()).min(1)}).strict()]),jr=f({path:o().min(1),content:o(),surface:t([`workspace`,`artifact`,`harness`]).optional(),modelInput:u().optional()}).strict(),Mr=f({name:o().min(1),role:o().min(1),description:o().optional(),about:o().optional()}).strict(),Nr=f({projectName:o().min(1),about:o().optional(),missionObjectives:o().optional(),managedWorkspaceWritePolicy:yr.optional(),files:l(jr).default([]),craftbookParams:p(o(),o()).optional(),worker:Mr.optional()}).strict(),Pr=f({path:o().min(1),kind:Qe,artifact:u().optional(),minBytes:c().int().positive().optional(),checks:l(Er).optional()}).strict(),Fr=f({service:Dr,minRequests:c().int().positive().optional(),requiredPaths:l(o().min(1)).optional(),forbiddenPaths:l(o().min(1)).optional(),requiredTools:l(o().min(1)).optional(),toolCalls:p(o().min(1),f({minCalls:c().int().nonnegative().default(1),maxCalls:c().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(),Ir=f({kind:Qn,minEntries:c().int().nonnegative().default(1),maxEntries:c().int().nonnegative().optional(),summaryPattern:o().min(1).optional(),flags:o().optional(),details:p(o(),m([o(),c(),u(),re()])).optional()}).strict(),Lr=f({summary:o().min(1),deliverables:l(Pr).optional(),checks:l(Er).optional(),taskNotes:f({minBytes:c().int().positive().optional(),checks:l(Er).optional(),requireCraftbookTask:u().optional()}).strict().optional(),taskGraph:f({checks:l(Er).optional(),requireCraftbookTask:u().optional(),requireTerminalStep:u().optional(),requireDraftRef:u().optional(),draft:f({status:t([`draft`,`paused`,`active`,`complete`,`canceled`]).optional(),minDescriptionBytes:c().int().positive().optional(),minOutcomes:c().int().positive().optional(),minSteps:c().int().positive().optional(),requireTerminalVerification:u().optional(),requireGatedBuildSteps:u().optional()}).strict().optional()}).strict().optional(),mocks:l(Fr).optional(),history:l(Ir).optional(),unchangedFixtures:l(o().min(1)).optional()}).strict(),Rr=f({artifact:f({path:o().min(1),kind:t([`html`,`markdown`,`yaml`,`typescript`,`json`,`text`])}).strict(),axes:l(f({name:o().min(1),description:o().min(1)}).strict()).min(1),contextNote:o().optional()}).strict();f({schemaVersion:s(1),title:o().min(1),objective:o().min(1),tags:l(o().min(1)).default([]),prompt:o().min(1),setup:Nr,mocks:l(Ar).default([]),success:Lr,rubric:Rr,qualityFocus:l(o().min(1)).default([]),extensions:p(o(),a()).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 zr=f({id:o().min(1),name:o().min(1),role:o().optional(),kind:t([`gezel`,`user`,`system`]),meester:u().optional(),poppetje:ht.optional()}).strict(),Br=f({screenshot:o().optional(),artifact:o().optional(),sessionFile:o().optional(),messageIndex:c().int().nonnegative().optional()}).strict(),L={at:o().min(1),actorId:o().optional(),sessionId:o().optional(),taskRef:o().optional(),excerpt:o().optional(),refs:Br.optional()},Vr=d(`kind`,[f({kind:s(`user-prompt`),...L}).strict(),f({kind:s(`reasoning`),...L,durationMs:c().nonnegative().optional()}).strict(),f({kind:s(`tool-call`),...L,name:o().min(1),argsSummary:o().optional(),success:u(),durationMs:c().nonnegative().optional(),path:o().optional(),count:c().int().positive().optional(),diffStats:f({addedLines:c().int().nonnegative(),removedLines:c().int().nonnegative()}).strict().optional()}).strict(),f({kind:s(`reply`),...L}).strict(),f({kind:s(`delegation`),...L,toActorId:o().min(1),toSessionId:o().optional(),delegationKind:t([`delegation`,`consultation`,`task-entry`,`task-handoff`]).optional()}).strict(),f({kind:s(`step-transition`),...L,stepId:o().min(1),stepName:o().optional(),phase:t([`activated`,`completed`,`gated`,`redriven`,`stalled`])}).strict(),f({kind:s(`gate-verdict`),...L,stepId:o().optional(),verdict:t([`pass`,`fail`]),attempt:c().int().positive().optional()}).strict(),f({kind:s(`artifact-produced`),...L,store:t([`workspace`,`artifact`]),path:o().min(1),bytes:c().int().nonnegative().optional(),count:c().int().positive().optional(),screenshotRef:o().optional()}).strict(),f({kind:s(`question`),...L,state:t([`asked`,`answered`]).optional()}).strict(),f({kind:s(`turn-aborted`),...L,reason:o().optional()}).strict(),f({kind:s(`note`),...L,stepId:o().optional()}).strict()]),Hr=f({trialId:o().min(1),scenarioId:o().min(1),modelId:o().min(1),startedAt:o().min(1),durationMs:c().nonnegative().optional(),success:u().optional(),reason:o().optional()}).strict(),Ur=f({craftbookId:o().min(1),craftbookVersion:o().min(1),testSpecHash:o().regex(/^[0-9a-f]{64}$/).optional(),modelId:o().min(1),recordedAt:o().min(1),durationMs:c().nonnegative().optional(),title:o().optional(),summary:o().optional()}).strict(),Wr=f({file:o().min(1).refine(e=>!e.includes(`..`)&&!e.startsWith(`/`)&&!/^[a-zA-Z]:/.test(e),{message:`file must be a transcript-dir-relative path`}),caption:o().optional(),sceneId:o().optional(),width:c().int().positive().optional(),height:c().int().positive().optional()}).strict(),Gr=f({droppedScenes:c().int().nonnegative(),truncatedExcerpts:c().int().nonnegative()}).strict();f({schemaVersion:c().int().positive(),trial:Hr.optional(),provenance:Ur.optional(),actors:l(zr),scenes:l(Vr),screenshots:l(Wr).optional(),budget:Gr,extensions:p(o(),a()).optional()}).strict().extend({provenance:Ur}),f({schemaVersion:c().int().positive(),trialId:o().min(1),scenarioId:o().min(1),modelId:o().min(1),startedAt:o().optional(),finishedAt:o().optional(),files:p(o(),o()).optional(),chatEvents:f({lines:c().int().nonnegative(),coalescedDeltas:c().int().nonnegative().optional(),gaps:l(f({from:o(),to:o()}).strict()).optional(),truncated:u().optional()}).strict().optional(),capture:p(o(),o()).optional()}).strict();var Kr=f({id:o().min(1),label:o().min(1),description:o().optional(),kind:t([`gezel`,`model`]).default(`model`),provider:o().min(1),gezelId:o().min(1).optional(),role:o().min(1).optional(),modelLabel:o().min(1).optional(),contextWindow:c().int().positive().optional(),supportsReasoning:u().optional(),supportsTools:u().optional()}),qr=t([`not-configured`,`configured`,`update-needed`,`conflict`,`unavailable`]),Jr=f({baseUrl:o().url(),listening:u(),port:c().int().nonnegative()}),Yr=f({state:qr,models:l(Kr),configuredModel:o().optional(),recommendedModel:o().optional(),reasons:l(o()),message:o().optional(),endpointsEnabled:u(),launchCommand:o().min(1),bridge:Jr,canConfigure:u(),canRemove:u(),canRepair:u()});Yr.extend({codexInstalled:u(),codexVersion:o().optional(),codexPath:o().optional(),profileName:o().min(1),profilePath:o().min(1),profileBackupPath:o().min(1).optional()}),f({model:o().min(1),backupConflictingProfile:u().optional()});var Xr=f({state:t([`not-installed`,`installed`,`stale`,`conflict`,`unsupported`]),path:o().min(1).optional(),canInstall:u(),canRemove:u(),canReplace:u(),message:o().optional()});Yr.extend({opencodeInstalled:u(),opencodeVersion:o().optional(),opencodePath:o().optional(),providerId:o().min(1),configPath:o().min(1),plugin:Xr,configBackupPath:o().min(1).optional(),pluginBackupPath:o().min(1).optional()}),f({model:o().min(1),backupConflictingConfig:u().optional()}),f({backupConflictingPlugin:u().optional()});var Zr=f({state:t([`not-installed`,`installed`,`stale`,`conflict`,`unsupported`]),path:o().min(1).optional(),agentDir:o().min(1).optional(),agentDirSource:t([`override`,`env`,`default`]).optional(),canInstall:u(),canRemove:u(),canReplace:u(),message:o().optional()});Yr.extend({piInstalled:u(),piVersion:o().optional(),piPath:o().optional(),providerId:o().min(1),configPath:o().min(1),extensionPath:o().min(1),extension:Zr,configBackupPath:o().min(1).optional(),extensionBackupPath:o().min(1).optional()}),f({model:o().min(1),backupConflictingConfig:u().optional()}),f({backupConflictingExtension:u().optional()});var Qr=f({id:o().min(1),label:o().min(1),product:t([`code`,`code-insiders`]),configPath:o().min(1)});Yr.extend({vscodeInstalled:u(),vscodeVersion:o().optional(),vscodePath:o().optional(),providerId:o().min(1),profiles:l(Qr).min(1),configuredProfileId:o().min(1).optional(),configPath:o().min(1),configBackupPath:o().min(1).optional()}),f({profileId:o().min(1),backupConflictingConfig:u().optional()});var $r=o().regex(/^\d{4}-\d{2}-\d{2}-\d{4,}$/),ei=t([`draft`,`sent`]),ti=f({id:$r,projectId:o(),gezelId:o(),sessionId:o().nullable(),taskRef:o().optional(),craftbookRef:o().optional(),scope:o().optional(),createdAt:o(),updatedAt:o(),status:ei,sentAt:o().optional(),sentSessionId:o().optional(),sentMessageAt:o().optional()}).extend({title:o(),hasFiles:u(),fileCount:c().int().nonnegative()});ti.extend({content:o()}),f({gezelId:o().min(1),sessionId:o().nullable().optional(),content:o().optional(),taskRef:o().optional(),craftbookRef:o().optional(),scope:o().optional()}),f({content:o()}),f({draft:ti.nullable(),deleted:u()}),f({gezelId:o().min(1).optional(),sessionId:o().nullable().optional(),taskRef:o().nullable().optional(),craftbookRef:o().nullable().optional(),scope:o().nullable().optional()}),f({sessionId:o().nullable().optional()}),f({drafts:l(ti)}),f({ok:s(!0),deleted:u()});var ni=f({keepSentDays:c().int().min(0).optional()}),ri=t([`AGENTS.md`,`CLAUDE.md`,`.github/copilot-instructions.md`]),ii=t([`primary`,`concat`]);f({schemaVersion:s(1).default(1),sourceFile:ri.optional(),mergeMode:ii.optional(),aboutHash:o().optional(),derivedAt:o().optional()});var ai=f({hash:o(),sourceFile:ri,mergeMode:ii.optional(),gezelId:o(),userEdited:u().optional()}),oi=f({hash:o(),sourceFile:o()}),si=f({hash:o(),craftbookId:o(),scriptNames:l(o()).default([]),userEdited:u().optional()});f({version:s(1).default(1),gezel:ai.optional(),about:oi.optional(),craftbooks:p(o(),si).default({})});var ci=f({name:o(),body:o(),confidence:c().min(0).max(1),sourceBlock:o(),origin:t([`static`,`llm`]).optional()}),li=f({role:o(),about:o()}),ui=f({skillSource:o(),sourceHash:o(),craftbook:Ze,scripts:l(ci).default([]),persona:li.optional(),notes:l(o()).optional(),createdAt:o()});f({version:s(1).default(1),items:l(ui).default([])});var di=t([`draft`,`paused`,`active`,`complete`,`canceled`]),fi=t([`skip`,`queue`,`concurrent`]),pi=f({expression:o(),lastTickAt:o().optional(),nextTickAt:o().optional(),overlap:fi.optional()}),mi=f({title:o().optional(),plan:o().optional(),description:o().optional(),context:p(o(),o()).optional()}),hi=f({count:c().int().positive(),variations:l(mi).optional(),materializedAt:o().optional()}),gi=f({count:c().int().positive(),variations:l(mi).optional()}),_i=f({enabled:u(),onceADay:u().optional(),lastRunDay:o().optional()}),vi=S.extend({createdAt:o(),completedAt:o().optional(),attemptCount:c().int().nonnegative().optional(),lastActivatedAt:o().optional(),onEnterCompletedAt:o().optional(),gateAttempts:c().int().nonnegative().optional(),gateProgressAttempts:c().int().nonnegative().optional(),lastGateReject:f({contentHash:o().optional(),messageFingerprint:o(),message:o(),at:o()}).optional(),redriveCount:c().int().nonnegative().optional(),lastRedriveAt:o().optional(),restartResumeCount:c().int().nonnegative().optional(),lastRestartResumeAt:o().optional(),gateAttemptHistory:l(f({at:o(),attempt:c().int().nonnegative(),contentHash:o().optional(),signatureHash:o(),messageFingerprint:o(),failedChecks:l(o()).optional(),remaining:c().int().nonnegative().optional(),frozen:u().optional()})).optional()}),yi=f({id:o().min(1),name:o().min(1),description:o().optional(),version:o().optional(),basedOn:A.optional(),plan:o().optional(),defaultAssignee:_.optional(),steps:l(vi).min(1),entryStepId:o().min(1),triggers:l(o()).optional(),hooks:l(Ie).optional(),paramSchema:p(o(),a()).optional(),toolsets:l(D).optional(),connectors:l(O).optional(),recommends:l(T).optional(),commands:l(qe).optional(),scripts:k.optional(),spawn:C.optional(),diffpackCapable:u().optional(),capabilityFloor:x.optional(),createdAt:o(),updatedAt:o(),renderedForTier:x.optional()}),bi=f({role:t([`main`,`spawn`]),catalogId:o(),version:o().optional(),sourceId:o().optional()}),xi=f({id:o(),text:o().min(1),met:u().optional(),evidence:o().optional(),verifiedAt:o().optional()}),Si=f({projectId:o(),num:c().int().positive(),ref:o(),title:o(),description:o().optional(),plan:o().optional(),outcomes:l(xi).optional(),status:di,assignee:_,assigneeAuto:u().optional(),craftbook:yi,spawnsCraftbook:yi.optional(),sourceCraftbookIds:l(bi).optional(),craftbookParams:p(o(),o()).optional(),spawnsCraftbookParams:p(o(),o()).optional(),activeStepId:o().optional(),parentTaskRef:o().optional(),launchSessionId:o().optional(),artifactDir:o().optional(),diffpackId:o().optional(),origin:d(`kind`,[f({kind:s(`project-type-schedule`),typeId:o(),scheduleKey:o()}),f({kind:s(`system-job`),jobId:o(),managedByGezelId:o().optional()}),f({kind:s(`boekwachter-issue`),issueRef:o().regex(/^BW-[1-9]\d*$/),path:o().min(1)}),f({kind:s(`craftbook-invocation`),key:o().regex(/^craftbook-root-v1:[a-f0-9]{64}$/)}),f({kind:s(`gezel-suggested-craftbook`),templateId:o(),suggestionKey:o()})]).optional(),cron:pi.optional(),nightShift:_i.optional(),fanout:hi.optional(),lastGateHandoff:f({fromStepId:o(),toStepId:o().optional(),message:o(),params:p(o(),a()).optional(),at:o()}).optional(),roleBasedNameOnlyMode:u().optional(),createdAt:o(),updatedAt:o(),createdBy:_});f({title:o().min(1),description:o().min(40),plan:o().optional(),outcomes:l(xi).optional(),assignee:_.optional(),status:t([`draft`,`active`]).optional(),craftbookId:o().optional(),craftbookSourceId:o().optional(),craftbookVersion:o().optional(),steps:l(et).optional(),entryStepId:o().optional(),craftbookParams:p(o(),o()).optional(),spawnsCraftbookParams:p(o(),o()).optional(),spawnsCraftbookId:o().optional(),spawnsCraftbookSourceId:o().optional(),spawnsCraftbookVersion:o().optional(),spawnsSteps:l(et).optional(),spawnsEntryStepId:o().optional(),parentTaskRef:o().optional(),launchSessionId:o().optional(),cron:f({expression:o(),overlap:fi.optional()}).optional(),nightShift:f({enabled:u(),onceADay:u().optional()}).optional(),fanout:gi.optional(),createdBy:_.optional(),roleBasedNameOnlyMode:u().optional(),deliveryMode:t([`auto`,`edit`,`propose`]).optional(),dispatchEntry:u().optional(),craftbookInvocationKey:o().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`]}),f({title:o().min(1).optional(),description:o().optional(),plan:o().optional(),outcomes:l(xi).nullable().optional(),assignee:_.optional(),cron:f({expression:o(),overlap:fi.optional()}).nullable().optional(),nightShift:f({enabled:u(),onceADay:u().optional()}).nullable().optional(),fanout:gi.nullable().optional(),spawnsCraftbookParams:p(o(),o()).nullable().optional()}),f({count:c().int().positive().optional(),variations:l(mi).optional()}),f({status:di}),f({next:o().optional(),force:u().optional()}),f({task:Si,gate:f({decision:s(`reject`),message:o(),attempt:c().int().nonnegative(),maxAttempts:c().int().positive(),paused:u(),infrastructureError:u().optional(),hook:s(`onExit`).optional(),scriptRuns:l(f({scriptName:o(),runId:o().optional(),error:o().optional(),logsTail:o().optional()})).optional()}).optional()}),f({name:o().min(1).optional(),description:o().optional(),prompt:o().optional(),suggestedRole:o().nullable().optional(),retrieval:b.nullable().optional(),toolPolicy:We.nullable().optional(),assignee:_.nullable().optional(),suggestedGezelId:o().nullable().optional(),onEnter:v.nullable().optional(),onExit:v.nullable().optional(),consumes:l(Ve).min(1).nullable().optional(),advanceWhen:Be.nullable().optional(),gate:Ae.nullable().optional(),next:o().nullable().optional(),branches:l(ze).nullable().optional(),terminal:u().optional()}),f({task:Si}),f({name:o().min(1).optional(),description:o().nullable().optional(),plan:o().nullable().optional(),defaultAssignee:_.nullable().optional(),entryStepId:o().optional()}),f({id:o().optional(),name:o().min(1),description:o().optional(),prompt:o().optional(),suggestedGezelId:o().optional(),assignee:_.optional()});var Ci=t([`dispatching`,`provider-busy`,`night-shift`,`night-quota`,`engagement-off`,`engagement-paused`,`queued`]),wi=f({ref:o(),reason:Ci,gezelId:o(),stepId:o().optional(),sessionId:o().optional(),since:o()});f({tasks:l(Si),waiting:l(wi).optional()});var Ti=d(`kind`,[f({kind:s(`gezel`),gezelId:o(),name:o()}),f({kind:s(`user`)})]),Ei=f({id:o(),at:o(),author:Ti,stepId:o().optional(),text:o()});f({notes:l(Ei)}),f({text:o().min(1),stepId:o().optional()}),f({note:Ei}),f({text:o().min(1)}),f({note:Ei});function Di(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 Oi=o().refine(e=>Di(e)!==null,{message:`task ref must use projectId/num form`}),ki=t([`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 Ai=f({family:t([`gemma`,`qwen`,`gpt-oss`,`mistral`,`llama`,`deepseek`,`qwq`,`phi`,`nemotron`,`granite`,`glm`,`muse`,`other`]),reasoningFormat:t([`think`,`channel`,`inline`,`none`]),toolCallFormat:t([`function-call`,`qwen-xml`,`hermes`,`gemma-special-token`,`json-envelope`])}),ji=o().min(1),Mi=m([ji,f({id:ji,config:a().optional()})]),Ni=t([`time`,`dimension`,`measure`,`identifier`,`attribute`]),Pi=t([`BOOLEAN`,`BIGINT`,`DOUBLE`,`VARCHAR`,`DATE`,`TIMESTAMP`,`JSON`]),Fi=f({name:o().min(1).max(120).regex(/^[a-z_][a-z0-9_]*$/,`column names are lowercase snake_case identifiers`),type:Pi,role:Ni.default(`attribute`),description:o().max(500).optional(),unit:o().max(60).optional(),cardinalityHint:o().max(120).optional(),examples:l(o().max(200)).max(8).optional()}),Ii=f({name:o().min(1).max(120).regex(/^[a-z_][a-z0-9_]*$/,`measure names are lowercase snake_case identifiers`),sql:o().min(1).max(2e3),description:o().max(500).optional(),unit:o().max(60).optional()}),Li=f({question:o().min(1).max(300),sql:o().min(1).max(4e3)}),Ri=f({name:o().min(1).max(120).regex(/^[a-z_][a-z0-9_]*$/,`rollup names are lowercase snake_case identifiers`),grain:l(o().min(1).max(120)).min(1).max(16),sql:o().min(1).max(8e3),description:o().max(500).optional()}),zi=f({rawDays:c().int().positive().max(36500).optional()}),Bi=f({schemaVersion:s(1),table:o().min(1).max(120).regex(/^[a-z0-9][a-z0-9_-]*$/,`table names are lowercase slugs`),title:o().min(1).max(200).optional(),description:o().max(2e3).optional(),grain:o().max(300).optional(),timeColumn:o().max(120).optional(),partitionColumn:o().max(120).optional(),columns:l(Fi).min(1).max(512),measures:l(Ii).max(64).default([]),exemplars:l(Li).max(32).default([]),rollups:l(Ri).max(32).default([]),retention:zi.optional(),inferred:u().optional()}),Vi=t([`artifacts`,`workspace`,`type`]);f({source:Vi,path:o().max(4096)}),f({url:o().startsWith(`/preview/`),browserUrl:o().url().optional(),expiresAt:o(),scopePath:o()}),f({path:o().max(4096)}),f({ran:u(),ok:u().optional(),errors:l(o()).optional(),reason:o().optional()}),f({entries:l(f({kind:t([`error`,`unhandledrejection`,`console.error`]),message:o().max(2e3),path:o().max(4096),source:Vi,at:o()})).min(1).max(20)});var R=/^[a-z0-9][a-z0-9.\-:]{1,63}$/,z=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,Hi=t([`open`,`commercial-restricted`,`custom-restricted`]),B={licenseClass:Hi.optional(),licenseShortName:o().optional(),licenseUrl:o().url().optional()},V={recoScore:c().int().positive().optional()},H={minGezelVersion:o().optional()},U=f({...H,schemaVersion:s(1),id:o().regex(R),name:o().min(1),description:o(),tags:l(o()).default([]),maintainer:f({name:o(),url:o().url().optional()}),logo:o().optional(),license:o().optional(),...B,...V,yankedVersions:l(o()).default([]),minSupportedVersion:o().optional()}),Ui=t([`search`,`dev-tools`,`data`,`cloud`,`productivity`,`communication`,`content`,`ai`,`media`,`other`]),Wi=t([`general`,`code`,`communication`,`creative`,`writing`,`growth`,`game`,`data`,`home`,`money`,`events`,`other`]),Gi=t([`darwin-arm64`,`darwin-x64`,`linux-arm64`,`linux-x64`,`win32-x64`]),Ki=f({kind:s(`npm-package`),package:o().min(1).max(214).regex(/^(?:@[a-z0-9][a-z0-9._~-]*\/)?[a-z0-9][a-z0-9._~-]*$/),version:o().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:o().regex(/^[a-f0-9]{64}$/),entry:o().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:l(o().max(4096).refine(e=>!e.includes(`\0`))).max(64).default([]),envHints:l(o().regex(/^[A-Z_][A-Z0-9_]{0,63}$/)).max(64).default([])}),qi=d(`kind`,[Ki,f({kind:s(`http-mcp`),url:o().url(),transport:t([`streamable-http`,`sse`]).default(`streamable-http`),authHint:t([`none`,`bearer`,`oauth`]).default(`none`),envHints:l(o()).default([])}),f({kind:s(`stdio-mcp-binary`),binaries:p(Gi,f({url:o().url(),sha256:o().regex(/^[a-f0-9]{64}$/)})),args:l(o()).default([]),envHints:l(o()).default([])}),f({kind:s(`builtin`),toolsetGroupId:o()}),f({kind:s(`custom-mcp`),serverName:o().min(1).max(256),transport:t([`stdio`,`streamable-http`,`sse`]),source:d(`kind`,[f({kind:s(`project-file`),relativePath:t([`.gezel/mcp.json`,`.vscode/mcp.json`,`.mcp.json`])}),f({kind:s(`imported`),sourceName:o().min(1).max(512).optional()})]),command:o().min(1).max(4096).optional(),args:l(o().max(16384)).max(256).default([]),cwd:o().max(4096).optional(),envFile:o().max(4096).optional(),url:o().max(16384).optional(),envKeys:l(o().min(1).max(256)).max(256).default([]),headerKeys:l(o().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`}))})]),Ji=f({id:o(),label:o(),description:o().optional(),type:t([`string`,`enum`,`url`,`number`,`boolean`]),secret:u().default(!1),required:u().default(!1),default:o().optional(),options:l(o()).optional(),multiline:u().default(!1),pattern:o().optional(),placeholder:o().optional(),envVar:o().optional()}),Yi=U.extend({kind:s(`toolset`),category:Ui.optional()});f({...H,schemaVersion:s(1),version:o().regex(z),releasedAt:o(),runtime:qi,tools:l(f({name:o(),description:o().default(``)})).default([]),config:l(Ji).default([]),requirements:f({node:o().optional(),platforms:l(Gi).optional()}).optional(),notes:o().optional()});var Xi=f({...H,schemaVersion:s(1),kind:s(`toolset`),id:o().regex(R),name:o().min(1),description:o(),tags:l(o()).default([]),maintainer:f({name:o(),url:o().url().optional()}),logo:o().optional(),license:o().optional(),version:o(),releasedAt:o(),runtime:qi,tools:l(f({name:o(),description:o().default(``)})).default([]),config:l(Ji).default([]),requirements:f({node:o().optional(),platforms:l(Gi).optional()}).optional(),notes:o().optional(),availableVersions:l(o()).default([]),category:Ui.optional()}),Zi=U.extend({kind:s(`gezel-template`),role:o(),meesterCandidate:u().default(!1)}),Qi=f({craftbookId:o(),runMode:t([`night-shift`,`scheduled`]),cron:o().optional(),overlap:t([`skip`,`queue`,`concurrent`]).optional(),params:p(o(),o()).optional(),reason:o().optional()}).refine(e=>e.runMode!==`scheduled`||!!e.cron,{message:`scheduled suggestions require cron`});f({...H,schemaVersion:s(1),version:o().regex(z),releasedAt:o(),about:o(),suggestedProvider:P.optional(),suggestedModel:o().optional(),suggestedTools:l(o()).default([]),notes:o().optional(),frontmatter:p(o(),a()).optional(),nameSuggestions:l(o()).optional(),suggestedCraftbooks:l(Qi).optional()});var $i=f({...H,schemaVersion:s(1),kind:s(`gezel-template`),id:o().regex(R),name:o().min(1),description:o(),tags:l(o()).default([]),maintainer:f({name:o(),url:o().url().optional()}),logo:o().optional(),license:o().optional(),version:o(),releasedAt:o(),role:o(),about:o(),suggestedProvider:P.optional(),suggestedModel:o().optional(),suggestedTools:l(o()).default([]),meesterCandidate:u().default(!1),notes:o().optional(),availableVersions:l(o()).default([]),frontmatter:p(o(),a()).optional(),nameSuggestions:l(o()).optional(),suggestedCraftbooks:l(Qi).optional()}),ea=t([`project-starter`,`maintenance-review`,`general`]),ta=U.extend({kind:s(`craftbook-template`),role:ea.default(`general`),category:ki.optional(),workflow:o().optional()});f({...H,schemaVersion:s(1),version:o().regex(z),releasedAt:o(),about:o(),steps:l(S).min(1),entryStepId:o().min(1),defaultAssignee:_.optional(),basedOn:A.optional(),plan:o().optional(),notes:o().optional(),spawn:C.optional(),triggers:l(o()).optional(),hooks:l(Ie).optional(),bundledScripts:l(o()).optional(),paramSchema:p(o(),a()).optional(),command:o().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:l(w).optional(),recommends:l(T).optional(),runModes:E.optional(),toolsets:l(D).optional(),connectors:l(O).optional(),commands:l(qe).optional(),diffpackCapable:u().optional(),capabilityFloor:x.optional()});var na=f({...H,schemaVersion:s(1),kind:s(`craftbook-template`),id:o().regex(R),name:o().min(1),description:o(),tags:l(o()).default([]),maintainer:f({name:o(),url:o().url().optional()}),logo:o().optional(),license:o().optional(),version:o(),releasedAt:o(),role:ea.default(`general`),category:ki.optional(),workflow:o().optional(),about:o(),steps:l(S).min(1),entryStepId:o().min(1),defaultAssignee:_.optional(),basedOn:A.optional(),plan:o().optional(),notes:o().optional(),spawn:C.optional(),availableVersions:l(o()).default([]),triggers:l(o()).optional(),hooks:l(Ie).optional(),scripts:k.optional(),bundledScripts:l(o()).optional(),paramSchema:p(o(),a()).optional(),command:o().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:l(w).optional(),recommends:l(T).optional(),runModes:E.optional(),toolsets:l(D).optional(),connectors:l(O).optional(),commands:l(qe).optional(),diffpackCapable:u().optional(),capabilityFloor:x.optional()}),ra=f({templateId:o(),voorman:u().default(!1)}),ia=f({id:o(),sourceId:o().optional(),need:t([`required`,`suggested`]).default(`suggested`),autoAllow:l(o()).default([]),reason:o().optional()}),aa=f({gezel:o(),prompt:o().min(1),hideSeed:u().optional()}),oa=f({name:o().regex(/^[a-z][a-z0-9_]*$/),description:o(),script:o(),inputs:p(o(),a()).optional(),bind:p(o(),a()).optional(),reaction:aa.optional()}),sa=f({runMode:t([`scheduled`,`night-shift`]).default(`scheduled`),cron:o().optional(),craftbook:o(),consent:t([`ask`,`auto`,`disabled`]).default(`ask`),overlap:t([`skip`,`queue`,`concurrent`]).optional()}).refine(e=>e.runMode!==`scheduled`||!!e.cron,{message:`scheduled project-type schedules require cron`}),ca=f({source:Vi,path:o().min(1),subtree:u().optional()}),la=f({entry:o(),api:s(1).optional(),reads:l(ca).optional(),tools:l(o().regex(/^[a-z][a-z0-9_]*$/)).optional()}),ua={extends:o().optional(),meesterManaged:u().optional(),tabVisibility:vr.optional(),mode:t([`crew`,`solo`]).optional(),leadLabel:o().min(1).optional(),leanProfile:u().optional(),indexingEnabled:u().optional(),params:p(o(),a()).optional(),nameTemplate:o().min(1).optional(),aboutTemplate:o().optional(),missionTemplate:o().optional(),gezels:l(ra).default([]),toolsets:l(ia).default([]),craftbooks:l(o()).default([]),scripts:k.optional(),tools:l(oa).default([]),pages:la.optional(),schedules:l(sa).default([]),workspaceSeed:l(o()).default([]),artifactsSeed:l(o()).default([]),notes:o().optional()},da=U.extend({kind:s(`project-type`),category:Wi.optional(),icon:I.optional()});f({...H,schemaVersion:s(1),version:o().regex(z),releasedAt:o(),...ua});var fa=f({...H,schemaVersion:s(1),kind:s(`project-type`),id:o().regex(R),name:o().min(1),description:o(),tags:l(o()).default([]),category:Wi.optional(),icon:I.optional(),maintainer:f({name:o(),url:o().url().optional()}),logo:o().optional(),license:o().optional(),version:o(),releasedAt:o(),...ua,availableVersions:l(o()).default([])}),pa=t([`mcp`,`script`,`spectral`,`native`]),ma=m([f({kind:s(`mapping`),map:p(o(),a())}),f({kind:s(`script`),script:o()}),f({kind:s(`native`)}),f({kind:s(`observations`),tables:l(Bi).min(1).max(64).optional()})]),ha=f({name:o(),consentScope:o()}),ga=f({title:o().min(1),description:o().min(1).optional(),steps:l(o().min(1)).optional(),url:o().url().optional(),urlLabel:o().min(1).optional()}),_a={driver:pa,configSchema:p(o(),a()).optional(),secretShape:p(o(),a()).optional(),setupInstructions:ga.optional(),source:p(o(),a()),normalize:ma.default({kind:`native`}),actions:l(ha).default([]),completeness:t([`mirror`,`window`]).optional(),allowedOrigins:l(o()).optional(),notes:o().optional()},va=U.extend({kind:s(`connector-type`)});f({...H,schemaVersion:s(1),version:o().regex(z),releasedAt:o(),..._a});var ya=f({...H,schemaVersion:s(1),kind:s(`connector-type`),id:o().regex(R),name:o().min(1),description:o(),tags:l(o()).default([]),maintainer:f({name:o(),url:o().url().optional()}),logo:o().optional(),license:o().optional(),version:o(),releasedAt:o(),..._a,availableVersions:l(o()).default([])}),ba=t([`general`,`coding`,`reasoning`,`vision`,`embedding`]),xa=f({tag:o()}),Sa=f({name:o(),sha256:o().regex(/^[a-f0-9]{64}$/),sizeBytes:c().int().positive()}),Ca=f({huggingfaceRepo:o().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:o().optional(),filename:o().optional(),sha256:o().regex(/^[a-f0-9]{64}$/).optional(),shards:l(Sa).min(2).optional(),approxSizeBytes:c().int().positive(),residentBytes:c().int().positive().optional(),quantization:o().optional(),mmproj:f({filename:o(),sha256:o().regex(/^[a-f0-9]{64}$/),sizeBytes:c().int().positive()}).optional(),draftModel:f({filename:o(),sha256:o().regex(/^[a-f0-9]{64}$/),sizeBytes:c().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)`}),wa=f({huggingfaceRepo:o().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:o().optional(),filename:o().optional(),sha256:o().regex(/^[a-f0-9]{64}$/).optional(),shards:l(Sa).min(2).optional(),approxSizeBytes:c().int().positive(),residentBytes:c().int().positive().optional(),kvBytesPerToken:c().int().positive().optional(),residentCtxTokens:c().int().positive().optional(),quantization:o().optional(),visionEncoder:f({filename:o(),sha256:o().regex(/^[a-f0-9]{64}$/),sizeBytes:c().int().positive()}).optional(),cacheExpertsBytes:c().int().positive().optional(),ssdStreaming:u().optional(),maxLaunchCtx:c().int().positive().optional(),draftModel:f({filename:o(),sha256:o().regex(/^[a-f0-9]{64}$/),sizeBytes:c().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 Ta(e){for(let t of e){let e=t.charCodeAt(0);if(e<=31||e===127)return!0}return!1}var Ea=o().min(1).max(1024).refine(e=>!e.includes(`\\`)&&!Ta(e)&&!e.startsWith(`/`)&&e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`),`path must be a contained POSIX-style relative path`),Da=f({huggingfaceRepo:o().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),subdir:Ea.optional(),revision:o().optional(),files:l(f({name:Ea,sha256:o().regex(/^[a-f0-9]{64}$/),sizeBytes:c().int().positive()})).min(1),approxSizeBytes:c().int().positive(),residentBytes:c().int().positive().optional(),quantization:o().optional(),drafter:f({huggingfaceRepo:o().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:o().optional(),kind:t([`mtp`]).default(`mtp`),files:l(f({name:Ea,sha256:o().regex(/^[a-f0-9]{64}$/),sizeBytes:c().int().positive()})).min(1),approxSizeBytes:c().int().positive(),residentBytes:c().int().positive().optional()}).optional(),chatTemplate:o().optional(),chatTemplateOverride:o().optional(),disabledReason:o().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)})}),Oa=U.extend({kind:s(`chat-model`),maker:f({name:o().min(1),url:o().url().optional()}).optional(),parameterSize:o(),supportsTools:u(),contextWindow:c().int().positive().optional(),kvBytesPerTokenF16:c().positive().optional(),kvFixedBytesF16:c().nonnegative().optional(),upstream:o().url().optional(),category:ba.optional(),style:Ai.optional(),behaviors:l(Mi).optional(),tuning:Wt.optional()});f({...H,schemaVersion:s(1),version:o().regex(z),releasedAt:o(),approxSizeBytes:c().int().positive(),ollama:xa.optional(),llamaCpp:Ca.optional(),mlx:Da.optional(),ds4:wa.optional(),notes:o().optional()});var ka=f({sniffThresholds:f({inlineJsMinBytes:c().int().min(1e3).optional(),htmlMinBytes:c().int().min(1e3).optional()}).optional()}),Aa=f({...H,schemaVersion:s(1),kind:s(`chat-model`),id:o().regex(R),name:o().min(1),description:o(),tags:l(o()).default([]),maintainer:f({name:o(),url:o().url().optional()}),maker:f({name:o().min(1),url:o().url().optional()}).optional(),logo:o().optional(),license:o().optional(),...B,...V,version:o(),releasedAt:o(),parameterSize:o(),approxSizeBytes:c().int().positive(),supportsTools:u(),contextWindow:c().int().positive().optional(),kvBytesPerTokenF16:c().positive().optional(),kvFixedBytesF16:c().nonnegative().optional(),upstream:o().url().optional(),category:ba.optional(),style:Ai.optional(),behaviors:l(Mi).optional(),tuning:Wt.optional(),evalHints:ka.optional(),ollama:xa.optional(),llamaCpp:Ca.optional(),mlx:Da.optional(),ds4:wa.optional(),notes:o().optional(),availableVersions:l(o()).default([])}),ja=t([`general`,`artistic`,`photographic`]),Ma=t([`low`,`mid`,`high`,`workstation`]),Na=f({role:t([`vae`,`clip_l`,`clip_g`,`t5xxl`,`llm`]),downloadUrl:o().url(),sha256:o().regex(/^[a-f0-9]{64}$/),approxSizeBytes:c().int().positive()}),Pa=U.extend({kind:s(`image-model`),recommendedSteps:c().int().positive().default(20),widthRange:f({min:c().int().positive(),max:c().int().positive()}).optional(),heightRange:f({min:c().int().positive(),max:c().int().positive()}).optional(),upstream:o().url().optional(),category:ja.optional(),weightsKind:t([`checkpoint`,`diffusion-model`]).default(`checkpoint`),supportsImg2Img:u().optional(),hardwareTier:Ma,minRamGB:c().positive(),commercialUse:u()});f({...H,schemaVersion:s(1),version:o().regex(z),releasedAt:o(),downloadUrl:o().url(),sha256:o().regex(/^[a-f0-9]{64}$/),approxSizeBytes:c().int().positive(),quantization:o().optional(),auxiliaryFiles:l(Na).default([]),notes:o().optional()});var Fa=f({...H,schemaVersion:s(1),kind:s(`image-model`),id:o().regex(R),name:o().min(1),description:o(),tags:l(o()).default([]),maintainer:f({name:o(),url:o().url().optional()}),logo:o().optional(),license:o().optional(),...B,...V,version:o(),releasedAt:o(),downloadUrl:o().url(),sha256:o().regex(/^[a-f0-9]{64}$/),approxSizeBytes:c().int().positive(),quantization:o().optional(),recommendedSteps:c().int().positive().default(20),widthRange:f({min:c().int().positive(),max:c().int().positive()}).optional(),heightRange:f({min:c().int().positive(),max:c().int().positive()}).optional(),upstream:o().url().optional(),category:ja.optional(),weightsKind:t([`checkpoint`,`diffusion-model`]).default(`checkpoint`),supportsImg2Img:u().optional(),auxiliaryFiles:l(Na).default([]),hardwareTier:Ma,minRamGB:c().positive(),commercialUse:u(),notes:o().optional(),availableVersions:l(o()).default([])}),Ia=t([`ltx`,`ltx2`,`wan`]),La=f({strategy:t([`diffusers-tree`,`single-file`]).default(`diffusers-tree`),pipelineClass:o().optional(),singleFileName:o().optional(),transformerClass:o().optional(),vaeDtype:t([`float32`,`bfloat16`]).optional(),audio:u().default(!1)}),Ra=f({huggingfaceRepo:o().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:o().optional(),files:l(f({name:o(),sha256:o().regex(/^[a-f0-9]{64}$/),sizeBytes:c().int().positive(),repo:o().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/).optional(),revision:o().optional()})).min(1),approxSizeBytes:c().int().positive(),quantization:o().optional()}),W=f({min:c().int().positive(),max:c().int().positive()}),za=U.extend({kind:s(`video-model`),family:Ia,load:La.optional(),recommendedSteps:c().int().positive().default(40),guidanceScale:c().positive().optional(),defaultNumFrames:c().int().positive().default(97),numFramesRange:W.optional(),defaultFps:c().int().positive().default(24),fpsRange:W.optional(),maxDurationSeconds:c().positive().optional(),widthRange:W.optional(),heightRange:W.optional(),defaultWidth:c().int().positive().optional(),defaultHeight:c().int().positive().optional(),supportsImageToVideo:u().default(!1),upstream:o().url().optional(),hardwareTier:Ma,minVramGB:c().positive(),commercialUse:u()});f({...H,schemaVersion:s(1),version:o().regex(z),releasedAt:o(),source:Ra,notes:o().optional()});var Ba=f({...H,schemaVersion:s(1),kind:s(`video-model`),id:o().regex(R),name:o().min(1),description:o(),tags:l(o()).default([]),maintainer:f({name:o(),url:o().url().optional()}),logo:o().optional(),license:o().optional(),...B,...V,version:o(),releasedAt:o(),family:Ia,load:La.optional(),source:Ra,approxSizeBytes:c().int().positive(),recommendedSteps:c().int().positive().default(40),guidanceScale:c().positive().optional(),defaultNumFrames:c().int().positive().default(97),numFramesRange:W.optional(),defaultFps:c().int().positive().default(24),fpsRange:W.optional(),maxDurationSeconds:c().positive().optional(),widthRange:W.optional(),heightRange:W.optional(),defaultWidth:c().int().positive().optional(),defaultHeight:c().int().positive().optional(),supportsImageToVideo:u().default(!1),upstream:o().url().optional(),hardwareTier:Ma,minVramGB:c().positive(),commercialUse:u(),notes:o().optional(),availableVersions:l(o()).default([])}),Va=t([`encyclopedia`,`reference`,`science`,`history`,`technology`,`culture`,`manuals`,`other`]),Ha=/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/,Ua=/^[0-9a-f]{40}$/,Wa=o().min(1).refine(e=>!e.startsWith(`/`)&&e.split(`/`).every(e=>e!==``&&e!==`..`),`a relative repo path without empty or parent segments`),Ga=f({repo:o().regex(Ha),revision:o().regex(Ua),path:Wa}),Ka=U.extend({kind:s(`knowledge-catalog`),id:g,publisherId:g,language:o().min(2),category:Va.optional(),upstream:o().url().optional()}),qa=f({id:g,name:o().min(1)}),Ja=f({repo:o().regex(Ha),revision:o().regex(Ua),dir:Wa});f({...H,schemaVersion:s(1),version:o().regex(z),releasedAt:o(),formatVersion:o().min(1),huggingface:Ga,sha256:o().regex(/^[a-f0-9]{64}$/),archiveBytes:c().int().positive(),uncompressedBytes:c().int().positive(),documents:c().int().nonnegative(),chunks:c().int().nonnegative(),embeddingProfile:f({id:t(nr),modelRepo:o().min(1)}),topics:l(qa).min(1),sourceSnapshot:f({name:o(),date:o(),taxonomyVersion:o().optional()}).optional(),parquet:Ja.optional(),notes:o().optional()});var Ya=f({...H,schemaVersion:s(1),kind:s(`knowledge-catalog`),id:g,name:o().min(1),description:o(),tags:l(o()).default([]),maintainer:f({name:o(),url:o().url().optional()}),logo:o().optional(),license:o().optional(),...B,...V,publisherId:g,language:o().min(2),category:Va.optional(),upstream:o().url().optional(),version:o(),releasedAt:o(),formatVersion:o().min(1),huggingface:Ga,sha256:o().regex(/^[a-f0-9]{64}$/),archiveBytes:c().int().positive(),uncompressedBytes:c().int().positive(),documents:c().int().nonnegative(),chunks:c().int().nonnegative(),embeddingProfile:f({id:t(nr),modelRepo:o().min(1)}),topics:l(qa).min(1),sourceSnapshot:f({name:o(),date:o(),taxonomyVersion:o().optional()}).optional(),parquet:Ja.optional(),notes:o().optional(),availableVersions:l(o()).default([])});d(`kind`,[Yi,Zi,ta,da,va,Oa,Pa,za,Ka]);var Xa=d(`kind`,[Xi,$i,na,fa,ya,Aa,Fa,Ba,Ya]),Za=t([`toolset`,`gezel-template`,`craftbook-template`,`project-type`,`connector-type`,`chat-model`,`image-model`,`video-model`,`knowledge-catalog`]),Qa=f({sourceId:o(),kind:Za,manifest:Xa,logoUrl:o().optional(),iconSvg:o().optional()});f({items:l(Qa)}),Qa.extend({readme:o().optional(),about:o().optional()}),f({versions:l(f({version:o(),releasedAt:o(),yanked:u()}))});var $a={toolsetId:o(),sourceId:o(),version:o(),installedAt:o(),installPath:o().optional()},eo=f({...$a,runtime:qi}),to=Ki.extend({sha256:o().regex(/^(?:sha256-[A-Za-z0-9+/]{43}=|sha384-[A-Za-z0-9+/]{64}|sha512-[A-Za-z0-9+/]{86}==)$/)});m([eo,f({...$a,sourceId:s(`system`),runtime:to})]),f({toolsetId:o(),values:p(o(),o()).default({}),updatedAt:o()});var no=t([`project-type`,`gezel-template`,`craftbook-template`]),ro=t([`toolset`,`connector-type`,`chat-model`,`image-model`,`video-model`]),io=f({kind:no,id:o().regex(R),version:o().regex(z),sha256:o().regex(/^[a-f0-9]{64}$/)}),ao=f({kind:ro,id:o().regex(R),version:o().regex(z),required:u().default(!0),sourceId:o().optional(),reason:o().optional()}),oo=f({projectType:o().regex(R),version:o().regex(z)}),so=f({format:s(`gezel-ai-app`),schemaVersion:s(1),entry:oo,name:o().min(1),description:o().default(``),publisher:f({name:o().min(1),url:o().url().optional()}),createdAt:o().datetime(),minGezelVersion:o().optional(),signature:f({status:s(`unsigned`)}),items:l(io).min(1).max(512),dependencies:l(ao).max(512).default([]),provenance:f({source:o().optional(),exportedFromProject:o().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`})});f({schemaVersion:s(1),manifest:so,packageSha256:o().regex(/^[a-f0-9]{64}$/),installedAt:o().datetime()});var co=f({appId:o().regex(R),version:o().regex(z),packageSha256:o().regex(/^[a-f0-9]{64}$/),installedAt:o().datetime(),enabled:u().default(!0)});f({schemaVersion:s(1),apps:l(co).default([])}),f({format:s(`gezel-ai-app-source`),schemaVersion:s(1),entry:f({projectType:o().regex(R).optional(),version:o().regex(z).optional()}).optional(),publisher:f({name:o().min(1),url:o().url().optional()}).optional()}).strict();var lo=t([`llama-cpp`,`mlx`,`ds4`]),uo=f({path:o().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:c().int().nonnegative().max(2**53-1),sha256:o().regex(/^[a-f0-9]{64}$/),role:t([`model`,`installed-manifest`,`catalog-manifest`,`catalog-file`])}),fo=f({name:o().min(1),shortName:o().min(1).optional(),class:Hi.optional(),url:o().url().optional()}),po=f({schemaVersion:s(1),kind:s(`gezel-model`),id:o().regex(R),name:o().min(1).max(256),engine:lo,createdAt:o().datetime(),createdBy:s(`gezel`),catalogVersion:o().optional(),approxSizeBytes:c().int().nonnegative().max(2**53-1),license:fo.optional(),files:l(uo).min(2).max(16384)});f({importId:o().uuid(),manifest:po,alreadyInstalled:u(),warnings:l(o())});var mo=t([`current`,`default`,`development`]),ho=f({source:mo,sourceLabel:o().min(1).max(128),engine:lo,id:o().regex(R),name:o().min(1).max(256),approxSizeBytes:c().int().nonnegative().max(2**53-1),catalogVersion:o().min(1),moving:u().default(!1)});f({available:u(),candidates:l(ho)}),f({source:mo,engine:lo,id:o().regex(R)}),f({ok:s(!0),engine:lo,id:o().regex(R),localRemoved:u(),warning:o().min(1).optional()});var go=d(`kind`,[f({kind:s(`create-file`),path:o().min(1).max(4096)}),f({kind:s(`repair-file`),path:o().min(1).max(4096),strategy:t([`patch`,`rewrite`]).optional(),readPaths:l(o().min(1).max(4096)).max(8).optional(),mutationPath:o().min(1).max(4096).optional()})]),_o=f({label:o().min(1),path:o().min(1)}),vo=f({id:o(),kind:t([`command`,`output`]),content:o(),at:o(),resolvedFrom:o().optional(),stdout:o().optional(),stderr:o().optional(),exitCode:c().int().optional(),durationMs:c().int().nonnegative().optional(),truncated:u().optional(),errorMessage:o().optional(),fileReferences:l(_o).optional(),cwd:o().optional()});f({threads:l(f({version:s(1),id:o(),projectId:o(),workingDir:o(),createdAt:o(),lastActivityAt:o(),archived:u().optional(),messages:l(vo)}).pick({id:!0,projectId:!0,workingDir:!0,createdAt:!0,lastActivityAt:!0,archived:!0}).extend({lastCommand:o().optional()}))}),f({workingDir:o(),input:o().min(1),columns:c().int().min(20).max(500).optional()}),f({threadId:o(),runId:o()});var yo=d(`kind`,[f({kind:s(`message`),projectId:o(),threadId:o(),workingDir:o(),message:i(()=>vo),runId:o().optional()}),f({kind:s(`workingDirChanged`),projectId:o(),threadId:o(),newWorkingDir:o()}),f({kind:s(`runStarted`),projectId:o(),threadId:o(),runId:o(),commandMessageId:o(),at:o(),cwd:o()}),f({kind:s(`outputChunk`),projectId:o(),threadId:o(),runId:o(),chunk:o()}),f({kind:s(`inputRequested`),projectId:o(),threadId:o(),runId:o(),promptLine:o(),mode:t([`text`,`password`,`yes-no`])}),f({kind:s(`openFile`),projectId:o(),threadId:o(),path:o(),source:s(`workspace`)})]),bo=f({threadId:o(),projectId:o(),workingDir:o(),threadCreatedAt:o(),threadLastActivityAt:o(),threadArchived:u().optional(),messageId:o(),msgKind:t([`command`,`output`]),content:o(),at:o(),resolvedFrom:o().optional(),stdout:o().optional(),stderr:o().optional(),exitCode:c().int().optional(),durationMs:c().int().nonnegative().optional(),truncated:u().optional(),errorMessage:o().optional(),fileReferences:l(_o).optional(),cwd:o().optional()}),G=f({kind:t([`file`,`chat`]),filePath:o().optional(),checks:l(De).optional(),scripts:l(ke).optional()}),xo=f({capturedAt:o(),systemMessage:o(),toolNames:l(o()),messageCount:c().int().nonnegative(),transcriptTruncated:u().optional(),transcript:l(f({role:t([`system`,`developer`,`user`,`assistant`,`tool`]),content:o(),toolCalls:l(f({id:o(),name:o(),arguments:o()})).optional(),toolCallId:o().optional()})),actionLedger:o().optional()}),So=f({version:s(1),id:o(),gezelId:o(),projectId:o(),providerName:P,model:o().optional(),modelSource:t([`capability-routing`]).optional(),nightShift:u().optional(),engineKey:o().optional(),reasoningEffort:o().optional(),title:o(),createdAt:o(),lastActivityAt:o(),archived:u().optional(),source:Kn.optional(),externalRequestDiagnostics:xo.optional(),messages:l(F),providerState:f({copilotSessionId:o().optional(),openaiPreviousResponseId:o().optional(),claudeCliSessionId:o().optional(),codexCliThreadId:o().optional()}),aboutSnapshot:o().optional(),roleBasedNameOnlyMode:u().optional(),resumeFailed:u().optional(),deliverableGatePlateau:f({signatureHash:o(),count:c().int().nonnegative(),stage:c().int().min(0).max(3),at:o()}).optional(),lastTurnError:o().optional(),lastTurnErrorDetail:Yn.optional(),turnStartedAt:o().optional(),taskRef:o().optional(),stepId:o().optional(),parentSession:An.optional(),handoffFrom:kn.optional(),lastImageGeneration:f({prompt:o(),negativePrompt:o().optional(),artifactPath:o(),seed:c().int().optional(),model:o().optional(),at:o()}).optional(),craftbookRef:o().optional(),consultationMode:u().optional(),visitorAccess:s(!0).optional(),expectedDeliverable:G.optional(),scriptTools:l(oa).optional(),numCtx:c().int().positive().optional(),contextWindow:c().int().positive().optional(),contextAutoCompactRatio:c().positive().max(1).optional(),contextEstimatedTokens:c().int().nonnegative().optional(),recall:f({at:o(),query:o(),hits:l(f({text:o(),scope:t([`gezel`,`project`,`workspace`,`library`]),day:o(),score:c(),kind:t([`fact`,`decision`,`pref`,`status`]).optional()}))}).optional(),summarizedAt:o().optional(),summarizedUpTo:c().int().nonnegative().optional(),extractedUpTo:c().int().nonnegative().optional(),compactionCount:c().int().nonnegative().optional(),lastCompactedAt:o().optional()}),Co=f({id:o(),at:o(),fromGezelId:o(),fromSessionId:o().optional(),toGezelIdOrName:o(),projectId:o().optional(),text:o(),suppressReply:u().optional(),taskRef:o().optional(),stepId:o().optional(),lane:t([`interactive`,`background`]).optional(),ambient:u().optional(),expectedDeliverable:G.optional()});f({version:s(1),messages:l(Co)});var wo=So.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:o().optional(),lastMessagePreview:o().max(200).optional(),involvedGezelIds:l(o()).optional(),transcriptTokens:c().int().nonnegative().optional()});f({gezelId:o(),projectId:o().optional(),taskRef:o().optional(),stepId:o().optional(),craftbookRef:o().optional(),roleBasedNameOnlyMode:u().optional()}),f({sessions:l(wo)}),f({fileTurnIntent:go.optional(),message:o().min(1),mentions:l(o().min(1)).max(10).optional(),passiveCcGezelIds:l(o().min(1)).max(5).optional(),nudge:u().optional(),draftId:o().optional()}),f({accepted:s(!0),sessionId:o()});var To=f({queueId:o(),text:o(),preview:o(),enqueuedAt:o(),nudge:u()});f({sessionId:o(),entries:l(To)}),f({message:o().min(1)}),f({updated:s(!0),entry:To}),f({message:o().min(1),draftId:o().optional()}),f({messages:l(f({sessionId:o(),gezelId:o(),projectId:o(),sessionTitle:o(),sessionCreatedAt:o(),sessionLastActivityAt:o(),sessionArchived:u().optional(),sessionSource:Kn.optional(),sessionProviderName:P,sessionModel:o().optional(),sessionContextWindow:c().int().positive().optional(),sessionContextAutoCompactRatio:c().positive().max(1).optional(),sessionCompactionCount:c().int().nonnegative().optional(),sessionLastCompactedAt:o().optional(),sessionLastTurnError:o().optional(),sessionLastTurnErrorDetail:Yn.optional(),taskRef:o().optional(),stepId:o().optional(),parentSession:An.optional(),handoffFrom:kn.optional(),role:t([`user`,`assistant`]),content:o(),at:o(),from:f({gezelId:o(),gezelName:o()}).optional(),nudge:u().optional(),draftId:o().optional(),origin:t([`system`]).optional(),referencedFiles:l(qn).optional(),retrieval:F.shape.retrieval,referencedArtifacts:l(o()).optional(),referencedTasks:l(o()).optional(),toolCalls:l(Gn).optional(),intents:l(f({label:o(),afterChars:c().int().min(0)})).optional(),pendingQuestionId:o().optional(),warnings:l(o()).optional(),reasoning:o().optional(),reasoningDurationMs:c().int().nonnegative().optional(),attemptedToolCalls:l(f({body:o(),reason:o().optional()})).optional(),synthetic:t([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),contextCompaction:F.shape.contextCompaction})),hasMore:u(),nextCursor:o().optional(),terminalEntries:l(bo).optional()});var Eo=f({ready:u(),eligible:c().optional(),embedded:c().optional(),pendingEmbedOnly:c().optional(),embedModel:o().optional(),vectorsAvailable:u().optional()}),Do=f({eligible:c(),reviewed:c(),stale:c(),pending:c()}),Oo=f({staffed:u(),paused:u(),achievable:u(),summariesEligible:c().optional(),summarized:c().optional(),summariesPending:c().optional(),shadowsPending:c().optional(),skipped:c().optional(),reviews:Do.optional()}),ko=f({budgetMs:c(),waitedMs:c(),drained:u(),driveStillRunning:u()});f({version:s(1),projectId:o(),generatedAt:o(),indexingEnabled:u(),staticState:t([`fresh`,`stale`,`indexing`,`never`,`disabled`]),fileCount:c().optional(),scannedAt:o().optional(),search:Eo,aiTier:Oo,wait:ko,notes:l(o())});var Ao=t([`up-to-date`,`updated`,`incompatible`,`error`,`blocked`]),jo=f({at:o(),outcome:Ao,message:o().optional(),version:o().optional(),regressions:l(f({kind:o(),id:o()})).max(25).optional()});f({enabled:u(),mode:t([`bundled`,`live`,`overridden`]),bundledVersion:o(),activeVersion:o().nullable(),lastCheck:jo.nullable(),updateInProgress:u()});var Mo=t([`nudge_budget_exhausted`,`context_loop`,`gate_exhausted`,`step_redrive_exhausted`,`turn_aborted`,`deliverable_plateau`]),No=d(`kind`,[f({kind:s(`corrective_prompt`),prompt:o().min(1)}),f({kind:s(`rewrite_step`),stepId:o().min(1),prompt:o().min(1),name:o().optional(),deliverable:o().optional()}),f({kind:s(`rewrite_craftbook`),document:o().min(1),rationale:o().min(1)}),f({kind:s(`takeover_step`),instruction:o().min(1)}),f({kind:s(`stand_down`),reason:o().min(1)})]),Po=t([`silent_stall`,`tool_loop`,`capability_ceiling`,`task_shape`,`context_pressure`,`unknown`]),Fo=f({diagnosis:o().min(1),failureClass:Po,action:No,confidence:t([`low`,`medium`,`high`])}),Io=f({record:s(`case.opened`),caseId:o().min(1),ts:o().min(1),trigger:Mo,sessionId:o().optional(),gezelId:o().min(1),projectId:o().optional(),taskRef:o().optional(),stepId:o().optional(),providerName:o().min(1),model:o().optional(),modelTier:o().optional(),consultProviderName:o().min(1),consultModel:o().optional(),signals:p(o(),a()),verdict:Fo.optional(),applied:u(),consultDurationMs:c().int().nonnegative(),promptChars:c().int().nonnegative(),responseChars:c().int().nonnegative(),debug:f({prompt:o(),rawResponse:o()}).optional()}),Lo=t([`unblocked`,`re_triggered`,`gave_up`,`takeover_completed`,`takeover_failed`,`unknown`]);d(`record`,[Io,f({record:s(`case.closed`),caseId:o().min(1),ts:o().min(1),outcome:Lo,turnsObserved:c().int().nonnegative()})]);var Ro=f({label:o().max(60),target:d(`kind`,[f({kind:s(`project`),projectId:o()}),f({kind:s(`task`),projectId:o(),taskRef:o()}),f({kind:s(`view`),view:t([`projects`,`gezels`,`documents`,`settings`])})])}),zo=f({projectId:o(),taskRef:o(),title:o()}),Bo=f({headline:o().max(120),cta:Ro.optional(),report:o(),generatedAt:o(),trigger:t([`auto`,`manual`]),actions:l(zo).default([])});f({headline:o(),cta:Ro.optional(),report:o(),actions:l(f({projectId:o(),title:o(),description:o()})).optional()}),f({lastRunAt:o().optional(),inputHash:o().optional(),runDay:o().optional(),runsOnDay:c().int().nonnegative().optional(),recentActionKeys:l(o()).optional()}),f({lastActivityAt:o()}),f({report:Bo.nullable(),budget:f({runsToday:c().int().nonnegative(),maxRunsPerDay:c().int().positive(),lastRunAt:o().nullable()}),running:u()});var Vo=t([`hd`,`fhd`,`4k`,`square`,`square-2k`,`portrait`,`portrait-4k`,`standard`]),Ho=t([`basic`,`card`,`panel`,`accent`]),Uo=t([`standard`,`standard-dark`,`documentary`,`minimalist`,`bold`,`morning-light`,`tech-dark`,`magazine`,`cinematic`,`warm-earth`,`gezellig`]),Wo=f({id:Uo,name:o(),description:o()}),Go=7680,Ko=33177600,qo=f({width:c().int().min(64).max(Go),height:c().int().min(64).max(Go),safeArea:f({x:c().int().nonnegative(),y:c().int().nonnegative(),width:c().int().min(64).max(Go),height:c().int().min(64).max(Go)})}).superRefine((e,t)=>{e.width*e.height>33177600&&t.addIssue({code:`custom`,message:`The dashboard display target may not exceed ${Ko} 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.`})});f({lastRunAt:o().optional(),lastGeneratedAt:o().optional(),lastFailedAt:o().optional(),lastError:o().optional(),inputHash:o().optional(),lastFile:o().optional()}),f({enabled:u(),running:u(),lastGeneratedAt:o().nullable(),lastFailedAt:o().nullable().optional(),lastError:o().nullable().optional(),latestFilename:o().nullable(),resolution:Vo,themeId:Uo.optional(),themes:l(Wo).optional(),displayTarget:qo.nullable().optional()}),f({projectId:o().min(1),port:c().int().min(0).max(65535).optional(),host:o().optional(),allowedHosts:l(o().min(1)).max(8).optional(),chat:u().optional(),public:u().optional(),siteKey:o().min(24).max(128).optional()});var Jo=f({siteId:o(),projectId:o(),projectName:o(),typeId:o(),typeName:o(),typeVersion:o(),host:o(),port:c().int(),url:o(),chat:u(),public:u(),startedAt:o(),visitors:c().int(),counters:f({pageViews:c().int(),invokes:c().int(),reads:c().int(),chatMessages:c().int()})});Jo.extend({siteKey:o(),shareUrl:o()}),f({sites:l(Jo)}),f({revokeVisitors:u().optional()}),f({message:o().min(1).max(4e3)}),f({typeName:o(),typeVersion:o(),chat:u(),limits:f({maxInflight:c().int(),maxReadBytes:c().int()})});var Yo=t([`info`,`minor`,`major`]),Xo=f({severity:Yo,category:o().min(1).max(40),message:o().min(1).max(300),line:c().int().positive().optional()}),Zo=t([`open`,`in_progress`,`resolved`,`dismissed`]),Qo=t([`not_an_issue`,`duplicate`,`wont_fix`]),K=Xo.extend({ref:o().regex(/^BW-[1-9]\d*$/),id:o().min(1),fingerprint:o().min(1),path:o().min(1),status:Zo,seen:u(),stale:u(),taskRef:o().optional(),dismissalReason:Qo.optional(),createdAt:o(),lastSeenAt:o(),lastCheckedAt:o().optional(),seenAt:o().optional(),resolvedAt:o().optional(),dismissedAt:o().optional()});f({notes_md:o().min(1),issues:l(Xo),health:c().int().min(1).max(10),health_reason:o().min(1)});var $o=f({notesMd:o(),issues:l(Xo),health:c().int().min(1).max(10),healthReason:o(),model:o().nullable(),provider:o().nullable().optional(),gezelId:o().nullable().optional(),gezelName:o().nullable().optional(),appVersion:o().nullable().optional(),reviewedAt:o().nullable()});f({github:mr.optional(),exists:u(),originMatches:u().optional(),branch:o().optional(),defaultBranch:o().optional(),ahead:c().int().optional(),behind:c().int().optional(),dirty:u().optional(),changesCount:c().int().optional(),conflictedCount:c().int().optional(),mergeInProgress:u().optional(),hasUpstream:u().optional(),syncStale:u().optional(),syncStaleReason:t([`never-synced`,`branch-changed`,`no-upstream`,`git-activity`]).optional(),hasPat:u(),credentialSource:t([`pat`,`env`,`gh`,`none`])}),f({ok:s(!0),checkoutDir:o(),branch:o().optional(),adopted:u()}),f({branch:o().min(1),create:u().optional()}),f({local:l(o()),remote:l(o()),current:o().optional()}),f({ok:s(!0),fetched:u()}),f({message:o().min(1),allowEmpty:u().optional()}),f({ok:s(!0),sha:o(),filesChanged:c().int()}),f({ok:s(!0),pushed:u(),rejected:t([`non-fast-forward`,`auth`,`unknown`]).optional()});var es=f({number:c().int(),title:o(),author:o(),headRef:o(),baseRef:o(),draft:u(),updatedAt:o(),url:o()});f({pulls:l(es)}),es.extend({body:o(),state:o(),merged:u(),mergeable:u().nullable().optional(),additions:c().int(),deletions:c().int(),changedFiles:c().int()}),f({files:l(f({filename:o(),status:o(),additions:c().int(),deletions:c().int(),changes:c().int(),patch:o().optional(),patchChars:c().int().nonnegative().optional(),patchTruncated:u().optional(),previousFilename:o().optional()})),allFiles:c().int().nonnegative().optional(),totalFiles:c().int().nonnegative().optional(),offset:c().int().nonnegative().optional(),limit:c().int().positive().optional(),hasMore:u().optional(),nextOffset:c().int().nonnegative().optional(),includesPatch:u().optional()}),f({comments:l(f({id:c(),author:o(),body:o(),createdAt:o(),kind:t([`issue`,`review`]),path:o().optional()}))}),f({number:c().int(),diff:o(),path:o().optional(),offset:c().int().nonnegative().optional(),returnedChars:c().int().nonnegative().optional(),totalChars:c().int().nonnegative().optional(),truncated:u().optional(),nextOffset:c().int().nonnegative().optional()}),f({body:o().min(1)}),f({id:c(),url:o()}),f({title:o().min(1),body:o().optional(),head:o().min(1),base:o().min(1),draft:u().optional()}),f({number:c().int(),url:o()}),f({runs:l(f({id:c(),name:o(),status:o(),conclusion:o().nullable(),createdAt:o(),url:o()}))}),f({state:t([`success`,`failure`,`pending`,`unknown`]),checks:l(f({name:o(),status:o(),conclusion:o().nullable(),url:o().optional()}))});var ts=t([`modified`,`added`,`deleted`,`renamed`,`conflicted`]),ns=f({path:o(),oldPath:o().optional(),kind:ts,additions:c().int().optional(),deletions:c().int().optional(),binary:u().optional()});f({changes:l(ns),total:c().int(),truncated:u()}),f({path:o(),kind:ts,oldPath:o().optional(),binary:u(),truncated:u(),diff:o().optional(),additions:c().int().optional(),deletions:c().int().optional()}),f({paths:l(o().min(1)).min(1).optional(),all:u().optional()}).refine(e=>!!e.all!=!!e.paths?.length,{message:"Pass exactly one of `paths` or `all`."}),f({ok:s(!0),discarded:c().int()});var rs=f({sha:o(),shortSha:o(),author:o(),email:o().optional(),date:o(),subject:o(),filesChanged:c().int(),additions:c().int(),deletions:c().int()});f({commits:l(rs),hasMore:u()}),f({sha:o(),shortSha:o(),author:o(),date:o(),subject:o(),files:l(f({path:o(),additions:c().int().optional(),deletions:c().int().optional(),binary:u().optional()})),diff:o().optional(),truncated:u()}),f({state:t([`synced`,`needs-save`,`conflicts`,`auth`,`offline`,`error`]),pulled:c().int(),pushed:c().int(),merged:u().optional(),branch:o().optional(),conflictedFiles:l(o()).optional(),message:o().optional()});var is=t([`both-modified`,`both-added`,`deleted-by-us`,`deleted-by-them`]),as=f({path:o(),kind:is});f({inMerge:u(),conflicts:l(as)}),f({path:o(),base:o().optional(),ours:o().optional(),theirs:o().optional(),binary:u(),tooLarge:u()}),f({path:o().min(1),choice:t([`mine`,`theirs`,`custom`]),content:o().optional()}).refine(e=>e.choice!==`custom`||e.content!==void 0,{message:"`content` is required when choice is `custom`."}),f({ok:s(!0),remaining:c().int()}),f({message:o().optional()}),f({ok:s(!0),sha:o()}),f({ok:s(!0)}),f({message:o()}),f({path:o().min(1)}),f({path:o(),merged:o()});var os=t([`commit`,`pr`]),ss=t([`running`,`complete`,`canceled`,`error`]),cs=f({id:o().min(1),kind:os,status:ss,createdAt:o(),settledAt:o().optional(),outcome:t([`complete`,`canceled`]).optional(),error:o().optional(),taskRef:o().min(1),gezelId:o().optional(),branch:o(),headSha:o(),baseRef:o().optional(),baseSha:o().optional(),filesChanged:c().int(),additions:c().int().optional(),deletions:c().int().optional(),commitCount:c().int().optional(),filesTruncated:u(),diffTruncated:u(),manifestPath:o(),diffPath:o(),reportPath:o()}).extend({taskStatus:t([`draft`,`paused`,`active`,`complete`,`canceled`]).optional(),needsAttention:u().optional(),activeStepName:o().optional(),stepsTotal:c().int().optional(),stepsComplete:c().int().optional(),assigneeName:o().optional()});f({kind:os}),f({ok:s(!0),review:cs}),f({reviews:l(cs)}),f({ok:s(!0),review:cs}),f({version:s(1),reviewId:o().min(1),kind:os,projectId:o().min(1),createdAt:o(),branch:o(),headSha:o(),baseRef:o(),baseSha:o(),files:l(ns),totalFiles:c().int(),filesTruncated:u(),diffFile:o(),diffChars:c().int(),diffTruncated:u(),commits:l(rs).optional(),commitsTruncated:u().optional(),notes:l(o())});var q=t([`webhook`]),ls=f({url:o().url(),method:t([`POST`,`PUT`]).optional(),headers:p(o(),o()).optional(),bodyTemplate:o().optional(),bodyContentType:o().optional()}),us=f({default:q.optional(),webhook:ls.optional()});f({name:q,configured:u(),ready:u(),lastError:o().optional(),detail:p(o(),a()).optional()}),f({channel:q.optional(),message:o().min(1),metadata:p(o(),a()).optional()}),m([f({ok:s(!0),id:o().optional(),channel:q}),f({ok:s(!1),error:o(),channel:q.optional()})]);var ds=o().regex(/^[1-9]\d*$/),fs=t([`drafting`,`ready`,`applied`,`partially-applied`,`failed`,`dismissed`]),ps=d(`kind`,[f({kind:s(`boekwachter-issue`),issueRefs:l(o()).min(1)}),f({kind:s(`manual`)})]),ms=t([`modify`,`add`,`delete`]),hs=f({path:o().min(1),diffArtifact:o(),baseHash:o(),additions:c().int().nonnegative(),deletions:c().int().nonnegative(),change:ms}),gs=f({packId:ds,projectId:o().min(1),title:o().min(1),summary:o(),status:fs,origin:ps,taskRef:o().min(1),gezelId:o().optional(),gezelName:o().optional(),windowKey:o().optional(),files:l(hs),notesPath:o(),manifestPath:o(),createdAt:o(),sealedAt:o().optional(),appliedAt:o().optional(),error:o().optional(),results:l(f({path:o(),ok:u(),error:o().optional()})).optional()}),_s=f({path:o(),packIds:l(ds).min(1)}),vs=gs.extend({drifted:l(o()),overlaps:l(_s),additions:c().int().nonnegative(),deletions:c().int().nonnegative(),taskStatus:t([`draft`,`paused`,`active`,`complete`,`canceled`]).optional(),needsAttention:u().optional()}),ys=f({packId:ds,projectId:o(),projectName:o(),title:o(),status:fs,fileCount:c().int().nonnegative(),additions:c().int().nonnegative(),deletions:c().int().nonnegative(),issueRefs:l(o()),drifted:u()});f({diffpacks:l(vs)}),f({diffpack:vs,notes:o()}),f({paths:l(o().min(1)).optional(),allowDrifted:u().optional()}),f({ok:u(),diffpack:vs,results:l(f({path:o(),ok:u(),error:o().optional()}))}),f({ok:s(!0),diffpack:vs}),f({version:s(1),packId:ds,projectId:o(),title:o(),summary:o(),origin:ps,createdAt:o(),sealedAt:o().optional(),gezelName:o().optional(),files:l(hs),deletions:l(o())});var bs=f({ds4BaseUrl:o().optional(),ds4ModelPath:o().optional(),ds4VisionEncoderPath:o().optional(),ds4NumCtx:c().int().positive().optional(),ds4SsdStreaming:u().optional(),ds4CacheExpertsGb:c().positive().optional(),ds4Dspark:t([`off`,`on`,`auto`]).optional(),ds4DsparkModelPath:o().optional()}),xs=t([`llama-server`,`ds4-server`,`sd-server`,`whisper-server`,`uv`,`duckdb`]),Ss=d(`type`,[f({type:s(`progress`),bytesWritten:c().nonnegative(),totalBytes:c().nonnegative()}),f({type:s(`retrying`),attempt:c().int().positive(),maxAttempts:c().int().positive(),delayMs:c().nonnegative(),reason:o()}),f({type:s(`verifying`),what:t([`sha256`,`signature`])}),f({type:s(`done`),binPath:o(),cached:u()}),f({type:s(`error`),error:o()})]),Cs=f({name:xs,installed:u(),path:o().optional()});f({release:o(),pinned:u(),platformKey:o().nullable(),llamaBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),engines:l(Cs)});var ws=f({id:o(),name:o(),kind:o(),lineStart:c().int().positive(),lineEnd:c().int().positive(),signature:o().optional(),parent:o().optional()});f({path:o().min(1)}),f({path:o(),lang:o().nullable(),summary:o().nullable().optional(),symbols:l(ws),totalLines:c().int().nonnegative(),engine:t([`index`,`live`,`unavailable`]),truncated:u(),review:$o.optional()}),f({name:o().min(1),kind:o().optional(),maxResults:c().int().positive().max(200).optional()}),f({matches:l(ws.extend({path:o()})),truncated:u(),engine:t([`index`,`unavailable`])}),f({name:o().min(1),path:o().optional()}),f({found:u(),path:o().optional(),name:o().optional(),kind:o().optional(),lineStart:c().int().positive().optional(),lineEnd:c().int().positive().optional(),signature:o().optional(),source:o().optional()}),f({name:o().min(1),glob:o().optional(),maxResults:c().int().positive().max(500).optional()}),f({references:l(f({path:o(),line:c().int().positive(),text:o()})),truncated:u(),engine:t([`ripgrep`,`javascript`])}),f({path:o().min(1)});var Ts=f({ruleId:o(),category:o(),severity:t([`critical`,`high`,`medium`,`low`,`info`]),line:c().int().positive().nullable(),title:o(),source:o()}),Es=f({path:o(),viaBinding:u()}),Ds=f({name:o(),kind:o(),lineStart:c().int().positive(),lineEnd:c().int().positive(),signature:o().optional(),parent:o().optional(),importedBy:l(Es),importedByTruncated:u(),uses:l(f({name:o(),from:o(),inRepo:u()})),usedInFileBy:l(o()),findings:l(Ts),summary:o().optional()});f({path:o(),lang:o().nullable(),totalLines:c().int().nonnegative(),summary:o().nullable(),importedBy:l(f({path:o(),names:l(o())})),importedByTruncated:u(),imports:l(f({specifier:o(),resolvedPath:o().nullable(),names:l(o()),default:u(),namespace:u()})),fileFindings:l(Ts),symbols:l(Ds),symbolsTruncated:u(),engine:t([`index`,`live`,`unavailable`]),review:$o.optional()}),f({path:o().min(1)}),f({path:o(),found:u(),pending:u().optional(),review:$o.optional(),trackedIssues:l(K).optional(),eligible:u().optional()}),f({severity:Yo.optional(),category:o().optional(),path:o().optional(),status:Zo.optional(),includeClosed:u().optional(),maxResults:c().int().positive().max(1e3).optional()}),f({issues:l(K),counts:f({total:c().int().nonnegative(),bySeverity:p(o(),c().int().nonnegative()),byCategory:p(o(),c().int().nonnegative())}),truncated:u(),indexed:u(),reviewedFiles:c().int().nonnegative(),eligibleFiles:c().int().nonnegative(),reviewers:l(f({model:o().nullable(),provider:o().nullable(),gezelName:o().nullable(),files:c().int().nonnegative()})).optional()}),f({ref:o().regex(/^BW-[1-9]\d*$/)}),f({issue:K}),f({ref:o().regex(/^BW-[1-9]\d*$/),status:Zo.optional(),seen:u().optional(),dismissalReason:Qo.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`}),f({issue:K}),f({ref:o().regex(/^BW-[1-9]\d*$/),gezelId:o().min(1),message:o().min(1)}),f({issue:K,taskRef:o().min(1),gezelId:o().min(1),gezelName:o().min(1),enqueued:u(),packId:o().optional()}),f({path:o().optional()}),f({root:o(),languages:l(f({lang:o(),fileCount:c().int().nonnegative()})),areas:l(f({path:o(),fileCount:c().int().nonnegative(),purpose:o().optional()})),entryPoints:l(o()),keyFiles:l(o()),fileCount:c().int().nonnegative(),indexed:u(),architecture:o().optional(),health:f({reviewedFiles:c().int().nonnegative(),eligibleFiles:c().int().nonnegative(),avgHealth:c(),majorIssues:c().int().nonnegative(),minorIssues:c().int().nonnegative(),worstFiles:l(f({path:o(),health:c().int().min(1).max(10),reason:o().optional()})).max(5)}).optional()});var Os=t([`user`,`machine-engine`,`legacy-full`]),ks=f({status:t([`cold`,`warming`,`ready`,`disabled`,`unavailable`]),reason:o().optional()});f({ok:s(!0),version:o(),embeddings:ks.optional(),serviceRole:Os.optional(),machineEngineConnected:u().optional(),startedAt:o(),nodeVersion:o().optional(),platform:o().optional(),llamaCppBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppDetectedBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppDetectedVendor:t([`amd`,`nvidia`,`intel`]).optional(),llamaCppQuarantinedBackends:l(t([`cuda`,`vulkan`,`metal`,`cpu`])).optional(),ds4ServerBundled:u().optional(),childProcessSpawn:t([`ok`,`denied`]).optional(),apiCompat:f({floor:c().int(),current:c().int()}).optional()});var As=t([`vram`,`unified`,`ram`]),js=f({provider:o(),modelId:o(),reservedBytes:c().nonnegative(),replicaCount:c().int().positive()}),Ms=t([`machine-engine`,`app-engine`,`development-engine`,`gezel-engine`,`external`]),Ns=f({pid:c().int().positive(),name:o().optional(),adapterLuid:o().optional(),dedicatedBytes:c().nonnegative(),owner:Ms}),Ps=f({provider:o(),modelId:o(),replicaIdx:c().int().nonnegative(),running:u(),active:u(),pid:c().int().positive().optional(),lastUsedAt:c().nonnegative().nullable(),unloadAt:c().nonnegative().nullable(),idleTimeoutMs:c().nonnegative(),releaseReason:t([`idle`,`memory-pressure`]).nullable()});f({kind:As,totalBytes:c().nonnegative(),usedBytes:c().nonnegative().nullable(),gezelBytesEstimated:c().nonnegative(),gezelBytesObserved:c().nonnegative().nullable(),processAttributionKind:t([`measured`,`estimated`]).optional(),gezelInfraBytes:c().nonnegative(),gezelModelWeightsBytes:c().nonnegative(),gezelModelCacheBytes:c().nonnegative(),engineReservedBytes:c().nonnegative(),engineBudgetBytes:c().nonnegative().nullable(),enginePools:f({kind:t([`unified`,`discrete-gpu`,`system-ram`]),vramBytes:c().nonnegative(),ramShareBytes:c().nonnegative(),fastBytes:c().nonnegative()}).nullable().optional(),engineRamSpillover:f({allowed:u(),auto:u(),overridden:u(),coResidencyBytes:c().nonnegative()}).optional(),residentModels:l(js),engineLifecycles:l(Ps).optional(),gpuProcesses:l(Ns).optional(),gezelEngineProcessCount:c().int().nonnegative(),orphanedGezelEngineProcessCount:c().int().nonnegative(),otherBytes:c().nonnegative().nullable(),cachedBytes:c().nonnegative().nullable().optional(),freeBytes:c().nonnegative().nullable(),sampledAt:o(),source:t([`device-health`,`system-memory`,`capacity-only`]),deviceNames:l(o())}),f({sizeBytes:c().int().positive().max(10*1024**4)}),f({known:u(),ok:u(),freeBytes:c().nonnegative(),requiredBytes:c().positive(),storageLocation:s(`Gezel model storage`)}),f({version:o(),sampledAt:o(),runtime:f({nodeVersion:o(),platform:o(),arch:o(),osRelease:o(),platformKey:o().nullable()}),hardware:f({totalRamBytes:c().nonnegative(),gpuVramBytes:c().nonnegative().nullable(),gpuMemoryKind:t([`discrete`,`integrated`,`unified`,`none`,`unknown`]).optional(),usableBytes:c().nonnegative(),budgetBytes:c().nonnegative().optional(),source:t([`darwin-unified`,`gpu-nvidia`,`gpu-vulkan`,`gpu-integrated`,`system-ram-fallback`]),gpuVendor:t([`amd`,`nvidia`,`intel`]).optional(),description:o(),tier:t([`tiny`,`small`,`medium`,`large`]),gpuDevices:l(f({name:o(),totalMiB:c().nonnegative(),computeCapability:o().optional(),driverVersion:o().optional()}))}),engine:f({nativeRelease:o(),nativePinned:u(),installedEngines:l(xs),llamaCppBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppDetectedBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppBackendOverride:t([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppRevision:o().optional(),llamaCppBuildBackend:o().optional(),cudaArchitectures:l(o()).optional(),cudaToolkit:o().optional()}),models:f({defaultProvider:P,defaultModel:o().optional(),installed:l(f({id:o(),provider:t([`llama-cpp`,`mlx`,`ds4`]),parameterSize:o().optional()}))}),localEngines:l(f({provider:t([`llama-cpp`,`mlx`,`ds4`]),model:o().optional(),pid:c().optional(),startedAt:o().optional(),contextPerSlot:c().optional(),contextTotal:c().optional(),slots:c().optional(),kvCacheType:o().optional(),backend:o().optional()})).optional()}),f({home:o(),scope:t([`machine`,`user`]),version:o(),startedAt:o(),firstRunCompleted:u(),usage:f({gezelCount:c().int().nonnegative(),projectCount:c().int().nonnegative(),sessionCount:c().int().nonnegative(),everUsed:u()}),provider:P.optional(),defaultModel:o().optional(),memory:f({totalBytes:c().nonnegative(),freeBytes:c().nonnegative()}),engines:l(f({key:o(),residentBytes:c().nonnegative()}))});var Fs=f({kind:t([`pat`,`oauth`]),login:o().optional(),name:o().optional(),avatarUrl:o().optional(),scopes:l(o()).optional(),acquiredAt:o().optional()}),Is=f({documents:o().min(1).optional(),gezels:o().min(1).optional(),projects:o().min(1).optional()}),Ls=f({level:t([`super-lockdown`,`lockdown`,`free`,`custom`]),allowFileEdits:u(),allowExternalChat:u(),allowExternalServices:u(),allowScriptExecution:u(),allowAppNetwork:u()}),Rs=f({mode:t([`off`,`observe`,`guard`]).optional(),maxStartTemperatureC:c().min(40).max(110).optional(),resumeTemperatureC:c().min(35).max(105).optional(),minThermalMarginC:c().min(0).max(40).optional(),pollIntervalMs:c().int().min(500).max(6e4).optional(),maxWaitMs:c().int().min(0).max(36e5).optional(),consecutiveHealthySamples:c().int().min(1).max(20).optional(),onTelemetryFailure:t([`allow`,`block`]).optional()}),zs=f({format:t([`docx`,`pdf`,`pptx`,`md`,`html`]),themeId:o().min(1),transformStyle:o().min(1),pageSize:t([`letter`,`a4`]),htmlStyle:t([`rendered`,`plain`]),htmlBundle:t([`single`,`zip`])}),Bs=t([`adaptive`,`model-max`]);f({policy:Bs}),f({overrides:p(o(),c().int().positive())}),f({contextTokens:c().int().min(32768).max(4194304).nullable()});var Vs=f({enabled:u().default(!1),bindAddress:o().optional(),port:c().int().positive().optional(),priority:t([`equal`,`below-local`,`above-local`]).optional(),reserveLocalGb:c().nonnegative().optional(),allowModels:l(o()).optional(),limits:f({maxConcurrentPerDevice:c().int().positive().optional(),maxChatPerDevice:c().int().positive().optional(),requestsPerMinute:c().int().positive().optional()}).optional()}),Hs=f({provider:P.optional(),hosting:t([`auto`,`machine-service`,`per-user`]).optional(),service:f({url:o(),token:o()}).optional(),localEngineIdleTimeoutMs:c().int().min(6e4).optional(),deviceSafety:Rs.optional(),roleBasedNameOnlyMode:u().optional(),showPoppetjes:u().optional(),narrateAssistantReplies:u().optional(),defaultSttModel:o().optional(),microphoneDeviceId:o().max(1024).optional(),microphoneDeviceLabel:o().max(1024).optional(),githubToken:o().optional(),githubAuth:Fs.optional(),oauthClients:p(o(),f({clientId:o()})).optional(),openaiApiKey:o().optional(),openaiOrganization:o().optional(),anthropicApiKey:o().optional(),googleAiApiKey:o().optional(),imageProvider:t([`sd-cpp`,`google-ai`,`openai`,`mock`]).optional(),defaultImageModel:f({"sd-cpp":o().optional(),"google-ai":o().optional(),openai:o().optional()}).optional(),imageGenerationConfirmation:m([s(`always-allow`),s(`ask`),f({mode:s(`snooze`),until:o()})]).optional(),gpuMemoryPolicy:t([`auto`,`coexist`,`swap`]).optional(),videoProvider:t([`diffusers`,`mock`]).optional(),defaultVideoModel:o().optional(),videoGenerationConfirmation:m([s(`always-allow`),s(`ask`),f({mode:s(`snooze`),until:o()})]).optional(),recognitionProvider:t([`llama-cpp`,`mlx`,`mock`]).optional(),defaultRecognitionModel:o().optional(),recognition:f({mode:t([`auto`,`always`,`off`]).optional(),modes:l(Tn).optional(),maxImagesPerTurn:c().int().min(1).max(16).optional(),timeoutMsPerImage:c().int().min(5e3).optional(),maxDigestChars:c().int().min(200).optional(),maxMegapixels:c().positive().optional()}).optional(),nativeVision:p(o(),u()).optional(),webhookBearerToken:o().optional(),webhookBasicAuth:o().optional(),braveSearchApiKey:o().optional(),tavilyApiKey:o().optional(),ollamaBaseUrl:o().optional(),autoStartOllama:u().optional(),defaultModel:f({copilot:o().optional(),openai:o().optional(),anthropic:o().optional(),"anthropic-cli":o().optional(),"codex-cli":o().optional(),ollama:o().optional(),"llama-cpp":o().optional(),mlx:o().optional(),ds4:o().optional(),remote:o().optional()}).optional(),defaultReasoningEffort:f({copilot:o().optional(),openai:o().optional(),anthropic:o().optional(),"anthropic-cli":o().optional(),"codex-cli":o().optional(),ollama:o().optional(),"llama-cpp":o().optional(),mlx:o().optional(),ds4:o().optional(),remote:o().optional()}).optional(),modelTuning:p(o(),Wt).optional(),modelFitness:p(o(),a()).optional(),remoteServing:Vs.optional(),fileReviews:f({enabled:u().default(!0),disabledKinds:l(o()).optional()}).optional(),modelTuningProfile:p(o(),o()).optional(),meesterGezelId:o().optional(),sharedProjectId:o().optional(),klerkGezelId:o().optional(),boekwachterGezelId:o().optional(),keurmeesterGezelId:o().optional(),openaiEndpoints:f({enabled:u().optional(),servingGezelId:o().optional(),supportingBehaviors:u().optional(),emulateOllama:u().optional()}).optional(),ollamaNumCtx:c().int().positive().optional(),ollamaStreamingIdleSec:c().int().positive().optional(),ollamaPreFirstByteIdleSec:c().int().positive().optional(),ollamaTurnTimeoutMin:c().int().positive().optional(),ollamaNumPredict:c().int().positive().optional(),ollamaThink:u().optional(),llamaCppModelPath:o().optional(),llamaCppBaseUrl:o().optional(),llamaCppNumCtx:c().int().positive().optional(),llamaCppContextSizing:Bs.optional(),modelContextOverrides:p(o(),c().int().positive()).optional(),...bs.shape,llamaCppStreamingIdleSec:c().int().positive().optional(),llamaCppPreFirstByteIdleSec:c().int().positive().optional(),llamaCppBackendOverride:t([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).optional(),autoDownloadEngines:u().optional(),engineSignaturePolicy:t([`off`,`prefer`,`require`]).optional(),llamaCppKvCacheType:t([`f16`,`q8_0`,`q4_0`]).optional(),llamaCppMlock:u().optional(),...Pt.shape,llamaCppFlashAttn:m([u(),t([`on`,`off`,`auto`])]).optional(),llamaCppNGpuLayers:c().int().min(-1).optional(),llamaCppCpuMoe:u().optional(),llamaCppNCpuMoe:c().int().min(0).optional(),llamaCppCacheReuse:c().int().min(0).optional(),llamaCppSwaFull:u().optional(),llamaCppThreads:c().int().positive().optional(),llamaCppBatchSize:c().int().positive().optional(),llamaCppSpecType:t([`none`,`draft-mtp`,`draft-eagle3`,`draft-dflash`,`draft-simple`,`ngram-mod`,`ngram-simple`,`ngram-map-k`,`ngram-map-k4v`,`ngram-cache`]).optional(),llamaCppDraftModelPath:o().optional(),llamaCppSpecDraftNMax:c().int().positive().optional(),llamaCppExtraArgs:p(o(),m([o(),c(),u()])).optional(),llamaCppUbatchSize:c().int().positive().optional(),mlxBaseUrl:o().optional(),mlxModelPath:o().optional(),mlxNumCtx:c().int().positive().optional(),mlxPackageSpec:o().optional(),mlxKvBits:c().int().min(0).max(8).optional(),mlxSpecDraftModelPath:o().optional(),mlxSpeculativeDecoding:u().optional(),mlxSpecBlockSize:c().int().positive().optional(),mlxPrefillStepSize:c().int().positive().optional(),localEngineMemoryGb:c().positive().nullable().optional(),allowRamSpillover:u().nullable().optional(),localEngineReplicas:p(o(),c().int().min(0)).optional(),localEngineReplicasMax:c().int().positive().optional(),pythonRuntime:f({source:t([`system-uv`,`system-python`,`bundled-uv`]),installerPath:o().optional(),uvVersion:o().optional(),pythonVersion:o().optional(),resolvedAt:o().optional()}).optional(),firstRunCompleted:u().optional(),securityPolicy:Ls.optional(),firstRunInstallError:o().optional(),copilotTurnTimeoutMin:c().int().positive().optional(),providerConcurrency:f({copilot:c().int().min(1).optional(),openai:c().int().min(1).optional(),anthropic:c().int().min(1).optional(),"anthropic-cli":c().int().min(1).optional(),"codex-cli":c().int().min(1).optional(),ollama:c().int().min(1).optional(),"llama-cpp":c().int().min(1).optional(),mlx:c().int().min(1).optional(),ds4:c().int().min(1).optional()}).optional(),cacheBudgetMb:f({mlx:c().int().min(64).optional(),"llama-cpp":c().int().min(64).optional()}).optional(),mlxDiskCacheBudgetMb:c().int().min(0).optional(),llamaCppDiskCacheBudgetMb:c().int().min(0).optional(),layeredPrefixCache:f({enabled:u().optional()}).optional(),mlxSharedBandPrefix:f({enabled:u().optional()}).optional(),providerQueue:f({affinity:u().optional()}).optional(),taskRunner:f({tickIntervalMs:c().int().min(500).optional()}).optional(),taskBudget:f({enabled:u().optional(),softNudge:u().optional(),hardPause:u().optional(),scale:c().positive().optional(),limits:p(t([`tiny`,`small`,`medium`,`large`,`cloud`]),f({softTurns:c().int().positive().optional(),hardTurns:c().int().positive().optional(),softOutputTokens:c().int().positive().optional(),hardOutputTokens:c().int().positive().optional()}).partial()).optional()}).optional(),stuckStep:f({enabled:u().optional(),stallMs:c().int().positive().optional(),maxRedrives:c().int().positive().optional()}).optional(),autoRecall:f({enabled:u().optional(),topK:c().int().positive().optional(),minScore:c().optional()}).optional(),retrieval:b.optional(),summarization:f({enabled:u().optional(),provider:P.optional(),model:o().optional(),minUserTurns:c().int().positive().optional(),idleHours:c().positive().optional()}).optional(),memory:f({maintenance:f({enabled:u().optional(),olderThanDays:c().int().min(2).optional(),minEntries:c().int().positive().optional()}).optional(),lessons:f({enabled:u().optional(),maxChars:c().int().positive().optional(),lookbackDays:c().int().positive().optional()}).optional()}).optional(),searchIndex:f({enabled:u().optional(),sessions:u().optional(),history:u().optional(),documents:u().optional()}).optional(),digest:f({enabled:u().optional()}).optional(),promptDrafts:ni.optional(),gildeUpdates:f({enabled:u().optional()}).optional(),faceRecognition:f({enabled:u().optional()}).optional(),knowledge:f({autoUpdate:u().optional(),registryUrl:o().optional()}).optional(),meesterStatus:f({enabled:u().optional(),maxRunsPerDay:c().int().min(1).max(24).optional(),changeWindowHours:c().positive().optional()}).optional(),ambientDashboard:f({enabled:u().optional(),intervalMinutes:c().int().min(15).optional(),resolution:Vo.optional(),themeId:Uo.optional(),displayTarget:qo.optional(),style:Ho.optional(),keep:c().int().min(1).max(200).optional()}).optional(),ambientDisplay:f({applyWallpaper:u().optional()}).optional(),growth:f({enabled:u().optional()}).optional(),keurmeester:f({enabled:u().optional(),providerName:o().optional(),model:o().optional(),allowTakeover:u().optional(),maxConsultsPerSession:c().int().positive().optional(),maxConsultsPerTask:c().int().positive().optional(),cooldownMs:c().int().positive().optional()}).optional(),projectNudge:f({enabled:u().optional(),rapidIntervalMs:c().int().positive().optional(),slowIntervalMs:c().int().positive().optional(),recentActivityWindowMs:c().int().positive().optional(),rapidAttemptsBeforeBackoff:c().int().positive().optional(),firstNudgeGraceMs:c().int().nonnegative().optional()}).optional(),debugMode:u().optional(),showAdvancedFeatures:u().optional(),showWorkInProgressFeatures:u().optional(),resetTemplatesOnStartup:u().optional(),aiEngagementMode:t([`proactive`,`scheduled`,`reactive`,`off`]).optional(),showSystemTray:u().optional(),autoUpdateChecks:u().optional(),quitOnClose:u().optional(),themePref:t([`system`,`light`,`dark`]).optional(),cliShowThinking:u().optional(),cliShowWrites:u().optional(),documentExportOptions:zs.optional(),inlineSpellChecking:u().optional(),inlineGrammarChecking:u().optional(),sidebarSide:t([`left`,`right`]).optional(),homeGreetingCollapsed:u().optional(),workshopTempo:t([`gezellig`,`bedrijvig`,`druk`,`dolle-boel`]).optional(),nightShift:f({enabled:u().optional(),window:f({startHour:c().int().min(0).max(23),endHour:c().int().min(0).max(23)}).optional(),keepAwakeWhileRunning:u().optional(),wakeOnStart:u().optional(),modelOverride:f({enabled:u().optional(),provider:P.optional(),model:o().optional()}).optional(),quotaReserve:f({overall:f({enabled:u().optional(),percent:c().min(0).max(100).optional()}).optional(),perDay:f({enabled:u().optional(),percent:c().min(0).max(100).optional()}).optional()}).optional()}).optional(),toolFilterMode:t([`always`,`never`,`small-model`]).optional(),channels:us.optional(),sandboxCopilot:u().optional(),anthropicCli:f({binaryPath:o().optional(),manageRuntimeFiles:u().optional(),defaultPermissionMode:j.optional(),extraModels:l(f({id:o(),name:o()})).optional(),poolSize:c().int().min(1).max(32).optional(),workerIdleSec:c().int().min(60).max(3600).optional()}).optional(),codexCli:f({binaryPath:o().optional(),manageRuntimeFiles:u().optional(),defaultPermissionMode:_t.optional(),defaultReasoningEffort:t([`minimal`,`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]).optional(),extraModels:l(f({id:o(),name:o()})).optional(),extraConfigOverrides:p(o(),o()).optional()}).optional(),executionDensity:t([`auto`,`flat`,`scaffold`]).optional(),playwrightHeadless:u().optional(),fetchUrl:f({allow:l(o()).optional(),deny:l(o()).optional()}).optional(),webSearch:f({provider:t([`brave`,`wikipedia`,`tavily`,`mock`]).optional(),fallbackProvider:t([`brave`,`wikipedia`,`tavily`]).optional(),defaultLimit:c().int().min(1).max(20).optional(),allow:l(o()).optional(),deny:l(o()).optional()}).optional(),projectMru:l(f({id:o(),at:c()})).optional(),recentTabs:l(d(`kind`,[f({kind:s(`project`),id:o(),at:c(),order:c()}),f({kind:s(`gezel`),id:o(),at:c(),order:c()}),f({kind:s(`document`),path:o(),at:c(),order:c()}),f({kind:s(`task`),ref:o(),at:c(),order:c()}),f({kind:s(`area`),area:t([`projects`,`gezels`,`documents`,`tasks`,`scripts`,`history`,`settings`,`benchmarks`]),at:c(),order:c()})])).optional(),externalFolders:Is.optional()}),Us=t([`projects`,`gezels`,`documents`,`tasks`,`craftbooks`,`scripts`,`history`,`settings`,`benchmarks`,`handboek`,`knowledge`]);d(`kind`,[f({kind:s(`project`),id:o(),at:c(),order:c(),pinned:u().optional()}),f({kind:s(`gezel`),id:o(),at:c(),order:c(),pinned:u().optional()}),f({kind:s(`document`),path:o(),at:c(),order:c(),pinned:u().optional()}),f({kind:s(`task`),ref:o(),at:c(),order:c(),pinned:u().optional()}),f({kind:s(`area`),area:Us,at:c(),order:c(),pinned:u().optional()}),f({kind:s(`script`),projectId:o(),name:o(),scope:t([`standard`,`user`]).optional(),at:c(),order:c(),pinned:u().optional()}),f({kind:s(`craftbook`),id:o(),source:t([`bundled`,`local`,`project`]).optional(),at:c(),order:c(),pinned:u().optional()}),f({kind:s(`craftbook-script`),craftbookId:o(),name:o(),at:c(),order:c(),pinned:u().optional()})]),Hs.extend({ollamaThink:u().nullable().optional(),firstRunInstallError:o().nullable().optional(),microphoneDeviceId:o().max(1024).nullable().optional(),microphoneDeviceLabel:o().max(1024).nullable().optional(),service:f({url:o(),token:o()}).nullable().optional(),llamaCppBaseUrl:o().nullable().optional(),llamaCppModelPath:o().nullable().optional(),llamaCppBackendOverride:t([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).nullable().optional(),llamaCppKvCacheType:t([`f16`,`q8_0`,`q4_0`]).nullable().optional(),llamaCppFlashAttn:m([u(),t([`on`,`off`,`auto`])]).nullable().optional(),llamaCppSpecType:t([`none`,`draft-mtp`,`draft-eagle3`,`draft-dflash`,`draft-simple`,`ngram-mod`,`ngram-simple`,`ngram-map-k`,`ngram-map-k4v`,`ngram-cache`]).nullable().optional(),llamaCppCpuMoe:u().nullable().optional(),...Ft.shape,llamaCppSwaFull:u().nullable().optional(),mlxBaseUrl:o().nullable().optional(),mlxModelPath:o().nullable().optional(),mlxPackageSpec:o().nullable().optional(),mlxKvBits:c().int().min(0).max(8).nullable().optional(),mlxSpecDraftModelPath:o().nullable().optional(),mlxSpeculativeDecoding:u().nullable().optional(),mlxSpecBlockSize:c().int().positive().nullable().optional(),externalFolders:f({documents:o().min(1).nullable().optional(),gezels:o().min(1).nullable().optional(),projects:o().min(1).nullable().optional()}).nullable().optional()}),f({gezels:l(zn)}),f({name:o().min(1),description:o().optional(),role:o().optional(),gender:Fn.optional(),model:o().optional(),about:o().optional()}),f({state:At,nextLevelXp:c().int(),activeTraits:l(Ln),driftedTraitIds:l(o())}),f({proposalId:o().min(1)}),f({proposalId:o().min(1).optional()}),f({source:o()}),f({source:o()}),f({name:o().min(1)}),f({defaults:p(o(),a()).nullable()}),f({provider:P.nullable().optional(),model:o().nullable().optional(),reasoningEffort:o().nullable().optional(),numCtx:c().int().positive().nullable().optional(),autoRecall:u().nullable().optional(),retrieval:b.nullable().optional(),font:o().nullable().optional(),sandboxCopilot:u().nullable().optional(),claudePermissionMode:j.nullable().optional(),codexPermissionMode:_t.nullable().optional(),tuning:Wt.nullable().optional(),tuningProfile:M.nullable().optional(),iconOverride:u().nullable().optional(),recognition:t([`auto`,`always`,`off`]).nullable().optional()}),f({instruction:o().optional()}),f({role:o().optional()}),f({provider:P,models:l(f({id:o(),name:o(),supportsReasoning:u().optional(),reasoningEfforts:l(o()).optional(),defaultReasoningEffort:o().optional(),contextWindow:c().optional(),supportsTools:u().optional(),parameterSize:o().optional()}))}),f({svg:o()});var Ws=f({timestamp:o(),svg:o()});f({current:o().nullable(),history:l(Ws)}),f({timestamp:o()}),f({poppetje:ht}),f({seed:c().int().optional()});var Gs=t([`about`,`chat-composer`,`task-description`,`generic`]);f({text:o(),context:Gs.optional(),instruction:o().optional(),isSelection:u().optional(),subject:o().optional(),parentContext:o().optional()}),f({text:o()}),f({mode:t([`rewrite`,`insert`]).default(`rewrite`),text:o().default(``),instruction:o().optional(),context:Gs.optional(),subject:o().optional(),parentContext:o().optional(),textBefore:o().optional(),textAfter:o().optional()}),d(`type`,[f({type:s(`status`),phase:t([`queued`,`started`]),detail:o().optional()}),f({type:s(`thinking-delta`),text:o()}),f({type:s(`output-delta`),text:o()}),f({type:s(`done`),text:o()}),f({type:s(`error`),error:o()})]),f({path:o().min(1),content:o(),gezelId:o().optional(),sessionId:o().optional()});var Ks=o().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`}),qs=d(`kind`,[f({kind:s(`documents`)}),f({kind:s(`project-artifacts`),projectId:o().trim().min(1)})]);f({markdown:o().max(5e6),selectedFile:Ks,format:t([`mp4`,`gif`]),source:qs}),f({path:o().min(1)}),f({fromPath:o().trim().min(1),toPath:o().trim().min(1)}),f({gezelId:o(),messages:l(F)}),f({fileTurnIntent:go.optional(),message:o().min(1),projectId:o().optional(),expectedDeliverable:G.optional()}),f({accepted:s(!0),gezelId:o()}),f({fileTurnIntent:go.optional(),fromGezelId:o().min(1),fromSessionId:o().optional(),projectId:o().optional(),text:o().min(1),suppressReply:u().optional(),expectedDeliverable:G.optional()}),f({accepted:s(!0),sessionId:o(),toGezelId:o(),toGezelName:o(),deliveryState:t([`parked`,`dispatched`]),deduplicated:u().optional()}),f({jobTitle:o().min(1),preferredName:o().optional()}),f({gezelId:o(),name:o(),role:o(),action:t([`reused`,`created-from-gilde`,`created-bespoke`]),matchScore:c().optional(),templateId:o().optional(),alternatives:l(o()).optional()}),f({candidates:l(f({id:o(),label:o(),description:o().optional(),roleBasedName:o().optional(),group:t([`voorman`,`assignees`,`team`]).optional()}))}),f({projects:l(f({projectId:o(),projectName:o(),precedence:t([`voorman`,`assignment`,`session`,`fallback`]),lastActivityAt:o().optional()}))}),f({projectId:o(),gezelId:o(),sessionId:o(),prompt:o().min(1),choices:l(o()).max(20).optional(),allowWriteIn:u().optional(),multiSelect:u().optional(),taskRef:Oi.optional(),documentPath:o().optional()}),f({questionId:o(),deduped:u().optional()}),f({projectId:o(),gezelId:o(),sessionId:o(),toolName:o().min(1),toolInput:p(o(),a())}),d(`behavior`,[f({behavior:s(`allow`),updatedInput:p(o(),a())}),f({behavior:s(`deny`),message:o()})]),f({fromGezelId:o().min(1),fromSessionId:o().min(1),toGezelIdOrName:o().min(1),projectId:o().optional(),question:o().min(1),timeoutMs:c().int().positive().optional(),taskRef:o().optional(),stepId:o().optional(),expectedDeliverable:G.optional()}),d(`outcome`,[f({outcome:s(`reply`),text:o(),toGezelId:o(),toGezelName:o(),sessionId:o()}),f({outcome:s(`error`),reason:t([`cycle`,`depth`,`self`,`not-found`,`engagement-off`,`timeout`,`target-error`,`target-deleted`,`delivery-failed`]),message:o()})]),f({selectedChoices:l(c().int().min(0)).optional(),writeIn:o().optional(),declined:u().optional(),silentSkip:u().optional(),npmInstallDecisions:l(an).optional()}),f({questions:l(Sn)}),f({kind:t([`artifact`,`document`,`workspace`]),path:o().min(1).max(4096)}),f({path:o().min(1)}),d(`mode`,[f({mode:s(`text`),content:o()}),f({mode:s(`markdown`),content:o(),sidecarPath:o().min(1)}),f({mode:s(`media`),mediaKind:t([`image`,`video`,`audio`])}),f({mode:s(`binary`)})]),d(`kind`,[f({kind:s(`found`),content:o(),path:o(),fuzzy:u()}),f({kind:s(`ambiguous`),candidates:l(o())}),f({kind:s(`missing`)})]),f({lines:f({start:c().int().min(1),count:c().int().min(0)}).optional(),head:c().int().min(0).optional(),tail:c().int().min(0).optional()}),d(`kind`,[f({kind:s(`found`),content:o(),path:o(),fuzzy:u(),linesReturned:c().int().nonnegative(),totalLines:c().int().nonnegative(),bytesReturned:c().int().nonnegative(),totalBytes:c().int().nonnegative(),hasMore:u()}),f({kind:s(`ambiguous`),candidates:l(o())}),f({kind:s(`missing`)})]),f({path:o().min(1),pattern:o().min(1),caseInsensitive:u().optional(),contextLines:c().int().min(0).max(10).optional(),maxMatches:c().int().min(1).max(100).optional()}),d(`kind`,[f({kind:s(`found`),matches:l(f({lineNumber:c().int().min(1),line:o(),contextBefore:l(o()).optional(),contextAfter:l(o()).optional()})),totalMatches:c().int().nonnegative(),totalLines:c().int().nonnegative(),truncated:u(),path:o(),fuzzy:u()}),f({kind:s(`ambiguous`),candidates:l(o())}),f({kind:s(`missing`)}),f({kind:s(`invalid-pattern`),error:o()})]);var Js=f({phase:t([`idle`,`installing-toolsets`,`downloading-browser`,`ready`,`setup-incomplete`,`error`]),currentToolset:o().optional(),browserProgress:f({bytesDownloaded:c(),bytesTotal:c().nullable()}).optional(),error:o().optional(),updatedAt:o()}),Ys=f({phase:t([`idle`,`provisioning`,`ready`,`error`]),message:o().optional(),error:o().optional(),updatedAt:o()}),Xs=m([f({kind:s(`stdout`),line:o()}),f({kind:s(`stderr`),line:o()}),f({kind:s(`exit`),code:c()}),f({kind:s(`error`),message:o()})]),Zs=d(`type`,[f({type:s(`phase`),phase:t([`resolving`,`downloading`,`extracting`,`installing-deps`,`publishing`])}),f({type:s(`progress`),bytesWritten:c().nonnegative(),totalBytes:c().nonnegative()}),f({type:s(`retrying`),attempt:c().int().positive(),maxAttempts:c().int().positive(),delayMs:c().nonnegative(),reason:o()}),f({type:s(`log`),line:o()}),f({type:s(`done`),installPath:o(),version:o()}),f({type:s(`error`),error:o()})]);f({toolsetId:o(),version:o(),startedAt:o(),phase:t([`resolving`,`downloading`,`extracting`,`installing-deps`,`publishing`]),bytesWritten:c().nonnegative(),totalBytes:c().nonnegative(),retrying:f({attempt:c().int().positive(),maxAttempts:c().int().positive(),delayMs:c().nonnegative(),reason:o()}).optional(),log:l(o()),finished:u(),error:o().optional(),installPath:o().optional()}),f({available:u(),source:t([`env`,`managed`,`path`]).nullable(),managed:t([`current`,`outdated`,`absent`,`damaged`]),damagedReason:o().optional(),installedVersion:o().optional(),pinnedVersion:o(),installDir:o().optional(),cliPath:o().optional(),updateAvailable:u(),canInstall:u().optional()}),f({projects:l(Cr.extend({architecture:o().optional()}))});var Qs=f({name:o().min(1),description:o().optional(),icon:I.optional(),workingDir:o().min(1).optional(),about:o().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:o().optional().describe(`Concrete success criteria — usually a bullet list. What does "done" look like?`),mode:t([`crew`,`solo`]).optional(),indexingEnabled:u().optional(),github:f({url:o().url()}).optional()});f({name:o().min(1).optional(),description:o().optional(),icon:I.nullable().optional(),workingDir:o().nullable().optional(),voormanGezelId:o().nullable().optional(),linkedProjectIds:l(xt).max(32).optional(),about:o().optional(),missionObjectives:o().optional(),knowledgeCatalogs:or.optional(),github:m([re(),f({url:o().url().optional(),branch:o().optional()})]).optional(),managedWorkspaceWritePolicy:yr.optional(),allowGezelWrites:u().optional(),codexPermissionMode:gt.optional(),claudePermissionMode:j.optional(),nudgeConfig:gr.optional(),tabVisibility:vr.optional(),outputPaneVisible:u().nullable().optional(),indexingEnabled:u().optional(),nightlyFixesEnabled:u().optional(),status:t([`active`,`readonly`,`inactive`,`stable`]).optional(),archived:u().optional(),workspaceScriptTimeoutMs:c().int().min(3e4).max(30*6e4).optional(),grantedCredentials:l(o()).optional(),credentialAllowedOrigins:p(o(),l(pr)).optional(),projectTypeId:o().nullable().optional(),properties:p(o(),o()).optional(),mode:Sr.optional()});var $s=f({typeId:o().min(1),version:o().optional(),params:p(o(),a()).optional(),seedPolicy:t([`overwrite`,`preserve`]).optional(),reuseRosterGezels:u().optional()}),ec=f({ref:o(),craftbook:o(),cron:o(),consent:t([`ask`,`auto`,`disabled`]),status:t([`active`,`paused`]),created:u()}),tc=f({typeId:o(),version:o(),source:o(),gezelsCreated:l(f({id:o(),name:o(),templateId:o(),voorman:u()})),scriptsInstalled:l(o()),workspaceSeeded:l(o()),seedsSkipped:l(o()).default([]),toolsetsInstalled:l(o()),toolsBound:l(o()),craftbooksInstalled:l(o()),schedulesCreated:l(ec),aboutRendered:u(),missionRendered:u(),deferred:f({toolsets:l(o()),craftbooks:l(o()),pages:u(),schedules:c()})});Qs.pick({name:!0,description:!0,mode:!0,icon:!0}).extend({projectType:$s}),f({project:Tr,applied:tc});var nc=t([`new`,`unchanged`,`update`,`keep-modified`]);f({typeId:o(),version:o(),source:o(),gezels:l(f({templateId:o(),voorman:u(),reuse:u()})),scripts:l(o()),seeds:l(f({path:o(),state:nc})),toolsets:f({installNow:l(o()),deferred:l(o())}),craftbooks:l(o()),schedules:l(f({craftbook:o(),cron:o().optional(),consent:t([`ask`,`auto`,`disabled`])})),pages:u()});var rc=t([`ok`,`modified`,`missing`,`untracked`]);f({projectId:o(),provenance:br.nullable(),installedApp:f({appId:o(),version:o(),enabled:u()}).nullable(),updateAvailable:u(),seeds:l(f({path:o(),state:rc}))});var ic=f({appId:o(),version:o(),packageSha256:o(),installedAt:o(),enabled:u(),name:o().nullable(),description:o().nullable(),publisher:f({name:o(),url:o().optional()}).nullable(),itemCount:c().int(),dependencyCount:c().int(),versionsOnDisk:l(o())});f({apps:l(ic)});var ac=f({id:o(),name:o(),version:o()});ic.extend({manifest:so.nullable(),missingDependencies:l(ao),appliedProjects:l(ac)}),f({enabled:u()}),f({appId:o(),removedVersions:l(o()),keptVersions:l(o()),appliedProjects:l(ac)}),f({manifest:so,items:l(f({kind:no,id:o(),version:o()})),dependencies:l(ao),missingDependencies:l(ao),packageSha256:o(),installed:f({appId:o(),version:o(),receiptPath:o(),alreadyPresent:u()}).optional(),previous:f({version:o(),enabled:u()}).optional()}),f({name:nn,version:N.optional()}).strict(),f({packages:l(rn).min(1).max(50).optional(),package:nn.optional(),version:N.optional(),gezelId:o().optional(),sessionId:o().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`})}),f({project:Tr,log:o()}),f({scripts:p(o(),o()),packageManager:o().optional()}),f({ok:u(),code:c(),stdout:o(),stderr:o(),stdoutTruncated:u(),stderrTruncated:u(),timedOut:u(),error:o().optional(),approvalPending:u().optional(),questionId:o().optional(),declined:o().optional(),resolvedBinPath:o().optional()}),f({script:o().min(1),args:l(o()).optional(),timeoutMs:c().int().positive().optional(),gezelId:o().optional(),sessionId:o().optional()}),f({bin:o().min(1),args:l(o()).optional(),timeoutMs:c().int().positive().optional(),gezelId:o().optional(),sessionId:o().optional()}),f({npmApproved:l(f({package:o(),version:o(),at:o(),approvedBy:t([`user`,`shipped`])})),npmDeclined:l(f({package:o(),version:o(),at:o()})),scriptApprovals:p(o(),t([`approved`,`declined`])),npxApprovals:p(o(),t([`approved`,`declined`])),npmShipped:l(f({package:o(),allowedVersions:l(o())}))}),f({error:o(),details:a().optional()}),f({url:o().url(),method:t([`GET`,`HEAD`,`POST`,`PUT`,`PATCH`,`DELETE`]).optional(),headers:p(o(),o()).optional(),body:o().optional(),timeoutMs:c().int().positive().max(12e4).optional(),maxBytes:c().int().positive().max(50*1024*1024).optional()}),f({status:c().int(),statusText:o(),headers:p(o(),o()),body:o().optional(),bodyBase64:o().optional(),mimeType:o().optional(),truncated:u()}),f({query:o().min(1).max(400),limit:c().int().min(1).max(20).optional(),freshness:t([`day`,`week`,`month`,`year`]).optional(),country:o().length(2).optional(),language:o().min(2).max(8).optional()});var oc=f({title:o(),url:o(),snippet:o(),domain:o(),publishedAt:o().optional(),source:t([`brave`,`wikipedia`,`tavily`,`mock`]),content:o().optional()});f({query:o().min(1).max(400),limit:c().int().min(1).max(20).optional(),language:o().min(2).max(8).optional()}),f({results:l(oc),source:t([`brave`,`wikipedia`,`tavily`,`mock`]),query:o(),durationMs:c().int().nonnegative()}),f({title:o().min(1).max(400),language:o().min(2).max(8).optional(),maxChars:c().int().min(500).max(6e4).optional()}),f({title:o(),url:o(),content:o(),truncated:u(),durationMs:c().int().nonnegative()}),f({files:l(f({path:o().min(1).max(4096),startLine:c().int().min(1).max(1e7).optional(),endLine:c().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)}),f({results:l(d(`status`,[f({status:s(`ok`),path:o(),content:o(),startLine:c().int().positive(),endLine:c().int().nonnegative(),linesReturned:c().int().nonnegative(),bytesReturned:c().int().nonnegative(),scannedBytes:c().int().nonnegative(),totalLines:c().int().nonnegative().optional(),totalBytes:c().int().nonnegative(),eof:u(),completeFile:u(),hasMore:u(),nextStartLine:c().int().positive().optional(),truncated:u(),truncationReason:t([`line-limit`,`output-limit`]).optional()}),f({status:s(`error`),path:o(),code:t([`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:o(),scannedBytes:c().int().nonnegative().optional()})])),truncated:u(),totalBytesReturned:c().int().nonnegative(),totalScannedBytes:c().int().nonnegative()}),f({pattern:o().min(1).max(4e3),path:o().max(4096).optional(),glob:o().min(1).max(512).optional(),includeGlobs:l(o().min(1).max(512)).max(32).optional(),excludeGlobs:l(o().min(1).max(512)).max(32).optional(),caseInsensitive:u().optional(),literal:u().optional(),contextLines:c().int().min(0).max(5).optional(),resultMode:t([`matches`,`files`,`count`]).optional(),cursor:c().int().min(0).max(1e4).optional(),maxResults:c().int().positive().max(200).optional(),timeoutMs:c().int().min(100).max(3e4).optional()});var sc=f({line:c().int().positive(),text:o()}),cc=f({path:o(),line:c().int().positive(),text:o(),before:l(sc).optional(),after:l(sc).optional()});f({mode:t([`matches`,`files`,`count`]).default(`matches`),matches:l(cc),files:l(o()).default([]),count:c().int().nonnegative().default(0),truncated:u(),truncationReason:t([`limit`,`output`]).optional(),nextCursor:c().int().nonnegative().optional(),engine:t([`ripgrep`,`javascript`])}),f({});var lc=f({table:o(),title:o().optional(),grain:o().optional(),rows:c().int().nonnegative(),columns:c().int().nonnegative(),partitions:c().int().nonnegative(),earliestPartition:o().optional(),latestPartition:o().optional(),origin:t([`connector`,`workspace`]).default(`connector`),source:o(),schemaInferred:u()});f({tables:l(lc)}),f({table:o().min(1).max(200)}),f({table:o(),markdown:o(),summary:lc}),f({sql:o().min(1).max(2e4),limit:c().int().positive().max(1e4).optional(),tables:l(o().min(1).max(200)).max(32).optional(),timeoutMs:c().int().min(1e3).max(3e5).optional()}),f({rows:l(p(o(),a())),columns:l(o()),truncated:u(),limit:c().int().positive(),tablesInScope:l(o())}),f({glob:o().min(1),path:o().optional(),caseInsensitive:u().optional(),maxResults:c().int().positive().max(5e3).optional()}),f({files:l(o()),truncated:u()});var J=f({x:c(),y:c(),w:c(),h:c()}),uc=f({id:o(),parentId:o().nullable(),rect:J,label:o(),depth:c().int().nonnegative(),fileCount:c().int().nonnegative(),weight:c().nonnegative(),color:o().optional(),labelPlate:J.optional(),displayLabel:o().optional()}),dc=f({findings:c().int().nonnegative(),maxSeverity:t([`critical`,`high`,`medium`,`low`,`info`]).nullable(),fanIn:c().int().nonnegative(),fanOut:c().int().nonnegative(),vibe:t([`lush`,`tidy`,`plain`,`scruffy`,`blighted`]),zone:t([`residential`,`commercial`,`civic`,`industrial`]),importance:c().min(0).max(1).optional(),churn:c().int().nonnegative().optional()}),fc=t([`hamlet`,`village`,`town`,`city`]),pc=f({id:o(),districtId:o(),rect:J,label:o(),weight:c().nonnegative(),kind:o().nullable().optional(),lang:o().nullable().optional(),state:t([`live`,`new`,`tombstoned`]),buildingCount:c().int().nonnegative(),phantom:u().optional(),placedAt:o().nullable().optional(),lot:J.optional(),health:dc.optional(),levels:c().int().min(1).max(5).optional(),landmark:u().optional(),lastTouchedAt:o().optional(),urbanity:c().min(0).max(1).optional(),settlement:fc.optional()}),mc=f({id:o(),blockId:o(),rect:J,height:c().nonnegative(),lines:c().int().positive().optional(),lineStart:c().int().positive().optional(),lineEnd:c().int().positive().optional(),label:o(),kind:o()}),hc=f({id:o(),rect:J,tier:c().int().min(0).max(3),districtId:o().nullable(),traffic:c().nonnegative().optional(),grade:c().int().min(0).max(7).optional()}),gc=f({id:o(),districtId:o().nullable(),rect:J,kind:t([`plaza`,`green`]),blockId:o().optional()}),_c=f({a:o(),b:o(),affinity:c(),source:t([`import`,`embedding`,`mixed`]),bidirectional:u()}),vc=f({blockId:o(),change:t([`added`,`modified`,`deleted`,`renamed`]),additions:c().int().nonnegative(),deletions:c().int().nonnegative(),fromPath:o().optional()}),yc=f({prNumber:c().int().optional(),title:o().optional(),changedBlocks:l(vc)}),bc=f({center:f({x:c(),y:c()}),radius:c().positive(),ceiling:c().min(0).max(1),peak:c().min(0).max(1),median:c().min(0).max(1),settlement:fc,fileCount:c().int().nonnegative()}),xc=t([`core`,`tests`,`all`]);f({domain:t([`code`,`docs`,`data`]).optional(),scope:xc.optional(),pr:c().int().positive().optional()}),f({domain:o(),root:o(),bounds:J,builtAt:o(),indexed:u(),districts:l(uc),blocks:l(pc),buildings:l(mc),roads:l(_c),streets:l(hc).optional(),plazas:l(gc).optional(),overlay:yc.optional(),urbanity:bc.optional(),signals:f({gitAvailable:u(),churnWindowDays:c().int().positive()}).optional()}),f({query:o().min(1),maxResults:c().int().positive().max(100).optional()}),f({results:l(f({sourcePath:o(),markdownPath:o(),lineStart:c().int().positive(),lineEnd:c().int().positive(),snippet:o()})),engine:t([`fts`,`unavailable`]),truncated:u()}),f({path:o().min(1)}),f({found:u(),sourcePath:o().optional(),markdownPath:o().optional(),markdown:o().optional(),truncated:u()}),f({query:o().min(1),mode:t([`auto`,`semantic`,`keyword`]).optional(),maxResults:c().int().positive().max(100).optional()}),f({results:l(f({path:o(),lineStart:c().int().positive(),lineEnd:c().int().positive(),kind:o(),name:o().optional(),snippet:o(),score:c(),source:t([`vector`,`fts`])})),engine:t([`hybrid`,`semantic`,`fts`,`unavailable`]),truncated:u()});var Sc=t([`critical`,`high`,`medium`,`low`,`info`]),Cc=t([`builtin`,`semgrep`,`osv`,`gitleaks`]),wc=t([`open`,`in_progress`,`resolved`]),Tc=f({fingerprint:o().min(1),path:o(),line:c().int().positive().nullable(),ruleId:o(),category:o(),severity:Sc,source:Cc,title:o(),evidence:o().optional(),status:wc,taskRef:Oi.optional()}),Ec=f({total:c().int().nonnegative(),bySeverity:p(o(),c().int().nonnegative()),byCategory:p(o(),c().int().nonnegative()),bySource:p(o(),c().int().nonnegative())});f({useExternalTools:u().optional()});var Dc=f({semgrep:u(),osvScanner:u(),gitleaks:u(),npm:u()}),Oc=f({engine:o().nullable(),measured:u(),lockfiles:l(o())}),kc=f({scannedAt:o(),engines:l(o()),toolsAvailable:Dc,sca:Oc});f({ran:u(),engines:l(o()),toolsAvailable:Dc,findingCounts:Ec,dependencies:c().int().nonnegative(),advisories:c().int().nonnegative(),sca:Oc.optional()}),f({severity:Sc.optional(),category:o().optional(),path:o().optional(),source:Cc.optional(),maxResults:c().int().positive().max(1e3).optional()}),f({findings:l(Tc),counts:Ec,truncated:u(),indexed:u()}),f({fingerprint:o().min(1)}),f({resolved:u()}),f({fingerprint:o().min(1)}),f({finding:Tc,taskRef:Oi,gezelId:o(),gezelName:o(),enqueued:u()}),f({entryPoints:l(o()),routes:l(o()),authBoundaries:l(o()),secretTouchpoints:l(o()),taintSources:l(f({path:o(),count:c().int().positive()}))}).extend({root:o(),indexed:u()}),f({dependencies:l(f({name:o(),ecosystem:o(),version:o().nullable(),direct:u(),advisoryIds:l(o()),maxSeverity:Sc.nullable(),license:o().nullable()})),total:c().int().nonnegative(),withAdvisories:c().int().nonnegative(),scanned:u(),provenance:kc.optional()}),f({indexed:u(),scanned:u(),findings:Ec,attackSurface:f({entryPoints:c().int().nonnegative(),routes:c().int().nonnegative(),authBoundaries:c().int().nonnegative(),secretTouchpoints:c().int().nonnegative(),taintSources:c().int().nonnegative()}),dependencies:f({total:c().int().nonnegative(),withAdvisories:c().int().nonnegative()}),systemicCandidates:l(f({category:o(),fileCount:c().int().positive(),findingCount:c().int().positive(),severity:Sc})),provenance:kc.optional()}),f({file:o().min(1),maxHops:c().int().positive().max(8).optional()}),f({file:o(),found:u(),upstream:l(o()),downstream:l(o()),taintSources:l(Tc),sinks:l(Tc),note:o()});var Ac=f({kind:t([`project`,`gezel`,`file`,`document`,`content`,`symbol`,`memory`,`session`,`task`,`craftbook`,`handboek`,`mail`,`knowledge`]),id:o(),title:o(),subtitle:o().optional(),snippet:o().optional(),projectId:o().optional(),projectName:o().optional(),path:o().optional(),source:t([`workspace`,`artifacts`]).optional(),retrievalSource:Re.optional(),line:c().int().positive().optional(),lineEnd:c().int().positive().optional(),gezelId:o().optional(),score:c(),relevance:c().min(0).max(1).optional(),tier:t([`strong`,`weak`]).optional(),catalogId:o().optional(),catalogVersion:o().optional(),documentId:o().optional(),topicPath:l(o()).optional(),uri:o().optional(),sourceUrl:o().optional(),attribution:o().optional()});f({query:o().min(1).max(400),mode:t([`names`,`full`]).optional(),maxResults:c().int().positive().max(100).optional()});var jc=f({results:l(Ac),truncated:u(),sourcesIncomplete:u().optional()});f({gezelId:o().min(1),projectId:o().min(1),query:o().min(1).max(400),topK:c().int().positive().max(50).optional()}),f({query:o().min(1).max(400),maxResults:c().int().positive().max(100).optional(),offset:c().int().nonnegative().max(1e4).optional(),pathPrefix:o().min(1).max(500).optional(),gezelId:o().min(1).optional(),includeShared:u().optional(),sources:l(Re).min(1).optional()});var Mc=tt.pick({id:!0,name:!0,description:!0,source:!0,version:!0,stepCount:!0,score:!0}).extend({invocation:f({tool:s(`invoke_craftbook`),arguments:f({craftbookId:o().min(1),description:o().min(1)})})});jc.extend({craftbooks:l(Mc)}),f({q:o().min(1).max(400),gezel:o().optional(),project:o().optional(),maxResults:c().int().positive().max(100).optional()}),f({results:l(f({sessionId:o(),gezelId:o(),projectId:o(),title:o(),snippet:o(),messageStart:c().int().positive(),lastActivityAt:o(),archived:u()})),engine:t([`fts`,`unavailable`])}),f({q:o().min(1).max(400),maxResults:c().int().positive().max(100).optional()}),f({results:l(f({path:o(),lineStart:c().int().positive(),lineEnd:c().int().positive().optional(),snippet:o(),score:c().optional(),markdownPath:o().optional(),source:t([`vector`,`fts`]).optional(),kind:o().optional()})),engine:t([`hybrid`,`semantic`,`fts`,`unavailable`])}),f({query:o().min(1),maxResults:c().int().positive().max(100).optional()}),f({results:l(f({path:o(),width:c().int().optional(),height:c().int().optional(),format:o().optional(),caption:o().optional(),score:c()})),engine:t([`fts`,`unavailable`]),truncated:u()}),f({path:o().min(1),maxResults:c().int().positive().max(100).optional()}),f({results:l(f({path:o(),score:c()})),engine:t([`vector`,`unavailable`]),truncated:u()}),f({path:o().optional()}),f({path:o(),imageCount:c().int().nonnegative(),formats:l(f({format:o(),count:c().int()})),dimensions:f({minWidth:c().int(),maxWidth:c().int(),minHeight:c().int(),maxHeight:c().int()}).nullable(),samples:l(o()),captioned:c().int().nonnegative()}),f({query:o().optional(),kind:o().optional(),maxResults:c().int().positive().max(200).optional()}),f({entities:l(f({id:c().int(),kind:o(),label:o(),canonical:o(),mentions:c().int().nonnegative()})),engine:t([`index`,`unavailable`])}),f({entity:o().min(1),maxResults:c().int().positive().max(500).optional()});var Nc=f({x:c(),y:c(),w:c(),h:c()});f({found:u(),entity:f({kind:o(),label:o()}).optional(),mentions:l(f({path:o(),line:c().int().optional(),date:o().optional(),region:Nc.optional(),confidence:c().optional()}))});var Pc=f({path:o(),region:Nc.optional()});f({people:l(f({entityId:c().int(),label:o(),clusterId:o(),count:c().int(),exemplar:Pc.optional(),samples:l(Pc)})),available:u()}),f({label:o().min(1).max(120)}),f({projects:c().int(),disabled:u()}),f({leftPath:o().optional(),leftText:o().optional(),rightPath:o().optional(),rightText:o().optional(),contextLines:c().int().min(0).max(20).optional()}).refine(e=>(e.leftPath||e.leftText)&&(e.rightPath||e.rightText),{message:`Provide {leftPath|leftText} and {rightPath|rightText}.`}),f({diff:o(),identical:u()}),f({path:o().min(1),artifact:u().optional()}),f({path:o(),mimeType:o(),base64:o(),bytes:c().int().nonnegative()}),f({path:o().min(1),maxEntries:c().int().positive().max(5e3).optional()});var Fc=f({name:o(),size:c().int().nonnegative(),isDirectory:u()});f({format:t([`zip`,`tar`,`tar.gz`]),entries:l(Fc),truncated:u()}),f({path:o().min(1),outputPath:o().min(1)}),f({format:t([`zip`,`tar`,`tar.gz`]),extractedCount:c().int().nonnegative(),destination:o()}),f({subcommand:t([`status`,`log`,`diff`,`show`,`blame`,`branch`,`rev-parse`,`ls-files`]),args:l(o()).max(32).optional(),timeoutMs:c().int().positive().max(12e4).optional()}),f({code:c().int(),stdout:o(),stderr:o(),stdoutTruncated:u(),timedOut:u()}),f({deviceCode:o(),userCode:o(),verificationUri:o(),interval:c().int().positive(),expiresIn:c().int().positive()});var Ic=f({login:o(),name:o().optional(),avatarUrl:o().optional()});f({deviceCode:o()}),d(`status`,[f({status:s(`pending`)}),f({status:s(`slow_down`)}),f({status:s(`expired`)}),f({status:s(`denied`),error:o().optional()}),f({status:s(`success`),identity:Ic,scopes:l(o()).optional()}),f({status:s(`not_configured`),error:o()})]),m([Ic.extend({signedIn:s(!0)}),f({signedIn:s(!1)})]),f({repos:l(f({fullName:o(),url:o(),description:o().optional(),private:u().optional(),pushedAt:o().optional()}))}),f({url:o()}),f({owner:o(),repo:o(),canonicalUrl:o(),defaultBranch:o().optional(),description:o().optional(),topics:l(o()).optional(),language:o().optional(),readme:o(),readmeTruncated:u()}),f({name:o().min(1),repoUrl:o(),description:o().optional(),topics:l(o()).optional(),readme:o()}),f({about:o(),missionObjectives:o()}),f({path:o().min(1)}),f({name:o(),about:o().optional(),source:o().optional()});var Lc=f({name:o(),kind:t([`npm-script`,`workspace-script`,`vscode-launch`,`bin`]),source:o(),run:o(),description:o().optional()}),Rc=f({version:c().int(),scannedAt:o(),root:o(),durationMs:c().int(),fileCount:c().int(),commandCount:c().int(),shapeCount:c().int().optional()}),zc=f({name:o(),char:o().length(1).optional(),type:t([`boolean`,`option`]),description:o().optional(),required:u().optional(),default:o().optional(),options:l(o()).optional(),multiple:u().optional()}),Bc=f({name:o(),description:o().optional(),required:u().optional(),default:o().optional(),options:l(o()).optional()}),Vc=f({source:s(`oclif`),package:o(),packageVersion:o().optional(),summary:o().optional(),description:o().optional(),subcommands:l(f({name:o(),fullName:o(),summary:o().optional()})).optional(),flags:l(zc).optional(),args:l(Bc).optional(),usage:o().optional(),examples:l(o()).optional()});f({shapes:p(o(),Vc)}),f({state:t([`fresh`,`stale`,`indexing`,`never`,`disabled`]),embeddings:ks.optional(),meta:Rc.optional(),aiScanPending:u().optional(),aiDrive:t([`background`,`full`]).optional(),enrichment:f({eligible:c().int().nonnegative(),summarized:c().int().nonnegative(),embedded:c().int().nonnegative(),searchReady:c().int().nonnegative().optional(),pending:c().int().nonnegative(),skipped:c().int().nonnegative().optional(),skippedFiles:l(f({path:o(),attempts:c().int().nonnegative(),reason:o().optional()})).optional(),shadowsPending:c().int().nonnegative().optional(),embedOnlyPending:c().int().nonnegative().optional(),embedModel:o().optional(),vectorsAvailable:u().optional(),reviews:f({eligible:c().int().nonnegative(),reviewed:c().int().nonnegative(),stale:c().int().nonnegative(),pending:c().int().nonnegative()}).optional()}).optional()}),f({files:l(f({path:o(),size:c(),mtimeMs:c()})),total:c().int().nonnegative()}),f({maxFiles:c().int().positive().max(25).optional(),budgetMs:c().int().positive().max(6e4).optional(),areas:u().optional(),reviews:u().optional(),intensity:t([`background`,`full`]).optional()}),f({paused:u(),files:c().int().nonnegative(),summarized:c().int().nonnegative(),embedded:c().int().nonnegative(),pending:c().int().nonnegative(),areasUpdated:c().int().nonnegative(),architectureUpdated:u(),reviewed:c().int().nonnegative().optional(),reviewPending:c().int().nonnegative().optional(),drained:u(),started:u().optional(),alreadyRunning:u().optional(),mode:t([`background`,`full`,`embed-only`]).optional(),hint:o().optional()});var Hc=f({ref:o(),title:o(),projectName:o(),stepName:o().optional(),quotaHeld:u().optional()});f({background:l(f({id:o(),title:o(),detail:o(),projectName:o().optional()})),active:l(Hc),upcoming:l(Hc)});var Uc=f({ref:o(),title:o(),projectId:o(),projectName:o(),completedAt:o().optional()}),Wc=f({projectId:o(),projectName:o(),path:o(),title:o(),writtenAt:o().optional(),actionCounts:f({total:c(),suggested:c(),fired:c(),applied:c(),dismissed:c()})});f({windowKey:o(),windowStart:o(),windowEnd:o(),tasksCompleted:l(Uc),reports:l(Wc),diffpacks:l(ys)});var Gc=f({provider:P,bucket:o(),remainingPercent:c(),floorPercent:c(),rule:t([`overall`,`per-day`]),resetDate:o().optional()}),Kc=f({start:o(),end:o(),open:u()});f({active:u(),source:t([`scheduled`,`manual`]).nullable(),quotaHold:f({heldTaskCount:c(),reasons:l(Gc)}).optional(),window:Kc.nullable().optional(),startedAt:o().nullable().optional()}),f({since:o(),until:o(),live:u(),tasksCompleted:c(),stepsCompleted:c(),filesIndexed:c(),filesReviewed:c(),mediaDescribed:c(),filesWritten:c(),documentsCreated:c(),imagesRendered:c(),questionsRaised:c(),toolCalls:c()}),f({meta:Rc,commands:l(Lc),shapes:p(o(),Vc).optional()}),f({skills:l(f({name:o(),source:o(),origin:t([`claude`,`gstack`,`agents`,`other`]),description:o().optional(),triggers:l(o()).optional(),version:o().optional(),body:o(),generated:u().optional(),hasShellScripts:u(),files:l(f({relPath:o(),kind:t([`section`,`reference`,`template`,`script`,`bin`,`other`]),bytes:c().int().nonnegative()})).optional()}))}),f({instructions:l(f({source:o(),origin:t([`agents`,`claude`,`copilot`]),content:o(),hash:o(),mtimeMs:c()}))}),f({sessionId:o(),providerName:o(),model:o().optional(),modelTier:t([`tiny`,`small`,`medium`,`large`,`cloud`]),parameterSize:o().optional(),leaksUntaggedReasoning:u(),reasoningEffort:o().optional(),numCtx:c().optional(),systemPrompt:o(),volatileContext:o().optional(),customToolsMd:u(),registeredTools:l(o()),registeredToolsSource:t([`live`,`persisted`,`unavailable`,`caller`]).optional(),externalConversation:f({appId:o(),appName:o(),externalConversationId:o(),workingDirectory:o().optional(),request:xo.optional()}).optional(),turnStatus:t([`idle`,`in-progress`,`queued`]),recentMessages:l(f({role:t([`user`,`assistant`,`system`,`tool`]),content:o(),reasoning:o().optional(),warnings:l(o()).optional(),synthetic:t([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),attemptedToolCalls:l(f({body:o(),reason:o().optional()})).optional(),toolCalls:l(f({name:o(),argsSummary:o().optional(),success:u(),errorMessage:o().optional()})).optional()})),diagnostics:f({sessionRecordPath:o(),logsDir:o(),engineLogGlob:o().optional()}).optional(),generatedAt:o()}),f({source:o().min(1),dest:o().min(1),gezelId:o().optional(),sessionId:o().optional()}),f({ok:s(!0),source:o(),dest:o(),bytes:c().int().nonnegative()}),f({url:o().url(),dest:o().optional(),branch:o().min(1).optional(),gezelId:o().optional(),sessionId:o().optional()}),f({ok:s(!0),path:o(),files:c().int().nonnegative(),bytes:c().int().nonnegative()}),f({url:o().url(),baseRef:o().min(1),headRef:o().min(1),dest:o().optional(),diffPath:o().min(1).optional(),gezelId:o().optional(),sessionId:o().optional()}),f({ok:s(!0),path:o(),diffPath:o(),baseSha:o(),headSha:o(),files:c().int().nonnegative(),bytes:c().int().nonnegative(),diffBytes:c().int().nonnegative(),filesChanged:c().int().nonnegative()}),f({path:o().min(1),find:o().min(1),replace:o(),occurrence:m([c().int().positive(),s(`all`)]).optional(),gezelId:o().optional(),sessionId:o().optional()}),f({path:o().min(1),diff:o().min(1),gezelId:o().optional(),sessionId:o().optional()}),f({path:o().min(1),marker:o().min(1),content:o(),where:t([`before`,`after`]).optional(),gezelId:o().optional(),sessionId:o().optional()}),f({path:o().min(1),startLine:c().int().positive(),endLine:c().int().positive(),content:o(),gezelId:o().optional(),sessionId:o().optional()}),f({ok:s(!0),path:o(),diff:o(),addedLines:c().int().nonnegative(),removedLines:c().int().nonnegative(),diffTruncated:u().optional()}),f({tools:l(f({name:o(),description:o(),parameters:p(o(),a())}))}),f({args:p(o(),a()).optional()}),f({text:o(),images:l(f({base64:o(),mimeType:o()}))});var qc=t([`NW`,`N`,`NE`,`W`,`C`,`E`,`SW`,`S`,`SE`]),Jc=f({path:o().min(1),region:qc,cx:c().min(0).max(1),cy:c().min(0).max(1)}),Yc=f({path:o().min(1),region:qc.optional(),rect:J.optional(),style:o().optional()}),Xc=f({k:t([`block`,`street`,`plate`,`plaza`]),id:o(),p:o().nullable().optional(),h:o().nullable().optional(),r:ne([c(),c(),c(),c()]),w:c().optional(),a:o().nullable().optional(),d:o().nullable().optional()}),Zc=f({cx:c(),cy:c(),r:c().positive(),impRef:c().min(0)}),Qc=f({layoutVersion:c().int().positive(),anchors:l(Jc).default([]),journal:l(Xc).default([]),downtown:Zc.optional()});f({schemaVersion:c().int().positive().default(1),about:o().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:l(Yc).default([]),domains:p(o(),Qc).default({})});var $c=f({ok:u(),detail:o(),reached:u().optional()}),el=t([`probed`,`failed`,`deferred`,`blocked`]),tl=t([`install`,`manual`]);f({schemaVersion:s(1),provider:o(),modelId:o(),status:el,admitted:u(),genTokensPerSec:c().nullable(),shortPromptGenTokensPerSec:c().nullable().optional(),genTokensPerSecSource:t([`engine`,`stream-estimate`]).optional(),representativeContext:f({targetPromptTokens:c().int().positive(),promptTokens:c().int().nonnegative().nullable(),cachedPromptTokens:c().int().nonnegative().nullable(),completionTokens:c().int().nonnegative().nullable(),durationMs:c().nonnegative().nullable(),ttftMs:c().nonnegative().nullable(),promptTokensPerSec:c().positive().nullable(),genTokensPerSec:c().positive().nullable()}).optional(),createdAt:o(),durationMs:c().int().nonnegative(),trigger:tl,sha256:o().optional(),catalogVersion:o().optional(),contextWindow:c().int().optional(),host:f({totalRamBytes:c(),gpuVramBytes:c().nullable(),source:o()}),checks:f({spawn:$c,toolRoundTrip:$c,throughput:$c,reasoningBudget:$c,contextFit:$c})}),f({scope:d(`kind`,[f({kind:s(`gezel`),gezelId:o()}),f({kind:s(`project`),projectId:o()}),f({kind:s(`shared`)}),f({kind:s(`system`)})]),text:o().min(1).max(2*1024*1024),sourceName:o().min(1).max(512).optional()});var nl=f({serverName:o().optional(),message:o()});f({ok:s(!0),imported:l(o()),warnings:l(nl).default([])});var rl=t([`fire-craftbook`,`create-task`,`apply-edits`]),il={id:o().regex(/^[a-z0-9][a-z0-9_-]*$/i).optional(),title:o().min(1),reason:o().optional(),projectId:o().optional()},al=d(`kind`,[f({kind:s(`fire-craftbook`),...il,craftbookId:o().min(1),params:p(o(),o()).optional()}),f({kind:s(`create-task`),...il,prompt:o().min(1),role:o().optional()}),f({kind:s(`apply-edits`),...il,edits:l(f({path:o().min(1),diffArtifact:o().min(1)})).min(1)})]),ol=t([`suggested`,`fired`,`applied`,`failed`,`dismissed`]),sl=f({actionId:o(),reportPath:o(),kind:rl,contentHash:o(),firstSeenAt:o(),state:ol,taskRef:o().optional(),firedAt:o().optional(),settledAt:o().optional(),outcome:t([`complete`,`canceled`]).optional(),results:l(f({path:o(),ok:u(),error:o().optional()})).optional()}),cl=f({index:c().int(),message:o(),raw:o()});f({actions:l(f({action:al,id:o(),contentHash:o(),state:ol,taskRef:o().optional(),firedAt:o().optional(),settledAt:o().optional(),outcome:t([`complete`,`canceled`]).optional(),results:l(f({path:o(),ok:u(),error:o().optional()})).optional(),contentChanged:u().optional()})),issues:l(cl),stale:l(sl)}),f({path:o().min(1),actionId:o().min(1),params:p(o(),o()).optional()}),f({record:sl,taskRef:o().optional()}),f({path:o().min(1),actionId:o().min(1)});var ll=d(`kind`,[f({kind:s(`gezel-template`),templateId:o(),gezelId:o().optional(),gezelName:o().optional(),role:o().optional()}),f({kind:s(`project-type`),typeId:o(),scheduleKey:o()})]),ul=t([`suggested`,`enabled`,`paused`,`dismissed`]);f({items:l(f({key:o(),source:ll,craftbookId:o(),craftbookName:o().optional(),description:o().optional(),reason:o().optional(),runMode:t([`night-shift`,`scheduled`]),cron:o().optional(),overlap:fi.optional(),paramSchema:p(o(),a()).optional(),params:p(o(),o()).optional(),state:ul,taskRef:o().optional(),pendingQuestionId:o().optional(),orphaned:u().optional()}))}),f({key:o(),params:p(o(),o()).optional()}),f({key:o()}),f({key:o(),dismissed:u()});var dl=t([`workspace`,`artifacts`]),Y={__gezelPage:s(1)};d(`kind`,[f({...Y,kind:s(`hello`)}),f({...Y,kind:s(`invoke`),id:o().min(1).max(64),tool:o().regex(/^[a-z][a-z0-9_]*$/),input:p(o(),a()).optional()}),f({...Y,kind:s(`read`),id:o().min(1).max(64),op:t([`read`,`list`,`stat`]),source:dl,path:o().min(1),as:t([`text`,`json`,`bytes`]).optional(),maxBytes:c().int().positive().optional()}),f({...Y,kind:s(`watch`),id:o().min(1).max(64),source:dl,path:o().min(1)}),f({...Y,kind:s(`unwatch`),id:o().min(1).max(64)}),f({...Y,kind:s(`refresh`)})]);var fl=t([`not-allowed`,`invalid-input`,`script-error`,`timeout`,`unavailable`,`rate-limited`]);d(`kind`,[f({...Y,kind:s(`init`),api:s(1),theme:f({mode:t([`light`,`dark`])}),limits:f({maxInflight:c().int().positive(),maxReadBytes:c().int().positive()})}),f({...Y,kind:s(`result`),id:o(),ok:u(),output:a().optional(),error:o().optional(),errorCode:fl.optional(),runId:o().optional(),reaction:f({delivered:u(),gezelId:o().optional(),reason:o().optional()}).optional()}),f({...Y,kind:s(`read-result`),id:o(),ok:u(),error:o().optional(),errorCode:fl.optional(),content:o().optional(),encoding:t([`utf8`,`base64`]).optional(),entries:l(f({name:o(),kind:t([`file`,`dir`]),size:c().nonnegative(),mtime:c().nonnegative()})).optional(),etag:o().optional(),size:c().nonnegative().optional(),mtime:c().nonnegative().optional()}),f({...Y,kind:s(`change`),watchId:o(),path:o(),etag:o()}),f({...Y,kind:s(`theme`),theme:f({mode:t([`light`,`dark`])})})]);var pl=f({apiBase:o(),dataBase:o(),chat:u()});f({api:s(1),projectId:o(),source:s(`type`),entry:o(),typeName:o(),params:p(o(),a()),tools:l(o()),serve:pl.optional()});var ml=o().min(1).describe(`CSS color — hex (#rgb, #rgba, #rrggbb, #rrggbbaa) or the keyword "transparent".`),hl={x:c().optional(),y:c().optional(),width:c().positive().optional(),height:c().positive().optional(),opacity:c().min(0).max(1).optional()},gl=d(`kind`,[f({kind:s(`svg`),svg:o().min(1).describe(`SVG markup. <script>/<foreignObject>/event handlers are stripped.`),rotate:c().optional().describe(`Degrees of rotation around the layer center.`),...hl}),f({kind:s(`html`),html:o().min(1).describe(`HTML fragment rendered inside a sandboxed iframe.`),...hl}),f({kind:s(`pixels`),rows:l(o()).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:p(o(),ml).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:c().int().positive().optional().describe(`Pixel size in output px. Defaults to a value that fits the canvas.`),...hl}),f({kind:s(`image`),artifactPath:o().min(1).describe(`Path to a previously-written artifact, relative to the project artifacts/ root.`),...hl}),f({kind:s(`text`),text:o().min(1),x:c(),y:c(),font:o().optional(),size:c().positive().optional(),color:ml.optional(),weight:c().int().optional(),opacity:c().min(0).max(1).optional()})]);f({projectId:o().optional().describe(`Project to save the artifact under. Defaults to "default".`),width:c().int().positive().max(4096),height:c().int().positive().max(4096),layers:l(gl).min(1).max(64),background:ml.optional().describe(`Canvas background color. Defaults to transparent.`),filename:o().optional().describe(`Artifact filename (without extension) saved under artifacts/renders/. Defaults to a timestamped name.`),format:t([`png`,`jpeg`]).optional().describe(`Output format. Defaults to png.`)}),f({path:o().describe(`Project-relative path, e.g. "renders/sprite-1234.png".`),url:o().describe(`HTTP URL to the saved artifact, authed like every other artifact route.`),width:c().int().positive(),height:c().int().positive(),bytes:c().int().nonnegative(),mimeType:o(),base64:o().describe(`Base64-encoded image data, ready to feed into a vision input.`),engine:t([`playwright`,`resvg`]).describe(`Which render engine produced the image.`)});var _l=m([f({data:o().min(1),mimeType:o().default(`image/png`)}),f({artifactPath:o().min(1)})]);f({prompt:o().min(1),negativePrompt:o().optional(),model:o().optional(),width:c().int().positive().optional(),height:c().int().positive().optional(),steps:c().int().positive().optional(),seed:c().int().optional(),inputImages:l(_l).optional(),strength:c().min(0).max(1).optional(),projectId:o().optional(),gezelId:o().optional(),sessionId:o().optional(),inline:u().optional(),saveAs:o().optional()});var vl=f({model:o(),seed:c().int(),steps:c().int(),widthPx:c().int().positive(),heightPx:c().int().positive(),durationMs:c().int().nonnegative(),img2imgSkippedReason:o().optional()});f({artifactPath:o(),workspacePath:o().nullable(),meta:vl,b64Png:o().optional()}),f({models:l(f({id:o(),name:o(),approxSizeBytes:c().int().nonnegative(),installedAt:o(),kind:t([`local`,`cloud`]).optional(),supportsImg2Img:u().optional()})),defaultModel:o().optional()}),f({engine:f({status:t([`ok`,`unreachable`,`not-configured`]),baseUrl:o(),error:o().optional(),kind:t([`local`,`cloud`]).optional(),provider:o().optional()}),modelCount:c().int().nonnegative()}),f({pulls:l(f({id:o(),startedAt:o(),bytesWritten:c().int().nonnegative(),totalBytes:c().int().nonnegative(),retrying:f({attempt:c().int().positive(),maxAttempts:c().int().positive(),delayMs:c().int().nonnegative(),reason:o()}).optional(),finished:u(),error:o().optional()}))});var yl=d(`type`,[f({type:s(`progress`),bytesWritten:c().int().nonnegative(),totalBytes:c().int().nonnegative().optional()}),f({type:s(`retrying`),attempt:c().int().positive(),maxAttempts:c().int().positive(),delayMs:c().int().nonnegative(),reason:o()}),f({type:s(`error`),error:o()}),f({type:s(`done`),id:o()})]),bl=m([f({data:o().min(1),mimeType:o().default(`image/png`)}),f({artifactPath:o().min(1)})]);f({prompt:o().min(1),negativePrompt:o().optional(),model:o().optional(),width:c().int().positive().optional(),height:c().int().positive().optional(),numFrames:c().int().positive().optional(),fps:c().int().positive().optional(),steps:c().int().positive().optional(),seed:c().int().optional(),inputImage:bl.optional(),projectId:o().optional(),gezelId:o().optional(),sessionId:o().optional(),inline:u().optional(),saveAs:o().optional()});var xl=f({model:o(),seed:c().int(),steps:c().int(),widthPx:c().int().positive(),heightPx:c().int().positive(),numFrames:c().int().positive(),fps:c().int().positive(),durationMs:c().int().nonnegative(),mimeType:o()});f({artifactPath:o(),workspacePath:o().nullable(),meta:xl,b64Poster:o().optional()}),f({models:l(f({id:o(),name:o(),approxSizeBytes:c().int().nonnegative(),installedAt:o(),kind:t([`local`,`cloud`]).optional(),readOnly:u().optional()})),defaultModel:o().optional()});var Sl=t([`cuda`,`mps`,`cpu`]);f({engine:f({status:t([`ok`,`unreachable`,`not-configured`]),baseUrl:o(),error:o().optional(),kind:t([`local`,`cloud`]).optional(),provider:o().optional(),accelerator:Sl.optional()}),modelCount:c().int().nonnegative()}),f({pulls:l(f({id:o(),startedAt:o(),bytesWritten:c().int().nonnegative(),totalBytes:c().int().nonnegative(),file:o().optional(),fileIndex:c().int().nonnegative().optional(),fileCount:c().int().positive().optional(),retrying:f({attempt:c().int().positive(),maxAttempts:c().int().positive(),delayMs:c().int().nonnegative(),reason:o()}).optional(),finished:u(),error:o().optional()}))});var Cl=d(`type`,[f({type:s(`progress`),fileIndex:c().int().nonnegative(),fileCount:c().int().positive(),file:o(),bytesWritten:c().int().nonnegative(),totalBytes:c().int().nonnegative(),bytesWrittenAll:c().int().nonnegative(),totalBytesAll:c().int().nonnegative()}),f({type:s(`retrying`),file:o(),attempt:c().int().positive(),maxAttempts:c().int().positive(),delayMs:c().int().nonnegative(),reason:o()}),f({type:s(`verifying`),file:o()}),f({type:s(`error`),error:o()}),f({type:s(`done`),id:o()})]);f({audio:m([f({data:o().min(1).describe(`Base64-encoded audio bytes.`),mimeType:o().default(`audio/wav`)}),f({artifactPath:o().min(1).describe("Project-relative artifact path under `audio/` or `audio/uploaded/`.")})]),model:o().optional(),language:o().optional(),prompt:o().trim().min(1).max(2e3).optional(),projectId:o().optional()});var wl=f({start:c(),end:c(),text:o()});f({text:o(),language:o().optional(),segments:l(wl).optional(),durationMs:c().int().nonnegative()}),f({text:o().min(1),voice:o().optional(),model:o().optional(),speed:c().min(.25).max(4).optional(),projectId:o().optional(),sessionId:o().optional(),gezelId:o().optional(),inline:u().optional()});var Tl=f({voice:o(),model:o(),sampleRate:c().int().positive(),durationSeconds:c().nonnegative(),durationMs:c().int().nonnegative()}),El=f({artifactPath:o(),meta:Tl,b64Wav:o().optional()}),Dl=f({phase:t([`loading`,`synthesizing`,`encoding`]),completedCharacters:c().int().nonnegative(),totalCharacters:c().int().positive(),completedChunks:c().int().nonnegative()}),Ol=f({index:c().int().nonnegative(),b64Wav:o(),sampleRate:c().int().positive(),durationSeconds:c().positive()}),kl=d(`type`,[f({type:s(`progress`),progress:Dl}),f({type:s(`chunk`),chunk:Ol}),f({type:s(`done`),result:El}),f({type:s(`error`),error:o()})]);f({models:l(f({id:o(),name:o(),approxSizeBytes:c().int().nonnegative(),installedAt:o()}))});var Al=f({id:o(),name:o(),description:o(),approxSizeBytes:c().int().nonnegative(),kind:t([`stt`,`tts`]),license:o().optional(),...B,...V});f({stt:l(Al),tts:l(Al)}),f({voices:l(f({id:o(),name:o(),language:o(),gender:t([`female`,`male`,`neutral`]).optional(),modelId:o()}))});var jl=f({status:t([`ok`,`unreachable`,`not-configured`,`no-model`]),baseUrl:o().optional(),error:o().optional(),provider:o().optional(),modelCount:c().int().nonnegative()});f({stt:jl,tts:jl});var Ml=d(`type`,[f({type:s(`progress`),bytesWritten:c().int().nonnegative(),totalBytes:c().int().nonnegative().optional()}),f({type:s(`error`),error:o()}),f({type:s(`done`),id:o()})]),Nl=t([`conceptual`,`gezel-roles`,`craftbooks`,`project-types`,`technical`,`whats-new`]);t([`app`,`site`,`agent`]);var Pl=f({id:o().min(1),title:o().min(1),order:c()}),Fl=f({id:o().min(1),title:o().min(1),area:Nl,order:c(),summary:o().optional(),ogHeadline:o().optional(),generated:u(),siteVisible:u().optional(),subcategory:Pl.optional()});f({areas:l(f({area:Nl,title:o(),entries:l(Fl)}))});var Il=f({path:o().min(1),gezelId:o().min(1),name:o(),roleLabel:o().optional(),variant:t([`full`,`headshot`,`icon`]),poppetje:ht}),Ll=f({blockId:o(),hash:o().regex(/^[a-f0-9]{64}$/),durationMs:c().int().nonnegative(),silent:u().optional()});f({articleId:o(),voice:o(),model:o(),segments:l(Ll)}),f({results:l(f({id:o().min(1),title:o().min(1),area:Nl,summary:o().optional(),markdown:o(),figures:l(Il).default([]),generated:u(),defaultDuration:c().positive().optional()}))});var Rl=t([`redownloadable`,`user-content`,`ephemeral`,`uninstaller-owned`]),zl=t([`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`]),Bl=f({id:o(),label:o(),bytes:c(),external:u(),blockedReason:o().optional()}),Vl=f({id:zl,class:Rl,label:o(),description:o(),bytes:c(),itemCount:c(),deletable:u(),inBackup:u(),external:l(f({path:o(),bytes:c()})),items:l(Bl).optional()});f({home:o(),categories:l(Vl),redownloadableBytes:c(),userContentBytes:c(),measuredAt:o()}),f({categories:l(zl).min(1),itemIds:ae(zl,l(o())).optional(),confirmUserContent:u().optional()});var Hl=t([`cleanup`,`backup`,`restore`]),Ul=t([`queued`,`running`,`done`,`error`,`cancelled`]),Wl=t([`quiesce`,`delete`,`scan`,`write`,`extract`,`publish`,`verify-recovery`]);f({id:o(),kind:Hl,status:Ul,phase:Wl.optional(),currentLabel:o().optional(),itemsDone:c(),totalItems:c(),bytesDone:c(),totalBytes:c(),startedAt:o(),endedAt:o().optional(),error:o().optional(),restartRequired:u(),cancelRequested:u(),skippedExternal:l(f({label:o(),path:o()}))});var Gl=t([`gezel`,`project`,`document-root`,`settings-file`]);f({items:l(f({kind:Gl,id:o(),label:o(),bytes:c(),fileCount:c(),external:u()})),totalBytes:c(),secretsExcluded:s(!0),warnings:l(o()),destFreeBytes:c().optional()}),f({outPath:o(),include:f({gezels:l(o()).optional(),projects:l(o()).optional(),documents:u().optional(),settings:u().optional()}).optional(),excludeWorkspaces:u().optional()}),f({schemaVersion:c(),kind:s(`gezel-backup`),createdAt:o(),gezelVersion:o(),platform:o(),externalFolders:f({documents:o().optional(),gezels:o().optional(),projects:o().optional()}).nullable(),items:l(f({kind:Gl,id:o(),label:o(),entryPrefix:o(),bytes:c(),fileCount:c()})),secretsExcluded:s(!0)}),f({path:o()});var Kl=t([`none`,`exists`]),ql=f({kind:Gl,id:o(),label:o(),bytes:c(),fileCount:c(),conflict:Kl});f({restoreId:o(),createdAt:o(),gezelVersion:o(),archivePath:o(),items:l(ql),secretsExcluded:s(!0),warnings:l(o())}),f({items:l(f({kind:Gl,id:o(),action:t([`add`,`replace`])})),settings:u().optional()});var Jl=o().uuid(),Yl=c().int().nonnegative().max(2**53-1),Xl=c().int().positive().max(2147483647);d(`action`,[f({action:s(`acquire`),id:Jl,ownerPid:Xl,label:o().min(1).max(160),bytes:Yl.positive(),gpuBytes:Yl,exclusive:u().default(!1),priority:t([`interactive`,`background`]).default(`interactive`)}).strict(),f({action:s(`bind`),id:Jl,childPid:Xl}).strict(),f({action:t([`ready`,`release`,`status`]),id:Jl}).strict()]),f({state:t([`waiting`,`granted`,`released`]),releaseRequested:u(),reason:o().optional()});var Zl=e({GezelApiError:()=>Q,GezelClient:()=>bu,SsePayloadError:()=>tu,SsePrematureEofError:()=>eu,SseResponseError:()=>nu,SseStreamStaleError:()=>$l,consumeSseJson:()=>iu,streamAllChatEvents:()=>su,streamChatEvents:()=>au,streamCopilotLogin:()=>du,streamMlxRuntimeStatus:()=>uu,streamProjectChatEvents:()=>ou,streamSystemToolsetStatus:()=>lu,streamTerminalEvents:()=>cu}),Ql=2*6e4,$l=class extends Error{constructor(e){super(`SSE stream stale: no bytes from server in ${e}ms`),this.name=`SseStreamStaleError`}},eu=class extends Error{constructor(e=`SSE operation`){super(`${e} ended before a terminal event was received`),this.name=`SsePrematureEofError`}},tu=class extends Error{constructor(e){super(e),this.name=`SsePayloadError`}},nu=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 nu(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 tu(`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 tu(`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 ru(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 eu(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 ru(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 $l(t)),t)})])}finally{n&&clearTimeout(n)}}async function iu(e){let{schema:t,onEvent:n,isTerminal:r,label:i,...a}=e;for await(let e of X({keepaliveTimeoutMs:Ql,...a},t,r,{strictPayloads:!0,requireTerminal:!0,label:i}))n(e)}function au(e){return X(e,Xn,e=>e.type===`done`,{requireTerminal:!0,label:`Chat stream`})}function ou(e){return X({keepaliveTimeoutMs:1e4,...e},Zn)}function su(e){return X({keepaliveTimeoutMs:1e4,...e},Zn)}function cu(e){return X({keepaliveTimeoutMs:1e4,...e},yo)}function lu(e){return X(e,Js)}function uu(e){return X(e,Ys)}function du(e){return X({method:`POST`,...e},Xs,e=>e.kind===`exit`||e.kind===`error`,{requireTerminal:!0,label:`Copilot login stream`})}var fu=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 pu(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 iu(n)}catch(e){throw e instanceof Q?e:new Q(e instanceof $l&&t?t:e instanceof Error?e.message:`SSE stream failed`,e instanceof nu?e.status:0,{cause:e instanceof Error?e.name:`unknown`})}}var mu=f({file:o(),expected:o(),actual:o()}),hu=d(`type`,[f({type:s(`progress`),bytesWritten:c(),totalBytes:c()}),f({type:s(`retrying`),attempt:c().int().positive(),maxAttempts:c().int().positive(),delayMs:c().nonnegative(),reason:o()}),f({type:s(`verifying`)}),f({type:s(`extracting-metadata`)}),f({type:s(`companion`),kind:s(`image-recognition`),id:o(),name:o(),bytesWritten:c().nonnegative(),totalBytes:c().nonnegative(),error:o().optional()}),f({type:s(`done`),id:o(),warning:o().optional()}),f({type:s(`error`),error:o(),mismatch:mu.optional()})]),gu=d(`type`,[f({type:s(`progress`),fileIndex:c().int().nonnegative(),fileCount:c().int().positive(),file:o(),bytesWritten:c().nonnegative(),totalBytes:c().nonnegative(),bytesWrittenAll:c().nonnegative(),totalBytesAll:c().nonnegative()}),f({type:s(`retrying`),attempt:c().int().positive(),maxAttempts:c().int().positive(),delayMs:c().nonnegative(),reason:o(),file:o()}),f({type:s(`verifying`),file:o()}),f({type:s(`extracting-metadata`)}),f({type:s(`done`),id:o(),warning:o().optional()}),f({type:s(`error`),error:o(),mismatch:mu.optional()})]),_u=d(`type`,[f({type:s(`spawned`),trialId:o().optional(),runDir:o().optional()}),f({type:s(`log`),line:o()}),f({type:s(`done`),result:f({trialId:o(),scenarioId:o(),modelId:o(),startedAt:o(),finishedAt:o(),durationMs:c(),success:u(),reason:o(),failureMode:o().optional(),runDir:o()})}),f({type:s(`error`),error:o()})]),vu=d(`type`,[f({type:s(`status`),phase:t([`queued`,`started`]),detail:o().optional()}),f({type:s(`thinking-delta`),text:o()}),f({type:s(`output-delta`),text:o()}),f({type:s(`done`),text:o()}),f({type:s(`error`),error:o()})]),yu=d(`type`,[f({type:s(`progress`),chunk:f({status:o(),digest:o().optional(),total:c().optional(),completed:c().optional()})}),f({type:s(`error`),error:o()}),f({type:s(`done`)})]),bu=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=pu(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:ie,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:ie,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)),t?.descendants===!1&&n.set(`descendants`,`0`);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)}`)}knowledgeCatalogAssets(e){return this.request(`GET`,`/api/knowledge/catalogs/${encodeURIComponent(e)}/assets`)}async fetchKnowledgeAsset(e,t,n){let r=(t.startsWith(`assets/`)?t.slice(7):t).split(`/`).map(encodeURIComponent).join(`/`),i=n?.version?`?v=${encodeURIComponent(n.version)}`:``,a=`${this.baseUrl}/api/knowledge/catalogs/${encodeURIComponent(e)}/assets/${r}${i}`,o=await this.fetchImpl(a,{headers:{Authorization:`Bearer ${this.token}`}});if(!o.ok)throw Error(`knowledge asset fetch failed: ${o.status}`);return o.blob()}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?${xu(t)}`)}listInstalledToolsets(e){return this.request(`GET`,`/api/catalog/installed-toolsets?${xu(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 fu(e.error);n?.(e.progress)}else i+=1,await t.body?.cancel().catch(()=>{})}catch(e){if(e instanceof fu||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:hu,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:_u,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:gu,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:Ss,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:yl,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:Cl,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:kl,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:Ml,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:On,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:yu,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:vu,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:Zs,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=ee(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 xu(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{au as a,ou as c,su as i,lu as l,bu as n,du as o,Zl as r,uu as s,Q as t};