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