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