@bendyline/gezel-service 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/NOTICE.md +1 -1
  2. package/dist/bin/gezeld.js +51635 -50059
  3. package/dist/handboek-content/README.md +24 -2
  4. package/dist/handboek-content/conceptual/connected-apps.md +2 -0
  5. package/dist/handboek-content/technical/building-connected-apps-with-gezel-app-sdk.md +144 -0
  6. package/dist/handboek-content/technical/cli-reference.md +11 -0
  7. package/dist/handboek-content/technical/how-we-test-models.md +57 -9
  8. package/dist/handboek-content/technical/model-scorecard.md +27 -9
  9. package/dist/handboek-content/technical/npm-packages.md +67 -0
  10. package/dist/handboek-content/technical/security-model.md +18 -1
  11. package/dist/handboek-content/technical/where-files-live.md +3 -0
  12. package/dist/handboek-content/technical/writing-scripts-with-gezel-sdk.md +106 -0
  13. package/dist/handboek-content/whats-new/1.26223.md +82 -0
  14. package/dist/handboek-content/whats-new/whats-new-index.md +28 -0
  15. package/dist/handboek.d.ts +53 -26
  16. package/dist/handboek.js +103 -26
  17. package/dist/index-store/static-index-worker.js +476 -82
  18. package/dist/index.d.ts +206 -11
  19. package/dist/index.js +51615 -50051
  20. package/dist/ui/assets/{TerminalCodeEditor-CB-AXtKI.js → TerminalCodeEditor-DQICIlaI.js} +2 -2
  21. package/dist/ui/assets/{_.contribution-C6KlZ1yR.js → _.contribution-BXBGjh98.js} +1 -1
  22. package/dist/ui/assets/{chunk-6N2J7C2B-DIF7DJtk.js → chunk-6N2J7C2B-Du7clJkV.js} +1 -1
  23. package/dist/ui/assets/chunk-ILCJ3WFD-fHFoZ9wm.js +4 -0
  24. package/dist/ui/assets/{chunk-S5PCVMKU-CmFF6ff9.js → chunk-S5PCVMKU-DopU3Q9j.js} +2 -2
  25. package/dist/ui/assets/chunk-USU6HTKB-B-ElCUQS.js +1 -0
  26. package/dist/ui/assets/{chunk-WATAOG4Y-perfmDXF.js → chunk-WATAOG4Y-BnCgSncI.js} +1 -1
  27. package/dist/ui/assets/{cpp.contribution-BBBWN3Dm.js → cpp.contribution-UC-hXlnG.js} +1 -1
  28. package/dist/ui/assets/{csharp.contribution-jBA6TWhG.js → csharp.contribution-VSLdDbxa.js} +1 -1
  29. package/dist/ui/assets/{css.contribution-DQSNU6vC.js → css.contribution-DC9uQgZx.js} +1 -1
  30. package/dist/ui/assets/{cssMode-68UP_lrS.js → cssMode-DZsXawIN.js} +1 -1
  31. package/dist/ui/assets/{csv-Ctux8fO7.js → csv-RAgECoUg.js} +1 -1
  32. package/dist/ui/assets/dist-D6I_6t8i.js +195 -0
  33. package/dist/ui/assets/dist-a57vyaRu.js +2 -0
  34. package/dist/ui/assets/{doc-BdMAKGDm.js → doc-B7NXSLxH.js} +33 -23
  35. package/dist/ui/assets/{dockerfile.contribution-CSpSPKgK.js → dockerfile.contribution-PUE2MRJF.js} +1 -1
  36. package/dist/ui/assets/docx-IZY6hX8A.js +2 -0
  37. package/dist/ui/assets/{epub-oLed1tAU.js → epub-00L2M424.js} +1 -1
  38. package/dist/ui/assets/extract-UTAOG7LV-BZ_L7lLL.js +1 -0
  39. package/dist/ui/assets/{go.contribution-BjibqVfF.js → go.contribution-CsrBAk1W.js} +1 -1
  40. package/dist/ui/assets/{handlebars-Dq5dJ5WJ.js → handlebars-Bqyi6xyi.js} +1 -1
  41. package/dist/ui/assets/handlebars.contribution-C6VLDI51.js +2 -0
  42. package/dist/ui/assets/{html-fQ6X2xaa.js → html-Cgejr9YM.js} +24 -24
  43. package/dist/ui/assets/{html-Bgyk9kiZ.js → html-NLb64cMt.js} +1 -1
  44. package/dist/ui/assets/html.contribution-BP2a6izy.js +2 -0
  45. package/dist/ui/assets/{htmlMode-D5UKInqK.js → htmlMode-Utzysyes.js} +1 -1
  46. package/dist/ui/assets/{index-CPXp6BEZ.js → index-B_NFDPxp.js} +197 -195
  47. package/dist/ui/assets/index-CgP6VwNS.css +1 -0
  48. package/dist/ui/assets/infer-v-bCXeT9.js +2 -0
  49. package/dist/ui/assets/{ini.contribution-BiJ4T5K-.js → ini.contribution-CfehzoVj.js} +1 -1
  50. package/dist/ui/assets/{java.contribution-B8o1lBqP.js → java.contribution-CXk8bwAp.js} +1 -1
  51. package/dist/ui/assets/{javascript-COWkS1tr.js → javascript-BcbxETop.js} +1 -1
  52. package/dist/ui/assets/javascript.contribution-BRDuHf7J.js +2 -0
  53. package/dist/ui/assets/{jsonMode-CWWZvfzr.js → jsonMode-BORbF5qz.js} +1 -1
  54. package/dist/ui/assets/{kotlin.contribution-CxSOPQ6P.js → kotlin.contribution-CbKeqa_3.js} +1 -1
  55. package/dist/ui/assets/layouts-2A7QNF6Y-D94iKLLQ.js +1 -0
  56. package/dist/ui/assets/{less.contribution-Cthyflev.js → less.contribution-BgNGBZAo.js} +1 -1
  57. package/dist/ui/assets/{lua.contribution-894DRgPR.js → lua.contribution-CtZNsqOj.js} +1 -1
  58. package/dist/ui/assets/{markdown.contribution-d_TBTsNA.js → markdown.contribution-CNyxmHy1.js} +1 -1
  59. package/dist/ui/assets/{monaco-PebRhLpo.js → monaco-Ryh-SF_b.js} +3 -3
  60. package/dist/ui/assets/{monaco-base-4S0M5BiY.js → monaco-base-C-4W0je-.js} +1 -1
  61. package/dist/ui/assets/{monaco-setup-7hp0Z9jn.js → monaco-setup-BW0DQ8MV.js} +1 -1
  62. package/dist/ui/assets/{monaco.contribution-DQjPk7Rx.js → monaco.contribution-279M9-Uu.js} +2 -2
  63. package/dist/ui/assets/{monaco.contribution-CKDvyGVE.js → monaco.contribution-Bu1oyef5.js} +2 -2
  64. package/dist/ui/assets/{monaco.contribution-BL_zgiu2.js → monaco.contribution-C57BAnnI.js} +2 -2
  65. package/dist/ui/assets/{monaco.contribution-D61txvUB.js → monaco.contribution-o3cuP4Wp.js} +2 -2
  66. package/dist/ui/assets/{pdf-CwJ6ZJmB.js → pdf-66KslaXf.js} +1 -1
  67. package/dist/ui/assets/{php.contribution-B8kn8QoR.js → php.contribution-BulxzIpe.js} +1 -1
  68. package/dist/ui/assets/pptx-CsdVR0xn.js +6 -0
  69. package/dist/ui/assets/{python-CHygH1eM.js → python-D4zGC71G.js} +1 -1
  70. package/dist/ui/assets/python.contribution-CDI1t73R.js +2 -0
  71. package/dist/ui/assets/{ruby.contribution-BQdPKFM2.js → ruby.contribution-DVOdhLt8.js} +1 -1
  72. package/dist/ui/assets/{rust.contribution-D7wKqShc.js → rust.contribution-DLR9kg2m.js} +1 -1
  73. package/dist/ui/assets/{scss.contribution-kSTLMoty.js → scss.contribution-CYIIxBxH.js} +1 -1
  74. package/dist/ui/assets/{shell.contribution-BQnT3BBJ.js → shell.contribution-D0KjHQ5E.js} +1 -1
  75. package/dist/ui/assets/{sql.contribution-C9z55nWb.js → sql.contribution-CKhLelqr.js} +1 -1
  76. package/dist/ui/assets/{swift.contribution-BZoW5ZZj.js → swift.contribution-DiAAMfJp.js} +1 -1
  77. package/dist/ui/assets/{terminal-monaco-setup-DbSXji0d.js → terminal-monaco-setup-Dhxpm7Z8.js} +1 -1
  78. package/dist/ui/assets/{tsMode-jPpKNC6E.js → tsMode-DFEqg3P9.js} +1 -1
  79. package/dist/ui/assets/{typescript-Djn_8BHF.js → typescript-X_x8S3Dp.js} +1 -1
  80. package/dist/ui/assets/typescript.contribution-jI3BakLa.js +2 -0
  81. package/dist/ui/assets/xlsx-CdLmEC42.js +4 -0
  82. package/dist/ui/assets/{xml-DmE4Aqa-.js → xml-ANmRi8ZZ.js} +1 -1
  83. package/dist/ui/assets/xml.contribution-D5t83zAi.js +2 -0
  84. package/dist/ui/assets/{yaml-BjmK3C-c.js → yaml-R4WpJved.js} +1 -1
  85. package/dist/ui/assets/yaml.contribution-DV8dAjKa.js +2 -0
  86. package/dist/ui/index.html +15 -15
  87. package/package.json +13 -15
  88. package/dist/postinstall.d.ts +0 -2
  89. package/dist/postinstall.js +0 -40
  90. package/dist/ui/assets/chunk-ILCJ3WFD-uwKSpQd8.js +0 -4
  91. package/dist/ui/assets/chunk-USU6HTKB-hbaA8KyS.js +0 -1
  92. package/dist/ui/assets/dist-i9jV8CX8.js +0 -2
  93. package/dist/ui/assets/dist-jh33rACm.js +0 -195
  94. package/dist/ui/assets/docx-CNW-xqHT.js +0 -2
  95. package/dist/ui/assets/extract-UTAOG7LV-WxmEnrrc.js +0 -1
  96. package/dist/ui/assets/handlebars.contribution-DDSQBNPu.js +0 -2
  97. package/dist/ui/assets/html.contribution-DrClfj2L.js +0 -2
  98. package/dist/ui/assets/index-Caz-FRQy.css +0 -1
  99. package/dist/ui/assets/infer-Cc7ks6NX.js +0 -2
  100. package/dist/ui/assets/javascript.contribution-DMEzq0y4.js +0 -2
  101. package/dist/ui/assets/layouts-2A7QNF6Y-DR7-KboS.js +0 -1
  102. package/dist/ui/assets/pptx-Bmj2v9CT.js +0 -6
  103. package/dist/ui/assets/python.contribution-CmwCxp-v.js +0 -2
  104. package/dist/ui/assets/typescript.contribution-D4JmB9tz.js +0 -2
  105. package/dist/ui/assets/xlsx-BCnO44v8.js +0 -4
  106. package/dist/ui/assets/xml.contribution-BepqhMeK.js +0 -2
  107. package/dist/ui/assets/yaml.contribution-BwT8qEVt.js +0 -2
  108. package/postinstall.mjs +0 -8
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{At as t,Bt as n,Dt as r,Ft as i,Ht as a,It as o,Lt as s,Mt as c,Nt as ee,Ot as l,Pt as u,Rt as d,Vt as f,Z as te,jt as p,kt as ne,zt as m}from"./dist-jh33rACm.js";var h=c(`kind`,[o({kind:u(`gezel`),gezelId:m()}),o({kind:u(`user`)})]),re=[`tiny`,`small`,`medium`,`large`,`cloud`],ie=f([l([`llm`,`network`,`workspace.read`,`workspace.write`,`artifacts.read`,`artifacts.write`,`documents.read`,`documents.write`,`tasks.read`,`tasks.write`,`memory.read`,`memory.write`]),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`)]),ae=c(`type`,[o({type:u(`string`),description:m(),required:p().optional(),default:m().optional(),pattern:m().optional(),multiline:p().optional()}),o({type:u(`number`),description:m(),required:p().optional(),default:i().optional(),min:i().optional(),max:i().optional(),integer:p().optional()}),o({type:u(`boolean`),description:m(),required:p().optional(),default:p().optional()}),o({type:u(`choice`),description:m(),required:p().optional(),default:m().optional(),options:t(o({value:m(),label:m().optional()})).min(1)}),o({type:u(`ref`),description:m(),required:p().optional(),kind:l([`gezel`,`task`,`artifact`,`document`])}),o({type:u(`json`),description:m(),required:p().optional(),default:a().optional(),schema:a().optional()})]),oe=d(m(),ae),se=c(`type`,[o({type:u(`string`),description:m(),nullable:p().optional()}),o({type:u(`number`),description:m(),nullable:p().optional()}),o({type:u(`boolean`),description:m(),nullable:p().optional()}),o({type:u(`array`),description:m(),itemType:l([`string`,`number`,`boolean`,`object`])}),o({type:u(`object`),description:m(),schema:a().optional()}),o({type:u(`json`),description:m(),schema:a().optional()})]),ce=d(m(),se),le=o({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:oe.optional(),outputs:ce.optional(),requires:t(ie).optional()}),ue=l([`project`,`craftbook`,`user`,`standard`]),de=c(`op`,[o({op:u(`always`)}),o({op:u(`never`)}),o({op:u(`ok`)}),o({op:u(`equals`),field:m().min(1),value:f([m(),i(),p(),ne()])}),o({op:u(`exists`),field:m().min(1),negate:p().optional()}),o({op:u(`gt`),field:m().min(1),value:i()})]),fe=o({name:m().min(1),scope:ue.optional(),inputs:d(m(),a()).optional(),autoAdvanceOnSuccess:p().optional(),autoAdvanceWhen:de.optional()}),g=f([fe,t(fe)]);function pe(e){return e===void 0?[]:Array.isArray(e)?e:[e]}var me=l([`running`,`ok`,`error`]),he=o({at:m(),kind:m(),argsSummary:m(),outputSummary:m().optional(),durationMs:i().nonnegative(),error:m().optional()}),ge=c(`kind`,[o({kind:u(`step`),taskRef:m(),stepId:m(),moment:l([`enter`,`exit`,`gate`])}),o({kind:u(`chat`),sessionId:m(),gezelId:m()}),o({kind:u(`manual`),userInitiated:u(!0)}),o({kind:u(`nested`),parentRunId:m()}),o({kind:u(`connector`),typeId:m(),bindingId:m()}),o({kind:u(`page`),tool:m()})]);o({id:m(),projectId:m(),scriptName:m(),startedAt:m(),finishedAt:m().optional(),status:me,trigger:ge,inputs:d(m(),a()),output:a().optional(),calls:t(he),logs:m(),error:m().optional()}),o({name:m().min(1),scope:ue.optional(),input:d(m(),a()).optional()});var _e=o({runId:m(),status:me,output:a().optional(),callsSummary:t(o({kind:m(),durationMs:i().nonnegative(),error:m().optional()})),error:m().optional()});o({tool:m().regex(/^[a-z][a-z0-9_]*$/),input:d(m(),a()).optional()}),_e.extend({reaction:o({delivered:p(),gezelId:m().optional(),reason:m().optional()}).optional()}),o({scripts:t(o({name:m(),meta:le,path:m()}))});var _=m().regex(/^[a-zA-Z][\w-]*$/,`script name must start with a letter and contain only letters, digits, underscore, or hyphen`),ve=o({severity:l([`error`,`warning`,`info`]),source:l([`meta`,`typescript`,`runtime-compat`]),message:m(),line:i().optional(),column:i().optional()}),ye=o({kind:l([`craftbook`,`import`,`user`,`standard`]),ref:m()});o({name:_,source:m(),hash:m(),mtimeMs:i(),meta:le.optional(),metaError:m().optional(),provenance:ye.optional()}),o({name:_,source:m(),baseHash:m().optional()}),c(`status`,[o({status:u(`saved`),hash:m(),metaOk:p(),meta:le.optional(),diagnostics:t(ve)}),o({status:u(`conflict`),currentHash:m(),currentSource:m()})]);var be=l([`blank`,`post-message`,`fetch-and-summarize`,`check-files`,`call-tool`,`ask-ai`]);o({name:_,description:m().optional(),template:be.optional(),source:m().optional()}),o({name:_,source:m(),hash:m()}),o({version:m(),files:t(o({name:m(),content:m()}))}),o({name:_,description:m().min(1)}),o({source:m()});var xe=l([`html-complete`,`html-game`,`nonempty`,`json-valid`,`data-table`]),Se=f([m(),i(),p(),ne()]),v=c(`kind`,[o({kind:u(`minBytes`),file:m().min(1),bytes:i().int().positive(),artifact:p().optional()}),o({kind:u(`totalMinBytes`),files:t(m().min(1)).min(1),bytes:i().int().positive()}),o({kind:u(`fileCount`),ext:t(m().min(1)).min(1),min:i().int().positive(),dir:m().optional(),verifyImageBytes:p().optional()}),o({kind:u(`cssMinBytes`),bytes:i().int().positive(),file:m().optional()}),o({kind:u(`sniff`),file:m().min(1),sniff:xe,artifact:p().optional()}),o({kind:u(`jsonPathEquals`),file:m().min(1),path:m().min(1),value:Se,label:m().min(1).optional()}),o({kind:u(`csvShape`),file:m().min(1),requiredColumns:t(m().min(1)).min(1).optional(),exactColumns:t(m().min(1)).min(1).optional(),minRows:i().int().nonnegative().optional(),consistentColumns:p().optional(),allowedValues:d(m(),t(m().min(1)).min(1)).optional()}),o({kind:u(`contains`),file:m().min(1),pattern:m().min(1),flags:m().optional(),label:m().min(1).optional(),artifact:p().optional()}),o({kind:u(`notContains`),file:m().min(1),pattern:m().min(1),flags:m().optional(),label:m().min(1).optional()}),o({kind:u(`unsupportedClaims`),file:m().min(1),sourceFiles:t(m().min(1)).min(1),patterns:t(o({pattern:m().min(1),label:m().min(1).optional()})).min(1),flags:m().optional()}),o({kind:u(`jsParses`),file:m().optional()}),o({kind:u(`htmlLint`),file:m().min(1)}),o({kind:u(`esmImports`),file:m().min(1)}),o({kind:u(`sourceParses`),file:m().min(1)}),o({kind:u(`tableShape`),file:m().min(1),requiredColumns:t(m().min(1)).min(1).optional(),minRows:i().int().nonnegative().optional(),artifact:p().optional()}),o({kind:u(`recordSchema`),file:m().min(1),fields:t(o({name:m().min(1),type:m().optional(),required:p().optional()})).min(1),minRows:i().int().nonnegative().optional(),uniqueBy:m().optional(),format:l([`json`,`csv`,`auto`]).optional(),artifact:p().optional()}),o({kind:u(`nodeRuns`),file:m().min(1),timeoutMs:i().int().positive().max(6e4).optional()}),o({kind:u(`citationsResolve`),file:m().min(1),pattern:m().min(1).optional(),flags:m().optional(),minCitations:i().int().nonnegative().optional(),corpus:t(m().min(1)).min(1).optional(),artifact:p().optional()}),o({kind:u(`researchEvidence`),sourcePath:m().optional(),tools:t(m().min(1)).min(1),minSuccessful:i().int().positive().optional()}),o({kind:u(`markdownHeadingsMatch`),file:m().min(1),outlineFile:m().min(1)}),o({kind:u(`valueGrounding`),file:m().min(1),facts:t(o({id:m().min(1),label:m().min(1).optional(),required:t(m().min(1)).min(1),forbidden:t(m().min(1)).optional()})).min(1),normalizeDigits:p().optional(),artifact:p().optional()}),o({kind:u(`valuesSubsetOf`),file:m().min(1),sourceFiles:t(m().min(1)).min(1),pattern:m().min(1),flags:m().optional(),minMatches:i().int().nonnegative().optional(),artifact:p().optional()}),o({kind:u(`judge`),file:m().min(1),rubric:m().min(1),sourceFiles:t(m().min(1)).optional(),requireEvidence:p().optional(),advisory:p().optional(),timeoutMs:i().int().positive().max(12e4).optional(),label:m().min(1).optional(),artifact:p().optional()}),o({kind:u(`planStructure`),file:m().min(1),minRows:i().int().positive().optional(),ownerRoster:t(m().min(1)).optional(),requireEarlierOnly:p().optional(),doneWhenMinChars:i().int().positive().optional(),artifact:p().optional()})]);o({verdict:l([`pass`,`fail`]),reasons:t(m().min(1)).max(5),evidence:t(m()).default([]),confidence:l([`low`,`medium`,`high`]).optional()});var Ce=o({checks:t(v).min(1),onFail:m().optional(),onPass:m().optional(),maxAttempts:i().int().positive().optional(),reviewer:m().optional()}),we=o({name:m().min(1),scope:ue.optional(),inputs:d(m(),a()).optional()});o({decision:l([`approve`,`reject`]),message:m().optional(),goto:m().optional(),handoff:o({message:m(),params:d(m(),a()).optional()}).optional()}).superRefine((e,t)=>{e.decision===`reject`&&!e.message?.trim()&&t.addIssue({code:r.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 Te=f([o({at:l([`completion`,`activation`]),checks:t(v).optional(),scripts:t(we).optional(),onReject:m().optional(),onApprove:m().optional(),maxAttempts:i().int().positive().optional(),reviewer:m().optional()}).superRefine((e,t)=>{!e.checks?.length&&!e.scripts?.length&&t.addIssue({code:r.custom,message:`a gate needs at least one check or one script`})}),Ce]);function Ee(e){return!(`at`in e)}function De(e){return Ee(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 Oe(e){let t=De(e);return[t.onReject,t.onApprove].filter(e=>e!==void 0)}var ke=l([`PreToolUse`,`PostToolUse`]),Ae=l([`allow`,`deny`,`ask`]),y=o({phase:ke,matcher:m().default(`.*`),script:fe.optional(),decision:Ae.optional(),label:m().optional()}).superRefine((e,t)=>{let n=e.script!==void 0;n===(e.decision!==void 0)&&t.addIssue({code:r.custom,message:"a hook must set exactly one of `script` or `decision`",path:[n?`decision`:`script`]})});o({decision:Ae.default(`allow`),message:m().optional()});var je=o({when:de,goto:m()}),Me=o({file:m().min(1),minBytes:i().int().positive().optional(),sniff:xe.optional(),requireChange:p().optional(),artifact:p().optional(),goto:m().optional()}),Ne=l(re),b=o({id:m().min(1),name:m().min(1),description:m().optional(),prompt:m().optional(),suggestedGezelId:m().optional(),suggestedRole:m().optional(),capabilityFloor:Ne.optional(),assignee:h.optional(),onEnter:g.optional(),onExit:g.optional(),advanceWhen:Me.optional(),gate:Te.optional(),next:m().optional(),branches:t(je).optional(),terminal:p().optional(),spawnFanout:p().optional()}),x=o({overFile:m().min(1),itemsPath:m().optional(),entryStepId:m().optional(),steps:t(b).min(1)});function Pe(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`);if(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`)),r.gate){let e=De(r.gate);r.terminal&&e.at===`activation`&&t.push(`step "${r.id}" is terminal but also has an activation gate`);for(let e of Oe(r.gate))n.has(e)||t.push(`step "${r.id}" gate route "${e}" missing from steps`)}}return t}function Fe(e,t){for(let n of Pe(e))t.addIssue({code:r.custom,message:n,path:n.startsWith(`entryStepId`)?[`entryStepId`]:[`steps`]});for(let n of Re(e))t.addIssue({code:r.custom,message:n,path:[`steps`]})}var S=c(`kind`,[o({kind:u(`github`)}),o({kind:u(`non-main-branch`)})]),C=o({scheduled:l([`supported`,`recommended`]).optional(),nightShift:l([`supported`,`recommended`]).optional()}),w=o({toolsetId:m().min(1),sourceId:m().optional(),minVersion:m().optional(),optional:p().optional(),autoAllow:p().optional(),reason:m().optional()}),T=o({typeId:m().min(1),sourceId:m().optional(),optional:p().optional(),reason:m().optional()}),Ie=64*1024,Le=256*1024,E=d(_,m().min(1).max(Ie)).superRefine((e,t)=>{let n=Object.keys(e);n.length>24&&t.addIssue({code:r.custom,message:`a craftbook carries at most 24 scripts (got ${n.length})`});let i=0;for(let t of n)i+=e[t].length;i>262144&&t.addIssue({code:r.custom,message:`craftbook scripts total ${i} bytes \u2014 the ceiling is ${Le}`})}),D=o({name:m().min(1),url:m().url().regex(/^https?:\/\//i,`basedOn.url must use http or https`)});function Re(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`,pe(t.onEnter)),r(t.id,`onExit`,pe(t.onExit)),t.gate&&r(t.id,`gate`,De(t.gate).scripts);return t}var ze=o({id:m().min(1),name:m().min(1),description:m().optional(),version:m().optional(),basedOn:D.optional(),plan:m().optional(),defaultAssignee:h.optional(),steps:t(b).min(1),entryStepId:m().min(1),triggers:t(m()).optional(),hooks:t(y).optional(),paramSchema:d(m(),a()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:t(S).optional(),runModes:C.optional(),toolsets:t(w).optional(),connectors:t(T).optional(),scripts:E.optional(),spawn:x.optional(),createdAt:m(),updatedAt:m()}).superRefine(Fe),Be=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`]),Ve=o({path:m().min(1),kind:Be.optional(),minBytes:i().int().positive().optional(),maxAttempts:i().int().positive().optional(),artifact:p().optional(),requireChange:p().optional(),execute:p().optional(),columns:t(m().min(1)).min(1).optional(),minRows:i().int().positive().optional()}),O=o({id:m().optional(),name:m().min(1),description:m().optional(),prompt:m().optional(),suggestedGezelId:m().optional(),suggestedRole:m().optional(),capabilityFloor:Ne.optional(),assignee:h.optional(),onEnter:g.optional(),onExit:g.optional(),advanceWhen:Me.optional(),gate:Te.optional(),deliverable:Ve.optional(),next:m().optional(),branches:t(je).optional(),terminal:p().optional(),spawnFanout:p().optional()});o({id:m().optional(),name:m().min(1),description:m().optional(),basedOn:D.optional(),plan:m().optional(),defaultAssignee:h.optional(),steps:t(O).min(1),entryStepId:m().optional(),paramSchema:d(m(),a()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:t(S).optional(),runModes:C.optional(),toolsets:t(w).optional(),scripts:E.optional()}),o({name:m().min(1).optional(),description:m().nullable().optional(),basedOn:D.nullable().optional(),plan:m().nullable().optional(),defaultAssignee:h.nullable().optional(),steps:t(O).min(1).optional(),entryStepId:m().optional(),paramSchema:d(m(),a()).nullable().optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).nullable().optional(),requirements:t(S).nullable().optional(),runModes:C.nullable().optional(),toolsets:t(w).nullable().optional(),scripts:E.nullable().optional()}),o({craftbooks:t(o({id:m(),name:m(),description:m().optional(),version:m().optional(),basedOn:D.optional(),source:l([`bundled`,`local`,`project`]),stepCount:i().int().nonnegative()}))}),o({installedBy:u(`project-type`),typeId:m(),typeVersion:m(),bookVersion:m(),contentHash:m(),installedAt:m()}),o({suggestions:t(o({id:m(),name:m(),description:m().optional(),source:l([`bundled`,`local`,`project`]),version:m().optional(),basedOn:D.optional(),stepCount:i().int().nonnegative(),tags:t(m()).optional(),triggers:t(m()).optional(),score:i(),semantic:i().optional(),lexical:i()}))}),o({craftbook:ze}),o({after:m().optional(),before:m().optional(),index:i().int().nonnegative().optional()}),o({id:m().optional(),name:m().min(1),description:m().optional(),basedOn:D.optional(),plan:m().optional(),entryStepId:m().optional(),triggers:t(m()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),defaultAssignee:h.optional(),requirements:t(S).optional(),runModes:C.optional(),toolsets:t(w).optional(),connectors:t(T).optional(),paramSchema:d(m(),a()).optional(),hooks:t(y).optional(),steps:t(O).min(1),spawn:x.optional(),scripts:E.optional(),version:m().optional(),releasedAt:m().optional(),minGezelVersion:m().optional()});var He=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.`}}),Ue=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.`}}),We=[`cap`,`beanie`,`kerchief`,`straw`,`newsboy`,`hood`],Ge=[`scarf`,`apron`,`collar`,`turtleneck`],Ke=[`halo`,`short`,`long`,`bun`,`braids`,`shaved`,`bald`],qe=`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(`.`),Je=[`beard`,`mustache`],Ye=[`freckles`,`mole`],Xe=[`plain`,`buttons`,`stripes`,`sash`,`yoke`,`twotone`],Ze=[`smile`,`wider`,`neutral`,`wink`,`sleepy`];function Qe(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 $e=s(Qe,o({key:m().min(1),name:m(),bodyShape:l(He),figureScale:l(Ue),skin:m(),skin2:m(),hair:m(),hairShape:l(Ke),hat:l(We).nullable().optional().default(null),dress:l(Ge).nullable().optional().default(null),accessory:l(qe).nullable().optional().default(null),facialHair:l(Je).nullable().optional().default(null),mark:l(Ye).nullable().optional().default(null),expression:l(Ze).optional().default(`smile`),shirt:m(),shirtAccent:m(),shirtPattern:l(Xe).optional().default(`plain`)})),et=l([`plan`,`edit`,`reviewed`,`full`]),k=f([et,l([`default`,`acceptEdits`,`bypassPermissions`])]),A=m().min(1).describe(`Canonical tuning profile id.`),tt=o({day:m().regex(/^\d{4}-\d{2}-\d{2}$/),kind:l([`fact`,`decision`,`pref`,`status`]),excerpt:m().min(1).max(400)}),nt=o({id:m(),kind:u(`trait`),title:m().min(1).max(80),traitText:m().min(1).max(200),evidence:t(tt).min(1).max(3)}),rt=c(`type`,[o({type:u(`profile`),profile:A}),o({type:u(`temperature`),delta:f([u(.1),u(-.1)])})]),it=c(`kind`,[nt,o({id:m(),kind:u(`tuning`),title:m().max(80),description:m().max(300),action:rt}),o({id:m(),kind:u(`cosmetic`),title:m().max(80),cosmeticId:m()})]),at=o({toLevel:i().int().min(2),proposals:t(it).min(1).max(5),createdAt:m()}),ot=o({memoryXp:i().int().nonnegative().default(0),lessonsXp:i().int().nonnegative().default(0),taskXp:i().int().nonnegative().default(0),consultXp:i().int().nonnegative().default(0)}),st=o({traitId:m(),text:m(),level:i().int(),adoptedAt:m(),evidence:t(tt),removedAt:m().optional()}),ct=o({kind:l([`trait`,`tuning`,`cosmetic`]),title:m(),traitText:m().optional(),level:i().int(),declinedAt:m()}),lt=o({version:u(1).default(1),level:i().int().min(1).default(1),xp:i().int().nonnegative().default(0),signals:ot.prefault({}),lastComputedAt:m().optional(),pendingLevelUp:at.optional(),adoptedTraits:t(st).default([]),declinedProposals:t(ct).default([]),unlockedCosmetics:t(o({id:m(),at:m()})).default([])}),ut=o({level:i().int().min(1),pending:p().optional()}),dt=o({multiplier:i().min(0).max(5).describe(`DRY penalty strength. 0 disables. 0.8 is a reasonable default.`),base:i().min(0).max(5).optional().describe(`Base of the exponential penalty for repeated tokens. Default 1.75.`),allowedLength:i().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).`),ft=o({probability:i().min(0).max(1).describe(`Probability of triggering XTC on any given step.`),threshold:i().min(0).max(1).describe(`Minimum top-token probability for XTC to fire.`)}).describe(`XTC sampler (llama.cpp only).`),pt=o({temperature:i().min(0).max(2).optional().describe(`Sampling temperature. 0 = greedy. Most reasoning models want 0.6–1.0.`),topP:i().min(0).max(1).optional().describe(`Nucleus sampling. 0.95 is the common default for Qwen, Gemma, Nemotron.`),topK:i().int().min(0).max(1e3).optional().describe(`Top-k cutoff. 20 for Qwen think, 64 for Gemma, 1 for greedy-on-instruct.`),minP:i().min(0).max(1).optional().describe(`Min-p cutoff (llama.cpp / MLX / Ollama). Qwen recommends 0.`),maxTokens:i().int().positive().optional().describe(`Per-turn output token cap. Maps to num_predict / max_tokens / n_predict.`),seed:i().int().optional().describe(`RNG seed. Unset / negative = random. Best-effort determinism on cloud.`),repetitionPenalty:i().min(0).max(3).optional().describe(`Local engines (Ollama / llama.cpp / MLX): repeat_penalty. 1.0 = off, 1.1 = mild.`),repetitionContext:i().int().positive().optional().describe("Local engines: window size for repetition penalty (`repeat_last_n`)."),frequencyPenalty:i().min(-2).max(2).optional().describe(`Cloud (OpenAI) and Ollama / llama.cpp: penalize repeated tokens by frequency.`),presencePenalty:i().min(-2).max(2).optional().describe(`Cloud (OpenAI) and Ollama / llama.cpp: penalize any reused token.`),dry:dt.optional(),xtc:ft.optional()}).describe(`Sampling parameters applied per-request.`),mt=o({effort:l([`low`,`medium`,`high`]).optional().describe("Cloud reasoning effort. Maps to OpenAI `reasoning.effort` and Anthropic `thinking.budget_tokens` tiers."),thinkingBudget:i().int().positive().optional().describe("Explicit thinking-token budget (Anthropic `thinking.budget_tokens`, Nemotron `reasoning_budget`). Wins over `effort` when both set."),enableThinking:p().optional().describe(`Chat-template toggle for dual-mode models (Qwen3+, Nemotron Nano/Super). Implicit on cloud thinking models.`),templateKwargs:d(m(),f([m(),i(),p()])).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.`),ht=o({responseFormat:l([`text`,`json_object`]).optional().describe("Output mode. `text` = freeform (default). `json_object` = enforce JSON."),jsonSchema:a().optional().describe(`Pin output to a JSON Schema (OpenAI strict mode, llama.cpp --json-schema).`),grammar:m().optional().describe(`llama.cpp GBNF grammar. Last-resort structured-output knob.`)}).describe(`Structured-output controls.`),gt=o({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.`),_t=o({llamaCpp:o({nGpuLayers:i().int().min(-1).optional().describe("`--n-gpu-layers` override. -1 = all. Unset = b9843 `auto`/`--fit`."),cpuMoe:p().optional().describe("`--cpu-moe`: keep ALL MoE experts in system RAM (attention/dense on GPU)."),nCpuMoe:i().int().min(0).optional().describe("`--n-cpu-moe N`: keep the first N layers’ MoE experts in RAM. Partial split."),cacheReuse:i().int().min(0).optional().describe("`--cache-reuse N` prefix-KV reuse chunk. 0 = disable. Unset inherits the global default."),swaFull:p().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:i().int().positive().optional().describe("`--ubatch-size` (inner microbatch) override for this model."),contextSize:i().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:i().int().positive().optional().describe("`--threads` override."),batchSize:i().int().positive().optional().describe("`--batch-size` override."),spec:o({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:p().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:i().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.`),vt=o({sampling:pt.optional(),samplingWhenThinking:pt.optional().describe("Sparse override of `sampling` applied when the runtime determines reasoning is engaged. Used by Qwen3+ (different sampling for /think mode) and Nemotron Nano (different sampling for thinking vs instruct)."),reasoning:mt.optional(),output:ht.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:gt.optional()}).describe(`Per-model sampling, reasoning, and output defaults (without profiles).`),j=vt.extend({engine:_t.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:d(A,vt.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.`),yt=o({package:m(),version:m(),decision:l([`install`,`always`,`decline`])}),bt=o({selectedChoices:t(i().int().min(0)).optional(),writeIn:m().optional(),declined:p().optional(),silentSkip:p().optional(),npmInstallDecisions:t(yt).optional(),at:m()}),xt=o({package:m(),version:m()}),St=l([`script`,`npx`]),Ct=o({kind:u(`command-approval`),scope:St,name:m().min(1),body:m().optional(),args:t(m()).optional()}),wt=o({kind:u(`tool-permission`),toolName:m(),toolInput:d(m(),a())}),Tt=o({kind:u(`toolset-install-approval`),toolsetId:m(),sourceId:m(),version:m(),targetProjectId:m(),craftbookId:m()}),Et=o({kind:u(`image-generation-approval`),provider:m(),model:m(),promptPreview:m(),estimatedSize:m().optional()}),Dt=o({kind:u(`video-generation-approval`),provider:m(),model:m(),promptPreview:m(),estimatedSize:m().optional()}),Ot=o({kind:u(`schedule-approval`),typeId:m(),craftbookId:m(),runMode:l([`scheduled`,`night-shift`]).optional(),cron:m(),overlap:l([`skip`,`queue`,`concurrent`]).optional()}),kt=o({kind:u(`night-shift-review`),windowKey:m(),tasksCompleted:i(),reports:t(o({projectId:m(),path:m(),title:m().optional(),actionCount:i()}))}),At=l([`gate_exhausted`,`gate_plateau`,`gate_unsatisfiable`,`gate_infrastructure`,`step_stalled`,`budget_exhausted`]),jt=o({kind:u(`task-paused`),taskRef:m(),stepId:m().optional(),reason:At}),Mt=c(`kind`,[o({kind:u(`npm-install-approval`),packages:t(xt).min(1)}),Ct,wt,Tt,Et,Dt,Ot,kt,jt]),Nt=o({id:m(),projectId:m(),gezelId:m(),sessionId:m(),prompt:m().min(1),choices:t(m()).max(20).optional(),allowWriteIn:p().optional(),multiSelect:p().optional(),taskRef:m().optional(),documentPath:m().optional(),intent:Mt.optional(),createdAt:m(),answer:bt.optional()}),Pt=o({make:m().optional(),model:m().optional(),lensModel:m().optional(),dateTimeOriginal:m().optional(),orientation:i().int().min(1).max(8).optional(),software:m().optional(),imageDescription:m().optional()}),Ft=o({format:l([`png`,`jpeg`,`gif`,`webp`,`svg`,`unknown`]),width:i().int().positive().optional(),height:i().int().positive().optional(),byteLength:i().int().nonnegative(),sha256:m().regex(/^[a-f0-9]{64}$/),pngText:d(m(),m()).optional(),exif:Pt.optional(),gps:o({lat:i(),lon:i()}).optional(),gpsRedacted:p().optional(),likelyScreenshot:p().optional()}),It=l([`describe`,`ocr`,`ui`,`extract`]),Lt=l([`auto`,`describe`,`ocr`,`ui`,`extract`]);o({schemaVersion:u(1),sha256:m().regex(/^[a-f0-9]{64}$/),meta:Ft,modes:t(It).min(1),description:m().optional(),ocrText:m().optional(),structured:o({templateId:m().optional(),data:a()}).optional(),engine:l([`llama-cpp`,`mlx`,`mock`,`none`]),modelId:m(),status:l([`ok`,`partial`,`failed`,`static-only`]),failureReason:m().optional(),durationMs:i().int().nonnegative(),at:m()});var Rt=o({ref:m(),sha256:m().regex(/^[a-f0-9]{64}$/),digest:m(),modelId:m(),modes:t(It),status:l([`ok`,`partial`,`failed`,`static-only`]),at:m()});o({artifactPath:m().min(1).optional(),data:m().min(1).optional(),mimeType:m().optional(),mode:Lt.default(`auto`),schema:a().optional(),model:m().optional()}),o({state:l([`ok`,`no-model`,`not-configured`,`error`]),modelId:m().optional(),detail:m().optional()});var zt=f([o({type:u(`progress`),bytesWritten:i().int().nonnegative(),totalBytes:i().int().nonnegative().optional()}),o({type:u(`error`),error:m()}),o({type:u(`done`),id:m()})]);o({models:t(o({id:m(),name:m(),description:m(),license:m(),approxSizeBytes:i().int().nonnegative(),recoScore:i()}))}),o({models:t(o({id:m(),name:m(),approxSizeBytes:i().int().nonnegative(),installedAt:m(),weightsPath:m().optional(),mmprojPath:m().optional()}))});var Bt=l([`image_generation`,`video_generation`,`image_recognition`]),Vt=o({startedAt:i(),streamedContentChars:i().int().nonnegative(),toolCalls:i().int().nonnegative(),fileMutations:i().int().nonnegative()}),Ht=o({sessionId:m(),gezelId:m(),projectId:m(),inflight:p(),turnsStarted:i().int().nonnegative(),deltaChunks:i().int().nonnegative(),streamedContentChars:i().int().nonnegative(),wirePulses:i().int().nonnegative(),heartbeats:i().int().nonnegative(),enginePhaseEvents:i().int().nonnegative(),generationSpurts:i().int().nonnegative(),toolCalls:i().int().nonnegative(),toolArgChars:i().int().nonnegative(),fileMutations:i().int().nonnegative(),gpuEvents:i().int().nonnegative(),gpuTaskActive:Bt.nullable(),lastStreamActivityAt:i().nullable(),lastToolActivityAt:i().nullable(),lastMutationAt:i().nullable(),lastGpuActivityAt:i().nullable(),lastProgressAt:i().nullable(),currentTurn:Vt.nullable()});o({version:u(1),capturedAt:i(),sessions:t(Ht)});var M=l([`copilot`,`openai`,`anthropic`,`anthropic-cli`,`codex-cli`,`ollama`,`llama-cpp`,`mlx`,`ds4`,`remote`]),Ut=l([`male`,`female`,`non-binary`]),Wt=o({tool:m().min(1),promptKey:m().min(1).default(`prompt`),defaults:d(m(),a()).optional()}),Gt=o({id:m(),text:m().min(1).max(200),adoptedAt:m(),source:l([`levelup`,`manual`]).optional()}),Kt=o({frontmatter:o({id:m().optional(),name:m(),description:m().optional(),role:m().optional(),roleBasedName:m().optional(),gender:Ut.optional(),model:m().optional(),provider:M.optional(),reasoningEffort:m().optional(),tuning:j.optional(),tuningProfile:A.optional(),suggestedTuningProfile:A.optional(),tools:t(m()).optional(),tags:t(m()).optional(),fixedFunction:Wt.optional(),numCtx:i().int().positive().optional(),autoRecall:p().optional(),font:m().optional(),voice:m().optional(),templateId:m().optional(),templateVersion:m().optional(),sandboxCopilot:p().optional(),claudePermissionMode:l([`default`,`acceptEdits`,`plan`,`bypassPermissions`]).optional(),codexPermissionMode:k.optional(),iconOverride:p().optional(),traits:t(Gt).max(8).optional(),recognition:l([`auto`,`always`,`off`]).optional()}),sections:t(o({heading:m(),template:m().optional(),params:d(m(),m()).optional(),body:m()})),source:m()}),qt=o({id:m(),name:m(),description:m().optional(),role:m().optional(),roleBasedName:m().optional(),gender:Ut.optional(),model:m().optional(),provider:M.optional(),reasoningEffort:m().optional(),tuningProfile:A.optional(),suggestedTuningProfile:A.optional(),numCtx:i().int().positive().optional(),autoRecall:p().optional(),font:m().optional(),voice:m().optional(),templateId:m().optional(),templateVersion:m().optional(),sandboxCopilot:p().optional(),claudePermissionMode:l([`default`,`acceptEdits`,`plan`,`bypassPermissions`]).optional(),codexPermissionMode:k.optional(),fixedFunction:Wt.optional(),icon:m().optional(),poppetje:$e.optional(),iconOverride:p().optional(),recognition:l([`auto`,`always`,`off`]).optional(),scope:l([`global`,`project`]).optional(),storageScope:l([`user`,`machine-shared`]).optional(),traits:t(Gt).optional(),growth:ut.optional(),updatedAt:m()});qt.extend({parsed:Kt,about:m(),toolsMd:m().nullable().default(null)});var Jt=o({path:m(),mimeType:m()}),Yt=o({path:m(),mimeType:m(),durationSeconds:i().optional(),voice:m().optional()}),Xt=o({path:m(),mimeType:m(),posterPath:m().optional()}),Zt=o({name:m(),durationMs:i(),success:p(),errorMessage:m().optional(),path:m().optional(),paths:t(m()).optional(),argsSummary:m().optional(),argsFull:m().optional(),resultText:m().optional(),resultTruncated:p().optional(),images:t(Jt).optional(),audios:t(Yt).optional(),videos:t(Xt).optional(),diff:m().optional(),addedLines:i().int().nonnegative().optional(),removedLines:i().int().nonnegative().optional()}),N=o({role:l([`user`,`assistant`]),content:m(),at:m(),from:o({gezelId:m(),gezelName:m()}).optional(),referencedArtifacts:t(m()).optional(),referencedTasks:t(m()).optional(),toolCalls:t(Zt).optional(),intents:t(o({label:m(),afterChars:i().int().min(0)})).optional(),pendingQuestionId:m().optional(),synthetic:l([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),hidden:p().optional(),nudge:p().optional(),warnings:t(m()).optional(),reasoning:m().optional(),reasoningDurationMs:i().int().nonnegative().optional(),attemptedToolCalls:t(o({body:m(),reason:m().optional()})).optional(),recognizedImages:t(Rt).optional()}),Qt=o({code:m().max(64).optional(),engine:m().max(64).optional(),incidentId:m().max(64).optional(),panicKind:m().max(64).optional(),exitCode:i().int().nullable().optional(),signal:m().max(32).nullable().optional(),diagnostics:d(m(),f([m(),i(),p()])).optional()}),$t=c(`type`,[o({type:u(`delta`),content:m()}),o({type:u(`reasoning_delta`),content:m()}),o({type:u(`complete`),message:N}),o({type:u(`user_message`),message:N}),o({type:u(`tool`),name:m(),durationMs:i(),success:p(),errorMessage:m().optional(),path:m().optional(),paths:t(m()).optional(),argsSummary:m().optional(),argsFull:m().optional(),resultText:m().optional(),resultTruncated:p().optional(),images:t(Jt).optional(),audios:t(Yt).optional(),videos:t(Xt).optional(),diff:m().optional(),addedLines:i().int().nonnegative().optional(),removedLines:i().int().nonnegative().optional()}),o({type:u(`error`),error:m(),errorDetail:Qt.optional()}),o({type:u(`cancelled`)}),o({type:u(`done`)}),o({type:u(`queued`),aheadOf:i().int().min(0)}),o({type:u(`wire_pulse`)}),o({type:u(`tool_args_delta`),name:m(),content:m()}),o({type:u(`heartbeat`),label:m().optional()}),o({type:u(`warning`),message:m(),action:o({kind:u(`settings`),section:l([`llamaCpp`,`mlx`,`ds4`])}).optional()}),o({type:u(`intent`),label:m()}),o({type:u(`queue_enqueued`),queueId:m(),preview:m(),enqueuedAt:m(),nudge:p().optional()}),o({type:u(`queue_removed`),queueId:m(),reason:l([`started`,`canceled`,`rejected`])}),o({type:u(`context_warning`),estimatedTokens:i(),numCtx:i(),model:m()}),o({type:u(`context_compacted`),removedCount:i().int().nonnegative(),model:m()}),o({type:u(`context_loop`),compactionsThisSend:i().int().positive(),reason:m()}),o({type:u(`keurmeester_intervention`),caseId:m(),gezelId:m(),gezelName:m(),action:m(),summary:m()}),o({type:u(`recall_applied`),hitCount:i(),query:m()}),o({type:u(`question_asked`),question:Nt}),o({type:u(`question_answered`),question:Nt}),o({type:u(`task_event`),eventId:m(),kind:m(),summary:m(),at:m(),taskRef:m().optional()}),o({type:u(`growth_level_up`),gezelId:m(),gezelName:m(),toLevel:i().int()}),o({type:u(`engine_phase`),provider:l([`llama-cpp`,`mlx`,`ds4`]),phase:l([`starting`,`loading_model`,`prefill`,`generating`,`ready`]),detail:m().optional(),progress:i().min(0).max(1).optional(),ttftMs:i().int().nonnegative().optional()}),o({type:u(`turn_stats`),provider:l([`llama-cpp`,`ollama`,`mlx`,`ds4`]),promptTokens:i().int().nonnegative(),completionTokens:i().int().nonnegative(),durationMs:i().int().nonnegative(),tokensPerSec:i().nonnegative().optional()}),o({type:u(`engine_stats`),provider:l([`llama-cpp`,`mlx`,`ds4`]),ramAllocBytes:i().nonnegative()}),o({type:u(`gpu_swap`),state:l([`started`,`progress`,`ended`]),task:Bt,detail:m().optional(),prompt:m().optional(),progress:i().min(0).max(1).optional(),step:i().int().nonnegative().optional(),totalSteps:i().int().positive().optional(),secondsPerStep:i().nonnegative().optional()}),o({type:u(`awaiting_gezel`),state:l([`started`,`ended`]),targetGezelName:m()}),o({type:u(`project_created`),projectId:m(),name:m()}),o({type:u(`project_deleted`),projectId:m(),name:m()}),o({type:u(`gezel_created`),gezelId:m(),name:m()}),o({type:u(`night_shift`),active:p(),source:l([`scheduled`,`manual`]).nullable()}),o({type:u(`meester_status`),state:l([`started`,`ended`,`failed`]),generatedAt:m().optional()}),o({type:u(`index_progress`),phase:l([`scan`,`enrich`,`review`,`digest`]),state:l([`started`,`progress`,`ended`]),projectId:m().optional(),detail:m().optional(),pending:i().int().nonnegative().optional(),gezelId:m().optional(),gezelName:m().optional()})]),en=o({sessionId:m(),gezelId:m(),projectId:m(),event:$t}),tn=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.connector.bound,project.connector.unbound,project.connector.synced,document.created,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,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,memory.auto-summarized,memory.compacted,memory.lessons-updated,project.digest.generated,meester.status.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`.split(`,`)),nn=o({id:m(),at:m(),kind:tn,projectId:m().optional(),gezelId:m().optional(),summary:m(),details:d(m(),a()).optional()}),rn=o({entryType:u(`session`),id:m(),gezelId:m(),projectId:m(),title:m(),createdAt:m(),lastActivityAt:m(),messageCount:i(),durationMs:i(),providerName:M,model:m().optional(),archived:p().optional()}),an=c(`entryType`,[nn.extend({entryType:u(`event`)}),rn]);o({projectId:m().optional(),gezelId:m().optional(),kinds:t(tn).optional(),from:m().optional(),to:m().optional(),q:m().optional(),limit:i().int().positive().optional(),include:l([`events`,`entries`]).optional()}),o({entries:t(an)});var P=f([v,o({kind:u(`prometheusAlerts`),file:m().min(1),minRules:i().int().positive().optional(),maxPageAlerts:i().int().nonnegative().optional(),allowedSeverities:t(m().min(1)).optional(),requiredServices:t(m().min(1)).optional(),requiredRunbookUrls:t(m().min(1)).optional()}).strict(),o({kind:u(`nodeScriptPasses`),script:m().min(1),timeoutMs:i().int().positive().optional(),requiredOutput:t(o({pattern:m().min(1),flags:m().optional(),label:m().optional()}).strict()).optional()}).strict(),o({kind:u(`binaryDocument`),file:m().min(1),artifact:p().optional(),minBytes:i().int().positive().optional()}).strict()]),F=m().min(1).regex(/^[a-z0-9][a-z0-9-]*$/,`mock service ids are lowercase kebab-case`),on=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`),sn=o({method:l([`GET`,`POST`,`PUT`,`PATCH`,`DELETE`]).default(`GET`),path:m().min(1),status:i().int().min(100).max(599).default(200),headers:d(m(),m()).optional(),body:a(),latencyMs:i().int().nonnegative().optional()}).strict(),cn=c(`kind`,[o({kind:u(`http`),id:F,description:m().min(1),credential:o({name:m().regex(/^mock\.[a-z0-9][a-z0-9.-]*$/,`mock credentials are named mock.<service-id>`),authScheme:l([`bearer`,`basic`]).optional()}).strict(),routes:t(sn).min(1)}).strict(),o({kind:u(`webhook`),id:F,description:m().min(1),path:m().min(1).optional()}).strict(),o({kind:u(`cli`),id:F,description:m().min(1),shim:o({path:m().min(1),content:m()}).strict()}).strict(),o({kind:u(`mcp`),id:F,description:m().min(1),toolsetId:on.optional(),tools:t(o({name:m().min(1),description:m().min(1),resultTemplate:a().optional(),resultSequence:t(a()).min(1).optional(),writeFixture:o({surface:l([`workspace`,`artifact`]),pathArgument:m().min(1),fixture:l([`minimal-pptx`,`minimal-docx`,`minimal-pdf`,`minimal-png`])}).strict().optional()}).strict()).min(1)}).strict()]),ln=o({path:m().min(1),content:m(),surface:l([`workspace`,`artifact`,`harness`]).optional(),modelInput:p().optional()}).strict(),un=o({name:m().min(1),role:m().min(1),description:m().optional(),about:m().optional()}).strict(),dn=o({projectName:m().min(1),about:m().optional(),missionObjectives:m().optional(),files:t(ln).default([]),craftbookParams:d(m(),m()).optional(),worker:un.optional()}).strict(),fn=o({path:m().min(1),kind:Be,minBytes:i().int().positive().optional(),checks:t(P).optional()}).strict(),pn=o({service:F,minRequests:i().int().positive().optional(),requiredPaths:t(m().min(1)).optional(),forbiddenPaths:t(m().min(1)).optional(),requiredTools:t(m().min(1)).optional(),toolCalls:d(m().min(1),o({minCalls:i().int().nonnegative().default(1),maxCalls:i().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(),mn=o({kind:tn,minEntries:i().int().nonnegative().default(1),maxEntries:i().int().nonnegative().optional(),summaryPattern:m().min(1).optional(),flags:m().optional(),details:d(m(),f([m(),i(),p(),ne()])).optional()}).strict(),hn=o({summary:m().min(1),deliverables:t(fn).optional(),checks:t(P).optional(),taskNotes:o({minBytes:i().int().positive().optional(),checks:t(P).optional(),requireCraftbookTask:p().optional()}).strict().optional(),taskGraph:o({checks:t(P).optional(),requireCraftbookTask:p().optional(),requireTerminalStep:p().optional(),requireDraftRef:p().optional(),draft:o({status:l([`draft`,`paused`,`active`,`complete`,`canceled`]).optional(),minDescriptionBytes:i().int().positive().optional(),minOutcomes:i().int().positive().optional(),minSteps:i().int().positive().optional(),requireTerminalVerification:p().optional(),requireGatedBuildSteps:p().optional()}).strict().optional()}).strict().optional(),mocks:t(pn).optional(),history:t(mn).optional(),unchangedFixtures:t(m().min(1)).optional()}).strict(),gn=o({artifact:o({path:m().min(1),kind:l([`html`,`markdown`,`yaml`,`typescript`,`json`,`text`])}).strict(),axes:t(o({name:m().min(1),description:m().min(1)}).strict()).min(1),contextNote:m().optional()}).strict();o({schemaVersion:u(1),title:m().min(1),objective:m().min(1),tags:t(m().min(1)).default([]),prompt:m().min(1),setup:dn,mocks:t(cn).default([]),success:hn,rubric:gn,qualityFocus:t(m().min(1)).default([]),extensions:d(m(),a()).optional()}).strict().superRefine((e,t)=>{let n=new Set(e.mocks.map(e=>e.id)),i=new Map(e.mocks.map(e=>[e.id,e]));for(let[a,o]of(e.success.mocks??[]).entries()){if(n.has(o.service)||t.addIssue({code:r.custom,path:[`success`,`mocks`,a,`service`],message:`success.mocks[${a}] references unknown mock service "${o.service}"`}),o.requiredTools&&o.requiredTools.length>0){let e=i.get(o.service);if(e&&e.kind!==`mcp`)t.addIssue({code:r.custom,path:[`success`,`mocks`,a,`requiredTools`],message:`success.mocks[${a}].requiredTools requires an mcp service; "${o.service}" is kind "${e.kind}"`});else if(e?.kind===`mcp`){let n=new Set(e.tools.map(e=>e.name));for(let e of o.requiredTools)n.has(e)||t.addIssue({code:r.custom,path:[`success`,`mocks`,a,`requiredTools`],message:`success.mocks[${a}].requiredTools names undeclared tool "${e}" on mcp service "${o.service}"`})}}if(o.toolCalls&&Object.keys(o.toolCalls).length>0){let e=i.get(o.service);if(e&&e.kind!==`mcp`)t.addIssue({code:r.custom,path:[`success`,`mocks`,a,`toolCalls`],message:`success.mocks[${a}].toolCalls requires an mcp service; "${o.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(o.toolCalls))n.has(e)||t.addIssue({code:r.custom,path:[`success`,`mocks`,a,`toolCalls`,e],message:`success.mocks[${a}].toolCalls names undeclared tool "${e}" on mcp service "${o.service}"`})}}}for(let[n,i]of e.mocks.entries())i.kind===`http`&&i.credential.name!==`mock.${i.id}`&&t.addIssue({code:r.custom,path:[`mocks`,n,`credential`,`name`],message:`http mock "${i.id}" must use credential name "mock.${i.id}"`});let a=new Set(e.setup.files.filter(e=>e.surface===void 0||e.surface===`workspace`).map(e=>e.path));for(let[n,i]of(e.success.unchangedFixtures??[]).entries())a.has(i)||t.addIssue({code:r.custom,path:[`success`,`unchangedFixtures`,n],message:`unchanged fixture "${i}" is not a seeded workspace file`});for(let[n,i]of(e.success.history??[]).entries())i.maxEntries!==void 0&&i.minEntries>i.maxEntries&&t.addIssue({code:r.custom,path:[`success`,`history`,n],message:`minEntries must be less than or equal to maxEntries`})});var _n=o({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:i().int().positive().optional(),supportsReasoning:p().optional(),supportsTools:p().optional()});o({state:l([`not-configured`,`configured`,`update-needed`,`conflict`,`unavailable`]),models:t(_n),configuredModel:m().optional(),recommendedModel:m().optional(),reasons:t(m()),message:m().optional(),codexInstalled:p(),codexVersion:m().optional(),codexPath:m().optional(),endpointsEnabled:p(),profileName:m().min(1),profilePath:m().min(1),launchCommand:m().min(1),bridge:o({baseUrl:m().url(),listening:p(),port:i().int().nonnegative()}),canConfigure:p(),canRemove:p()}),o({model:m().min(1)});var vn=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)`}),yn=o({url:m().min(1),branch:m().optional(),checkoutDir:m().optional(),lastSyncedAt:m().optional(),defaultBranch:m().optional()}),bn=o({id:m().min(1),type:m().min(1),sourceId:m().optional(),version:m().optional(),displayName:m().optional(),corpusDir:m().optional(),config:d(m(),a()).default({}),cursor:a().optional(),disabled:p().optional(),lastSyncedAt:m().optional(),lastError:m().optional()}),xn=o({enabled:p().optional(),rapidIntervalMs:i().int().positive().optional(),slowIntervalMs:i().int().positive().optional(),recentActivityWindowMs:i().int().positive().optional(),rapidAttemptsBeforeBackoff:i().int().positive().optional(),firstNudgeGraceMs:i().int().nonnegative().optional()}),Sn=o({lastNudgedAt:m().optional(),consecutiveRapidNudges:i().int().nonnegative().optional()}),Cn=o({overview:p().optional(),tasks:p().optional(),approvals:p().optional(),workspace:p().optional(),artifacts:p().optional(),map:p().optional()}).strict(),wn=o({id:m(),version:m(),source:m(),params:d(m(),a()).optional(),appliedAt:m()}),Tn=o({id:m(),name:m(),description:m().optional(),workingDir:m().optional(),voormanGezelId:m().optional(),voormanAutoAssignedAt:m().optional(),gezelIds:t(m()).optional(),suggestedWorkDismissed:t(m()).optional(),properties:d(m(),m()).optional(),mode:l([`crew`,`solo`]).optional(),leadLabel:m().optional(),leanProfile:p().optional(),indexingEnabled:p().optional(),github:yn.optional(),connectors:t(bn).optional(),nudgeConfig:xn.optional(),nudgeState:Sn.optional(),tabVisibility:Cn.optional(),allowGezelWrites:p().optional(),codexPermissionMode:et.optional(),status:l([`active`,`readonly`,`inactive`,`stable`]).optional(),archived:p().optional(),workspaceScriptTimeoutMs:i().int().min(3e4).max(30*6e4).optional(),grantedCredentials:t(m()).optional(),credentialAllowedOrigins:d(m(),t(vn)).optional(),projectTypeId:m().optional(),detectedProjectType:o({id:m(),score:i(),scannedAt:m()}).optional(),projectType:wn.optional(),storageScope:l([`user`,`machine-shared`]).optional(),createdAt:m(),updatedAt:m()}),En=o({name:m(),version:m()}),Dn=Tn.extend({packages:t(En),about:m().optional(),missionObjectives:m().optional()});o({name:m(),path:m(),isDirectory:p(),mtimeMs:i().optional()});var On=l([`AGENTS.md`,`CLAUDE.md`,`.github/copilot-instructions.md`]),kn=l([`primary`,`concat`]);o({schemaVersion:u(1).default(1),sourceFile:On.optional(),mergeMode:kn.optional(),aboutHash:m().optional(),derivedAt:m().optional()});var An=o({hash:m(),sourceFile:On,mergeMode:kn.optional(),gezelId:m(),userEdited:p().optional()}),jn=o({hash:m(),sourceFile:m()}),Mn=o({hash:m(),craftbookId:m(),scriptNames:t(m()).default([]),userEdited:p().optional()});o({version:u(1).default(1),gezel:An.optional(),about:jn.optional(),craftbooks:d(m(),Mn).default({})});var Nn=o({name:m(),body:m(),confidence:i().min(0).max(1),sourceBlock:m(),origin:l([`static`,`llm`]).optional()}),Pn=o({role:m(),about:m()}),Fn=o({skillSource:m(),sourceHash:m(),craftbook:ze,scripts:t(Nn).default([]),persona:Pn.optional(),notes:t(m()).optional(),createdAt:m()});o({version:u(1).default(1),items:t(Fn).default([])});var In=l([`draft`,`paused`,`active`,`complete`,`canceled`]),Ln=l([`skip`,`queue`,`concurrent`]),Rn=o({expression:m(),lastTickAt:m().optional(),nextTickAt:m().optional(),overlap:Ln.optional()}),zn=o({title:m().optional(),plan:m().optional(),description:m().optional(),context:d(m(),m()).optional()}),Bn=o({count:i().int().positive(),variations:t(zn).optional(),materializedAt:m().optional()}),Vn=o({count:i().int().positive(),variations:t(zn).optional()}),Hn=o({enabled:p(),onceADay:p().optional(),lastRunDay:m().optional()}),Un=b.extend({createdAt:m(),completedAt:m().optional(),attemptCount:i().int().nonnegative().optional(),lastActivatedAt:m().optional(),gateAttempts:i().int().nonnegative().optional(),lastGateReject:o({contentHash:m().optional(),messageFingerprint:m(),message:m(),at:m()}).optional(),redriveCount:i().int().nonnegative().optional(),lastRedriveAt:m().optional(),gateAttemptHistory:t(o({at:m(),attempt:i().int().nonnegative(),contentHash:m().optional(),signatureHash:m(),messageFingerprint:m(),failedChecks:t(m()).optional(),frozen:p().optional()})).optional()}),Wn=o({id:m().min(1),name:m().min(1),description:m().optional(),version:m().optional(),basedOn:D.optional(),plan:m().optional(),defaultAssignee:h.optional(),steps:t(Un).min(1),entryStepId:m().min(1),triggers:t(m()).optional(),hooks:t(y).optional(),paramSchema:d(m(),a()).optional(),toolsets:t(w).optional(),connectors:t(T).optional(),scripts:E.optional(),spawn:x.optional(),createdAt:m(),updatedAt:m(),renderedForTier:Ne.optional()}),Gn=o({role:l([`main`,`spawn`]),catalogId:m(),version:m().optional(),sourceId:m().optional()}),Kn=o({id:m(),text:m().min(1),met:p().optional(),evidence:m().optional(),verifiedAt:m().optional()}),qn=o({projectId:m(),num:i().int().positive(),ref:m(),title:m(),description:m().optional(),plan:m().optional(),outcomes:t(Kn).optional(),status:In,assignee:h,assigneeAuto:p().optional(),craftbook:Wn,spawnsCraftbook:Wn.optional(),sourceCraftbookIds:t(Gn).optional(),craftbookParams:d(m(),m()).optional(),spawnsCraftbookParams:d(m(),m()).optional(),activeStepId:m().optional(),parentTaskRef:m().optional(),origin:c(`kind`,[o({kind:u(`project-type-schedule`),typeId:m(),scheduleKey:m()}),o({kind:u(`system-job`),jobId:m(),managedByGezelId:m().optional()}),o({kind:u(`gezel-suggested-craftbook`),templateId:m(),suggestionKey:m()})]).optional(),cron:Rn.optional(),nightShift:Hn.optional(),fanout:Bn.optional(),lastGateHandoff:o({fromStepId:m(),toStepId:m().optional(),message:m(),params:d(m(),a()).optional(),at:m()}).optional(),createdAt:m(),updatedAt:m(),createdBy:h});o({title:m().min(1),description:m().min(40),plan:m().optional(),outcomes:t(Kn).optional(),assignee:h.optional(),status:l([`draft`,`active`]).optional(),craftbookId:m().optional(),craftbookSourceId:m().optional(),craftbookVersion:m().optional(),steps:t(O).optional(),entryStepId:m().optional(),craftbookParams:d(m(),m()).optional(),spawnsCraftbookParams:d(m(),m()).optional(),spawnsCraftbookId:m().optional(),spawnsCraftbookSourceId:m().optional(),spawnsCraftbookVersion:m().optional(),spawnsSteps:t(O).optional(),spawnsEntryStepId:m().optional(),parentTaskRef:m().optional(),cron:o({expression:m(),overlap:Ln.optional()}).optional(),nightShift:o({enabled:p(),onceADay:p().optional()}).optional(),fanout:Vn.optional(),createdBy:h.optional(),dispatchEntry:p().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`]}),o({title:m().min(1).optional(),description:m().optional(),plan:m().optional(),outcomes:t(Kn).nullable().optional(),assignee:h.optional(),cron:o({expression:m(),overlap:Ln.optional()}).nullable().optional(),nightShift:o({enabled:p(),onceADay:p().optional()}).nullable().optional(),fanout:Vn.nullable().optional(),spawnsCraftbookParams:d(m(),m()).nullable().optional()}),o({count:i().int().positive().optional(),variations:t(zn).optional()}),o({status:In}),o({next:m().optional(),force:p().optional()}),o({task:qn,gate:o({decision:u(`reject`),message:m(),attempt:i().int().nonnegative(),maxAttempts:i().int().positive(),paused:p(),infrastructureError:p().optional(),scriptRuns:t(o({scriptName:m(),runId:m().optional(),error:m().optional(),logsTail:m().optional()})).optional()}).optional()}),o({name:m().min(1).optional(),description:m().optional(),prompt:m().optional(),suggestedRole:m().nullable().optional(),assignee:h.nullable().optional(),suggestedGezelId:m().nullable().optional(),onEnter:g.nullable().optional(),onExit:g.nullable().optional(),advanceWhen:Me.nullable().optional(),gate:Te.nullable().optional(),next:m().nullable().optional(),branches:t(je).nullable().optional(),terminal:p().optional()}),o({task:qn}),o({name:m().min(1).optional(),description:m().nullable().optional(),plan:m().nullable().optional(),defaultAssignee:h.nullable().optional(),entryStepId:m().optional()}),o({id:m().optional(),name:m().min(1),description:m().optional(),prompt:m().optional(),suggestedGezelId:m().optional(),assignee:h.optional()}),o({tasks:t(qn)});var Jn=c(`kind`,[o({kind:u(`gezel`),gezelId:m(),name:m()}),o({kind:u(`user`)})]),Yn=o({id:m(),at:m(),author:Jn,stepId:m().optional(),text:m()});o({notes:t(Yn)}),o({text:m().min(1),stepId:m().optional()}),o({note:Yn}),o({text:m().min(1)}),o({note:Yn});function Xn(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 Zn=m().refine(e=>Xn(e)!==null,{message:`task ref must use projectId/num form`}),Qn=o({family:l([`gemma`,`qwen`,`gpt-oss`,`mistral`,`llama`,`deepseek`,`qwq`,`phi`,`nemotron`,`glm`,`muse`,`other`]),reasoningFormat:l([`think`,`channel`,`inline`,`none`]),toolCallFormat:l([`function-call`,`qwen-xml`,`hermes`,`gemma-special-token`,`json-envelope`])}),$n=m().min(1),er=f([$n,o({id:$n,config:a().optional()})]),tr=l([`artifacts`,`workspace`,`type`]);o({source:tr,path:m().max(4096)}),o({url:m().startsWith(`/preview/`),browserUrl:m().url().optional(),expiresAt:m(),scopePath:m()}),o({path:m().max(4096)}),o({ran:p(),ok:p().optional(),errors:t(m()).optional(),reason:m().optional()}),o({entries:t(o({kind:l([`error`,`unhandledrejection`,`console.error`]),message:m().max(2e3),path:m().max(4096),source:tr,at:m()})).min(1).max(20)});var I=/^[a-z0-9][a-z0-9.\-:]{1,63}$/,L=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,nr=l([`open`,`commercial-restricted`,`custom-restricted`]),R={licenseClass:nr.optional(),licenseShortName:m().optional(),licenseUrl:m().url().optional()},z={recoScore:i().int().positive().optional()},B={minGezelVersion:m().optional()},V=o({...B,schemaVersion:u(1),id:m().regex(I),name:m().min(1),description:m(),tags:t(m()).default([]),maintainer:o({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),...R,...z,yankedVersions:t(m()).default([]),minSupportedVersion:m().optional()}),rr=l([`search`,`dev-tools`,`data`,`cloud`,`productivity`,`communication`,`content`,`ai`,`media`,`other`]),ir=l([`general`,`code`,`communication`,`creative`,`writing`,`growth`,`game`,`data`,`home`,`money`,`events`,`other`]),ar=l([`darwin-arm64`,`darwin-x64`,`linux-arm64`,`linux-x64`,`win32-x64`]),or=o({kind:u(`npm-package`),package:m().min(1).max(214).regex(/^(?:@[a-z0-9][a-z0-9._~-]*\/)?[a-z0-9][a-z0-9._~-]*$/),version:m().min(1).max(128).regex(/^v?\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/),sha256:m().regex(/^[a-f0-9]{64}$/),entry:m().min(1).max(512).refine(e=>!e.includes(`\\`)&&!e.includes(`\0`)&&!e.startsWith(`/`)&&e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`),`entry must be a contained POSIX-style relative path`),args:t(m().max(4096).refine(e=>!e.includes(`\0`))).max(64).default([]),envHints:t(m().regex(/^[A-Z_][A-Z0-9_]{0,63}$/)).max(64).default([])}),sr=c(`kind`,[or,o({kind:u(`http-mcp`),url:m().url(),transport:l([`streamable-http`,`sse`]).default(`streamable-http`),authHint:l([`none`,`bearer`,`oauth`]).default(`none`),envHints:t(m()).default([])}),o({kind:u(`stdio-mcp-binary`),binaries:d(ar,o({url:m().url(),sha256:m().regex(/^[a-f0-9]{64}$/)})),args:t(m()).default([]),envHints:t(m()).default([])}),o({kind:u(`builtin`),toolsetGroupId:m()}),o({kind:u(`custom-mcp`),serverName:m().min(1).max(256),transport:l([`stdio`,`streamable-http`,`sse`]),source:c(`kind`,[o({kind:u(`project-file`),relativePath:l([`.gezel/mcp.json`,`.vscode/mcp.json`,`.mcp.json`])}),o({kind:u(`imported`),sourceName:m().min(1).max(512).optional()})]),command:m().min(1).max(4096).optional(),args:t(m().max(16384)).max(256).default([]),cwd:m().max(4096).optional(),envFile:m().max(4096).optional(),url:m().max(16384).optional(),envKeys:t(m().min(1).max(256)).max(256).default([]),headerKeys:t(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`}))})]),cr=o({id:m(),label:m(),description:m().optional(),type:l([`string`,`enum`,`url`,`number`,`boolean`]),secret:p().default(!1),required:p().default(!1),default:m().optional(),options:t(m()).optional(),multiline:p().default(!1),pattern:m().optional(),placeholder:m().optional(),envVar:m().optional()}),lr=V.extend({kind:u(`toolset`),category:rr.optional()});o({...B,schemaVersion:u(1),version:m().regex(L),releasedAt:m(),runtime:sr,tools:t(o({name:m(),description:m().default(``)})).default([]),config:t(cr).default([]),requirements:o({node:m().optional(),platforms:t(ar).optional()}).optional(),notes:m().optional()});var ur=o({...B,schemaVersion:u(1),kind:u(`toolset`),id:m().regex(I),name:m().min(1),description:m(),tags:t(m()).default([]),maintainer:o({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),runtime:sr,tools:t(o({name:m(),description:m().default(``)})).default([]),config:t(cr).default([]),requirements:o({node:m().optional(),platforms:t(ar).optional()}).optional(),notes:m().optional(),availableVersions:t(m()).default([]),category:rr.optional()}),dr=V.extend({kind:u(`gezel-template`),role:m(),meesterCandidate:p().default(!1)}),fr=o({craftbookId:m(),runMode:l([`night-shift`,`scheduled`]),cron:m().optional(),overlap:l([`skip`,`queue`,`concurrent`]).optional(),params:d(m(),m()).optional(),reason:m().optional()}).refine(e=>e.runMode!==`scheduled`||!!e.cron,{message:`scheduled suggestions require cron`});o({...B,schemaVersion:u(1),version:m().regex(L),releasedAt:m(),about:m(),suggestedProvider:M.optional(),suggestedModel:m().optional(),suggestedTools:t(m()).default([]),notes:m().optional(),frontmatter:d(m(),a()).optional(),nameSuggestions:t(m()).optional(),suggestedCraftbooks:t(fr).optional()});var pr=o({...B,schemaVersion:u(1),kind:u(`gezel-template`),id:m().regex(I),name:m().min(1),description:m(),tags:t(m()).default([]),maintainer:o({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),role:m(),about:m(),suggestedProvider:M.optional(),suggestedModel:m().optional(),suggestedTools:t(m()).default([]),meesterCandidate:p().default(!1),notes:m().optional(),availableVersions:t(m()).default([]),frontmatter:d(m(),a()).optional(),nameSuggestions:t(m()).optional(),suggestedCraftbooks:t(fr).optional()}),mr=l([`project-starter`,`maintenance-review`,`general`]),hr=V.extend({kind:u(`craftbook-template`),role:mr.default(`general`),workflow:m().optional()});o({...B,schemaVersion:u(1),version:m().regex(L),releasedAt:m(),about:m(),steps:t(b).min(1),entryStepId:m().min(1),defaultAssignee:h.optional(),basedOn:D.optional(),plan:m().optional(),notes:m().optional(),spawn:x.optional(),triggers:t(m()).optional(),hooks:t(y).optional(),bundledScripts:t(m()).optional(),paramSchema:d(m(),a()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:t(S).optional(),runModes:C.optional(),toolsets:t(w).optional(),connectors:t(T).optional()});var gr=o({...B,schemaVersion:u(1),kind:u(`craftbook-template`),id:m().regex(I),name:m().min(1),description:m(),tags:t(m()).default([]),maintainer:o({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),role:mr.default(`general`),workflow:m().optional(),about:m(),steps:t(b).min(1),entryStepId:m().min(1),defaultAssignee:h.optional(),basedOn:D.optional(),plan:m().optional(),notes:m().optional(),spawn:x.optional(),availableVersions:t(m()).default([]),triggers:t(m()).optional(),hooks:t(y).optional(),scripts:E.optional(),bundledScripts:t(m()).optional(),paramSchema:d(m(),a()).optional(),command:m().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:t(S).optional(),runModes:C.optional(),toolsets:t(w).optional(),connectors:t(T).optional()}),_r=o({templateId:m(),voorman:p().default(!1)}),vr=o({id:m(),sourceId:m().optional(),need:l([`required`,`suggested`]).default(`suggested`),autoAllow:t(m()).default([]),reason:m().optional()}),yr=o({gezel:m(),prompt:m().min(1),hideSeed:p().optional()}),br=o({name:m().regex(/^[a-z][a-z0-9_]*$/),description:m(),script:m(),inputs:d(m(),a()).optional(),bind:d(m(),a()).optional(),reaction:yr.optional()}),xr=o({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`}),Sr=o({source:tr,path:m().min(1),subtree:p().optional()}),Cr=o({entry:m(),reads:t(Sr).optional(),tools:t(m().regex(/^[a-z][a-z0-9_]*$/)).optional()}),wr={extends:m().optional(),meesterManaged:p().optional(),tabVisibility:Cn.optional(),mode:l([`crew`,`solo`]).optional(),leadLabel:m().min(1).optional(),leanProfile:p().optional(),indexingEnabled:p().optional(),params:d(m(),a()).optional(),nameTemplate:m().min(1).optional(),aboutTemplate:m().optional(),missionTemplate:m().optional(),gezels:t(_r).default([]),toolsets:t(vr).default([]),craftbooks:t(m()).default([]),scripts:E.optional(),tools:t(br).default([]),pages:Cr.optional(),schedules:t(xr).default([]),workspaceSeed:t(m()).default([]),artifactsSeed:t(m()).default([]),notes:m().optional()},Tr=V.extend({kind:u(`project-type`),category:ir.optional()});o({...B,schemaVersion:u(1),version:m().regex(L),releasedAt:m(),...wr});var Er=o({...B,schemaVersion:u(1),kind:u(`project-type`),id:m().regex(I),name:m().min(1),description:m(),tags:t(m()).default([]),category:ir.optional(),maintainer:o({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),...wr,availableVersions:t(m()).default([])}),Dr=l([`mcp`,`script`,`spectral`,`native`]),Or=f([o({kind:u(`mapping`),map:d(m(),a())}),o({kind:u(`script`),script:m()}),o({kind:u(`native`)})]),kr=o({name:m(),consentScope:m()}),Ar={driver:Dr,configSchema:d(m(),a()).optional(),secretShape:d(m(),a()).optional(),source:d(m(),a()),normalize:Or.default({kind:`native`}),actions:t(kr).default([]),completeness:l([`mirror`,`window`]).optional(),notes:m().optional()},jr=V.extend({kind:u(`connector-type`)});o({...B,schemaVersion:u(1),version:m().regex(L),releasedAt:m(),...Ar});var Mr=o({...B,schemaVersion:u(1),kind:u(`connector-type`),id:m().regex(I),name:m().min(1),description:m(),tags:t(m()).default([]),maintainer:o({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),version:m(),releasedAt:m(),...Ar,availableVersions:t(m()).default([])}),Nr=l([`general`,`coding`,`reasoning`,`vision`,`embedding`]),Pr=o({tag:m()}),Fr=o({name:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:i().int().positive()}),Ir=o({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:t(Fr).min(2).optional(),approxSizeBytes:i().int().positive(),residentBytes:i().int().positive().optional(),quantization:m().optional(),mmproj:o({filename:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:i().int().positive()}).optional(),draftModel:o({filename:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:i().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)`}),Lr=o({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:t(Fr).min(2).optional(),approxSizeBytes:i().int().positive(),residentBytes:i().int().positive().optional(),kvBytesPerToken:i().int().positive().optional(),residentCtxTokens:i().int().positive().optional(),quantization:m().optional(),cacheExpertsBytes:i().int().positive().optional(),ssdStreaming:p().optional(),maxLaunchCtx:i().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)`}),Rr=o({huggingfaceRepo:m().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:m().optional(),files:t(o({name:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:i().int().positive()})).min(1),approxSizeBytes:i().int().positive(),residentBytes:i().int().positive().optional(),quantization:m().optional(),chatTemplate:m().optional(),disabledReason:m().optional()}),zr=V.extend({kind:u(`chat-model`),parameterSize:m(),supportsTools:p(),contextWindow:i().int().positive().optional(),kvBytesPerTokenF16:i().positive().optional(),kvFixedBytesF16:i().nonnegative().optional(),upstream:m().url().optional(),category:Nr.optional(),style:Qn.optional(),behaviors:t(er).optional(),tuning:j.optional()});o({...B,schemaVersion:u(1),version:m().regex(L),releasedAt:m(),approxSizeBytes:i().int().positive(),ollama:Pr.optional(),llamaCpp:Ir.optional(),mlx:Rr.optional(),ds4:Lr.optional(),notes:m().optional()});var Br=o({sniffThresholds:o({inlineJsMinBytes:i().int().min(1e3).optional(),htmlMinBytes:i().int().min(1e3).optional()}).optional()}),Vr=o({...B,schemaVersion:u(1),kind:u(`chat-model`),id:m().regex(I),name:m().min(1),description:m(),tags:t(m()).default([]),maintainer:o({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),...R,...z,version:m(),releasedAt:m(),parameterSize:m(),approxSizeBytes:i().int().positive(),supportsTools:p(),contextWindow:i().int().positive().optional(),kvBytesPerTokenF16:i().positive().optional(),kvFixedBytesF16:i().nonnegative().optional(),upstream:m().url().optional(),category:Nr.optional(),style:Qn.optional(),behaviors:t(er).optional(),tuning:j.optional(),evalHints:Br.optional(),ollama:Pr.optional(),llamaCpp:Ir.optional(),mlx:Rr.optional(),ds4:Lr.optional(),notes:m().optional(),availableVersions:t(m()).default([])}),Hr=l([`general`,`artistic`,`photographic`]),Ur=l([`low`,`mid`,`high`,`workstation`]),Wr=o({role:l([`vae`,`clip_l`,`clip_g`,`t5xxl`,`llm`]),downloadUrl:m().url(),sha256:m().regex(/^[a-f0-9]{64}$/),approxSizeBytes:i().int().positive()}),Gr=V.extend({kind:u(`image-model`),recommendedSteps:i().int().positive().default(20),widthRange:o({min:i().int().positive(),max:i().int().positive()}).optional(),heightRange:o({min:i().int().positive(),max:i().int().positive()}).optional(),upstream:m().url().optional(),category:Hr.optional(),weightsKind:l([`checkpoint`,`diffusion-model`]).default(`checkpoint`),supportsImg2Img:p().optional(),hardwareTier:Ur,minRamGB:i().positive(),commercialUse:p()});o({...B,schemaVersion:u(1),version:m().regex(L),releasedAt:m(),downloadUrl:m().url(),sha256:m().regex(/^[a-f0-9]{64}$/),approxSizeBytes:i().int().positive(),quantization:m().optional(),auxiliaryFiles:t(Wr).default([]),notes:m().optional()});var Kr=o({...B,schemaVersion:u(1),kind:u(`image-model`),id:m().regex(I),name:m().min(1),description:m(),tags:t(m()).default([]),maintainer:o({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),...R,...z,version:m(),releasedAt:m(),downloadUrl:m().url(),sha256:m().regex(/^[a-f0-9]{64}$/),approxSizeBytes:i().int().positive(),quantization:m().optional(),recommendedSteps:i().int().positive().default(20),widthRange:o({min:i().int().positive(),max:i().int().positive()}).optional(),heightRange:o({min:i().int().positive(),max:i().int().positive()}).optional(),upstream:m().url().optional(),category:Hr.optional(),weightsKind:l([`checkpoint`,`diffusion-model`]).default(`checkpoint`),supportsImg2Img:p().optional(),auxiliaryFiles:t(Wr).default([]),hardwareTier:Ur,minRamGB:i().positive(),commercialUse:p(),notes:m().optional(),availableVersions:t(m()).default([])}),qr=l([`ltx`,`ltx2`,`wan`]),Jr=o({strategy:l([`diffusers-tree`,`single-file`]).default(`diffusers-tree`),pipelineClass:m().optional(),singleFileName:m().optional(),transformerClass:m().optional(),vaeDtype:l([`float32`,`bfloat16`]).optional(),audio:p().default(!1)}),Yr=o({huggingfaceRepo:m().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:m().optional(),files:t(o({name:m(),sha256:m().regex(/^[a-f0-9]{64}$/),sizeBytes:i().int().positive(),repo:m().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/).optional(),revision:m().optional()})).min(1),approxSizeBytes:i().int().positive(),quantization:m().optional()}),H=o({min:i().int().positive(),max:i().int().positive()}),Xr=V.extend({kind:u(`video-model`),family:qr,load:Jr.optional(),recommendedSteps:i().int().positive().default(40),guidanceScale:i().positive().optional(),defaultNumFrames:i().int().positive().default(97),numFramesRange:H.optional(),defaultFps:i().int().positive().default(24),fpsRange:H.optional(),maxDurationSeconds:i().positive().optional(),widthRange:H.optional(),heightRange:H.optional(),defaultWidth:i().int().positive().optional(),defaultHeight:i().int().positive().optional(),supportsImageToVideo:p().default(!1),upstream:m().url().optional(),hardwareTier:Ur,minVramGB:i().positive(),commercialUse:p()});o({...B,schemaVersion:u(1),version:m().regex(L),releasedAt:m(),source:Yr,notes:m().optional()});var Zr=o({...B,schemaVersion:u(1),kind:u(`video-model`),id:m().regex(I),name:m().min(1),description:m(),tags:t(m()).default([]),maintainer:o({name:m(),url:m().url().optional()}),logo:m().optional(),license:m().optional(),...R,...z,version:m(),releasedAt:m(),family:qr,load:Jr.optional(),source:Yr,approxSizeBytes:i().int().positive(),recommendedSteps:i().int().positive().default(40),guidanceScale:i().positive().optional(),defaultNumFrames:i().int().positive().default(97),numFramesRange:H.optional(),defaultFps:i().int().positive().default(24),fpsRange:H.optional(),maxDurationSeconds:i().positive().optional(),widthRange:H.optional(),heightRange:H.optional(),defaultWidth:i().int().positive().optional(),defaultHeight:i().int().positive().optional(),supportsImageToVideo:p().default(!1),upstream:m().url().optional(),hardwareTier:Ur,minVramGB:i().positive(),commercialUse:p(),notes:m().optional(),availableVersions:t(m()).default([])});c(`kind`,[lr,dr,hr,Tr,jr,zr,Gr,Xr]);var Qr=c(`kind`,[ur,pr,gr,Er,Mr,Vr,Kr,Zr]),$r=l([`toolset`,`gezel-template`,`craftbook-template`,`project-type`,`connector-type`,`chat-model`,`image-model`,`video-model`]),ei=o({sourceId:m(),kind:$r,manifest:Qr,logoUrl:m().optional(),iconSvg:m().optional()});o({items:t(ei)}),ei.extend({readme:m().optional(),about:m().optional()}),o({versions:t(o({version:m(),releasedAt:m(),yanked:p()}))});var ti={toolsetId:m(),sourceId:m(),version:m(),installedAt:m(),installPath:m().optional()},ni=o({...ti,runtime:sr}),ri=or.extend({sha256:m().regex(/^(?:sha256-[A-Za-z0-9+/]{43}=|sha384-[A-Za-z0-9+/]{64}|sha512-[A-Za-z0-9+/]{86}==)$/)});f([ni,o({...ti,sourceId:u(`system`),runtime:ri})]),o({toolsetId:m(),values:d(m(),m()).default({}),updatedAt:m()});var ii=o({kind:$r,id:m(),version:m(),path:m(),sha256:m().regex(/^[a-f0-9]{64}$/)});o({schemaVersion:u(1),name:m().min(1),description:m().default(``),creator:m().optional(),createdAt:m().optional(),minSupportedVersion:m().optional(),items:t(ii).min(1),provenance:o({source:m().optional(),exportedFromProject:m().optional()}).optional()});var ai=l([`llama-cpp`,`mlx`,`ds4`]),oi=o({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:i().int().nonnegative().max(2**53-1),sha256:m().regex(/^[a-f0-9]{64}$/),role:l([`model`,`installed-manifest`,`catalog-manifest`,`catalog-file`])}),si=o({name:m().min(1),shortName:m().min(1).optional(),class:nr.optional(),url:m().url().optional()}),ci=o({schemaVersion:u(1),kind:u(`gezel-model`),id:m().regex(I),name:m().min(1).max(256),engine:ai,createdAt:m().datetime(),createdBy:u(`gezel`),catalogVersion:m().optional(),approxSizeBytes:i().int().nonnegative().max(2**53-1),license:si.optional(),files:t(oi).min(2).max(16384)});o({importId:m().uuid(),manifest:ci,alreadyInstalled:p(),warnings:t(m())});var li=l([`current`,`default`,`development`]),ui=o({source:li,sourceLabel:m().min(1).max(128),engine:ai,id:m().regex(I),name:m().min(1).max(256),approxSizeBytes:i().int().nonnegative().max(2**53-1),catalogVersion:m().min(1),moving:p().default(!1)});o({available:p(),candidates:t(ui)}),o({source:li,engine:ai,id:m().regex(I)}),o({ok:u(!0),engine:ai,id:m().regex(I),localRemoved:p(),warning:m().min(1).optional()});var di=o({label:m().min(1),path:m().min(1)}),fi=o({id:m(),kind:l([`command`,`output`]),content:m(),at:m(),resolvedFrom:m().optional(),stdout:m().optional(),stderr:m().optional(),exitCode:i().int().optional(),durationMs:i().int().nonnegative().optional(),truncated:p().optional(),errorMessage:m().optional(),fileReferences:t(di).optional(),cwd:m().optional()});o({threads:t(o({version:u(1),id:m(),projectId:m(),workingDir:m(),createdAt:m(),lastActivityAt:m(),archived:p().optional(),messages:t(fi)}).pick({id:!0,projectId:!0,workingDir:!0,createdAt:!0,lastActivityAt:!0,archived:!0}))}),o({workingDir:m(),input:m().min(1),columns:i().int().min(20).max(500).optional()}),o({threadId:m(),runId:m()});var pi=c(`kind`,[o({kind:u(`message`),projectId:m(),threadId:m(),workingDir:m(),message:ee(()=>fi),runId:m().optional()}),o({kind:u(`workingDirChanged`),projectId:m(),threadId:m(),newWorkingDir:m()}),o({kind:u(`runStarted`),projectId:m(),threadId:m(),runId:m(),commandMessageId:m(),at:m(),cwd:m()}),o({kind:u(`outputChunk`),projectId:m(),threadId:m(),runId:m(),chunk:m()}),o({kind:u(`inputRequested`),projectId:m(),threadId:m(),runId:m(),promptLine:m(),mode:l([`text`,`password`,`yes-no`])}),o({kind:u(`openFile`),projectId:m(),threadId:m(),path:m(),source:u(`workspace`)})]),mi=o({threadId:m(),projectId:m(),workingDir:m(),threadCreatedAt:m(),threadLastActivityAt:m(),threadArchived:p().optional(),messageId:m(),msgKind:l([`command`,`output`]),content:m(),at:m(),resolvedFrom:m().optional(),stdout:m().optional(),stderr:m().optional(),exitCode:i().int().optional(),durationMs:i().int().nonnegative().optional(),truncated:p().optional(),errorMessage:m().optional(),fileReferences:t(di).optional(),cwd:m().optional()}),U=o({kind:l([`file`,`chat`]),filePath:m().optional(),checks:t(v).optional(),scripts:t(we).optional()}),hi=o({version:u(1),id:m(),gezelId:m(),projectId:m(),providerName:M,model:m().optional(),modelSource:l([`capability-routing`]).optional(),nightShift:p().optional(),engineKey:m().optional(),reasoningEffort:m().optional(),title:m(),createdAt:m(),lastActivityAt:m(),archived:p().optional(),messages:t(N),providerState:o({copilotSessionId:m().optional(),openaiPreviousResponseId:m().optional(),claudeCliSessionId:m().optional(),codexCliThreadId:m().optional()}),aboutSnapshot:m().optional(),resumeFailed:p().optional(),deliverableGatePlateau:o({signatureHash:m(),count:i().int().nonnegative(),stage:i().int().min(0).max(3),at:m()}).optional(),lastTurnError:m().optional(),lastTurnErrorDetail:Qt.optional(),taskRef:m().optional(),stepId:m().optional(),lastImageGeneration:o({prompt:m(),negativePrompt:m().optional(),artifactPath:m(),seed:i().int().optional(),model:m().optional(),at:m()}).optional(),craftbookRef:m().optional(),consultationMode:p().optional(),expectedDeliverable:U.optional(),scriptTools:t(br).optional(),numCtx:i().int().positive().optional(),recall:o({at:m(),query:m(),hits:t(o({text:m(),scope:l([`gezel`,`project`,`workspace`]),day:m(),score:i(),kind:l([`fact`,`decision`,`pref`,`status`]).optional()}))}).optional(),summarizedAt:m().optional(),summarizedUpTo:i().int().nonnegative().optional(),extractedUpTo:i().int().nonnegative().optional(),compactionCount:i().int().nonnegative().optional(),lastCompactedAt:m().optional()}).pick({id:!0,gezelId:!0,projectId:!0,providerName:!0,model:!0,title:!0,createdAt:!0,lastActivityAt:!0,archived:!0,lastTurnError:!0,taskRef:!0,stepId:!0}).extend({lastHumanActivityAt:m().optional(),lastMessagePreview:m().max(200).optional(),involvedGezelIds:t(m()).optional()});o({gezelId:m(),projectId:m().optional(),taskRef:m().optional(),stepId:m().optional(),craftbookRef:m().optional()}),o({sessions:t(hi)}),o({message:m().min(1),mentions:t(m().min(1)).max(10).optional(),passiveCcGezelIds:t(m().min(1)).max(5).optional(),nudge:p().optional()}),o({accepted:u(!0),sessionId:m()});var gi=o({queueId:m(),text:m(),preview:m(),enqueuedAt:m(),nudge:p()});o({sessionId:m(),entries:t(gi)}),o({message:m().min(1)}),o({updated:u(!0),entry:gi}),o({message:m().min(1)}),o({messages:t(o({sessionId:m(),gezelId:m(),projectId:m(),sessionTitle:m(),sessionCreatedAt:m(),sessionLastActivityAt:m(),sessionArchived:p().optional(),sessionProviderName:M,sessionModel:m().optional(),sessionLastTurnError:m().optional(),taskRef:m().optional(),stepId:m().optional(),handoffFrom:o({gezelId:m(),sessionId:m()}).optional(),role:l([`user`,`assistant`]),content:m(),at:m(),from:o({gezelId:m(),gezelName:m()}).optional(),nudge:p().optional(),referencedArtifacts:t(m()).optional(),referencedTasks:t(m()).optional(),toolCalls:t(Zt).optional(),intents:t(o({label:m(),afterChars:i().int().min(0)})).optional(),pendingQuestionId:m().optional(),warnings:t(m()).optional(),reasoning:m().optional(),reasoningDurationMs:i().int().nonnegative().optional(),attemptedToolCalls:t(o({body:m(),reason:m().optional()})).optional()})),hasMore:p(),nextCursor:m().optional(),terminalEntries:t(mi).optional()});var _i=l([`up-to-date`,`updated`,`incompatible`,`error`,`blocked`]),vi=o({at:m(),outcome:_i,message:m().optional(),version:m().optional(),regressions:t(o({kind:m(),id:m()})).max(25).optional()});o({enabled:p(),mode:l([`bundled`,`live`,`overridden`]),bundledVersion:m(),activeVersion:m().nullable(),lastCheck:vi.nullable(),updateInProgress:p()});var yi=l([`nudge_budget_exhausted`,`context_loop`,`gate_exhausted`,`step_redrive_exhausted`,`turn_aborted`,`deliverable_plateau`]),bi=c(`kind`,[o({kind:u(`corrective_prompt`),prompt:m().min(1)}),o({kind:u(`rewrite_step`),stepId:m().min(1),prompt:m().min(1),name:m().optional(),deliverable:m().optional()}),o({kind:u(`rewrite_craftbook`),document:m().min(1),rationale:m().min(1)}),o({kind:u(`takeover_step`),instruction:m().min(1)}),o({kind:u(`stand_down`),reason:m().min(1)})]),xi=l([`silent_stall`,`tool_loop`,`capability_ceiling`,`task_shape`,`context_pressure`,`unknown`]),Si=o({diagnosis:m().min(1),failureClass:xi,action:bi,confidence:l([`low`,`medium`,`high`])}),Ci=o({record:u(`case.opened`),caseId:m().min(1),ts:m().min(1),trigger:yi,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:d(m(),a()),verdict:Si.optional(),applied:p(),consultDurationMs:i().int().nonnegative(),promptChars:i().int().nonnegative(),responseChars:i().int().nonnegative(),debug:o({prompt:m(),rawResponse:m()}).optional()}),wi=l([`unblocked`,`re_triggered`,`gave_up`,`takeover_completed`,`takeover_failed`,`unknown`]);c(`record`,[Ci,o({record:u(`case.closed`),caseId:m().min(1),ts:m().min(1),outcome:wi,turnsObserved:i().int().nonnegative()})]);var Ti=o({label:m().max(60),target:c(`kind`,[o({kind:u(`project`),projectId:m()}),o({kind:u(`task`),projectId:m(),taskRef:m()}),o({kind:u(`view`),view:l([`projects`,`gezels`,`documents`,`settings`])})])}),Ei=o({projectId:m(),taskRef:m(),title:m()}),Di=o({headline:m().max(120),cta:Ti.optional(),report:m(),generatedAt:m(),trigger:l([`auto`,`manual`]),actions:t(Ei).default([])});o({headline:m(),cta:Ti.optional(),report:m(),actions:t(o({projectId:m(),title:m(),description:m()})).optional()}),o({lastRunAt:m().optional(),inputHash:m().optional(),runDay:m().optional(),runsOnDay:i().int().nonnegative().optional(),recentActionKeys:t(m()).optional()}),o({lastActivityAt:m()}),o({report:Di.nullable(),budget:o({runsToday:i().int().nonnegative(),maxRunsPerDay:i().int().positive(),lastRunAt:m().nullable()}),running:p()});var Oi=l([`info`,`minor`,`major`]),ki=o({severity:Oi,category:m().min(1).max(40),message:m().min(1).max(300),line:i().int().positive().optional()});o({notes_md:m().min(1),issues:t(ki),health:i().int().min(1).max(10),health_reason:m().min(1)});var Ai=o({notesMd:m(),issues:t(ki),health:i().int().min(1).max(10),healthReason:m(),model:m().nullable(),reviewedAt:m().nullable()});o({github:yn.optional(),exists:p(),originMatches:p().optional(),branch:m().optional(),defaultBranch:m().optional(),ahead:i().int().optional(),behind:i().int().optional(),dirty:p().optional(),changesCount:i().int().optional(),conflictedCount:i().int().optional(),mergeInProgress:p().optional(),hasUpstream:p().optional(),hasPat:p(),credentialSource:l([`pat`,`env`,`gh`,`none`])}),o({ok:u(!0),checkoutDir:m(),branch:m().optional(),adopted:p()}),o({branch:m().min(1),create:p().optional()}),o({local:t(m()),remote:t(m()),current:m().optional()}),o({ok:u(!0),fetched:p()}),o({message:m().min(1),allowEmpty:p().optional()}),o({ok:u(!0),sha:m(),filesChanged:i().int()}),o({ok:u(!0),pushed:p(),rejected:l([`non-fast-forward`,`auth`,`unknown`]).optional()});var ji=o({number:i().int(),title:m(),author:m(),headRef:m(),baseRef:m(),draft:p(),updatedAt:m(),url:m()});o({pulls:t(ji)}),ji.extend({body:m(),state:m(),merged:p(),mergeable:p().nullable().optional(),additions:i().int(),deletions:i().int(),changedFiles:i().int()}),o({files:t(o({filename:m(),status:m(),additions:i().int(),deletions:i().int(),changes:i().int(),patch:m().optional(),previousFilename:m().optional()}))}),o({comments:t(o({id:i(),author:m(),body:m(),createdAt:m(),kind:l([`issue`,`review`]),path:m().optional()}))}),o({number:i().int(),diff:m()}),o({body:m().min(1)}),o({id:i(),url:m()}),o({title:m().min(1),body:m().optional(),head:m().min(1),base:m().min(1),draft:p().optional()}),o({number:i().int(),url:m()}),o({runs:t(o({id:i(),name:m(),status:m(),conclusion:m().nullable(),createdAt:m(),url:m()}))}),o({state:l([`success`,`failure`,`pending`,`unknown`]),checks:t(o({name:m(),status:m(),conclusion:m().nullable(),url:m().optional()}))});var Mi=l([`modified`,`added`,`deleted`,`renamed`,`conflicted`]),Ni=o({path:m(),oldPath:m().optional(),kind:Mi,additions:i().int().optional(),deletions:i().int().optional(),binary:p().optional()});o({changes:t(Ni),total:i().int(),truncated:p()}),o({path:m(),kind:Mi,oldPath:m().optional(),binary:p(),truncated:p(),diff:m().optional(),additions:i().int().optional(),deletions:i().int().optional()}),o({paths:t(m().min(1)).min(1).optional(),all:p().optional()}).refine(e=>!!e.all!=!!e.paths?.length,{message:"Pass exactly one of `paths` or `all`."}),o({ok:u(!0),discarded:i().int()});var Pi=o({sha:m(),shortSha:m(),author:m(),email:m().optional(),date:m(),subject:m(),filesChanged:i().int(),additions:i().int(),deletions:i().int()});o({commits:t(Pi),hasMore:p()}),o({sha:m(),shortSha:m(),author:m(),date:m(),subject:m(),files:t(o({path:m(),additions:i().int().optional(),deletions:i().int().optional(),binary:p().optional()})),diff:m().optional(),truncated:p()}),o({state:l([`synced`,`needs-save`,`conflicts`,`auth`,`offline`,`error`]),pulled:i().int(),pushed:i().int(),merged:p().optional(),branch:m().optional(),conflictedFiles:t(m()).optional(),message:m().optional()});var Fi=l([`both-modified`,`both-added`,`deleted-by-us`,`deleted-by-them`]),Ii=o({path:m(),kind:Fi});o({inMerge:p(),conflicts:t(Ii)}),o({path:m(),base:m().optional(),ours:m().optional(),theirs:m().optional(),binary:p(),tooLarge:p()}),o({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`."}),o({ok:u(!0),remaining:i().int()}),o({message:m().optional()}),o({ok:u(!0),sha:m()}),o({ok:u(!0)}),o({message:m()}),o({path:m().min(1)}),o({path:m(),merged:m()});var Li=l([`commit`,`pr`]),Ri=l([`running`,`complete`,`canceled`,`error`]),zi=o({id:m().min(1),kind:Li,status:Ri,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:i().int(),additions:i().int().optional(),deletions:i().int().optional(),commitCount:i().int().optional(),filesTruncated:p(),diffTruncated:p(),manifestPath:m(),diffPath:m(),reportPath:m()}).extend({taskStatus:l([`draft`,`paused`,`active`,`complete`,`canceled`]).optional(),needsAttention:p().optional(),activeStepName:m().optional(),stepsTotal:i().int().optional(),stepsComplete:i().int().optional(),assigneeName:m().optional()});o({kind:Li}),o({ok:u(!0),review:zi}),o({reviews:t(zi)}),o({ok:u(!0),review:zi}),o({version:u(1),reviewId:m().min(1),kind:Li,projectId:m().min(1),createdAt:m(),branch:m(),headSha:m(),baseRef:m(),baseSha:m(),files:t(Ni),totalFiles:i().int(),filesTruncated:p(),diffFile:m(),diffChars:i().int(),diffTruncated:p(),commits:t(Pi).optional(),commitsTruncated:p().optional(),notes:t(m())});var W=l([`webhook`]),Bi=o({url:m().url(),method:l([`POST`,`PUT`]).optional(),headers:d(m(),m()).optional(),bodyTemplate:m().optional(),bodyContentType:m().optional()}),Vi=o({default:W.optional(),webhook:Bi.optional()});o({name:W,configured:p(),ready:p(),lastError:m().optional(),detail:d(m(),a()).optional()}),o({channel:W.optional(),message:m().min(1),metadata:d(m(),a()).optional()}),f([o({ok:u(!0),id:m().optional(),channel:W}),o({ok:u(!1),error:m(),channel:W.optional()})]);var Hi=l([`llama-server`,`ds4-server`,`sd-server`,`whisper-server`,`uv`]),Ui=c(`type`,[o({type:u(`progress`),bytesWritten:i().nonnegative(),totalBytes:i().nonnegative()}),o({type:u(`retrying`),attempt:i().int().positive(),maxAttempts:i().int().positive(),delayMs:i().nonnegative(),reason:m()}),o({type:u(`verifying`),what:l([`sha256`,`signature`])}),o({type:u(`done`),binPath:m(),cached:p()}),o({type:u(`error`),error:m()})]),Wi=o({name:Hi,installed:p(),path:m().optional()});o({release:m(),pinned:p(),platformKey:m().nullable(),llamaBackend:l([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),engines:t(Wi)});var Gi=o({id:m(),name:m(),kind:m(),lineStart:i().int().positive(),lineEnd:i().int().positive(),signature:m().optional(),parent:m().optional()});o({path:m().min(1)}),o({path:m(),lang:m().nullable(),summary:m().nullable().optional(),symbols:t(Gi),totalLines:i().int().nonnegative(),engine:l([`index`,`live`,`unavailable`]),truncated:p(),review:Ai.optional()}),o({name:m().min(1),kind:m().optional(),maxResults:i().int().positive().max(200).optional()}),o({matches:t(Gi.extend({path:m()})),truncated:p(),engine:l([`index`,`unavailable`])}),o({name:m().min(1),path:m().optional()}),o({found:p(),path:m().optional(),name:m().optional(),kind:m().optional(),lineStart:i().int().positive().optional(),lineEnd:i().int().positive().optional(),signature:m().optional(),source:m().optional()}),o({name:m().min(1),glob:m().optional(),maxResults:i().int().positive().max(500).optional()}),o({references:t(o({path:m(),line:i().int().positive(),text:m()})),truncated:p(),engine:l([`ripgrep`,`javascript`])}),o({path:m().min(1)});var Ki=o({ruleId:m(),category:m(),severity:l([`critical`,`high`,`medium`,`low`,`info`]),line:i().int().positive().nullable(),title:m(),source:m()}),qi=o({path:m(),viaBinding:p()}),Ji=o({name:m(),kind:m(),lineStart:i().int().positive(),lineEnd:i().int().positive(),signature:m().optional(),parent:m().optional(),importedBy:t(qi),importedByTruncated:p(),uses:t(o({name:m(),from:m(),inRepo:p()})),usedInFileBy:t(m()),findings:t(Ki),summary:m().optional()});o({path:m(),lang:m().nullable(),totalLines:i().int().nonnegative(),summary:m().nullable(),importedBy:t(o({path:m(),names:t(m())})),importedByTruncated:p(),imports:t(o({specifier:m(),resolvedPath:m().nullable(),names:t(m()),default:p(),namespace:p()})),fileFindings:t(Ki),symbols:t(Ji),symbolsTruncated:p(),engine:l([`index`,`live`,`unavailable`]),review:Ai.optional()}),o({path:m().min(1)}),o({path:m(),found:p(),pending:p().optional(),review:Ai.optional()}),o({severity:Oi.optional(),category:m().optional(),path:m().optional(),maxResults:i().int().positive().max(1e3).optional()}),o({issues:t(o({path:m(),severity:Oi,category:m(),message:m(),line:i().int().positive().optional()})),counts:o({total:i().int().nonnegative(),bySeverity:d(m(),i().int().nonnegative()),byCategory:d(m(),i().int().nonnegative())}),truncated:p(),indexed:p(),reviewedFiles:i().int().nonnegative(),eligibleFiles:i().int().nonnegative()}),o({path:m().optional()}),o({root:m(),languages:t(o({lang:m(),fileCount:i().int().nonnegative()})),areas:t(o({path:m(),fileCount:i().int().nonnegative(),purpose:m().optional()})),entryPoints:t(m()),keyFiles:t(m()),fileCount:i().int().nonnegative(),indexed:p(),architecture:m().optional(),health:o({reviewedFiles:i().int().nonnegative(),eligibleFiles:i().int().nonnegative(),avgHealth:i(),majorIssues:i().int().nonnegative(),minorIssues:i().int().nonnegative(),worstFiles:t(o({path:m(),health:i().int().min(1).max(10),reason:m().optional()})).max(5)}).optional()});var Yi=l([`user`,`machine-engine`,`legacy-full`]);o({ok:u(!0),version:m(),serviceRole:Yi.optional(),machineEngineConnected:p().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:t(l([`cuda`,`vulkan`,`metal`,`cpu`])).optional(),childProcessSpawn:l([`ok`,`denied`]).optional()});var Xi=l([`vram`,`unified`,`ram`]),Zi=o({provider:m(),modelId:m(),reservedBytes:i().nonnegative(),replicaCount:i().int().positive()}),Qi=l([`machine-engine`,`app-engine`,`development-engine`,`gezel-engine`,`external`]),$i=o({pid:i().int().positive(),name:m().optional(),dedicatedBytes:i().nonnegative(),owner:Qi}),ea=o({provider:m(),modelId:m(),replicaIdx:i().int().nonnegative(),running:p(),active:p(),pid:i().int().positive().optional(),lastUsedAt:i().nonnegative().nullable(),unloadAt:i().nonnegative().nullable(),idleTimeoutMs:i().nonnegative(),releaseReason:l([`idle`,`memory-pressure`]).nullable()});o({kind:Xi,totalBytes:i().nonnegative(),usedBytes:i().nonnegative().nullable(),gezelBytesEstimated:i().nonnegative(),gezelBytesObserved:i().nonnegative().nullable(),gezelInfraBytes:i().nonnegative(),gezelModelWeightsBytes:i().nonnegative(),gezelModelCacheBytes:i().nonnegative(),engineReservedBytes:i().nonnegative(),engineBudgetBytes:i().nonnegative().nullable(),enginePools:o({kind:l([`unified`,`discrete-gpu`,`system-ram`]),vramBytes:i().nonnegative(),ramShareBytes:i().nonnegative(),fastBytes:i().nonnegative()}).nullable().optional(),engineRamSpillover:o({allowed:p(),auto:p(),overridden:p(),coResidencyBytes:i().nonnegative()}).optional(),residentModels:t(Zi),engineLifecycles:t(ea).optional(),gpuProcesses:t($i).optional(),gezelEngineProcessCount:i().int().nonnegative(),orphanedGezelEngineProcessCount:i().int().nonnegative(),otherBytes:i().nonnegative().nullable(),cachedBytes:i().nonnegative().nullable().optional(),freeBytes:i().nonnegative().nullable(),sampledAt:m(),source:l([`device-health`,`system-memory`,`capacity-only`]),deviceNames:t(m())}),o({sizeBytes:i().int().positive().max(10*1024**4)}),o({known:p(),ok:p(),freeBytes:i().nonnegative(),requiredBytes:i().positive(),storageLocation:u(`Gezel model storage`)}),o({version:m(),sampledAt:m(),runtime:o({nodeVersion:m(),platform:m(),arch:m(),osRelease:m(),platformKey:m().nullable()}),hardware:o({totalRamBytes:i().nonnegative(),gpuVramBytes:i().nonnegative().nullable(),gpuMemoryKind:l([`discrete`,`integrated`,`unified`,`none`,`unknown`]).optional(),usableBytes:i().nonnegative(),budgetBytes:i().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:t(o({name:m(),totalMiB:i().nonnegative(),computeCapability:m().optional(),driverVersion:m().optional()}))}),engine:o({nativeRelease:m(),nativePinned:p(),installedEngines:t(Hi),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:t(m()).optional(),cudaToolkit:m().optional()}),models:o({defaultProvider:M,defaultModel:m().optional(),installed:t(o({id:m(),provider:l([`llama-cpp`,`mlx`,`ds4`]),parameterSize:m().optional()}))}),localEngines:t(o({provider:l([`llama-cpp`,`mlx`,`ds4`]),model:m().optional(),pid:i().optional(),startedAt:m().optional(),contextPerSlot:i().optional(),contextTotal:i().optional(),slots:i().optional(),kvCacheType:m().optional(),backend:m().optional()})).optional()}),o({home:m(),scope:l([`machine`,`user`]),version:m(),startedAt:m(),firstRunCompleted:p(),usage:o({gezelCount:i().int().nonnegative(),projectCount:i().int().nonnegative(),sessionCount:i().int().nonnegative(),everUsed:p()}),provider:M.optional(),defaultModel:m().optional(),memory:o({totalBytes:i().nonnegative(),freeBytes:i().nonnegative()}),engines:t(o({key:m(),residentBytes:i().nonnegative()}))});var ta=o({kind:l([`pat`,`oauth`]),login:m().optional(),name:m().optional(),avatarUrl:m().optional(),scopes:t(m()).optional(),acquiredAt:m().optional()}),na=o({documents:m().min(1).optional(),gezels:m().min(1).optional(),projects:m().min(1).optional()}),ra=o({level:l([`super-lockdown`,`lockdown`,`free`,`custom`]),allowFileEdits:p(),allowExternalChat:p(),allowExternalServices:p(),allowScriptExecution:p(),allowAppNetwork:p()}),ia=o({mode:l([`off`,`observe`,`guard`]).optional(),maxStartTemperatureC:i().min(40).max(110).optional(),resumeTemperatureC:i().min(35).max(105).optional(),minThermalMarginC:i().min(0).max(40).optional(),pollIntervalMs:i().int().min(500).max(6e4).optional(),maxWaitMs:i().int().min(0).max(36e5).optional(),consecutiveHealthySamples:i().int().min(1).max(20).optional(),onTelemetryFailure:l([`allow`,`block`]).optional()}),aa=o({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`])}),oa=l([`adaptive`,`model-max`]);o({policy:oa}),o({overrides:d(m(),i().int().positive())}),o({contextTokens:i().int().min(32768).max(4194304).nullable()});var sa=o({enabled:p().default(!1),bindAddress:m().optional(),port:i().int().positive().optional(),priority:l([`equal`,`below-local`,`above-local`]).optional(),reserveLocalGb:i().nonnegative().optional(),allowModels:t(m()).optional(),limits:o({maxConcurrentPerDevice:i().int().positive().optional(),maxChatPerDevice:i().int().positive().optional(),requestsPerMinute:i().int().positive().optional()}).optional()}),ca=o({provider:M.optional(),hosting:l([`auto`,`machine-service`,`per-user`]).optional(),service:o({url:m(),token:m()}).optional(),localEngineIdleTimeoutMs:i().int().min(6e4).optional(),deviceSafety:ia.optional(),roleBasedNameOnlyMode:p().optional(),showPoppetjes:p().optional(),narrateAssistantReplies:p().optional(),githubToken:m().optional(),githubAuth:ta.optional(),openaiApiKey:m().optional(),openaiOrganization:m().optional(),anthropicApiKey:m().optional(),googleAiApiKey:m().optional(),imageProvider:l([`sd-cpp`,`google-ai`,`openai`,`mock`]).optional(),defaultImageModel:o({"google-ai":m().optional(),openai:m().optional()}).optional(),imageGenerationConfirmation:f([u(`always-allow`),u(`ask`),o({mode:u(`snooze`),until:m()})]).optional(),gpuMemoryPolicy:l([`auto`,`coexist`,`swap`]).optional(),videoProvider:l([`diffusers`,`mock`]).optional(),defaultVideoModel:m().optional(),videoGenerationConfirmation:f([u(`always-allow`),u(`ask`),o({mode:u(`snooze`),until:m()})]).optional(),recognitionProvider:l([`llama-cpp`,`mlx`,`mock`]).optional(),defaultRecognitionModel:m().optional(),recognition:o({mode:l([`auto`,`always`,`off`]).optional(),modes:t(It).optional(),maxImagesPerTurn:i().int().min(1).max(16).optional(),timeoutMsPerImage:i().int().min(5e3).optional(),maxDigestChars:i().int().min(200).optional(),maxMegapixels:i().positive().optional()}).optional(),nativeVision:d(m(),p()).optional(),webhookBearerToken:m().optional(),webhookBasicAuth:m().optional(),braveSearchApiKey:m().optional(),tavilyApiKey:m().optional(),ollamaBaseUrl:m().optional(),autoStartOllama:p().optional(),defaultModel:o({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:o({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:d(m(),j).optional(),modelFitness:d(m(),a()).optional(),remoteServing:sa.optional(),fileReviews:o({enabled:p().default(!0),disabledKinds:t(m()).optional()}).optional(),modelTuningProfile:d(m(),m()).optional(),meesterGezelId:m().optional(),klerkGezelId:m().optional(),boekwachterGezelId:m().optional(),keurmeesterGezelId:m().optional(),openaiEndpoints:o({enabled:p().optional(),servingGezelId:m().optional(),supportingBehaviors:p().optional(),emulateOllama:p().optional()}).optional(),ollamaNumCtx:i().int().positive().optional(),ollamaStreamingIdleSec:i().int().positive().optional(),ollamaPreFirstByteIdleSec:i().int().positive().optional(),ollamaTurnTimeoutMin:i().int().positive().optional(),ollamaNumPredict:i().int().positive().optional(),ollamaThink:p().optional(),llamaCppModelPath:m().optional(),llamaCppBaseUrl:m().optional(),llamaCppNumCtx:i().int().positive().optional(),llamaCppContextSizing:oa.optional(),modelContextOverrides:d(m(),i().int().positive()).optional(),ds4BaseUrl:m().optional(),ds4ModelPath:m().optional(),ds4NumCtx:i().int().positive().optional(),ds4SsdStreaming:p().optional(),ds4CacheExpertsGb:i().positive().optional(),llamaCppStreamingIdleSec:i().int().positive().optional(),llamaCppPreFirstByteIdleSec:i().int().positive().optional(),llamaCppBackendOverride:l([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).optional(),autoDownloadEngines:p().optional(),engineSignaturePolicy:l([`off`,`prefer`,`require`]).optional(),llamaCppKvCacheType:l([`f16`,`q8_0`,`q4_0`]).optional(),llamaCppMlock:p().optional(),llamaCppFlashAttn:f([p(),l([`on`,`off`,`auto`])]).optional(),llamaCppNGpuLayers:i().int().min(-1).optional(),llamaCppCpuMoe:p().optional(),llamaCppNCpuMoe:i().int().min(0).optional(),llamaCppCacheReuse:i().int().min(0).optional(),llamaCppSwaFull:p().optional(),llamaCppThreads:i().int().positive().optional(),llamaCppBatchSize:i().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:i().int().positive().optional(),llamaCppExtraArgs:d(m(),f([m(),i(),p()])).optional(),llamaCppUbatchSize:i().int().positive().optional(),mlxBaseUrl:m().optional(),mlxModelPath:m().optional(),mlxNumCtx:i().int().positive().optional(),mlxPackageSpec:m().optional(),mlxKvBits:i().int().min(0).max(8).optional(),mlxPrefillStepSize:i().int().positive().optional(),localEngineMemoryGb:i().positive().nullable().optional(),allowRamSpillover:p().nullable().optional(),localEngineReplicas:d(m(),i().int().min(0)).optional(),localEngineReplicasMax:i().int().positive().optional(),pythonRuntime:o({source:l([`system-uv`,`system-python`,`bundled-uv`]),installerPath:m().optional(),uvVersion:m().optional(),pythonVersion:m().optional(),resolvedAt:m().optional()}).optional(),firstRunCompleted:p().optional(),securityPolicy:ra.optional(),firstRunInstallError:m().optional(),copilotTurnTimeoutMin:i().int().positive().optional(),providerConcurrency:o({copilot:i().int().min(1).optional(),openai:i().int().min(1).optional(),anthropic:i().int().min(1).optional(),"anthropic-cli":i().int().min(1).optional(),"codex-cli":i().int().min(1).optional(),ollama:i().int().min(1).optional(),"llama-cpp":i().int().min(1).optional(),mlx:i().int().min(1).optional(),ds4:i().int().min(1).optional()}).optional(),cacheBudgetMb:o({mlx:i().int().min(64).optional(),"llama-cpp":i().int().min(64).optional()}).optional(),mlxDiskCacheBudgetMb:i().int().min(0).optional(),llamaCppDiskCacheBudgetMb:i().int().min(0).optional(),layeredPrefixCache:o({enabled:p().optional()}).optional(),batchedInference:o({enabled:p().optional()}).optional(),providerQueue:o({affinity:p().optional()}).optional(),taskRunner:o({tickIntervalMs:i().int().min(500).optional()}).optional(),taskBudget:o({enabled:p().optional(),softNudge:p().optional(),hardPause:p().optional(),scale:i().positive().optional(),limits:d(l([`tiny`,`small`,`medium`,`large`,`cloud`]),o({softTurns:i().int().positive().optional(),hardTurns:i().int().positive().optional(),softOutputTokens:i().int().positive().optional(),hardOutputTokens:i().int().positive().optional()}).partial()).optional()}).optional(),stuckStep:o({enabled:p().optional(),stallMs:i().int().positive().optional(),maxRedrives:i().int().positive().optional()}).optional(),autoRecall:o({enabled:p().optional(),topK:i().int().positive().optional(),minScore:i().optional()}).optional(),summarization:o({enabled:p().optional(),provider:M.optional(),model:m().optional(),minUserTurns:i().int().positive().optional(),idleHours:i().positive().optional()}).optional(),memory:o({maintenance:o({enabled:p().optional(),olderThanDays:i().int().min(2).optional(),minEntries:i().int().positive().optional()}).optional(),lessons:o({enabled:p().optional(),maxChars:i().int().positive().optional(),lookbackDays:i().int().positive().optional()}).optional()}).optional(),searchIndex:o({enabled:p().optional(),sessions:p().optional(),history:p().optional(),documents:p().optional()}).optional(),digest:o({enabled:p().optional()}).optional(),gildeUpdates:o({enabled:p().optional()}).optional(),meesterStatus:o({enabled:p().optional(),maxRunsPerDay:i().int().min(1).max(24).optional(),changeWindowHours:i().positive().optional()}).optional(),growth:o({enabled:p().optional()}).optional(),keurmeester:o({enabled:p().optional(),providerName:m().optional(),model:m().optional(),allowTakeover:p().optional(),maxConsultsPerSession:i().int().positive().optional(),maxConsultsPerTask:i().int().positive().optional(),cooldownMs:i().int().positive().optional()}).optional(),projectNudge:o({enabled:p().optional(),rapidIntervalMs:i().int().positive().optional(),slowIntervalMs:i().int().positive().optional(),recentActivityWindowMs:i().int().positive().optional(),rapidAttemptsBeforeBackoff:i().int().positive().optional(),firstNudgeGraceMs:i().int().nonnegative().optional()}).optional(),debugMode:p().optional(),showAdvancedFeatures:p().optional(),resetTemplatesOnStartup:p().optional(),aiEngagementMode:l([`proactive`,`scheduled`,`reactive`,`off`]).optional(),showSystemTray:p().optional(),autoUpdateChecks:p().optional(),quitOnClose:p().optional(),themePref:l([`system`,`light`,`dark`]).optional(),documentExportOptions:aa.optional(),sidebarSide:l([`left`,`right`]).optional(),homeGreetingCollapsed:p().optional(),workshopTempo:l([`gezellig`,`bedrijvig`,`druk`,`dolle-boel`]).optional(),nightShift:o({enabled:p().optional(),window:o({startHour:i().int().min(0).max(23),endHour:i().int().min(0).max(23)}).optional(),keepAwakeWhileRunning:p().optional(),wakeOnStart:p().optional(),modelOverride:o({enabled:p().optional(),provider:M.optional(),model:m().optional()}).optional()}).optional(),toolFilterMode:l([`always`,`never`,`small-model`]).optional(),channels:Vi.optional(),sandboxCopilot:p().optional(),anthropicCli:o({binaryPath:m().optional(),manageRuntimeFiles:p().optional(),defaultPermissionMode:l([`default`,`acceptEdits`,`plan`,`bypassPermissions`]).optional(),extraModels:t(o({id:m(),name:m()})).optional(),poolSize:i().int().min(1).max(32).optional(),workerIdleSec:i().int().min(60).max(3600).optional()}).optional(),codexCli:o({binaryPath:m().optional(),manageRuntimeFiles:p().optional(),defaultPermissionMode:k.optional(),defaultReasoningEffort:l([`minimal`,`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]).optional(),extraModels:t(o({id:m(),name:m()})).optional(),extraConfigOverrides:d(m(),m()).optional()}).optional(),executionDensity:l([`auto`,`flat`,`scaffold`]).optional(),playwrightHeadless:p().optional(),fetchUrl:o({allow:t(m()).optional(),deny:t(m()).optional()}).optional(),webSearch:o({provider:l([`brave`,`wikipedia`,`tavily`,`mock`]).optional(),fallbackProvider:l([`brave`,`wikipedia`,`tavily`]).optional(),defaultLimit:i().int().min(1).max(20).optional(),allow:t(m()).optional(),deny:t(m()).optional()}).optional(),projectMru:t(o({id:m(),at:i()})).optional(),recentTabs:t(c(`kind`,[o({kind:u(`project`),id:m(),at:i(),order:i()}),o({kind:u(`gezel`),id:m(),at:i(),order:i()}),o({kind:u(`document`),path:m(),at:i(),order:i()}),o({kind:u(`task`),ref:m(),at:i(),order:i()}),o({kind:u(`area`),area:l([`projects`,`gezels`,`documents`,`tasks`,`scripts`,`history`,`settings`,`benchmarks`]),at:i(),order:i()})])).optional(),externalFolders:na.optional()}),la=l([`projects`,`gezels`,`documents`,`tasks`,`craftbooks`,`scripts`,`history`,`settings`,`benchmarks`,`handboek`]);c(`kind`,[o({kind:u(`project`),id:m(),at:i(),order:i(),pinned:p().optional()}),o({kind:u(`gezel`),id:m(),at:i(),order:i(),pinned:p().optional()}),o({kind:u(`document`),path:m(),at:i(),order:i(),pinned:p().optional()}),o({kind:u(`task`),ref:m(),at:i(),order:i(),pinned:p().optional()}),o({kind:u(`area`),area:la,at:i(),order:i(),pinned:p().optional()}),o({kind:u(`script`),projectId:m(),name:m(),scope:l([`standard`,`user`]).optional(),at:i(),order:i(),pinned:p().optional()}),o({kind:u(`craftbook`),id:m(),source:l([`bundled`,`local`,`project`]).optional(),at:i(),order:i(),pinned:p().optional()}),o({kind:u(`craftbook-script`),craftbookId:m(),name:m(),at:i(),order:i(),pinned:p().optional()})]),ca.extend({ollamaThink:p().nullable().optional(),firstRunInstallError:m().nullable().optional(),service:o({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:f([p(),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:p().nullable().optional(),llamaCppSwaFull:p().nullable().optional(),mlxBaseUrl:m().nullable().optional(),mlxModelPath:m().nullable().optional(),mlxPackageSpec:m().nullable().optional(),mlxKvBits:i().int().min(0).max(8).nullable().optional(),externalFolders:o({documents:m().min(1).nullable().optional(),gezels:m().min(1).nullable().optional(),projects:m().min(1).nullable().optional()}).nullable().optional()}),o({gezels:t(qt)}),o({name:m().min(1),description:m().optional(),role:m().optional(),gender:Ut.optional(),model:m().optional(),about:m().optional()}),o({state:lt,nextLevelXp:i().int(),activeTraits:t(Gt),driftedTraitIds:t(m())}),o({proposalId:m().min(1)}),o({proposalId:m().min(1).optional()}),o({source:m()}),o({source:m()}),o({name:m().min(1)}),o({defaults:d(m(),a()).nullable()}),o({provider:M.nullable().optional(),model:m().nullable().optional(),reasoningEffort:m().nullable().optional(),numCtx:i().int().positive().nullable().optional(),autoRecall:p().nullable().optional(),font:m().nullable().optional(),sandboxCopilot:p().nullable().optional(),claudePermissionMode:l([`default`,`acceptEdits`,`plan`,`bypassPermissions`]).nullable().optional(),codexPermissionMode:k.nullable().optional(),tuning:j.nullable().optional(),tuningProfile:A.nullable().optional(),iconOverride:p().nullable().optional(),recognition:l([`auto`,`always`,`off`]).nullable().optional()}),o({instruction:m().optional()}),o({role:m().optional()}),o({provider:M,models:t(o({id:m(),name:m(),supportsReasoning:p().optional(),reasoningEfforts:t(m()).optional(),defaultReasoningEffort:m().optional(),contextWindow:i().optional(),supportsTools:p().optional(),parameterSize:m().optional()}))}),o({svg:m()});var ua=o({timestamp:m(),svg:m()});o({current:m().nullable(),history:t(ua)}),o({timestamp:m()}),o({poppetje:$e}),o({seed:i().int().optional()});var da=l([`about`,`chat-composer`,`task-description`,`generic`]);o({text:m(),context:da.optional(),instruction:m().optional(),isSelection:p().optional(),subject:m().optional(),parentContext:m().optional()}),o({text:m()}),o({mode:l([`rewrite`,`insert`]).default(`rewrite`),text:m().default(``),instruction:m().optional(),context:da.optional(),subject:m().optional(),parentContext:m().optional(),textBefore:m().optional(),textAfter:m().optional()}),c(`type`,[o({type:u(`status`),phase:l([`queued`,`started`]),detail:m().optional()}),o({type:u(`thinking-delta`),text:m()}),o({type:u(`output-delta`),text:m()}),o({type:u(`done`),text:m()}),o({type:u(`error`),error:m()})]),o({path:m().min(1),content:m()});var fa=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`}),pa=c(`kind`,[o({kind:u(`documents`)}),o({kind:u(`project-artifacts`),projectId:m().trim().min(1)})]);o({markdown:m().max(5e6),selectedFile:fa,format:l([`mp4`,`gif`]),source:pa}),o({path:m().min(1)}),o({fromPath:m().trim().min(1),toPath:m().trim().min(1)}),o({gezelId:m(),messages:t(N)}),o({message:m().min(1),projectId:m().optional(),expectedDeliverable:U.optional()}),o({accepted:u(!0),gezelId:m()}),o({fromGezelId:m().min(1),fromSessionId:m().optional(),projectId:m().optional(),text:m().min(1),expectedDeliverable:U.optional()}),o({accepted:u(!0),sessionId:m(),toGezelId:m(),toGezelName:m(),deduplicated:p().optional()}),o({jobTitle:m().min(1),preferredName:m().optional()}),o({gezelId:m(),name:m(),role:m(),action:l([`reused`,`created-from-gilde`,`created-bespoke`]),matchScore:i().optional(),templateId:m().optional(),alternatives:t(m()).optional()}),o({candidates:t(o({id:m(),label:m(),description:m().optional(),roleBasedName:m().optional(),group:l([`voorman`,`assignees`,`team`]).optional()}))}),o({projects:t(o({projectId:m(),projectName:m(),precedence:l([`voorman`,`assignment`,`session`,`fallback`]),lastActivityAt:m().optional()}))}),o({projectId:m(),gezelId:m(),sessionId:m(),prompt:m().min(1),choices:t(m()).max(20).optional(),allowWriteIn:p().optional(),multiSelect:p().optional(),taskRef:Zn.optional(),documentPath:m().optional()}),o({questionId:m(),deduped:p().optional()}),o({projectId:m(),gezelId:m(),sessionId:m(),toolName:m().min(1),toolInput:d(m(),a())}),c(`behavior`,[o({behavior:u(`allow`),updatedInput:d(m(),a())}),o({behavior:u(`deny`),message:m()})]),o({fromGezelId:m().min(1),fromSessionId:m().min(1),toGezelIdOrName:m().min(1),projectId:m().optional(),question:m().min(1),timeoutMs:i().int().positive().optional(),taskRef:m().optional(),stepId:m().optional(),expectedDeliverable:U.optional()}),c(`outcome`,[o({outcome:u(`reply`),text:m(),toGezelId:m(),toGezelName:m(),sessionId:m()}),o({outcome:u(`error`),reason:l([`cycle`,`depth`,`self`,`not-found`,`engagement-off`,`timeout`,`target-error`,`target-deleted`,`delivery-failed`]),message:m()})]),o({selectedChoices:t(i().int().min(0)).optional(),writeIn:m().optional(),declined:p().optional(),silentSkip:p().optional(),npmInstallDecisions:t(yt).optional()}),o({questions:t(Nt)}),o({kind:l([`artifact`,`document`,`workspace`]),path:m().min(1).max(4096)}),o({path:m().min(1)}),c(`mode`,[o({mode:u(`text`),content:m()}),o({mode:u(`markdown`),content:m(),sidecarPath:m().min(1)}),o({mode:u(`media`),mediaKind:l([`image`,`video`,`audio`])}),o({mode:u(`binary`)})]),c(`kind`,[o({kind:u(`found`),content:m(),path:m(),fuzzy:p()}),o({kind:u(`ambiguous`),candidates:t(m())}),o({kind:u(`missing`)})]),o({lines:o({start:i().int().min(1),count:i().int().min(0)}).optional(),head:i().int().min(0).optional(),tail:i().int().min(0).optional()}),c(`kind`,[o({kind:u(`found`),content:m(),path:m(),fuzzy:p(),linesReturned:i().int().nonnegative(),totalLines:i().int().nonnegative(),bytesReturned:i().int().nonnegative(),totalBytes:i().int().nonnegative(),hasMore:p()}),o({kind:u(`ambiguous`),candidates:t(m())}),o({kind:u(`missing`)})]),o({path:m().min(1),pattern:m().min(1),caseInsensitive:p().optional(),contextLines:i().int().min(0).max(10).optional(),maxMatches:i().int().min(1).max(100).optional()}),c(`kind`,[o({kind:u(`found`),matches:t(o({lineNumber:i().int().min(1),line:m(),contextBefore:t(m()).optional(),contextAfter:t(m()).optional()})),totalMatches:i().int().nonnegative(),totalLines:i().int().nonnegative(),truncated:p(),path:m(),fuzzy:p()}),o({kind:u(`ambiguous`),candidates:t(m())}),o({kind:u(`missing`)}),o({kind:u(`invalid-pattern`),error:m()})]);var ma=o({phase:l([`idle`,`installing-toolsets`,`downloading-browser`,`ready`,`setup-incomplete`,`error`]),currentToolset:m().optional(),browserProgress:o({bytesDownloaded:i(),bytesTotal:i().nullable()}).optional(),error:m().optional(),updatedAt:m()}),ha=o({phase:l([`idle`,`provisioning`,`ready`,`error`]),message:m().optional(),error:m().optional(),updatedAt:m()}),ga=f([o({kind:u(`stdout`),line:m()}),o({kind:u(`stderr`),line:m()}),o({kind:u(`exit`),code:i()}),o({kind:u(`error`),message:m()})]),_a=c(`type`,[o({type:u(`phase`),phase:l([`resolving`,`downloading`,`extracting`,`installing-deps`,`publishing`])}),o({type:u(`progress`),bytesWritten:i().nonnegative(),totalBytes:i().nonnegative()}),o({type:u(`retrying`),attempt:i().int().positive(),maxAttempts:i().int().positive(),delayMs:i().nonnegative(),reason:m()}),o({type:u(`log`),line:m()}),o({type:u(`done`),installPath:m(),version:m()}),o({type:u(`error`),error:m()})]);o({toolsetId:m(),version:m(),startedAt:m(),phase:l([`resolving`,`downloading`,`extracting`,`installing-deps`,`publishing`]),bytesWritten:i().nonnegative(),totalBytes:i().nonnegative(),retrying:o({attempt:i().int().positive(),maxAttempts:i().int().positive(),delayMs:i().nonnegative(),reason:m()}).optional(),log:t(m()),finished:p(),error:m().optional(),installPath:m().optional()}),o({available:p(),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:p()}),o({projects:t(Tn.extend({architecture:m().optional()}))});var va=o({name:m().min(1),description:m().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:p().optional(),github:o({url:m().url()}).optional()});o({name:m().min(1).optional(),description:m().optional(),workingDir:m().nullable().optional(),voormanGezelId:m().nullable().optional(),about:m().optional(),missionObjectives:m().optional(),github:f([ne(),o({url:m().url().optional(),branch:m().optional()})]).optional(),allowGezelWrites:p().optional(),codexPermissionMode:et.optional(),nudgeConfig:xn.optional(),tabVisibility:Cn.optional(),indexingEnabled:p().optional(),status:l([`active`,`readonly`,`inactive`,`stable`]).optional(),archived:p().optional(),workspaceScriptTimeoutMs:i().int().min(3e4).max(30*6e4).optional(),grantedCredentials:t(m()).optional(),credentialAllowedOrigins:d(m(),t(vn)).optional(),projectTypeId:m().nullable().optional(),properties:d(m(),m()).optional()});var ya=o({typeId:m().min(1),version:m().optional(),params:d(m(),a()).optional()}),ba=o({ref:m(),craftbook:m(),cron:m(),consent:l([`ask`,`auto`,`disabled`]),status:l([`active`,`paused`]),created:p()}),xa=o({typeId:m(),version:m(),source:m(),gezelsCreated:t(o({id:m(),name:m(),templateId:m(),voorman:p()})),scriptsInstalled:t(m()),workspaceSeeded:t(m()),toolsetsInstalled:t(m()),toolsBound:t(m()),craftbooksInstalled:t(m()),schedulesCreated:t(ba),aboutRendered:p(),missionRendered:p(),deferred:o({toolsets:t(m()),craftbooks:t(m()),pages:p(),schedules:i()})});va.pick({name:!0,description:!0,mode:!0}).extend({projectType:ya}),o({project:Dn,applied:xa}),o({name:m().min(1),version:m().optional()}),o({project:Dn,log:m()}),o({scripts:d(m(),m()),packageManager:m().optional()}),o({ok:p(),code:i(),stdout:m(),stderr:m(),stdoutTruncated:p(),stderrTruncated:p(),timedOut:p(),error:m().optional(),approvalPending:p().optional(),questionId:m().optional(),declined:m().optional(),resolvedBinPath:m().optional()}),o({script:m().min(1),args:t(m()).optional(),timeoutMs:i().int().positive().optional(),gezelId:m().optional(),sessionId:m().optional()}),o({bin:m().min(1),args:t(m()).optional(),timeoutMs:i().int().positive().optional(),gezelId:m().optional(),sessionId:m().optional()}),o({npmApproved:t(o({package:m(),version:m(),at:m(),approvedBy:l([`user`,`shipped`])})),npmDeclined:t(o({package:m(),version:m(),at:m()})),scriptApprovals:d(m(),l([`approved`,`declined`])),npxApprovals:d(m(),l([`approved`,`declined`])),npmShipped:t(o({package:m(),allowedVersions:t(m())}))}),o({error:m(),details:a().optional()}),o({url:m().url(),method:l([`GET`,`HEAD`,`POST`,`PUT`,`PATCH`,`DELETE`]).optional(),headers:d(m(),m()).optional(),body:m().optional(),timeoutMs:i().int().positive().max(12e4).optional(),maxBytes:i().int().positive().max(50*1024*1024).optional()}),o({status:i().int(),statusText:m(),headers:d(m(),m()),body:m().optional(),bodyBase64:m().optional(),mimeType:m().optional(),truncated:p()}),o({query:m().min(1).max(400),limit:i().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 Sa=o({title:m(),url:m(),snippet:m(),domain:m(),publishedAt:m().optional(),source:l([`brave`,`wikipedia`,`tavily`,`mock`])});o({query:m().min(1).max(400),limit:i().int().min(1).max(20).optional(),language:m().min(2).max(8).optional()}),o({results:t(Sa),source:l([`brave`,`wikipedia`,`tavily`,`mock`]),query:m(),durationMs:i().int().nonnegative()}),o({files:t(o({path:m().min(1).max(4096),startLine:i().int().min(1).max(1e7).optional(),endLine:i().int().min(1).max(1e7).optional()}).superRefine((e,t)=>{let n=e.startLine??1;e.endLine!==void 0&&e.endLine<n&&t.addIssue({code:r.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:r.custom,path:[`endLine`],message:`a read range may contain at most 400 lines`})})).min(1).max(8)}),o({results:t(c(`status`,[o({status:u(`ok`),path:m(),content:m(),startLine:i().int().positive(),endLine:i().int().nonnegative(),linesReturned:i().int().nonnegative(),bytesReturned:i().int().nonnegative(),scannedBytes:i().int().nonnegative(),totalLines:i().int().nonnegative().optional(),totalBytes:i().int().nonnegative(),eof:p(),completeFile:p(),hasMore:p(),nextStartLine:i().int().positive().optional(),truncated:p(),truncationReason:l([`line-limit`,`output-limit`]).optional()}),o({status:u(`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:i().int().nonnegative().optional()})])),truncated:p(),totalBytesReturned:i().int().nonnegative(),totalScannedBytes:i().int().nonnegative()}),o({pattern:m().min(1).max(4e3),path:m().max(4096).optional(),glob:m().min(1).max(512).optional(),includeGlobs:t(m().min(1).max(512)).max(32).optional(),excludeGlobs:t(m().min(1).max(512)).max(32).optional(),caseInsensitive:p().optional(),literal:p().optional(),contextLines:i().int().min(0).max(5).optional(),resultMode:l([`matches`,`files`,`count`]).optional(),cursor:i().int().min(0).max(1e4).optional(),maxResults:i().int().positive().max(200).optional(),timeoutMs:i().int().min(100).max(3e4).optional()});var Ca=o({line:i().int().positive(),text:m()}),wa=o({path:m(),line:i().int().positive(),text:m(),before:t(Ca).optional(),after:t(Ca).optional()});o({mode:l([`matches`,`files`,`count`]).default(`matches`),matches:t(wa),files:t(m()).default([]),count:i().int().nonnegative().default(0),truncated:p(),truncationReason:l([`limit`,`output`]).optional(),nextCursor:i().int().nonnegative().optional(),engine:l([`ripgrep`,`javascript`])}),o({glob:m().min(1),path:m().optional(),caseInsensitive:p().optional(),maxResults:i().int().positive().max(5e3).optional()}),o({files:t(m()),truncated:p()});var G=o({x:i(),y:i(),w:i(),h:i()}),Ta=o({id:m(),parentId:m().nullable(),rect:G,label:m(),depth:i().int().nonnegative(),fileCount:i().int().nonnegative(),weight:i().nonnegative(),color:m().optional(),labelPlate:G.optional(),displayLabel:m().optional()}),Ea=o({findings:i().int().nonnegative(),maxSeverity:l([`critical`,`high`,`medium`,`low`,`info`]).nullable(),fanIn:i().int().nonnegative(),fanOut:i().int().nonnegative(),vibe:l([`lush`,`tidy`,`plain`,`scruffy`,`blighted`]),zone:l([`residential`,`commercial`,`civic`,`industrial`]),importance:i().min(0).max(1).optional(),churn:i().int().nonnegative().optional()}),Da=l([`hamlet`,`village`,`town`,`city`]),Oa=o({id:m(),districtId:m(),rect:G,label:m(),weight:i().nonnegative(),kind:m().nullable().optional(),lang:m().nullable().optional(),state:l([`live`,`new`,`tombstoned`]),buildingCount:i().int().nonnegative(),phantom:p().optional(),placedAt:m().nullable().optional(),lot:G.optional(),health:Ea.optional(),levels:i().int().min(1).max(5).optional(),landmark:p().optional(),lastTouchedAt:m().optional(),urbanity:i().min(0).max(1).optional(),settlement:Da.optional()}),ka=o({id:m(),blockId:m(),rect:G,height:i().nonnegative(),lines:i().int().positive().optional(),lineStart:i().int().positive().optional(),lineEnd:i().int().positive().optional(),label:m(),kind:m()}),Aa=o({id:m(),rect:G,tier:i().int().min(0).max(3),districtId:m().nullable()}),ja=o({id:m(),districtId:m().nullable(),rect:G,kind:l([`plaza`,`green`]),blockId:m().optional()}),Ma=o({a:m(),b:m(),affinity:i(),source:l([`import`,`embedding`,`mixed`]),bidirectional:p()}),Na=o({blockId:m(),change:l([`added`,`modified`,`deleted`,`renamed`]),additions:i().int().nonnegative(),deletions:i().int().nonnegative(),fromPath:m().optional()}),Pa=o({prNumber:i().int().optional(),title:m().optional(),changedBlocks:t(Na)}),Fa=o({center:o({x:i(),y:i()}),radius:i().positive(),ceiling:i().min(0).max(1),peak:i().min(0).max(1),median:i().min(0).max(1),settlement:Da,fileCount:i().int().nonnegative()}),Ia=l([`core`,`tests`,`all`]);o({domain:l([`code`,`docs`,`data`]).optional(),scope:Ia.optional(),pr:i().int().positive().optional()}),o({domain:m(),root:m(),bounds:G,builtAt:m(),indexed:p(),districts:t(Ta),blocks:t(Oa),buildings:t(ka),roads:t(Ma),streets:t(Aa).optional(),plazas:t(ja).optional(),overlay:Pa.optional(),urbanity:Fa.optional(),signals:o({gitAvailable:p(),churnWindowDays:i().int().positive()}).optional()}),o({query:m().min(1),maxResults:i().int().positive().max(100).optional()}),o({results:t(o({sourcePath:m(),markdownPath:m(),lineStart:i().int().positive(),snippet:m()})),engine:l([`fts`,`unavailable`]),truncated:p()}),o({path:m().min(1)}),o({found:p(),sourcePath:m().optional(),markdownPath:m().optional(),markdown:m().optional(),truncated:p()}),o({query:m().min(1),mode:l([`auto`,`semantic`,`keyword`]).optional(),maxResults:i().int().positive().max(100).optional()}),o({results:t(o({path:m(),lineStart:i().int().positive(),lineEnd:i().int().positive(),kind:m(),name:m().optional(),snippet:m(),score:i(),source:l([`vector`,`fts`])})),engine:l([`hybrid`,`semantic`,`fts`,`unavailable`]),truncated:p()});var K=l([`critical`,`high`,`medium`,`low`,`info`]),La=l([`builtin`,`semgrep`,`osv`,`gitleaks`]),Ra=l([`open`,`in_progress`,`resolved`]),q=o({fingerprint:m().min(1),path:m(),line:i().int().positive().nullable(),ruleId:m(),category:m(),severity:K,source:La,title:m(),evidence:m().optional(),status:Ra,taskRef:Zn.optional()}),za=o({total:i().int().nonnegative(),bySeverity:d(m(),i().int().nonnegative()),byCategory:d(m(),i().int().nonnegative()),bySource:d(m(),i().int().nonnegative())});o({useExternalTools:p().optional()}),o({ran:p(),engines:t(m()),toolsAvailable:o({semgrep:p(),osvScanner:p(),gitleaks:p(),npm:p()}),findingCounts:za,dependencies:i().int().nonnegative(),advisories:i().int().nonnegative()}),o({severity:K.optional(),category:m().optional(),path:m().optional(),source:La.optional(),maxResults:i().int().positive().max(1e3).optional()}),o({findings:t(q),counts:za,truncated:p(),indexed:p()}),o({fingerprint:m().min(1)}),o({resolved:p()}),o({fingerprint:m().min(1)}),o({finding:q,taskRef:Zn,gezelId:m(),gezelName:m(),enqueued:p()}),o({entryPoints:t(m()),routes:t(m()),authBoundaries:t(m()),secretTouchpoints:t(m()),taintSources:t(o({path:m(),count:i().int().positive()}))}).extend({root:m(),indexed:p()}),o({dependencies:t(o({name:m(),ecosystem:m(),version:m().nullable(),direct:p(),advisoryIds:t(m()),maxSeverity:K.nullable(),license:m().nullable()})),total:i().int().nonnegative(),withAdvisories:i().int().nonnegative(),scanned:p()}),o({indexed:p(),scanned:p(),findings:za,attackSurface:o({entryPoints:i().int().nonnegative(),routes:i().int().nonnegative(),authBoundaries:i().int().nonnegative(),secretTouchpoints:i().int().nonnegative(),taintSources:i().int().nonnegative()}),dependencies:o({total:i().int().nonnegative(),withAdvisories:i().int().nonnegative()}),systemicCandidates:t(o({category:m(),fileCount:i().int().positive(),findingCount:i().int().positive(),severity:K}))}),o({file:m().min(1),maxHops:i().int().positive().max(8).optional()}),o({file:m(),found:p(),upstream:t(m()),downstream:t(m()),taintSources:t(q),sinks:t(q),note:m()});var Ba=o({kind:l([`project`,`gezel`,`file`,`document`,`content`,`symbol`,`memory`,`session`]),id:m(),title:m(),subtitle:m().optional(),snippet:m().optional(),projectId:m().optional(),projectName:m().optional(),path:m().optional(),source:l([`workspace`,`artifacts`]).optional(),line:i().int().positive().optional(),gezelId:m().optional(),score:i()});o({query:m().min(1).max(400),mode:l([`names`,`full`]).optional(),maxResults:i().int().positive().max(100).optional()}),o({results:t(Ba),truncated:p()}),o({q:m().min(1).max(400),gezel:m().optional(),project:m().optional(),maxResults:i().int().positive().max(100).optional()}),o({results:t(o({sessionId:m(),gezelId:m(),projectId:m(),title:m(),snippet:m(),messageStart:i().int().positive(),lastActivityAt:m(),archived:p()})),engine:l([`fts`,`unavailable`])}),o({q:m().min(1).max(400),maxResults:i().int().positive().max(100).optional()}),o({results:t(o({path:m(),lineStart:i().int().positive(),snippet:m()})),engine:l([`fts`,`unavailable`])}),o({query:m().min(1),maxResults:i().int().positive().max(100).optional()}),o({results:t(o({path:m(),width:i().int().optional(),height:i().int().optional(),format:m().optional(),caption:m().optional(),score:i()})),engine:l([`fts`,`unavailable`]),truncated:p()}),o({path:m().min(1),maxResults:i().int().positive().max(100).optional()}),o({results:t(o({path:m(),score:i()})),engine:l([`vector`,`unavailable`]),truncated:p()}),o({path:m().optional()}),o({path:m(),imageCount:i().int().nonnegative(),formats:t(o({format:m(),count:i().int()})),dimensions:o({minWidth:i().int(),maxWidth:i().int(),minHeight:i().int(),maxHeight:i().int()}).nullable(),samples:t(m()),captioned:i().int().nonnegative()}),o({query:m().optional(),kind:m().optional(),maxResults:i().int().positive().max(200).optional()}),o({entities:t(o({id:i().int(),kind:m(),label:m(),canonical:m(),mentions:i().int().nonnegative()})),engine:l([`index`,`unavailable`])}),o({entity:m().min(1),maxResults:i().int().positive().max(500).optional()}),o({found:p(),entity:o({kind:m(),label:m()}).optional(),mentions:t(o({path:m(),line:i().int().optional(),date:m().optional()}))}),o({leftPath:m().optional(),leftText:m().optional(),rightPath:m().optional(),rightText:m().optional(),contextLines:i().int().min(0).max(20).optional()}).refine(e=>(e.leftPath||e.leftText)&&(e.rightPath||e.rightText),{message:`Provide {leftPath|leftText} and {rightPath|rightText}.`}),o({diff:m(),identical:p()}),o({path:m().min(1),artifact:p().optional()}),o({path:m(),mimeType:m(),base64:m(),bytes:i().int().nonnegative()}),o({path:m().min(1),maxEntries:i().int().positive().max(5e3).optional()});var Va=o({name:m(),size:i().int().nonnegative(),isDirectory:p()});o({format:l([`zip`,`tar`,`tar.gz`]),entries:t(Va),truncated:p()}),o({path:m().min(1),outputPath:m().min(1)}),o({format:l([`zip`,`tar`,`tar.gz`]),extractedCount:i().int().nonnegative(),destination:m()}),o({subcommand:l([`status`,`log`,`diff`,`show`,`blame`,`branch`,`rev-parse`,`ls-files`]),args:t(m()).max(32).optional(),timeoutMs:i().int().positive().max(12e4).optional()}),o({code:i().int(),stdout:m(),stderr:m(),stdoutTruncated:p(),timedOut:p()}),o({deviceCode:m(),userCode:m(),verificationUri:m(),interval:i().int().positive(),expiresIn:i().int().positive()});var Ha=o({login:m(),name:m().optional(),avatarUrl:m().optional()});o({deviceCode:m()}),c(`status`,[o({status:u(`pending`)}),o({status:u(`slow_down`)}),o({status:u(`expired`)}),o({status:u(`denied`),error:m().optional()}),o({status:u(`success`),identity:Ha,scopes:t(m()).optional()}),o({status:u(`not_configured`),error:m()})]),f([Ha.extend({signedIn:u(!0)}),o({signedIn:u(!1)})]),o({repos:t(o({fullName:m(),url:m(),description:m().optional(),private:p().optional(),pushedAt:m().optional()}))}),o({url:m()}),o({owner:m(),repo:m(),canonicalUrl:m(),defaultBranch:m().optional(),description:m().optional(),topics:t(m()).optional(),language:m().optional(),readme:m(),readmeTruncated:p()}),o({name:m().min(1),repoUrl:m(),description:m().optional(),topics:t(m()).optional(),readme:m()}),o({about:m(),missionObjectives:m()}),o({path:m().min(1)}),o({name:m(),about:m().optional(),source:m().optional()});var Ua=o({name:m(),kind:l([`npm-script`,`workspace-script`,`vscode-launch`,`bin`]),source:m(),run:m(),description:m().optional()}),Wa=o({version:i().int(),scannedAt:m(),root:m(),durationMs:i().int(),fileCount:i().int(),commandCount:i().int(),shapeCount:i().int().optional()}),Ga=o({name:m(),char:m().length(1).optional(),type:l([`boolean`,`option`]),description:m().optional(),required:p().optional(),default:m().optional(),options:t(m()).optional(),multiple:p().optional()}),Ka=o({name:m(),description:m().optional(),required:p().optional(),default:m().optional(),options:t(m()).optional()}),qa=o({source:u(`oclif`),package:m(),packageVersion:m().optional(),summary:m().optional(),description:m().optional(),subcommands:t(o({name:m(),fullName:m(),summary:m().optional()})).optional(),flags:t(Ga).optional(),args:t(Ka).optional(),usage:m().optional(),examples:t(m()).optional()});o({shapes:d(m(),qa)}),o({state:l([`fresh`,`stale`,`indexing`,`never`,`disabled`]),meta:Wa.optional(),aiScanPending:p().optional(),enrichment:o({eligible:i().int().nonnegative(),summarized:i().int().nonnegative(),embedded:i().int().nonnegative(),pending:i().int().nonnegative(),embedModel:m().optional(),reviews:o({eligible:i().int().nonnegative(),reviewed:i().int().nonnegative(),stale:i().int().nonnegative(),pending:i().int().nonnegative()}).optional()}).optional()}),o({maxFiles:i().int().positive().max(25).optional(),budgetMs:i().int().positive().max(6e4).optional(),areas:p().optional(),reviews:p().optional()}),o({paused:p(),files:i().int().nonnegative(),summarized:i().int().nonnegative(),embedded:i().int().nonnegative(),pending:i().int().nonnegative(),areasUpdated:i().int().nonnegative(),architectureUpdated:p(),reviewed:i().int().nonnegative().optional(),reviewPending:i().int().nonnegative().optional(),drained:p()});var Ja=o({ref:m(),title:m(),projectName:m(),stepName:m().optional()});o({background:t(o({id:m(),title:m(),detail:m(),projectName:m().optional()})),active:t(Ja),upcoming:t(Ja)});var Ya=o({ref:m(),title:m(),projectId:m(),projectName:m(),completedAt:m().optional()}),Xa=o({projectId:m(),projectName:m(),path:m(),title:m(),writtenAt:m().optional(),actionCounts:o({total:i(),suggested:i(),fired:i(),applied:i(),dismissed:i()})});o({windowKey:m(),windowStart:m(),windowEnd:m(),tasksCompleted:t(Ya),reports:t(Xa)}),o({meta:Wa,commands:t(Ua),shapes:d(m(),qa).optional()}),o({skills:t(o({name:m(),source:m(),origin:l([`claude`,`gstack`,`agents`,`other`]),description:m().optional(),triggers:t(m()).optional(),version:m().optional(),body:m(),generated:p().optional(),hasShellScripts:p(),files:t(o({relPath:m(),kind:l([`section`,`reference`,`template`,`script`,`bin`,`other`]),bytes:i().int().nonnegative()})).optional()}))}),o({instructions:t(o({source:m(),origin:l([`agents`,`claude`,`copilot`]),content:m(),hash:m(),mtimeMs:i()}))}),o({sessionId:m(),providerName:m(),model:m().optional(),modelTier:l([`tiny`,`small`,`medium`,`large`,`cloud`]),parameterSize:m().optional(),leaksUntaggedReasoning:p(),reasoningEffort:m().optional(),numCtx:i().optional(),systemPrompt:m(),volatileContext:m().optional(),customToolsMd:p(),registeredTools:t(m()),turnStatus:l([`idle`,`in-progress`,`queued`]),recentMessages:t(o({role:l([`user`,`assistant`,`system`,`tool`]),content:m(),reasoning:m().optional(),warnings:t(m()).optional(),synthetic:l([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),attemptedToolCalls:t(o({body:m(),reason:m().optional()})).optional(),toolCalls:t(o({name:m(),argsSummary:m().optional(),success:p(),errorMessage:m().optional()})).optional()})),diagnostics:o({sessionRecordPath:m(),logsDir:m(),engineLogGlob:m().optional()}).optional(),generatedAt:m()}),o({source:m().min(1),dest:m().min(1),gezelId:m().optional(),sessionId:m().optional()}),o({ok:u(!0),source:m(),dest:m(),bytes:i().int().nonnegative()}),o({url:m().url(),dest:m().optional(),branch:m().min(1).optional(),gezelId:m().optional(),sessionId:m().optional()}),o({ok:u(!0),path:m(),files:i().int().nonnegative(),bytes:i().int().nonnegative()}),o({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()}),o({ok:u(!0),path:m(),diffPath:m(),baseSha:m(),headSha:m(),files:i().int().nonnegative(),bytes:i().int().nonnegative(),diffBytes:i().int().nonnegative(),filesChanged:i().int().nonnegative()}),o({path:m().min(1),find:m().min(1),replace:m(),occurrence:f([i().int().positive(),u(`all`)]).optional(),gezelId:m().optional(),sessionId:m().optional()}),o({path:m().min(1),diff:m().min(1),gezelId:m().optional(),sessionId:m().optional()}),o({path:m().min(1),marker:m().min(1),content:m(),where:l([`before`,`after`]).optional(),gezelId:m().optional(),sessionId:m().optional()}),o({path:m().min(1),startLine:i().int().positive(),endLine:i().int().positive(),content:m(),gezelId:m().optional(),sessionId:m().optional()}),o({ok:u(!0),path:m(),diff:m(),addedLines:i().int().nonnegative(),removedLines:i().int().nonnegative(),diffTruncated:p().optional()}),o({tools:t(o({name:m(),description:m(),parameters:d(m(),a())}))}),o({args:d(m(),a()).optional()}),o({text:m(),images:t(o({base64:m(),mimeType:m()}))});var Za=l([`NW`,`N`,`NE`,`W`,`C`,`E`,`SW`,`S`,`SE`]),Qa=o({path:m().min(1),region:Za,cx:i().min(0).max(1),cy:i().min(0).max(1)}),$a=o({path:m().min(1),region:Za.optional(),rect:G.optional(),style:m().optional()}),eo=o({k:l([`block`,`street`,`plate`,`plaza`]),id:m(),p:m().nullable().optional(),h:m().nullable().optional(),r:n([i(),i(),i(),i()]),w:i().optional(),a:m().nullable().optional(),d:m().nullable().optional()}),to=o({cx:i(),cy:i(),r:i().positive(),impRef:i().min(0)}),no=o({layoutVersion:i().int().positive(),anchors:t(Qa).default([]),journal:t(eo).default([]),downtown:to.optional()});o({schemaVersion:i().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:t($a).default([]),domains:d(m(),no).default({})});var J=o({ok:p(),detail:m()}),ro=l([`probed`,`failed`,`deferred`,`blocked`]),io=l([`install`,`manual`]);o({schemaVersion:u(1),provider:m(),modelId:m(),status:ro,admitted:p(),genTokensPerSec:i().nullable(),shortPromptGenTokensPerSec:i().nullable().optional(),representativeContext:o({targetPromptTokens:i().int().positive(),promptTokens:i().int().nonnegative().nullable(),cachedPromptTokens:i().int().nonnegative().nullable(),completionTokens:i().int().nonnegative().nullable(),durationMs:i().nonnegative().nullable(),ttftMs:i().nonnegative().nullable(),promptTokensPerSec:i().positive().nullable(),genTokensPerSec:i().positive().nullable()}).optional(),createdAt:m(),durationMs:i().int().nonnegative(),trigger:io,sha256:m().optional(),catalogVersion:m().optional(),contextWindow:i().int().optional(),host:o({totalRamBytes:i(),gpuVramBytes:i().nullable(),source:m()}),checks:o({spawn:J,toolRoundTrip:J,throughput:J,reasoningBudget:J,contextFit:J})}),o({scope:c(`kind`,[o({kind:u(`gezel`),gezelId:m()}),o({kind:u(`project`),projectId:m()}),o({kind:u(`shared`)}),o({kind:u(`system`)})]),text:m().min(1).max(2*1024*1024),sourceName:m().min(1).max(512).optional()});var ao=o({serverName:m().optional(),message:m()});o({ok:u(!0),imported:t(m()),warnings:t(ao).default([])});var oo=l([`fire-craftbook`,`create-task`,`apply-edits`]),so={id:m().regex(/^[a-z0-9][a-z0-9_-]*$/i).optional(),title:m().min(1),reason:m().optional(),projectId:m().optional()},co=c(`kind`,[o({kind:u(`fire-craftbook`),...so,craftbookId:m().min(1),params:d(m(),m()).optional()}),o({kind:u(`create-task`),...so,prompt:m().min(1),role:m().optional()}),o({kind:u(`apply-edits`),...so,edits:t(o({path:m().min(1),diffArtifact:m().min(1)})).min(1)})]),lo=l([`suggested`,`fired`,`applied`,`failed`,`dismissed`]),uo=o({actionId:m(),reportPath:m(),kind:oo,contentHash:m(),firstSeenAt:m(),state:lo,taskRef:m().optional(),firedAt:m().optional(),settledAt:m().optional(),outcome:l([`complete`,`canceled`]).optional(),results:t(o({path:m(),ok:p(),error:m().optional()})).optional()}),fo=o({index:i().int(),message:m(),raw:m()});o({actions:t(o({action:co,id:m(),contentHash:m(),state:lo,taskRef:m().optional(),firedAt:m().optional(),settledAt:m().optional(),outcome:l([`complete`,`canceled`]).optional(),results:t(o({path:m(),ok:p(),error:m().optional()})).optional(),contentChanged:p().optional()})),issues:t(fo),stale:t(uo)}),o({path:m().min(1),actionId:m().min(1),params:d(m(),m()).optional()}),o({record:uo,taskRef:m().optional()}),o({path:m().min(1),actionId:m().min(1)});var po=c(`kind`,[o({kind:u(`gezel-template`),templateId:m(),gezelId:m().optional(),gezelName:m().optional(),role:m().optional()}),o({kind:u(`project-type`),typeId:m(),scheduleKey:m()})]),mo=l([`suggested`,`enabled`,`paused`,`dismissed`]);o({items:t(o({key:m(),source:po,craftbookId:m(),craftbookName:m().optional(),description:m().optional(),reason:m().optional(),runMode:l([`night-shift`,`scheduled`]),cron:m().optional(),overlap:Ln.optional(),paramSchema:d(m(),a()).optional(),params:d(m(),m()).optional(),state:mo,taskRef:m().optional(),pendingQuestionId:m().optional(),orphaned:p().optional()}))}),o({key:m(),params:d(m(),m()).optional()}),o({key:m()}),o({key:m(),dismissed:p()});var ho=m().min(1).describe(`CSS color — hex (#rgb, #rgba, #rrggbb, #rrggbbaa) or the keyword "transparent".`),Y={x:i().optional(),y:i().optional(),width:i().positive().optional(),height:i().positive().optional(),opacity:i().min(0).max(1).optional()},go=c(`kind`,[o({kind:u(`svg`),svg:m().min(1).describe(`SVG markup. <script>/<foreignObject>/event handlers are stripped.`),rotate:i().optional().describe(`Degrees of rotation around the layer center.`),...Y}),o({kind:u(`html`),html:m().min(1).describe(`HTML fragment rendered inside a sandboxed iframe.`),...Y}),o({kind:u(`pixels`),rows:t(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:d(m(),ho).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:i().int().positive().optional().describe(`Pixel size in output px. Defaults to a value that fits the canvas.`),...Y}),o({kind:u(`image`),artifactPath:m().min(1).describe(`Path to a previously-written artifact, relative to the project artifacts/ root.`),...Y}),o({kind:u(`text`),text:m().min(1),x:i(),y:i(),font:m().optional(),size:i().positive().optional(),color:ho.optional(),weight:i().int().optional(),opacity:i().min(0).max(1).optional()})]);o({projectId:m().optional().describe(`Project to save the artifact under. Defaults to "default".`),width:i().int().positive().max(4096),height:i().int().positive().max(4096),layers:t(go).min(1).max(64),background:ho.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.`)}),o({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:i().int().positive(),height:i().int().positive(),bytes:i().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 _o=f([o({data:m().min(1),mimeType:m().default(`image/png`)}),o({artifactPath:m().min(1)})]);o({prompt:m().min(1),negativePrompt:m().optional(),model:m().optional(),width:i().int().positive().optional(),height:i().int().positive().optional(),steps:i().int().positive().optional(),seed:i().int().optional(),inputImages:t(_o).optional(),strength:i().min(0).max(1).optional(),projectId:m().optional(),gezelId:m().optional(),sessionId:m().optional(),inline:p().optional(),saveAs:m().optional()});var vo=o({model:m(),seed:i().int(),steps:i().int(),widthPx:i().int().positive(),heightPx:i().int().positive(),durationMs:i().int().nonnegative(),img2imgSkippedReason:m().optional()});o({artifactPath:m(),workspacePath:m().nullable(),meta:vo,b64Png:m().optional()}),o({models:t(o({id:m(),name:m(),approxSizeBytes:i().int().nonnegative(),installedAt:m(),kind:l([`local`,`cloud`]).optional(),supportsImg2Img:p().optional()})),defaultModel:m().optional()}),o({engine:o({status:l([`ok`,`unreachable`,`not-configured`]),baseUrl:m(),error:m().optional(),kind:l([`local`,`cloud`]).optional(),provider:m().optional()}),modelCount:i().int().nonnegative()}),o({pulls:t(o({id:m(),startedAt:m(),bytesWritten:i().int().nonnegative(),totalBytes:i().int().nonnegative(),retrying:o({attempt:i().int().positive(),maxAttempts:i().int().positive(),delayMs:i().int().nonnegative(),reason:m()}).optional(),finished:p(),error:m().optional()}))});var yo=c(`type`,[o({type:u(`progress`),bytesWritten:i().int().nonnegative(),totalBytes:i().int().nonnegative().optional()}),o({type:u(`retrying`),attempt:i().int().positive(),maxAttempts:i().int().positive(),delayMs:i().int().nonnegative(),reason:m()}),o({type:u(`error`),error:m()}),o({type:u(`done`),id:m()})]),bo=f([o({data:m().min(1),mimeType:m().default(`image/png`)}),o({artifactPath:m().min(1)})]);o({prompt:m().min(1),negativePrompt:m().optional(),model:m().optional(),width:i().int().positive().optional(),height:i().int().positive().optional(),numFrames:i().int().positive().optional(),fps:i().int().positive().optional(),steps:i().int().positive().optional(),seed:i().int().optional(),inputImage:bo.optional(),projectId:m().optional(),gezelId:m().optional(),sessionId:m().optional(),inline:p().optional(),saveAs:m().optional()});var xo=o({model:m(),seed:i().int(),steps:i().int(),widthPx:i().int().positive(),heightPx:i().int().positive(),numFrames:i().int().positive(),fps:i().int().positive(),durationMs:i().int().nonnegative(),mimeType:m()});o({artifactPath:m(),workspacePath:m().nullable(),meta:xo,b64Poster:m().optional()}),o({models:t(o({id:m(),name:m(),approxSizeBytes:i().int().nonnegative(),installedAt:m(),kind:l([`local`,`cloud`]).optional()})),defaultModel:m().optional()});var So=l([`cuda`,`mps`,`cpu`]);o({engine:o({status:l([`ok`,`unreachable`,`not-configured`]),baseUrl:m(),error:m().optional(),kind:l([`local`,`cloud`]).optional(),provider:m().optional(),accelerator:So.optional()}),modelCount:i().int().nonnegative()}),o({pulls:t(o({id:m(),startedAt:m(),bytesWritten:i().int().nonnegative(),totalBytes:i().int().nonnegative(),file:m().optional(),fileIndex:i().int().nonnegative().optional(),fileCount:i().int().positive().optional(),retrying:o({attempt:i().int().positive(),maxAttempts:i().int().positive(),delayMs:i().int().nonnegative(),reason:m()}).optional(),finished:p(),error:m().optional()}))});var Co=c(`type`,[o({type:u(`progress`),fileIndex:i().int().nonnegative(),fileCount:i().int().positive(),file:m(),bytesWritten:i().int().nonnegative(),totalBytes:i().int().nonnegative(),bytesWrittenAll:i().int().nonnegative(),totalBytesAll:i().int().nonnegative()}),o({type:u(`retrying`),file:m(),attempt:i().int().positive(),maxAttempts:i().int().positive(),delayMs:i().int().nonnegative(),reason:m()}),o({type:u(`verifying`),file:m()}),o({type:u(`error`),error:m()}),o({type:u(`done`),id:m()})]);o({audio:f([o({data:m().min(1).describe(`Base64-encoded audio bytes.`),mimeType:m().default(`audio/wav`)}),o({artifactPath:m().min(1).describe("Project-relative artifact path under `audio/` or `audio/uploaded/`.")})]),model:m().optional(),language:m().optional(),projectId:m().optional()});var wo=o({start:i(),end:i(),text:m()});o({text:m(),language:m().optional(),segments:t(wo).optional(),durationMs:i().int().nonnegative()}),o({text:m().min(1),voice:m().optional(),model:m().optional(),speed:i().min(.25).max(4).optional(),projectId:m().optional(),sessionId:m().optional(),gezelId:m().optional(),inline:p().optional()});var To=o({voice:m(),model:m(),sampleRate:i().int().positive(),durationSeconds:i().nonnegative(),durationMs:i().int().nonnegative()});o({artifactPath:m(),meta:To,b64Wav:m().optional()}),o({models:t(o({id:m(),name:m(),approxSizeBytes:i().int().nonnegative(),installedAt:m()}))});var Eo=o({id:m(),name:m(),description:m(),approxSizeBytes:i().int().nonnegative(),kind:l([`stt`,`tts`]),license:m().optional(),...R,...z});o({stt:t(Eo),tts:t(Eo)}),o({voices:t(o({id:m(),name:m(),language:m(),gender:l([`female`,`male`,`neutral`]).optional(),modelId:m()}))});var Do=o({status:l([`ok`,`unreachable`,`not-configured`,`no-model`]),baseUrl:m().optional(),error:m().optional(),provider:m().optional(),modelCount:i().int().nonnegative()});o({stt:Do,tts:Do});var Oo=c(`type`,[o({type:u(`progress`),bytesWritten:i().int().nonnegative(),totalBytes:i().int().nonnegative().optional()}),o({type:u(`error`),error:m()}),o({type:u(`done`),id:m()})]),ko=l([`conceptual`,`gezel-roles`,`craftbooks`,`project-types`,`technical`]);l([`app`,`site`,`agent`]);var Ao=o({id:m().min(1),title:m().min(1),area:ko,order:i(),summary:m().optional(),generated:p(),siteVisible:p().optional()});o({areas:t(o({area:ko,title:m(),entries:t(Ao)}))});var jo=o({path:m().min(1),gezelId:m().min(1),name:m(),roleLabel:m().optional(),variant:l([`full`,`headshot`,`icon`]),poppetje:$e}),Mo=o({blockId:m(),hash:m().regex(/^[a-f0-9]{64}$/),durationMs:i().int().nonnegative(),silent:p().optional()});o({articleId:m(),voice:m(),model:m(),segments:t(Mo)}),o({results:t(o({id:m().min(1),title:m().min(1),area:ko,summary:m().optional(),markdown:m(),figures:t(jo).default([]),generated:p(),defaultDuration:i().positive().optional()}))});var No=e({GezelApiError:()=>Q,GezelClient:()=>ts,SsePayloadError:()=>Lo,SsePrematureEofError:()=>Io,SseResponseError:()=>Ro,SseStreamStaleError:()=>Fo,consumeSseJson:()=>Bo,streamAllChatEvents:()=>Uo,streamChatEvents:()=>Vo,streamCopilotLogin:()=>qo,streamMlxRuntimeStatus:()=>Ko,streamProjectChatEvents:()=>Ho,streamSystemToolsetStatus:()=>Go,streamTerminalEvents:()=>Wo}),Po=2*6e4,Fo=class extends Error{constructor(e){super(`SSE stream stale: no bytes from server in ${e}ms`),this.name=`SseStreamStaleError`}},Io=class extends Error{constructor(e=`SSE operation`){super(`${e} ended before a terminal event was received`),this.name=`SsePrematureEofError`}},Lo=class extends Error{constructor(e){super(e),this.name=`SsePayloadError`}},Ro=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 Ro(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 Lo(`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 Lo(`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 zo(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 Io(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 zo(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 Fo(t)),t)})])}finally{n&&clearTimeout(n)}}async function Bo(e){let{schema:t,onEvent:n,isTerminal:r,label:i,...a}=e;for await(let e of X({keepaliveTimeoutMs:Po,...a},t,r,{strictPayloads:!0,requireTerminal:!0,label:i}))n(e)}function Vo(e){return X(e,$t,e=>e.type===`done`,{requireTerminal:!0,label:`Chat stream`})}function Ho(e){return X({keepaliveTimeoutMs:1e4,...e},en)}function Uo(e){return X({keepaliveTimeoutMs:1e4,...e},en)}function Wo(e){return X({keepaliveTimeoutMs:1e4,...e},pi)}function Go(e){return X(e,ma)}function Ko(e){return X(e,ha)}function qo(e){return X({method:`POST`,...e},ga,e=>e.kind===`exit`||e.kind===`error`,{requireTerminal:!0,label:`Copilot login stream`})}var 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 Jo(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 Bo(n)}catch(e){throw e instanceof Q?e:new Q(e instanceof Fo&&t?t:e instanceof Error?e.message:`SSE stream failed`,e instanceof Ro?e.status:0,{cause:e instanceof Error?e.name:`unknown`})}}var Yo=o({file:m(),expected:m(),actual:m()}),Xo=c(`type`,[o({type:u(`progress`),bytesWritten:i(),totalBytes:i()}),o({type:u(`retrying`),attempt:i().int().positive(),maxAttempts:i().int().positive(),delayMs:i().nonnegative(),reason:m()}),o({type:u(`verifying`)}),o({type:u(`extracting-metadata`)}),o({type:u(`companion`),kind:u(`image-recognition`),id:m(),name:m(),bytesWritten:i().nonnegative(),totalBytes:i().nonnegative(),error:m().optional()}),o({type:u(`done`),id:m(),warning:m().optional()}),o({type:u(`error`),error:m(),mismatch:Yo.optional()})]),Zo=c(`type`,[o({type:u(`progress`),fileIndex:i().int().nonnegative(),fileCount:i().int().positive(),file:m(),bytesWritten:i().nonnegative(),totalBytes:i().nonnegative(),bytesWrittenAll:i().nonnegative(),totalBytesAll:i().nonnegative()}),o({type:u(`retrying`),attempt:i().int().positive(),maxAttempts:i().int().positive(),delayMs:i().nonnegative(),reason:m(),file:m()}),o({type:u(`verifying`),file:m()}),o({type:u(`extracting-metadata`)}),o({type:u(`done`),id:m(),warning:m().optional()}),o({type:u(`error`),error:m(),mismatch:Yo.optional()})]),Qo=c(`type`,[o({type:u(`spawned`),trialId:m().optional(),runDir:m().optional()}),o({type:u(`log`),line:m()}),o({type:u(`done`),result:o({trialId:m(),scenarioId:m(),modelId:m(),startedAt:m(),finishedAt:m(),durationMs:i(),success:p(),reason:m(),failureMode:m().optional(),runDir:m()})}),o({type:u(`error`),error:m()})]),$o=c(`type`,[o({type:u(`status`),phase:l([`queued`,`started`]),detail:m().optional()}),o({type:u(`thinking-delta`),text:m()}),o({type:u(`output-delta`),text:m()}),o({type:u(`done`),text:m()}),o({type:u(`error`),error:m()})]),es=c(`type`,[o({type:u(`progress`),chunk:o({status:m(),digest:m().optional(),total:i().optional(),completed:i().optional()})}),o({type:u(`error`),error:m()}),o({type:u(`done`)})]),ts=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=Jo(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`)}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`)}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)}getMeesterStatus(){return this.request(`GET`,`/api/meester-status`)}runMeesterStatus(){return this.request(`POST`,`/api/meester-status/run`)}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`)}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){let r=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/attachments`,i=t instanceof Blob||t instanceof Uint8Array?t:new Uint8Array(t),a=await this.fetchImpl(r,{method:`POST`,headers:{"content-type":n,Authorization:`Bearer ${this.token}`},body:i});if(!a.ok){let e=await a.text().catch(()=>``);throw Error(`upload failed (${a.status}): ${e}`)}return a.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 Error(`artifact fetch failed: ${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 Error(`workspace fetch failed: ${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?${ns(t)}`)}listInstalledToolsets(e){return this.request(`GET`,`/api/catalog/installed-toolsets?${ns(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){let n=`${this.baseUrl}/api/model-bundles/${encodeURIComponent(e)}/${encodeURIComponent(t)}/export`,r=await this.fetchImpl(n,{headers:{Authorization:`Bearer ${this.token}`}});if(!r.ok){let e=await r.text().catch(()=>``);throw Error(`model export failed (${r.status}): ${e}`)}return r}async scanModelBundle(e){let t=e instanceof Blob||e instanceof ReadableStream||e instanceof Uint8Array?e:new Uint8Array(e),n=t instanceof ReadableStream,r=await this.fetchImpl(`${this.baseUrl}/api/model-bundles/imports/scan`,{method:`POST`,headers:{Authorization:`Bearer ${this.token}`,"Content-Type":`application/vnd.gezel.model+zip`},body:t,...n?{duplex:`half`}:{}});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`model bundle scan failed (${r.status})`)}return r.json()}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`:``,o=`${this.baseUrl}/api/${e}/models/${encodeURIComponent(t)}/install${a}`;await $({...Z,url:o,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:r,fetch:this.fetchImpl,schema:Xo,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:Qo,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:Zo,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:Ui,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:yo,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:Co,onEvent:n,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Video model pull stream`})}transcribeAudio(e){return this.request(`POST`,`/api/audio/transcribe`,e)}synthesizeSpeech(e){let{signal:t,...n}=e;return this.request(`POST`,`/api/audio/synthesize`,n,void 0,t)}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:Oo,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:zt,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:es,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:$o,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Transform stream`})}listChatSessions(e){let t=new URLSearchParams;e?.gezelId&&t.set(`gezel`,e.gezelId),e?.projectId&&t.set(`project`,e.projectId);let n=t.toString()?`?${t.toString()}`:``;return this.request(`GET`,`/api/sessions${n}`)}createChatSession(e){return this.request(`POST`,`/api/sessions`,e)}getChatSession(e){return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}`)}getChatSessionDebug(e,t){let n=new URLSearchParams;t?.atTimestamp&&n.set(`at`,t.atTimestamp),t?.limit&&n.set(`limit`,String(t.limit));let r=n.toString()?`?${n.toString()}`:``;return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}/debug${r}`)}sendToChatSession(e,t){let n=typeof t==`string`?{message:t}:t;return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/send`,n)}listSessionTools(e){return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}/tools`)}listProjectTools(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tools`)}searchProjectFiles(e,t){let n=t?`?prefix=${encodeURIComponent(t)}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/index/files${n}`)}invokeSessionTool(e,t,n){return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/tools/${encodeURIComponent(t)}/invoke`,{args:n??{}})}askUserQuestion(e){return this.request(`POST`,`/api/questions`,e)}listQuestions(e){let t=new URLSearchParams;e?.projectId&&t.set(`project`,e.projectId),e?.pending&&t.set(`pending`,`true`);let n=t.toString();return this.request(`GET`,`/api/questions${n?`?${n}`:``}`)}answerQuestion(e,t){return this.request(`POST`,`/api/questions/${encodeURIComponent(e)}/answer`,t)}listProjectsForGezel(e){return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}/projects`)}listMentionCandidates(e){let t=new URLSearchParams;e.projectId&&t.set(`project`,e.projectId),e.query&&t.set(`query`,e.query);let n=t.toString();return this.request(`GET`,`/api/gezels/mention-candidates${n?`?${n}`:``}`)}archiveChatSession(e){return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/archive`)}deleteChatSession(e){return this.request(`DELETE`,`/api/sessions/${encodeURIComponent(e)}`)}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){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/clear-errors`)}listPoisonedProjects(){return this.request(`GET`,`/api/projects/poisoned`)}cancelQueuedMessage(e,t){return this.request(`DELETE`,`/api/sessions/${encodeURIComponent(e)}/queue/${encodeURIComponent(t)}`)}listSessionQueue(e){return this.request(`GET`,`/api/sessions/${encodeURIComponent(e)}/queue`)}updateQueuedMessage(e,t,n){return this.request(`PATCH`,`/api/sessions/${encodeURIComponent(e)}/queue/${encodeURIComponent(t)}`,n)}interruptChatSession(e,t){return this.request(`POST`,`/api/sessions/${encodeURIComponent(e)}/interrupt`,t)}saveMemory(e){return this.request(`POST`,`/api/memory/save`,e)}listMemoryDays(e,t){return this.request(`GET`,`/api/memory/days?scope=${e}&id=${encodeURIComponent(t)}`)}readMemoryDay(e,t,n){return this.request(`GET`,`/api/memory/day?scope=${e}&id=${encodeURIComponent(t)}&day=${encodeURIComponent(n)}`)}updateMemoryDay(e,t,n,r){return this.request(`PATCH`,`/api/memory/day?scope=${e}&id=${encodeURIComponent(t)}&day=${encodeURIComponent(n)}`,{content:r})}readMemorySummary(e,t){return this.request(`GET`,`/api/memory/summary?scope=${e}&id=${encodeURIComponent(t)}`)}readMemoryLessons(e){return this.request(`GET`,`/api/memory/lessons?gezelId=${encodeURIComponent(e)}`)}sessionEventsUrl(e){return`${this.baseUrl}/events/chat?session=${encodeURIComponent(e)}`}listProjectTimeline(e,t){let n=new URLSearchParams;t?.limit!=null&&n.set(`limit`,String(t.limit)),t?.before&&n.set(`before`,t.before),t?.gezelId&&n.set(`gezel`,t.gezelId),t?.taskRef&&n.set(`task`,t.taskRef);let r=n.toString()?`?${n.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/timeline${r}`)}listGezelTimeline(e,t){let n=new URLSearchParams;t?.limit!=null&&n.set(`limit`,String(t.limit)),t?.before&&n.set(`before`,t.before),t?.projectId&&n.set(`project`,t.projectId);let r=n.toString()?`?${n.toString()}`:``;return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}/timeline${r}`)}listGlobalTimeline(e){let t=new URLSearchParams;e?.limit!=null&&t.set(`limit`,String(e.limit)),e?.before&&t.set(`before`,e.before);let n=t.toString()?`?${t.toString()}`:``;return this.request(`GET`,`/api/timeline${n}`)}projectEventsUrl(e){return`${this.baseUrl}/events/chat/project?project=${encodeURIComponent(e)}`}gezelEventsUrl(e){return`${this.baseUrl}/events/chat/gezel?gezel=${encodeURIComponent(e)}`}allEventsUrl(){return`${this.baseUrl}/events/chat/all`}listTerminalThreads(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/terminals`)}getTerminalThread(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/terminals/${encodeURIComponent(t)}`)}runTerminalCommand(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/terminals/run`,t)}deleteTerminalThread(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/terminals/${encodeURIComponent(t)}`)}async cancelTerminalRun(e,t){try{await this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/terminals/runs/${encodeURIComponent(t)}/cancel`)}catch(e){if(e instanceof Error&&/\b404\b/.test(e.message))return;throw e}}sendTerminalInput(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/terminals/runs/${encodeURIComponent(t)}/input`,{text:n})}terminalEventsUrl(e){return`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/terminals/events`}copilotLoginUrl(){return`${this.baseUrl}/api/system/copilot-login`}chatHistory(e,t=`default`){return this.request(`GET`,`/api/gezels/${encodeURIComponent(e)}/chat?project=${encodeURIComponent(t)}`)}sendChatMessage(e,t){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/chat/send`,t)}resetChat(e,t=`default`){return this.request(`POST`,`/api/gezels/${encodeURIComponent(e)}/chat/reset?project=${encodeURIComponent(t)}`)}chatEventsUrl(e,t=`default`){return`${this.baseUrl}/events/chat?gezel=${encodeURIComponent(e)}&project=${encodeURIComponent(t)}`}listProjects(e){return this.request(`GET`,`/api/projects${e?.rollup?`?rollup=1`:``}`)}listRemotes(){return this.request(`GET`,`/api/remotes`)}pairRemote(e){return this.request(`POST`,`/api/remotes/pair`,e)}inspectRemote(e){return this.request(`POST`,`/api/remotes/inspect`,e)}unpairRemote(e){return this.request(`DELETE`,`/api/remotes/${encodeURIComponent(e)}`)}getMachineServing(){return this.request(`GET`,`/api/machine-serving`)}updateMachineServing(e){return this.request(`PUT`,`/api/machine-serving`,e)}listMachineServingGrants(){return this.request(`GET`,`/api/machine-serving/grants`)}approveMachineServingGrant(e){return this.request(`POST`,`/api/machine-serving/grants/${encodeURIComponent(e)}/approve`)}denyMachineServingGrant(e){return this.request(`POST`,`/api/machine-serving/grants/${encodeURIComponent(e)}/deny`)}listMachineServingDevices(){return this.request(`GET`,`/api/machine-serving/devices`)}revokeMachineServingDevice(e){return this.request(`DELETE`,`/api/machine-serving/devices/${encodeURIComponent(e)}`)}listRemoteModels(e){return this.request(`GET`,`/api/remotes/${encodeURIComponent(e)}/models`)}createProject(e){return this.request(`POST`,`/api/projects`,e)}createTypedProject(e){return this.request(`POST`,`/api/projects/typed`,e)}getProject(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}`)}setProjectWorkingDir(e,t){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/working-dir`,{workingDir:t})}updateProject(e,t){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}`,t)}deleteProject(e,t){let n=t?.removeWorkspace?`?removeWorkspace=1`:``;return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}${n}`)}applyProjectType(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/apply-project-type`,t)}exportProjectType(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/project-types/export`,t)}importProjectType(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/project-types/import`,t)}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()}`)}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){let r=new URLSearchParams;t&&r.set(`path`,t),n&&r.set(`recursive`,`1`);let i=r.toString()?`?${r.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/artifacts${i}`)}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:_a,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)}deleteProjectArtifact(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/artifacts/delete?path=${encodeURIComponent(t)}`)}listProjectWorkspace(e,t,n){let r=new URLSearchParams;t&&r.set(`path`,t),n&&r.set(`recursive`,`1`);let i=r.toString()?`?${r.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace${i}`)}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)}toolSearchFiles(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/search-files`,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)}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)}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)}reportSystemIdle(e){return this.request(`POST`,`/api/system/idle`,{idleSeconds:e})}getNightShiftPowerIntent(){return this.request(`GET`,`/api/night-shift/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`)}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)}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){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/files`)}listProjectGitHubPullComments(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/comments`)}getProjectGitHubPullDiff(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/diff`)}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){let n=new URLSearchParams;e&&n.set(`path`,e),t&&n.set(`recursive`,`1`);let r=n.toString()?`?${n.toString()}`:``;return this.request(`GET`,`/api/documents${r}`)}readDocument(e){return this.request(`GET`,`/api/documents/read?path=${encodeURIComponent(e)}`)}writeDocument(e,t){return this.request(`PUT`,`/api/documents/write`,{path:e,content:t})}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 Error(`document fetch failed: ${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){return this.request(`DELETE`,`/api/documents/delete?path=${encodeURIComponent(e)}`)}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=te(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})}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)}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}})}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 ns(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{Vo as a,Ho as c,Uo as i,Go as l,ts as n,qo as o,No as r,Ko as s,Q as t};