@bendyline/gezel-service 1.0.4 → 1.0.6
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/bin/gezeld.js +16929 -6105
- package/dist/handboek-content/conceptual/connected-apps.md +64 -2
- package/dist/handboek-content/conceptual/night-shift.md +22 -2
- package/dist/handboek-content/conceptual/welcome.md +2 -0
- package/dist/handboek-content/technical/where-files-live.md +3 -1
- package/dist/handboek-content/whats-new/1.26226.md +4 -7
- package/dist/handboek-content/whats-new/1.26230.md +100 -0
- package/dist/handboek.js +19 -9
- package/dist/index-store/static-index-worker.js +116 -27
- package/dist/index.d.ts +1165 -253
- package/dist/index.js +16922 -6098
- package/dist/providers/mlx/python/gezel_mlx_server.py +126 -11
- package/dist/ui/assets/{TerminalCodeEditor-BuMcfTS4.js → TerminalCodeEditor-BUHpk3pJ.js} +2 -2
- package/dist/ui/assets/{_.contribution-CZO2XAKt.js → _.contribution-B34uMeM2.js} +1 -1
- package/dist/ui/assets/{chunk-2JJ5RFDZ-Ckbzd10a.js → chunk-2JJ5RFDZ-B2-BFNXu.js} +1 -1
- package/dist/ui/assets/{chunk-BAOV476U-yPHu-ECL.js → chunk-BAOV476U-CEOFYt8X.js} +1 -1
- package/dist/ui/assets/{chunk-GAZKTT4R-BUf32614.js → chunk-GAZKTT4R-BkP6-w3z.js} +1 -1
- package/dist/ui/assets/{chunk-USU6HTKB-B-ElCUQS.js → chunk-USU6HTKB-htGRNErW.js} +1 -1
- package/dist/ui/assets/{cpp.contribution-BJzhk0Zj.js → cpp.contribution-CvG4GFxL.js} +1 -1
- package/dist/ui/assets/{csharp.contribution-BR9K2qKj.js → csharp.contribution-DekWAPj3.js} +1 -1
- package/dist/ui/assets/{css.contribution-CfkVmdah.js → css.contribution-CDuF4Xjo.js} +1 -1
- package/dist/ui/assets/{cssMode-MMeGUmV2.js → cssMode-D848zTHU.js} +1 -1
- package/dist/ui/assets/{csv-RAgECoUg.js → csv-PublMwG8.js} +1 -1
- package/dist/ui/assets/dist-CJRsJTdk.js +222 -0
- package/dist/ui/assets/dist-Cg3Ab49q.js +2 -0
- package/dist/ui/assets/{doc-B7NXSLxH.js → doc-Bq50ED-X.js} +41 -41
- package/dist/ui/assets/{dockerfile.contribution-IZMl57B5.js → dockerfile.contribution-ChT95Kbh.js} +1 -1
- package/dist/ui/assets/{docx-BEJpkI6I.js → docx-BSDeP5Eu.js} +1 -1
- package/dist/ui/assets/{epub-00L2M424.js → epub-D8zTSe9-.js} +1 -1
- package/dist/ui/assets/{go.contribution-BxCBwhZs.js → go.contribution-D_1myt_B.js} +1 -1
- package/dist/ui/assets/{handlebars-CreIkams.js → handlebars-Mxcy9PWv.js} +1 -1
- package/dist/ui/assets/{handlebars.contribution-BGlyL-dm.js → handlebars.contribution-DYF5z0XX.js} +2 -2
- package/dist/ui/assets/{html-BSrz1IKi.js → html-HXzM-WGZ.js} +1 -1
- package/dist/ui/assets/{html-Cgejr9YM.js → html-X72kRvXT.js} +1 -1
- package/dist/ui/assets/{html.contribution-CucOMFQ_.js → html.contribution-C0xFTPDL.js} +2 -2
- package/dist/ui/assets/{htmlMode-DRG7XY5Z.js → htmlMode-BVtBWJQM.js} +1 -1
- package/dist/ui/assets/{index-Bqu-32S3.js → index-DUf4wIj5.js} +207 -200
- package/dist/ui/assets/index-udlcniNf.css +1 -0
- package/dist/ui/assets/{infer-D6e75m-s.js → infer-Be4Xn3O1.js} +1 -1
- package/dist/ui/assets/{ini.contribution-CGX5OdXM.js → ini.contribution-BqUQ8Oa0.js} +1 -1
- package/dist/ui/assets/{java.contribution-CVhfJ_us.js → java.contribution-u4QvI2UZ.js} +1 -1
- package/dist/ui/assets/{javascript-QelFp9t5.js → javascript-BVm8fvMk.js} +1 -1
- package/dist/ui/assets/javascript.contribution-BtlENuoy.js +2 -0
- package/dist/ui/assets/{jsonMode-T4Ss3lDu.js → jsonMode-DcoSB4Jg.js} +1 -1
- package/dist/ui/assets/{kotlin.contribution-DxFbGDYA.js → kotlin.contribution-D1ZfW5lW.js} +1 -1
- package/dist/ui/assets/{less.contribution-g9R8XRZf.js → less.contribution-BBWek5Gc.js} +1 -1
- package/dist/ui/assets/{lua.contribution-YqDsEy8Z.js → lua.contribution-DJEpMduq.js} +1 -1
- package/dist/ui/assets/mapTheme-4TWH25FT-C2uLgUhs.js +1 -0
- package/dist/ui/assets/{markdown.contribution-DboXnPnx.js → markdown.contribution-CsVCTE0K.js} +1 -1
- package/dist/ui/assets/{monaco-BdFw56DI.js → monaco-DcZAEsIZ.js} +3 -3
- package/dist/ui/assets/{monaco-base-DrP3D13F.js → monaco-base-C-UMfHa9.js} +1 -1
- package/dist/ui/assets/{monaco-setup-QyF22y9h.js → monaco-setup-Dy_kv6Gv.js} +1 -1
- package/dist/ui/assets/{monaco.contribution-FA_ESP-W.js → monaco.contribution-BpJqoa65.js} +2 -2
- package/dist/ui/assets/{monaco.contribution-XEpc63ty.js → monaco.contribution-BujOhotZ.js} +2 -2
- package/dist/ui/assets/{monaco.contribution-BkqIxESv.js → monaco.contribution-DW4-UIJp.js} +2 -2
- package/dist/ui/assets/{monaco.contribution-CMzPFHtO.js → monaco.contribution-ypbCAEx4.js} +2 -2
- package/dist/ui/assets/{pdf-66KslaXf.js → pdf-BZeBurJI.js} +1 -1
- package/dist/ui/assets/{php.contribution-rnpik0Kk.js → php.contribution-B6Atm_xI.js} +1 -1
- package/dist/ui/assets/{pptx-DZdEoDP9.js → pptx-BbAcnlML.js} +4 -4
- package/dist/ui/assets/{python-CF7X5t9Q.js → python-CCiWacbd.js} +1 -1
- package/dist/ui/assets/{python.contribution-CyJGCfSq.js → python.contribution-3CThbaoI.js} +2 -2
- package/dist/ui/assets/{ruby.contribution-4ZyPGu2E.js → ruby.contribution-D3g6EADN.js} +1 -1
- package/dist/ui/assets/{rust.contribution-Cl_B3X2G.js → rust.contribution-CSdjIX0R.js} +1 -1
- package/dist/ui/assets/{schemas-Drh23Boe.js → schemas-JY4jmLbC.js} +1 -1
- package/dist/ui/assets/{scss.contribution-BO02gVLZ.js → scss.contribution-mQ_vuYxE.js} +1 -1
- package/dist/ui/assets/{shell.contribution-Dn9Y0uHs.js → shell.contribution-BLQSLx3H.js} +1 -1
- package/dist/ui/assets/{sql.contribution-Bog_5Rc8.js → sql.contribution-GScL7Mrt.js} +1 -1
- package/dist/ui/assets/{swift.contribution-CfiAr7AX.js → swift.contribution-DG__yqNr.js} +1 -1
- package/dist/ui/assets/{terminal-monaco-setup-B-EnkGiy.js → terminal-monaco-setup-x6piH1Un.js} +1 -1
- package/dist/ui/assets/{transform-MBfVXq54.js → transform-ywncQECB.js} +1 -1
- package/dist/ui/assets/{tsMode-B2WuLuPL.js → tsMode-B5nM5MR7.js} +1 -1
- package/dist/ui/assets/{typescript-Bv_J1tKT.js → typescript-xiOVha1M.js} +1 -1
- package/dist/ui/assets/{typescript.contribution-CM0XQCYi.js → typescript.contribution-BU2V4Vz8.js} +2 -2
- package/dist/ui/assets/worker-BzdDEeh7.js +1 -0
- package/dist/ui/assets/{xlsx-DDBRN-IU.js → xlsx-f9AYHB2W.js} +1 -1
- package/dist/ui/assets/{xml-DMV-f4tm.js → xml-m3MSnvuD.js} +1 -1
- package/dist/ui/assets/{xml.contribution-QqmOB9gT.js → xml.contribution-bOoaS55N.js} +2 -2
- package/dist/ui/assets/{yaml-Bb6mZXY5.js → yaml-DOtMVgbb.js} +1 -1
- package/dist/ui/assets/{yaml.contribution-DCDnWhHR.js → yaml.contribution-CNCYEtwk.js} +2 -2
- package/dist/ui/index.html +14 -14
- package/package.json +13 -12
- package/dist/ui/assets/dist-8uH4DcHx.js +0 -2
- package/dist/ui/assets/dist-CFOmf7nD.js +0 -222
- package/dist/ui/assets/index-DTicLc4o.css +0 -1
- package/dist/ui/assets/javascript.contribution--no0ijCu.js +0 -2
- package/dist/ui/assets/mapTheme-4TWH25FT-B5nAKRmb.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{$t as t,Qt as n,an as r,cn as i,dn as a,en as o,fn as s,ht as c,in as ee,ln as te,mn as l,nn as u,on as d,pn as f,rn as p,sn as m,tn as h,un as g}from"./dist-CJRsJTdk.js";var _=p(`kind`,[m({kind:r(`gezel`),gezelId:a()}),m({kind:r(`user`)})]),ne=[`tiny`,`small`,`medium`,`large`,`cloud`],re=f([t([`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=p(`type`,[m({type:r(`string`),description:a(),required:u().optional(),default:a().optional(),pattern:a().optional(),multiline:u().optional()}),m({type:r(`number`),description:a(),required:u().optional(),default:d().optional(),min:d().optional(),max:d().optional(),integer:u().optional()}),m({type:r(`boolean`),description:a(),required:u().optional(),default:u().optional()}),m({type:r(`choice`),description:a(),required:u().optional(),default:a().optional(),options:h(m({value:a(),label:a().optional()})).min(1)}),m({type:r(`ref`),description:a(),required:u().optional(),kind:t([`gezel`,`task`,`artifact`,`document`])}),m({type:r(`json`),description:a(),required:u().optional(),default:l().optional(),schema:l().optional()})]),ae=g(a(),ie),oe=p(`type`,[m({type:r(`string`),description:a(),nullable:u().optional()}),m({type:r(`number`),description:a(),nullable:u().optional()}),m({type:r(`boolean`),description:a(),nullable:u().optional()}),m({type:r(`array`),description:a(),itemType:t([`string`,`number`,`boolean`,`object`])}),m({type:r(`object`),description:a(),schema:l().optional()}),m({type:r(`json`),description:a(),schema:l().optional()})]),se=g(a(),oe),ce=m({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:t([`action`,`gate`]).optional(),inputs:ae.optional(),outputs:se.optional(),requires:h(re).optional()}),le=t([`project`,`craftbook`,`user`,`standard`]),ue=p(`op`,[m({op:r(`always`)}),m({op:r(`never`)}),m({op:r(`ok`)}),m({op:r(`equals`),field:a().min(1),value:f([a(),d(),u(),o()])}),m({op:r(`exists`),field:a().min(1),negate:u().optional()}),m({op:r(`gt`),field:a().min(1),value:d()})]),de=m({name:a().min(1),scope:le.optional(),inputs:g(a(),l()).optional(),autoAdvanceOnSuccess:u().optional(),autoAdvanceWhen:ue.optional()}),v=f([de,h(de)]);function fe(e){return e===void 0?[]:Array.isArray(e)?e:[e]}var pe=t([`running`,`ok`,`error`]),me=m({at:a(),kind:a(),argsSummary:a(),outputSummary:a().optional(),durationMs:d().nonnegative(),error:a().optional()}),he=p(`kind`,[m({kind:r(`step`),taskRef:a(),stepId:a(),moment:t([`enter`,`exit`,`gate`])}),m({kind:r(`chat`),sessionId:a(),gezelId:a()}),m({kind:r(`manual`),userInitiated:r(!0)}),m({kind:r(`nested`),parentRunId:a()}),m({kind:r(`connector`),typeId:a(),bindingId:a()}),m({kind:r(`page`),tool:a()})]);m({id:a(),projectId:a(),scriptName:a(),startedAt:a(),finishedAt:a().optional(),status:pe,trigger:he,inputs:g(a(),l()),output:l().optional(),calls:h(me),logs:a(),error:a().optional()}),m({name:a().min(1),scope:le.optional(),input:g(a(),l()).optional()});var ge=m({runId:a(),status:pe,output:l().optional(),callsSummary:h(m({kind:a(),durationMs:d().nonnegative(),error:a().optional()})),error:a().optional()});m({tool:a().regex(/^[a-z][a-z0-9_]*$/),input:g(a(),l()).optional()}),ge.extend({reaction:m({delivered:u(),gezelId:a().optional(),reason:a().optional()}).optional()}),m({op:t([`read`,`list`,`stat`]),source:t([`workspace`,`artifacts`]),path:a().min(1),as:t([`text`,`json`,`bytes`]).optional(),maxBytes:d().int().positive().optional()});var _e=m({name:a(),kind:t([`file`,`dir`]),size:d().nonnegative(),mtime:d().nonnegative()});m({op:t([`read`,`list`,`stat`]),content:a().optional(),encoding:t([`utf8`,`base64`]).optional(),entries:h(_e).optional(),etag:a(),size:d().nonnegative().optional(),mtime:d().nonnegative().optional()}),m({scripts:h(m({name:a(),meta:ce,path:a()}))});var y=a().regex(/^[a-zA-Z][\w-]*$/,`script name must start with a letter and contain only letters, digits, underscore, or hyphen`),ve=m({severity:t([`error`,`warning`,`info`]),source:t([`meta`,`typescript`,`runtime-compat`]),message:a(),line:d().optional(),column:d().optional()}),ye=m({kind:t([`craftbook`,`import`,`user`,`standard`]),ref:a()});m({name:y,source:a(),hash:a(),mtimeMs:d(),meta:ce.optional(),metaError:a().optional(),provenance:ye.optional()}),m({name:y,source:a(),baseHash:a().optional()}),p(`status`,[m({status:r(`saved`),hash:a(),metaOk:u(),meta:ce.optional(),diagnostics:h(ve)}),m({status:r(`conflict`),currentHash:a(),currentSource:a()})]);var be=t([`blank`,`post-message`,`fetch-and-summarize`,`check-files`,`call-tool`,`ask-ai`]);m({name:y,description:a().optional(),template:be.optional(),source:a().optional()}),m({name:y,source:a(),hash:a()}),m({version:a(),files:h(m({name:a(),content:a()}))}),m({name:y,description:a().min(1)}),m({source:a()});var xe=t([`html-complete`,`html-game`,`nonempty`,`json-valid`,`data-table`]),Se=f([a(),d(),u(),o()]),Ce=p(`kind`,[m({kind:r(`minBytes`),file:a().min(1),bytes:d().int().positive(),artifact:u().optional()}),m({kind:r(`totalMinBytes`),files:h(a().min(1)).min(1),bytes:d().int().positive(),artifact:u().optional()}),m({kind:r(`fileCount`),ext:h(a().min(1)).min(1),min:d().int().positive(),dir:a().optional(),verifyImageBytes:u().optional(),artifact:u().optional()}),m({kind:r(`cssMinBytes`),bytes:d().int().positive(),file:a().optional(),artifact:u().optional()}),m({kind:r(`sniff`),file:a().min(1),sniff:xe,artifact:u().optional()}),m({kind:r(`jsonPathEquals`),file:a().min(1),path:a().min(1),value:Se,label:a().min(1).optional(),artifact:u().optional()}),m({kind:r(`csvShape`),file:a().min(1),requiredColumns:h(a().min(1)).min(1).optional(),exactColumns:h(a().min(1)).min(1).optional(),minRows:d().int().nonnegative().optional(),consistentColumns:u().optional(),allowedValues:g(a(),h(a().min(1)).min(1)).optional(),artifact:u().optional()}),m({kind:r(`contains`),file:a().min(1),pattern:a().min(1),flags:a().optional(),label:a().min(1).optional(),artifact:u().optional()}),m({kind:r(`notContains`),file:a().min(1),pattern:a().min(1),flags:a().optional(),label:a().min(1).optional(),artifact:u().optional()}),m({kind:r(`unsupportedClaims`),file:a().min(1),sourceFiles:h(a().min(1)).min(1),patterns:h(m({pattern:a().min(1),label:a().min(1).optional()})).min(1),flags:a().optional(),artifact:u().optional()}),m({kind:r(`jsParses`),file:a().optional(),artifact:u().optional()}),m({kind:r(`htmlLint`),file:a().min(1),artifact:u().optional()}),m({kind:r(`esmImports`),file:a().min(1),artifact:u().optional()}),m({kind:r(`sourceParses`),file:a().min(1),artifact:u().optional()}),m({kind:r(`tableShape`),file:a().min(1),requiredColumns:h(a().min(1)).min(1).optional(),minRows:d().int().nonnegative().optional(),artifact:u().optional()}),m({kind:r(`recordSchema`),file:a().min(1),fields:h(m({name:a().min(1),type:a().optional(),required:u().optional()})).min(1),minRows:d().int().nonnegative().optional(),uniqueBy:a().optional(),format:t([`json`,`csv`,`auto`]).optional(),artifact:u().optional()}),m({kind:r(`nodeRuns`),file:a().min(1),timeoutMs:d().int().positive().max(6e4).optional()}),m({kind:r(`citationsResolve`),file:a().min(1),pattern:a().min(1).optional(),flags:a().optional(),minCitations:d().int().nonnegative().optional(),corpus:h(a().min(1)).min(1).optional(),artifact:u().optional()}),m({kind:r(`researchEvidence`),sourcePath:a().optional(),tools:h(a().min(1)).min(1),minSuccessful:d().int().positive().optional()}),m({kind:r(`corpusCoverage`),file:a().min(1),corpusDir:a().min(1),reviewedField:a().min(1).optional(),recordField:a().min(1).optional(),artifact:u().optional(),expectPaths:a().min(1).optional()}),m({kind:r(`corpusBatches`),file:a().min(1),corpusDir:a().min(1),manifestSuffix:a().min(1).optional(),itemsField:a().min(1).optional(),totalField:a().min(1).optional(),artifact:u().optional()}),m({kind:r(`markdownHeadingsMatch`),file:a().min(1),outlineFile:a().min(1),outlineArtifact:u().optional(),artifact:u().optional()}),m({kind:r(`valueGrounding`),file:a().min(1),facts:h(m({id:a().min(1),label:a().min(1).optional(),required:h(a().min(1)).min(1),forbidden:h(a().min(1)).optional()})).min(1),normalizeDigits:u().optional(),artifact:u().optional()}),m({kind:r(`valuesSubsetOf`),file:a().min(1),sourceFiles:h(a().min(1)).min(1),pattern:a().min(1),flags:a().optional(),minMatches:d().int().nonnegative().optional(),artifact:u().optional()}),m({kind:r(`judge`),file:a().min(1),rubric:a().min(1),sourceFiles:h(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()}),m({kind:r(`planStructure`),file:a().min(1),minRows:d().int().positive().optional(),ownerRoster:h(a().min(1)).optional(),requireEarlierOnly:u().optional(),doneWhenMinChars:d().int().positive().optional(),artifact:u().optional()})]);m({verdict:t([`pass`,`fail`]),reasons:h(a().min(1)).max(5),evidence:h(a()).default([]),confidence:t([`low`,`medium`,`high`]).optional()});var we=m({checks:h(Ce).min(1),onFail:a().optional(),onPass:a().optional(),maxAttempts:d().int().positive().optional(),reviewer:a().optional()}),Te=m({name:a().min(1),scope:le.optional(),inputs:g(a(),l()).optional()});m({decision:t([`approve`,`reject`]),message:a().optional(),goto:a().optional(),handoff:m({message:a(),params:g(a(),l()).optional()}).optional()}).superRefine((e,t)=>{e.decision===`reject`&&!e.message?.trim()&&t.addIssue({code:n.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 Ee=f([m({at:t([`completion`,`activation`]),checks:h(Ce).optional(),scripts:h(Te).optional(),onReject:a().optional(),onApprove:a().optional(),maxAttempts:d().int().positive().optional(),reviewer:a().optional()}).superRefine((e,t)=>{!e.checks?.length&&!e.scripts?.length&&t.addIssue({code:n.custom,message:`a gate needs at least one check or one script`})}),we]);function De(e){return!(`at`in e)}function Oe(e){return De(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 ke(e){let t=Oe(e);return[t.onReject,t.onApprove].filter(e=>e!==void 0)}var Ae=t([`PreToolUse`,`PostToolUse`]),je=t([`allow`,`deny`,`ask`]),b=m({phase:Ae,matcher:a().default(`.*`),script:de.optional(),decision:je.optional(),label:a().optional()}).superRefine((e,t)=>{let r=e.script!==void 0;r===(e.decision!==void 0)&&t.addIssue({code:n.custom,message:"a hook must set exactly one of `script` or `decision`",path:[r?`decision`:`script`]})});m({decision:je.default(`allow`),message:a().optional()});var Me=m({when:ue,goto:a()}),Ne=m({file:a().min(1),minBytes:d().int().positive().optional(),sniff:xe.optional(),requireChange:u().optional(),artifact:u().optional(),goto:a().optional()}),Pe=m({file:a().min(1).describe(`Path relative to the selected drawer root.`),artifact:u().optional().describe(`True for the artifacts drawer; false/omitted for the project workspace.`)}),Fe=t(ne),x=m({id:a().min(1),name:a().min(1),description:a().optional(),prompt:a().optional(),suggestedGezelId:a().optional(),suggestedRole:a().optional(),capabilityFloor:Fe.optional(),assignee:_.optional(),onEnter:v.optional(),onExit:v.optional(),consumes:h(Pe).min(1).optional().describe("Files this step must open before working. Artifact inputs also require an explicit `read_artifact` call in the step prompt."),advanceWhen:Ne.optional(),gate:Ee.optional(),next:a().optional(),branches:h(Me).optional(),terminal:u().optional(),spawnFanout:u().optional()}),S=m({overFile:a().min(1),overArtifact:u().optional(),itemsPath:a().optional(),entryStepId:a().optional(),steps:h(x).min(1)});function Ie(e){let t=[],n=new Set;for(let r of e.steps)n.has(r.id)&&t.push(`duplicate step id "${r.id}"`),n.add(r.id),r.terminal&&(r.next||r.branches&&r.branches.length>0)&&t.push(`step "${r.id}" is terminal but also has next/branches`);n.has(e.entryStepId)||t.push(`entryStepId "${e.entryStepId}" not in steps`);for(let r of e.steps){r.next&&!n.has(r.next)&&t.push(`step "${r.id}".next "${r.next}" missing from steps`);for(let e of r.branches??[])n.has(e.goto)||t.push(`step "${r.id}" branch goto "${e.goto}" missing from steps`);r.advanceWhen&&(r.terminal&&t.push(`step "${r.id}" is terminal but also has advanceWhen`),r.advanceWhen.goto&&!n.has(r.advanceWhen.goto)&&t.push(`step "${r.id}" advanceWhen.goto "${r.advanceWhen.goto}" missing from steps`));for(let e of r.consumes??[])e.artifact&&(/`read_artifact(?:`|\()/.test(r.prompt??``)||t.push(`step "${r.id}" consumes artifact "${e.file}" but its prompt does not explicitly call \`read_artifact\``));if(r.gate){let e=Oe(r.gate);r.terminal&&e.at===`activation`&&t.push(`step "${r.id}" is terminal but also has an activation gate`);for(let e of ke(r.gate))n.has(e)||t.push(`step "${r.id}" gate route "${e}" missing from steps`)}}return t}function Le(e,t){for(let r of Ie(e))t.addIssue({code:n.custom,message:r,path:r.startsWith(`entryStepId`)?[`entryStepId`]:[`steps`]});for(let r of Be(e))t.addIssue({code:n.custom,message:r,path:[`steps`]})}var C=p(`kind`,[m({kind:r(`github`)}),m({kind:r(`non-main-branch`)})]),w=m({scheduled:t([`supported`,`recommended`]).optional(),nightShift:t([`supported`,`recommended`]).optional()}),T=m({toolsetId:a().min(1),sourceId:a().optional(),minVersion:a().optional(),optional:u().optional(),autoAllow:u().optional(),reason:a().optional()}),E=m({typeId:a().min(1),sourceId:a().optional(),optional:u().optional(),reason:a().optional()}),Re=64*1024,ze=256*1024,D=g(y,a().min(1).max(Re)).superRefine((e,t)=>{let r=Object.keys(e);r.length>24&&t.addIssue({code:n.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&&t.addIssue({code:n.custom,message:`craftbook scripts total ${i} bytes \u2014 the ceiling is ${ze}`})}),O=m({name:a().min(1),url:a().url().regex(/^https?:\/\//i,`basedOn.url must use http or https`)});function Be(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`,Oe(t.gate).scripts);return t}var Ve=m({id:a().min(1),name:a().min(1),description:a().optional(),version:a().optional(),basedOn:O.optional(),plan:a().optional(),defaultAssignee:_.optional(),steps:h(x).min(1),entryStepId:a().min(1),triggers:h(a()).optional(),hooks:h(b).optional(),paramSchema:g(a(),l()).optional(),command:a().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:h(C).optional(),runModes:w.optional(),toolsets:h(T).optional(),connectors:h(E).optional(),scripts:D.optional(),spawn:S.optional(),createdAt:a(),updatedAt:a()}).superRefine(Le),He=t([`html-game`,`html-multiscreen-game`,`html-page`,`html-marketing-site`,`markdown-doc`,`markdown-report`,`markdown-notes`,`json`,`yaml-spec`,`code-module`,`code-with-tests`,`security-report`,`image-set`,`audio-file`,`slide-deck`,`data-file`,`generic-file`]),Ue=m({path:a().min(1),kind:He.optional(),minBytes:d().int().positive().optional(),maxAttempts:d().int().positive().optional(),artifact:u().optional(),requireChange:u().optional(),execute:u().optional(),columns:h(a().min(1)).min(1).optional(),minRows:d().int().positive().optional()}),k=m({id:a().optional(),name:a().min(1),description:a().optional(),prompt:a().optional(),suggestedGezelId:a().optional(),suggestedRole:a().optional(),capabilityFloor:Fe.optional(),assignee:_.optional(),onEnter:v.optional(),onExit:v.optional(),consumes:h(Pe).min(1).optional().describe("Files this step must open before working. Artifact inputs also require an explicit `read_artifact` call in the step prompt."),advanceWhen:Ne.optional(),gate:Ee.optional(),deliverable:Ue.optional(),next:a().optional(),branches:h(Me).optional(),terminal:u().optional(),spawnFanout:u().optional()});m({id:a().optional(),name:a().min(1),description:a().optional(),basedOn:O.optional(),plan:a().optional(),defaultAssignee:_.optional(),steps:h(k).min(1),entryStepId:a().optional(),paramSchema:g(a(),l()).optional(),command:a().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:h(C).optional(),runModes:w.optional(),toolsets:h(T).optional(),scripts:D.optional()}),m({name:a().min(1).optional(),description:a().nullable().optional(),basedOn:O.nullable().optional(),plan:a().nullable().optional(),defaultAssignee:_.nullable().optional(),steps:h(k).min(1).optional(),entryStepId:a().optional(),paramSchema:g(a(),l()).nullable().optional(),command:a().regex(/^[a-z][a-z0-9-]*$/).nullable().optional(),requirements:h(C).nullable().optional(),runModes:w.nullable().optional(),toolsets:h(T).nullable().optional(),scripts:D.nullable().optional()}),m({craftbooks:h(m({id:a(),name:a(),description:a().optional(),version:a().optional(),basedOn:O.optional(),source:t([`bundled`,`local`,`project`]),stepCount:d().int().nonnegative()}))}),m({installedBy:r(`project-type`),typeId:a(),typeVersion:a(),bookVersion:a(),contentHash:a(),installedAt:a()}),m({suggestions:h(m({id:a(),name:a(),description:a().optional(),source:t([`bundled`,`local`,`project`]),version:a().optional(),basedOn:O.optional(),stepCount:d().int().nonnegative(),tags:h(a()).optional(),triggers:h(a()).optional(),score:d(),semantic:d().optional(),lexical:d()}))}),m({craftbook:Ve}),m({after:a().optional(),before:a().optional(),index:d().int().nonnegative().optional()}),m({id:a().optional(),name:a().min(1),description:a().optional(),basedOn:O.optional(),plan:a().optional(),entryStepId:a().optional(),triggers:h(a()).optional(),command:a().regex(/^[a-z][a-z0-9-]*$/).optional(),defaultAssignee:_.optional(),requirements:h(C).optional(),runModes:w.optional(),toolsets:h(T).optional(),connectors:h(E).optional(),paramSchema:g(a(),l()).optional(),hooks:h(b).optional(),steps:h(k).min(1),spawn:S.optional(),scripts:D.optional(),version:a().optional(),releasedAt:a().optional(),minGezelVersion:a().optional()});var We=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.`}}),Ge=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.`}}),Ke=[`cap`,`beanie`,`kerchief`,`straw`,`newsboy`,`hood`],qe=[`scarf`,`apron`,`collar`,`turtleneck`],Je=[`halo`,`short`,`long`,`bun`,`braids`,`shaved`,`bald`],Ye=`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(`.`),Xe=[`beard`,`mustache`],Ze=[`freckles`,`mole`],Qe=[`plain`,`buttons`,`stripes`,`sash`,`yoke`,`twotone`],$e=[`smile`,`wider`,`neutral`,`wink`,`sleepy`];function et(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 tt=te(et,m({key:a().min(1),name:a(),bodyShape:t(We),figureScale:t(Ge),skin:a(),skin2:a(),hair:a(),hairShape:t(Je),hat:t(Ke).nullable().optional().default(null),dress:t(qe).nullable().optional().default(null),accessory:t(Ye).nullable().optional().default(null),facialHair:t(Xe).nullable().optional().default(null),mark:t(Ze).nullable().optional().default(null),expression:t($e).optional().default(`smile`),shirt:a(),shirtAccent:a(),shirtPattern:t(Qe).optional().default(`plain`)})),A=t([`default`,`acceptEdits`,`plan`,`bypassPermissions`]),nt=t([`plan`,`edit`,`reviewed`,`full`]),rt=f([nt,t([`default`,`acceptEdits`,`bypassPermissions`])]),it=/^[A-Za-z0-9@][A-Za-z0-9@._-]{0,199}$/,at=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 ot(e){if(typeof e!=`string`||!it.test(e))return!1;let t=(e.split(`.`)[0]??``).toUpperCase();return!at.has(t)}var st=a().refine(ot,{message:`must be a portable single-segment entity id`}),j=a().min(1).describe(`Canonical tuning profile id.`),ct=m({day:a().regex(/^\d{4}-\d{2}-\d{2}$/),kind:t([`fact`,`decision`,`pref`,`status`]),excerpt:a().min(1).max(400)}),lt=m({id:a(),kind:r(`trait`),title:a().min(1).max(80),traitText:a().min(1).max(200),evidence:h(ct).min(1).max(3)}),ut=p(`type`,[m({type:r(`profile`),profile:j}),m({type:r(`temperature`),delta:f([r(.1),r(-.1)])})]),dt=p(`kind`,[lt,m({id:a(),kind:r(`tuning`),title:a().max(80),description:a().max(300),action:ut}),m({id:a(),kind:r(`cosmetic`),title:a().max(80),cosmeticId:a()})]),ft=m({toLevel:d().int().min(2),proposals:h(dt).min(1).max(5),createdAt:a()}),pt=m({memoryXp:d().int().nonnegative().default(0),lessonsXp:d().int().nonnegative().default(0),taskXp:d().int().nonnegative().default(0),consultXp:d().int().nonnegative().default(0)}),mt=m({traitId:a(),text:a(),level:d().int(),adoptedAt:a(),evidence:h(ct),removedAt:a().optional()}),ht=m({kind:t([`trait`,`tuning`,`cosmetic`]),title:a(),traitText:a().optional(),level:d().int(),declinedAt:a()}),gt=m({version:r(1).default(1),level:d().int().min(1).default(1),xp:d().int().nonnegative().default(0),signals:pt.prefault({}),lastComputedAt:a().optional(),pendingLevelUp:ft.optional(),adoptedTraits:h(mt).default([]),declinedProposals:h(ht).default([]),unlockedCosmetics:h(m({id:a(),at:a()})).default([])}),_t=m({level:d().int().min(1),pending:u().optional()}),vt=m({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).`),yt=m({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).`),bt=m({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:vt.optional(),xtc:yt.optional()}).describe(`Sampling parameters applied per-request.`),xt=m({effort:t([`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:g(a(),f([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.`),St=m({responseFormat:t([`text`,`json_object`]).optional().describe("Output mode. `text` = freeform (default). `json_object` = enforce JSON."),jsonSchema:l().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.`),Ct=m({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.`),wt=m({llamaCpp:m({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:t([`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:m({type:t([`none`,`draft-mtp`,`draft-eagle3`,`draft-dflash`,`draft-simple`,`ngram-mod`,`ngram-simple`,`ngram-map-k`,`ngram-map-k4v`,`ngram-cache`]).optional().describe("`--spec-type` speculative-decoding mode for this model."),mtp:u().optional().describe("VERIFIED capability metadata: this model’s target or companion GGUF carries MTP tensors. Does not enable `draft-mtp` by itself."),draftModelId: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.`),Tt=m({sampling:bt.optional(),samplingWhenThinking:bt.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:xt.optional(),output:St.optional(),toolChoice:t([`auto`,`required`,`none`]).optional().describe("Tool selection mode (cloud + llama.cpp + MLX). `auto` lets the model decide; `required` forces a tool call this turn; `none` disables tools."),promptTags:Ct.optional()}).describe(`Per-model sampling, reasoning, and output defaults (without profiles).`),M=Tt.extend({engine:wt.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:g(j,Tt.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.`),Et=/^[a-z0-9](?:[a-z0-9._~-]*[a-z0-9])?$/,Dt=String.raw`(?:0|[1-9]\d*)`,Ot=String.raw`(?:${Dt}|[xX*])`,kt=String.raw`${Ot}(?:\.${Ot}){0,2}`,At=String.raw`[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*`,jt=String.raw`(?:-${At})?(?:\+${At})?`,Mt=new RegExp(String.raw`^(?:\^|~|>=|<=|>|<|=)?v?${kt}${jt}$`),Nt=new RegExp(String.raw`^v?${kt}${jt}\s+-\s+v?${kt}${jt}$`),Pt=/^[a-z][a-z0-9._-]{0,127}$/;function Ft(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&&Et.test(t[0])&&Et.test(t[1])}return!e.includes(`/`)&&Et.test(e)}function It(e){if(typeof e!=`string`||e.length===0||e.length>128||e!==e.trim())return!1;if(Pt.test(e)||Nt.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=>Mt.test(e))})}var N=a().refine(Ft,{message:`must be a lowercase npm registry package name (for example zod or @types/node)`}),P=a().refine(It,{message:`must be a registry dist-tag or semver range`}),Lt=m({package:N,version:P.optional()}).strict(),Rt=m({package:N,version:P,decision:t([`install`,`always`,`decline`])}),zt=m({selectedChoices:h(d().int().min(0)).optional(),writeIn:a().optional(),declined:u().optional(),silentSkip:u().optional(),npmInstallDecisions:h(Rt).optional(),at:a()}),Bt=m({package:N,version:P}),Vt=t([`script`,`npx`]),Ht=m({path:a().min(1),sha256:a().regex(/^[a-f0-9]{64}$/)}),Ut=m({kind:r(`command-approval`),scope:Vt,name:a().min(1),body:a().optional(),args:h(a()).optional(),inputFiles:h(Ht).max(128).optional()}),Wt=m({kind:r(`tool-permission`),toolName:a(),toolInput:g(a(),l())}),Gt=m({kind:r(`toolset-install-approval`),toolsetId:a(),sourceId:a(),version:a(),targetProjectId:a(),craftbookId:a()}),Kt=m({kind:r(`image-generation-approval`),provider:a(),model:a(),promptPreview:a(),estimatedSize:a().optional()}),qt=m({kind:r(`video-generation-approval`),provider:a(),model:a(),promptPreview:a(),estimatedSize:a().optional()}),Jt=m({kind:r(`schedule-approval`),typeId:a(),craftbookId:a(),runMode:t([`scheduled`,`night-shift`]).optional(),cron:a(),overlap:t([`skip`,`queue`,`concurrent`]).optional()}),Yt=m({kind:r(`night-shift-review`),windowKey:a(),tasksCompleted:d(),reports:h(m({projectId:a(),path:a(),title:a().optional(),actionCount:d()}))}),Xt=t([`gate_exhausted`,`gate_plateau`,`gate_unsatisfiable`,`gate_infrastructure`,`step_stalled`,`budget_exhausted`]),Zt=m({kind:r(`task-paused`),taskRef:a(),stepId:a().optional(),reason:Xt}),Qt=p(`kind`,[m({kind:r(`npm-install-approval`),packages:h(Bt).min(1)}),Ut,Wt,Gt,Kt,qt,Jt,Yt,Zt]),$t=m({id:a(),projectId:a(),gezelId:a(),sessionId:a(),prompt:a().min(1),choices:h(a()).max(20).optional(),allowWriteIn:u().optional(),multiSelect:u().optional(),taskRef:a().optional(),documentPath:a().optional(),intent:Qt.optional(),createdAt:a(),answer:zt.optional()}),en=m({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()}),tn=m({format:t([`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:g(a(),a()).optional(),exif:en.optional(),gps:m({lat:d(),lon:d()}).optional(),gpsRedacted:u().optional(),likelyScreenshot:u().optional()}),nn=t([`describe`,`ocr`,`ui`,`extract`]),rn=t([`auto`,`describe`,`ocr`,`ui`,`extract`]);m({schemaVersion:r(1),sha256:a().regex(/^[a-f0-9]{64}$/),meta:tn,modes:h(nn).min(1),description:a().optional(),ocrText:a().optional(),structured:m({templateId:a().optional(),data:l()}).optional(),engine:t([`llama-cpp`,`mlx`,`mock`,`none`]),modelId:a(),status:t([`ok`,`partial`,`failed`,`static-only`]),failureReason:a().optional(),durationMs:d().int().nonnegative(),at:a()});var an=m({ref:a(),sha256:a().regex(/^[a-f0-9]{64}$/),digest:a(),modelId:a(),modes:h(nn),status:t([`ok`,`partial`,`failed`,`static-only`]),at:a()});m({artifactPath:a().min(1).optional(),data:a().min(1).optional(),mimeType:a().optional(),mode:rn.default(`auto`),schema:l().optional(),model:a().optional()}),m({state:t([`ok`,`no-model`,`not-configured`,`error`]),modelId:a().optional(),detail:a().optional()});var on=f([m({type:r(`progress`),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative().optional()}),m({type:r(`error`),error:a()}),m({type:r(`done`),id:a()})]);m({models:h(m({id:a(),name:a(),description:a(),license:a(),approxSizeBytes:d().int().nonnegative(),recoScore:d()}))}),m({models:h(m({id:a(),name:a(),approxSizeBytes:d().int().nonnegative(),installedAt:a(),weightsPath:a().optional(),mmprojPath:a().optional()}))});var sn=t([`image_generation`,`video_generation`,`image_recognition`]),cn=m({startedAt:d(),streamedContentChars:d().int().nonnegative(),toolCalls:d().int().nonnegative(),fileMutations:d().int().nonnegative()}),ln=m({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:sn.nullable(),lastStreamActivityAt:d().nullable(),lastToolActivityAt:d().nullable(),lastMutationAt:d().nullable(),lastGpuActivityAt:d().nullable(),lastProgressAt:d().nullable(),currentTurn:cn.nullable()});m({version:r(1),capturedAt:d(),sessions:h(ln)});var F=t([`copilot`,`openai`,`anthropic`,`anthropic-cli`,`codex-cli`,`ollama`,`llama-cpp`,`mlx`,`ds4`,`remote`]),un=t([`male`,`female`,`non-binary`]),dn=m({tool:a().min(1),promptKey:a().min(1).default(`prompt`),defaults:g(a(),l()).optional()}),fn=m({id:a(),text:a().min(1).max(200),adoptedAt:a(),source:t([`levelup`,`manual`]).optional()}),pn=m({frontmatter:m({id:st.optional(),name:a(),description:a().optional(),role:a().optional(),roleBasedName:a().optional(),gender:un.optional(),model:a().optional(),provider:F.optional(),reasoningEffort:a().optional(),tuning:M.optional(),tuningProfile:j.optional(),suggestedTuningProfile:j.optional(),tools:h(a()).optional(),tags:h(a()).optional(),fixedFunction:dn.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:A.optional(),codexPermissionMode:rt.optional(),iconOverride:u().optional(),traits:h(fn).max(8).optional(),recognition:t([`auto`,`always`,`off`]).optional()}),sections:h(m({heading:a(),template:a().optional(),params:g(a(),a()).optional(),body:a()})),source:a()}),mn=m({id:st,name:a(),description:a().optional(),role:a().optional(),roleBasedName:a().optional(),gender:un.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:A.optional(),codexPermissionMode:rt.optional(),fixedFunction:dn.optional(),icon:a().optional(),poppetje:tt.optional(),iconOverride:u().optional(),recognition:t([`auto`,`always`,`off`]).optional(),scope:t([`global`,`project`]).optional(),storageScope:t([`user`,`machine-shared`]).optional(),traits:h(fn).optional(),growth:_t.optional(),updatedAt:a()});mn.extend({parsed:pn,about:a(),toolsMd:a().nullable().default(null)});var hn=m({path:a(),mimeType:a()}),gn=m({path:a(),mimeType:a(),durationSeconds:d().optional(),voice:a().optional()}),_n=m({path:a(),mimeType:a(),posterPath:a().optional()}),vn=m({name:a(),durationMs:d(),success:u(),errorMessage:a().optional(),path:a().optional(),paths:h(a()).optional(),argsSummary:a().optional(),argsFull:a().optional(),resultText:a().optional(),resultTruncated:u().optional(),images:h(hn).optional(),audios:h(gn).optional(),videos:h(_n).optional(),diff:a().optional(),addedLines:d().int().nonnegative().optional(),removedLines:d().int().nonnegative().optional()}),yn=m({kind:r(`external`),appId:a().min(1),appName:a().min(1),externalConversationId:a().min(1),readOnly:r(!0),workingDirectory:a().optional(),projectHint:a().optional()}),bn=m({kind:t([`artifact`,`workspace`]),path:a()}),xn=m({role:t([`user`,`assistant`]),content:a(),at:a(),from:m({gezelId:a(),gezelName:a()}).optional(),referencedFiles:h(bn).optional(),referencedArtifacts:h(a()).optional(),referencedTasks:h(a()).optional(),toolCalls:h(vn).optional(),intents:h(m({label:a(),afterChars:d().int().min(0)})).optional(),pendingQuestionId:a().optional(),synthetic:t([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),hidden:u().optional(),nudge:u().optional(),origin:t([`system`]).optional(),warnings:h(a()).optional(),reasoning:a().optional(),reasoningDurationMs:d().int().nonnegative().optional(),attemptedToolCalls:h(m({body:a(),reason:a().optional()})).optional(),recognizedImages:h(an).optional()}),Sn=m({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:g(a(),f([a(),d(),u()])).optional()}),Cn=p(`type`,[m({type:r(`delta`),content:a()}),m({type:r(`reasoning_delta`),content:a()}),m({type:r(`complete`),message:xn}),m({type:r(`user_message_pending`),preview:a()}),m({type:r(`user_message`),message:xn}),m({type:r(`tool`),name:a(),durationMs:d(),success:u(),errorMessage:a().optional(),path:a().optional(),paths:h(a()).optional(),argsSummary:a().optional(),argsFull:a().optional(),resultText:a().optional(),resultTruncated:u().optional(),images:h(hn).optional(),audios:h(gn).optional(),videos:h(_n).optional(),diff:a().optional(),addedLines:d().int().nonnegative().optional(),removedLines:d().int().nonnegative().optional()}),m({type:r(`error`),error:a(),errorDetail:Sn.optional()}),m({type:r(`cancelled`)}),m({type:r(`done`)}),m({type:r(`queued`),aheadOf:d().int().min(0)}),m({type:r(`wire_pulse`)}),m({type:r(`tool_args_delta`),name:a(),content:a()}),m({type:r(`heartbeat`),label:a().optional()}),m({type:r(`warning`),message:a(),action:m({kind:r(`settings`),section:t([`llamaCpp`,`mlx`,`ds4`])}).optional()}),m({type:r(`intent`),label:a()}),m({type:r(`queue_enqueued`),queueId:a(),preview:a(),enqueuedAt:a(),nudge:u().optional()}),m({type:r(`queue_removed`),queueId:a(),reason:t([`started`,`canceled`,`rejected`])}),m({type:r(`context_warning`),estimatedTokens:d(),numCtx:d(),model:a()}),m({type:r(`context_compacted`),removedCount:d().int().nonnegative(),model:a()}),m({type:r(`context_loop`),compactionsThisSend:d().int().positive(),reason:a()}),m({type:r(`keurmeester_intervention`),caseId:a(),gezelId:a(),gezelName:a(),action:a(),summary:a()}),m({type:r(`recall_applied`),hitCount:d(),query:a()}),m({type:r(`question_asked`),question:$t}),m({type:r(`question_answered`),question:$t}),m({type:r(`task_event`),eventId:a(),kind:a(),summary:a(),at:a(),taskRef:a().optional(),gezelId:a().optional()}),m({type:r(`growth_level_up`),gezelId:a(),gezelName:a(),toLevel:d().int()}),m({type:r(`engine_phase`),provider:t([`llama-cpp`,`mlx`,`ds4`]),phase:t([`starting`,`loading_model`,`prefill`,`generating`,`ready`]),detail:a().optional(),progress:d().min(0).max(1).optional(),ttftMs:d().int().nonnegative().optional(),outputTokens:d().int().nonnegative().optional(),tokensPerSec:d().nonnegative().optional()}),m({type:r(`turn_stats`),provider:t([`llama-cpp`,`ollama`,`mlx`,`ds4`]),model:a().optional(),promptTokens:d().int().nonnegative(),completionTokens:d().int().nonnegative(),durationMs:d().int().nonnegative(),tokensPerSec:d().nonnegative().optional()}),m({type:r(`engine_stats`),provider:t([`llama-cpp`,`mlx`,`ds4`]),ramAllocBytes:d().nonnegative()}),m({type:r(`gpu_swap`),state:t([`started`,`progress`,`ended`]),task:sn,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()}),m({type:r(`awaiting_gezel`),state:t([`started`,`ended`]),targetGezelName:a()}),m({type:r(`project_created`),projectId:a(),name:a()}),m({type:r(`project_deleted`),projectId:a(),name:a()}),m({type:r(`gezel_created`),gezelId:a(),name:a()}),m({type:r(`night_shift`),active:u(),source:t([`scheduled`,`manual`]).nullable()}),m({type:r(`meester_status`),state:t([`started`,`ended`,`failed`]),generatedAt:a().optional()}),m({type:r(`ambient_dashboard`),state:t([`started`,`ended`,`failed`]),generatedAt:a().optional(),filename:a().optional()}),m({type:r(`index_progress`),phase:t([`scan`,`shadow`,`enrich`,`review`,`digest`]),state:t([`started`,`progress`,`ended`]),projectId:a().optional(),detail:a().optional(),pending:d().int().nonnegative().optional(),gezelId:a().optional(),gezelName:a().optional()})]),wn=m({sessionId:a(),gezelId:a(),projectId:a(),sessionSource:yn.optional(),event:Cn}),Tn=t(`gezel.created,gezel.deleted,gezel.renamed,gezel.settings.updated,gezel.about.generated,icon.generated,icon.reverted,poppetje.generated,poppetje.updated,poppetje.rerolled,project.created,project.deleted,project.updated,project.about.updated,project.mission.updated,project.voorman.changed,project.gezel.joined,project.gezel.left,project.suggested-work.enabled,project.suggested-work.disabled,project.properties.updated,report.action.fired,report.action.dismissed,project.status.changed,project.nudge.sent,project.github.linked,project.github.unlinked,project.github.synced,project.review.requested,project.review.settled,project.connector.bound,project.connector.unbound,project.connector.synced,document.created,document.folder.created,document.updated,document.renamed,document.deleted,workspace.write,workspace.delete,workspace.mkdir,workspace.move,workspace.npm.installed,workspace.npm.declined,workspace.script.run,workspace.script.declined,workspace.npx.run,workspace.npx.declined,terminal.command.run,workspace.allow-writes.changed,tool.called,page.tool.invoked,page.reaction.sent,tool.gated,meester.changed,klerk.changed,boekwachter.changed,keurmeester.changed,gilde.updated,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,meester.dashboard.generated,gezel.level.up,gezel.trait.adopted,gezel.trait.removed,gezel.tuning.adjusted,chat.compacted,gezel.messaged,gezel.message.delivered,gezel.message.delivery_failed,gezel.reply.dropped,chat.mention.fanout,render.generated,user.question.asked,user.question.answered,debug.bridge.failed,channel.configured,channel.message.sent,channel.message.failed,copilot.builtin.denied,credential.used,eval.trial.started,eval.trial.completed`.split(`,`)),En=m({id:a(),at:a(),kind:Tn,projectId:a().optional(),gezelId:a().optional(),summary:a(),details:g(a(),l()).optional()}),Dn=m({entryType:r(`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()}),On=p(`entryType`,[En.extend({entryType:r(`event`)}),Dn]);m({projectId:a().optional(),gezelId:a().optional(),kinds:h(Tn).optional(),from:a().optional(),to:a().optional(),q:a().optional(),limit:d().int().positive().optional(),include:t([`events`,`entries`]).optional()}),m({entries:h(On)});var I=t(`sheet.folder.code.branch.envelope.calendar.bubbles.chart.frame.quill.sprout.die.house.coin.banner.terminal.globe.server.package.book.palette.camera.briefcase.heart.cards.meal.plane.people.dots`.split(`.`)),kn=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)`}),An=m({url:a().min(1),branch:a().optional(),checkoutDir:a().optional(),lastSyncedAt:a().optional(),defaultBranch:a().optional()}),jn=m({id:a().min(1),type:a().min(1),sourceId:a().optional(),version:a().optional(),displayName:a().optional(),corpusDir:a().optional(),config:g(a(),l()).default({}),cursor:l().optional(),disabled:u().optional(),lastSyncedAt:a().optional(),lastError:a().optional()}),Mn=m({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()}),Nn=m({lastNudgedAt:a().optional(),consecutiveRapidNudges:d().int().nonnegative().optional()}),Pn=m({overview:u().optional(),tasks:u().optional(),approvals:u().optional(),workspace:u().optional(),artifacts:u().optional(),map:u().optional()}).strict(),Fn=t([`auto`,`allow`,`deny`]),In=m({id:a(),version:a(),source:a(),params:g(a(),l()).optional(),appliedAt:a(),icon:I.optional()}),Ln=t([`crew`,`solo`]),Rn=m({id:st,name:a(),description:a().optional(),icon:I.optional(),workingDir:a().optional(),voormanGezelId:a().optional(),voormanAutoAssignedAt:a().optional(),gezelIds:h(a()).optional(),suggestedWorkDismissed:h(a()).optional(),properties:g(a(),a()).optional(),mode:Ln.optional(),leadLabel:a().optional(),leanProfile:u().optional(),indexingEnabled:u().optional(),github:An.optional(),connectors:h(jn).optional(),nudgeConfig:Mn.optional(),nudgeState:Nn.optional(),tabVisibility:Pn.optional(),managedWorkspaceWritePolicy:Fn.optional(),allowGezelWrites:u().optional(),codexPermissionMode:nt.optional(),claudePermissionMode:A.optional(),status:t([`active`,`readonly`,`inactive`,`stable`]).optional(),archived:u().optional(),workspaceScriptTimeoutMs:d().int().min(3e4).max(30*6e4).optional(),grantedCredentials:h(a()).optional(),credentialAllowedOrigins:g(a(),h(kn)).optional(),projectTypeId:a().optional(),detectedProjectType:m({id:a(),score:d(),scannedAt:a()}).optional(),projectType:In.optional(),storageScope:t([`user`,`machine-shared`]).optional(),createdAt:a(),updatedAt:a()}),zn=m({name:a(),version:a()}),Bn=Rn.extend({packages:h(zn),about:a().optional(),missionObjectives:a().optional()});m({name:a(),path:a(),isDirectory:u(),mtimeMs:d().optional()});var Vn=f([Ce,m({kind:r(`prometheusAlerts`),file:a().min(1),minRules:d().int().positive().optional(),maxPageAlerts:d().int().nonnegative().optional(),allowedSeverities:h(a().min(1)).optional(),requiredServices:h(a().min(1)).optional(),requiredRunbookUrls:h(a().min(1)).optional()}).strict(),m({kind:r(`nodeScriptPasses`),script:a().min(1),timeoutMs:d().int().positive().optional(),requiredOutput:h(m({pattern:a().min(1),flags:a().optional(),label:a().optional()}).strict()).optional()}).strict(),m({kind:r(`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`),Hn=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`),Un=m({method:t([`GET`,`POST`,`PUT`,`PATCH`,`DELETE`]).default(`GET`),path:a().min(1),status:d().int().min(100).max(599).default(200),headers:g(a(),a()).optional(),body:l(),latencyMs:d().int().nonnegative().optional()}).strict(),Wn=p(`kind`,[m({kind:r(`http`),id:L,description:a().min(1),credential:m({name:a().regex(/^mock\.[a-z0-9][a-z0-9.-]*$/,`mock credentials are named mock.<service-id>`),authScheme:t([`bearer`,`basic`]).optional()}).strict(),routes:h(Un).min(1)}).strict(),m({kind:r(`webhook`),id:L,description:a().min(1),path:a().min(1).optional()}).strict(),m({kind:r(`cli`),id:L,description:a().min(1),shim:m({path:a().min(1),content:a()}).strict()}).strict(),m({kind:r(`mcp`),id:L,description:a().min(1),toolsetId:Hn.optional(),tools:h(m({name:a().min(1),description:a().min(1),resultTemplate:l().optional(),resultSequence:h(l()).min(1).optional(),writeFixture:m({surface:t([`workspace`,`artifact`]),pathArgument:a().min(1),fixture:t([`minimal-pptx`,`minimal-docx`,`minimal-pdf`,`minimal-png`])}).strict().optional()}).strict()).min(1)}).strict()]),Gn=m({path:a().min(1),content:a(),surface:t([`workspace`,`artifact`,`harness`]).optional(),modelInput:u().optional()}).strict(),Kn=m({name:a().min(1),role:a().min(1),description:a().optional(),about:a().optional()}).strict(),qn=m({projectName:a().min(1),about:a().optional(),missionObjectives:a().optional(),managedWorkspaceWritePolicy:Fn.optional(),files:h(Gn).default([]),craftbookParams:g(a(),a()).optional(),worker:Kn.optional()}).strict(),Jn=m({path:a().min(1),kind:He,artifact:u().optional(),minBytes:d().int().positive().optional(),checks:h(Vn).optional()}).strict(),Yn=m({service:L,minRequests:d().int().positive().optional(),requiredPaths:h(a().min(1)).optional(),forbiddenPaths:h(a().min(1)).optional(),requiredTools:h(a().min(1)).optional(),toolCalls:g(a().min(1),m({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(),Xn=m({kind:Tn,minEntries:d().int().nonnegative().default(1),maxEntries:d().int().nonnegative().optional(),summaryPattern:a().min(1).optional(),flags:a().optional(),details:g(a(),f([a(),d(),u(),o()])).optional()}).strict(),Zn=m({summary:a().min(1),deliverables:h(Jn).optional(),checks:h(Vn).optional(),taskNotes:m({minBytes:d().int().positive().optional(),checks:h(Vn).optional(),requireCraftbookTask:u().optional()}).strict().optional(),taskGraph:m({checks:h(Vn).optional(),requireCraftbookTask:u().optional(),requireTerminalStep:u().optional(),requireDraftRef:u().optional(),draft:m({status:t([`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:h(Yn).optional(),history:h(Xn).optional(),unchangedFixtures:h(a().min(1)).optional()}).strict(),Qn=m({artifact:m({path:a().min(1),kind:t([`html`,`markdown`,`yaml`,`typescript`,`json`,`text`])}).strict(),axes:h(m({name:a().min(1),description:a().min(1)}).strict()).min(1),contextNote:a().optional()}).strict();m({schemaVersion:r(1),title:a().min(1),objective:a().min(1),tags:h(a().min(1)).default([]),prompt:a().min(1),setup:qn,mocks:h(Wn).default([]),success:Zn,rubric:Qn,qualityFocus:h(a().min(1)).default([]),extensions:g(a(),l()).optional()}).strict().superRefine((e,t)=>{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)||t.addIssue({code:n.custom,path:[`success`,`mocks`,a,`service`],message:`success.mocks[${a}] references unknown mock service "${o.service}"`}),o.requiredTools&&o.requiredTools.length>0){let e=i.get(o.service);if(e&&e.kind!==`mcp`)t.addIssue({code:n.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)||t.addIssue({code:n.custom,path:[`success`,`mocks`,a,`requiredTools`],message:`success.mocks[${a}].requiredTools names undeclared tool "${e}" on mcp service "${o.service}"`})}}if(o.toolCalls&&Object.keys(o.toolCalls).length>0){let e=i.get(o.service);if(e&&e.kind!==`mcp`)t.addIssue({code:n.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)||t.addIssue({code:n.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}`&&t.addIssue({code:n.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)||t.addIssue({code:n.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&&t.addIssue({code:n.custom,path:[`success`,`history`,r],message:`minEntries must be less than or equal to maxEntries`})});var $n=m({id:a().min(1),label:a().min(1),description:a().optional(),kind:t([`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()}),er=t([`not-configured`,`configured`,`update-needed`,`conflict`,`unavailable`]),tr=m({baseUrl:a().url(),listening:u(),port:d().int().nonnegative()}),nr=m({state:er,models:h($n),configuredModel:a().optional(),recommendedModel:a().optional(),reasons:h(a()),message:a().optional(),endpointsEnabled:u(),launchCommand:a().min(1),bridge:tr,canConfigure:u(),canRemove:u(),canRepair:u()});nr.extend({codexInstalled:u(),codexVersion:a().optional(),codexPath:a().optional(),profileName:a().min(1),profilePath:a().min(1),profileBackupPath:a().min(1).optional()}),m({model:a().min(1),backupConflictingProfile:u().optional()});var rr=m({state:t([`not-installed`,`installed`,`stale`,`conflict`,`unsupported`]),path:a().min(1).optional(),canInstall:u(),canRemove:u(),canReplace:u(),message:a().optional()});nr.extend({opencodeInstalled:u(),opencodeVersion:a().optional(),opencodePath:a().optional(),providerId:a().min(1),configPath:a().min(1),plugin:rr,configBackupPath:a().min(1).optional(),pluginBackupPath:a().min(1).optional()}),m({model:a().min(1),backupConflictingConfig:u().optional()}),m({backupConflictingPlugin:u().optional()});var ir=m({state:t([`not-installed`,`installed`,`stale`,`conflict`,`unsupported`]),path:a().min(1).optional(),agentDir:a().min(1).optional(),agentDirSource:t([`override`,`env`,`default`]).optional(),canInstall:u(),canRemove:u(),canReplace:u(),message:a().optional()});nr.extend({piInstalled:u(),piVersion:a().optional(),piPath:a().optional(),providerId:a().min(1),configPath:a().min(1),extensionPath:a().min(1),extension:ir,configBackupPath:a().min(1).optional(),extensionBackupPath:a().min(1).optional()}),m({model:a().min(1),backupConflictingConfig:u().optional()}),m({backupConflictingExtension:u().optional()});var ar=m({id:a().min(1),label:a().min(1),product:t([`code`,`code-insiders`]),configPath:a().min(1)});nr.extend({vscodeInstalled:u(),vscodeVersion:a().optional(),vscodePath:a().optional(),providerId:a().min(1),profiles:h(ar).min(1),configuredProfileId:a().min(1).optional(),configPath:a().min(1),configBackupPath:a().min(1).optional()}),m({profileId:a().min(1),backupConflictingConfig:u().optional()});var or=t([`AGENTS.md`,`CLAUDE.md`,`.github/copilot-instructions.md`]),sr=t([`primary`,`concat`]);m({schemaVersion:r(1).default(1),sourceFile:or.optional(),mergeMode:sr.optional(),aboutHash:a().optional(),derivedAt:a().optional()});var cr=m({hash:a(),sourceFile:or,mergeMode:sr.optional(),gezelId:a(),userEdited:u().optional()}),lr=m({hash:a(),sourceFile:a()}),ur=m({hash:a(),craftbookId:a(),scriptNames:h(a()).default([]),userEdited:u().optional()});m({version:r(1).default(1),gezel:cr.optional(),about:lr.optional(),craftbooks:g(a(),ur).default({})});var dr=m({name:a(),body:a(),confidence:d().min(0).max(1),sourceBlock:a(),origin:t([`static`,`llm`]).optional()}),fr=m({role:a(),about:a()}),pr=m({skillSource:a(),sourceHash:a(),craftbook:Ve,scripts:h(dr).default([]),persona:fr.optional(),notes:h(a()).optional(),createdAt:a()});m({version:r(1).default(1),items:h(pr).default([])});var mr=t([`draft`,`paused`,`active`,`complete`,`canceled`]),hr=t([`skip`,`queue`,`concurrent`]),gr=m({expression:a(),lastTickAt:a().optional(),nextTickAt:a().optional(),overlap:hr.optional()}),_r=m({title:a().optional(),plan:a().optional(),description:a().optional(),context:g(a(),a()).optional()}),vr=m({count:d().int().positive(),variations:h(_r).optional(),materializedAt:a().optional()}),yr=m({count:d().int().positive(),variations:h(_r).optional()}),br=m({enabled:u(),onceADay:u().optional(),lastRunDay:a().optional()}),xr=x.extend({createdAt:a(),completedAt:a().optional(),attemptCount:d().int().nonnegative().optional(),lastActivatedAt:a().optional(),gateAttempts:d().int().nonnegative().optional(),gateProgressAttempts:d().int().nonnegative().optional(),lastGateReject:m({contentHash:a().optional(),messageFingerprint:a(),message:a(),at:a()}).optional(),redriveCount:d().int().nonnegative().optional(),lastRedriveAt:a().optional(),gateAttemptHistory:h(m({at:a(),attempt:d().int().nonnegative(),contentHash:a().optional(),signatureHash:a(),messageFingerprint:a(),failedChecks:h(a()).optional(),remaining:d().int().nonnegative().optional(),frozen:u().optional()})).optional()}),Sr=m({id:a().min(1),name:a().min(1),description:a().optional(),version:a().optional(),basedOn:O.optional(),plan:a().optional(),defaultAssignee:_.optional(),steps:h(xr).min(1),entryStepId:a().min(1),triggers:h(a()).optional(),hooks:h(b).optional(),paramSchema:g(a(),l()).optional(),toolsets:h(T).optional(),connectors:h(E).optional(),scripts:D.optional(),spawn:S.optional(),createdAt:a(),updatedAt:a(),renderedForTier:Fe.optional()}),Cr=m({role:t([`main`,`spawn`]),catalogId:a(),version:a().optional(),sourceId:a().optional()}),wr=m({id:a(),text:a().min(1),met:u().optional(),evidence:a().optional(),verifiedAt:a().optional()}),Tr=m({projectId:a(),num:d().int().positive(),ref:a(),title:a(),description:a().optional(),plan:a().optional(),outcomes:h(wr).optional(),status:mr,assignee:_,assigneeAuto:u().optional(),craftbook:Sr,spawnsCraftbook:Sr.optional(),sourceCraftbookIds:h(Cr).optional(),craftbookParams:g(a(),a()).optional(),spawnsCraftbookParams:g(a(),a()).optional(),activeStepId:a().optional(),parentTaskRef:a().optional(),origin:p(`kind`,[m({kind:r(`project-type-schedule`),typeId:a(),scheduleKey:a()}),m({kind:r(`system-job`),jobId:a(),managedByGezelId:a().optional()}),m({kind:r(`boekwachter-issue`),issueRef:a().regex(/^BW-[1-9]\d*$/),path:a().min(1)}),m({kind:r(`craftbook-invocation`),key:a().regex(/^craftbook-root-v1:[a-f0-9]{64}$/)}),m({kind:r(`gezel-suggested-craftbook`),templateId:a(),suggestionKey:a()})]).optional(),cron:gr.optional(),nightShift:br.optional(),fanout:vr.optional(),lastGateHandoff:m({fromStepId:a(),toStepId:a().optional(),message:a(),params:g(a(),l()).optional(),at:a()}).optional(),roleBasedNameOnlyMode:u().optional(),createdAt:a(),updatedAt:a(),createdBy:_});m({title:a().min(1),description:a().min(40),plan:a().optional(),outcomes:h(wr).optional(),assignee:_.optional(),status:t([`draft`,`active`]).optional(),craftbookId:a().optional(),craftbookSourceId:a().optional(),craftbookVersion:a().optional(),steps:h(k).optional(),entryStepId:a().optional(),craftbookParams:g(a(),a()).optional(),spawnsCraftbookParams:g(a(),a()).optional(),spawnsCraftbookId:a().optional(),spawnsCraftbookSourceId:a().optional(),spawnsCraftbookVersion:a().optional(),spawnsSteps:h(k).optional(),spawnsEntryStepId:a().optional(),parentTaskRef:a().optional(),cron:m({expression:a(),overlap:hr.optional()}).optional(),nightShift:m({enabled:u(),onceADay:u().optional()}).optional(),fanout:yr.optional(),createdBy:_.optional(),roleBasedNameOnlyMode:u().optional(),dispatchEntry:u().optional(),craftbookInvocationKey:a().regex(/^craftbook-root-v1:[a-f0-9]{64}$/).optional()}).refine(e=>!!e.craftbookId!=!!(e.steps&&e.steps.length>0),{message:`exactly one of craftbookId or steps must be provided for the main craftbook`,path:[`craftbookId`]}).refine(e=>{let t=!!e.spawnsCraftbookId,n=!!(e.spawnsSteps&&e.spawnsSteps.length>0);return!(t&&n)},{message:`spawnsCraftbookId and spawnsSteps are mutually exclusive`,path:[`spawnsCraftbookId`]}).refine(e=>e.spawnsCraftbookId||e.spawnsSteps&&e.spawnsSteps.length>0?!!e.cron||!!e.fanout:!0,{message:`spawn craftbook only valid when cron or fanout is set`,path:[`spawnsCraftbookId`]}).refine(e=>!e.spawnsCraftbookParams||!!e.spawnsCraftbookId||!!(e.spawnsSteps&&e.spawnsSteps.length>0),{message:`spawn craftbook params require spawnsCraftbookId or spawnsSteps`,path:[`spawnsCraftbookParams`]}).refine(e=>e.status!==`draft`||!e.cron&&!e.fanout,{message:`a draft task cannot have a cron schedule or fanout`,path:[`status`]}).refine(e=>e.dispatchEntry!==!0||e.status!==`draft`&&!e.cron&&!e.fanout,{message:`dispatchEntry is only valid on an immediately-active, non-spawning task (drafts kick off via activate; cron/fanout children dispatch themselves)`,path:[`dispatchEntry`]}),m({title:a().min(1).optional(),description:a().optional(),plan:a().optional(),outcomes:h(wr).nullable().optional(),assignee:_.optional(),cron:m({expression:a(),overlap:hr.optional()}).nullable().optional(),nightShift:m({enabled:u(),onceADay:u().optional()}).nullable().optional(),fanout:yr.nullable().optional(),spawnsCraftbookParams:g(a(),a()).nullable().optional()}),m({count:d().int().positive().optional(),variations:h(_r).optional()}),m({status:mr}),m({next:a().optional(),force:u().optional()}),m({task:Tr,gate:m({decision:r(`reject`),message:a(),attempt:d().int().nonnegative(),maxAttempts:d().int().positive(),paused:u(),infrastructureError:u().optional(),scriptRuns:h(m({scriptName:a(),runId:a().optional(),error:a().optional(),logsTail:a().optional()})).optional()}).optional()}),m({name:a().min(1).optional(),description:a().optional(),prompt:a().optional(),suggestedRole:a().nullable().optional(),assignee:_.nullable().optional(),suggestedGezelId:a().nullable().optional(),onEnter:v.nullable().optional(),onExit:v.nullable().optional(),consumes:h(Pe).min(1).nullable().optional(),advanceWhen:Ne.nullable().optional(),gate:Ee.nullable().optional(),next:a().nullable().optional(),branches:h(Me).nullable().optional(),terminal:u().optional()}),m({task:Tr}),m({name:a().min(1).optional(),description:a().nullable().optional(),plan:a().nullable().optional(),defaultAssignee:_.nullable().optional(),entryStepId:a().optional()}),m({id:a().optional(),name:a().min(1),description:a().optional(),prompt:a().optional(),suggestedGezelId:a().optional(),assignee:_.optional()}),m({tasks:h(Tr)});var Er=p(`kind`,[m({kind:r(`gezel`),gezelId:a(),name:a()}),m({kind:r(`user`)})]),Dr=m({id:a(),at:a(),author:Er,stepId:a().optional(),text:a()});m({notes:h(Dr)}),m({text:a().min(1),stepId:a().optional()}),m({note:Dr}),m({text:a().min(1)}),m({note:Dr});function Or(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 kr=a().refine(e=>Or(e)!==null,{message:`task ref must use projectId/num form`}),Ar=m({family:t([`gemma`,`qwen`,`gpt-oss`,`mistral`,`llama`,`deepseek`,`qwq`,`phi`,`nemotron`,`glm`,`muse`,`other`]),reasoningFormat:t([`think`,`channel`,`inline`,`none`]),toolCallFormat:t([`function-call`,`qwen-xml`,`hermes`,`gemma-special-token`,`json-envelope`])}),jr=a().min(1),Mr=f([jr,m({id:jr,config:l().optional()})]),Nr=t([`artifacts`,`workspace`,`type`]);m({source:Nr,path:a().max(4096)}),m({url:a().startsWith(`/preview/`),browserUrl:a().url().optional(),expiresAt:a(),scopePath:a()}),m({path:a().max(4096)}),m({ran:u(),ok:u().optional(),errors:h(a()).optional(),reason:a().optional()}),m({entries:h(m({kind:t([`error`,`unhandledrejection`,`console.error`]),message:a().max(2e3),path:a().max(4096),source:Nr,at:a()})).min(1).max(20)});var R=/^[a-z0-9][a-z0-9.\-:]{1,63}$/,z=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,Pr=t([`open`,`commercial-restricted`,`custom-restricted`]),B={licenseClass:Pr.optional(),licenseShortName:a().optional(),licenseUrl:a().url().optional()},V={recoScore:d().int().positive().optional()},H={minGezelVersion:a().optional()},U=m({...H,schemaVersion:r(1),id:a().regex(R),name:a().min(1),description:a(),tags:h(a()).default([]),maintainer:m({name:a(),url:a().url().optional()}),logo:a().optional(),license:a().optional(),...B,...V,yankedVersions:h(a()).default([]),minSupportedVersion:a().optional()}),Fr=t([`search`,`dev-tools`,`data`,`cloud`,`productivity`,`communication`,`content`,`ai`,`media`,`other`]),Ir=t([`general`,`code`,`communication`,`creative`,`writing`,`growth`,`game`,`data`,`home`,`money`,`events`,`other`]),Lr=t([`darwin-arm64`,`darwin-x64`,`linux-arm64`,`linux-x64`,`win32-x64`]),Rr=m({kind:r(`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:h(a().max(4096).refine(e=>!e.includes(`\0`))).max(64).default([]),envHints:h(a().regex(/^[A-Z_][A-Z0-9_]{0,63}$/)).max(64).default([])}),zr=p(`kind`,[Rr,m({kind:r(`http-mcp`),url:a().url(),transport:t([`streamable-http`,`sse`]).default(`streamable-http`),authHint:t([`none`,`bearer`,`oauth`]).default(`none`),envHints:h(a()).default([])}),m({kind:r(`stdio-mcp-binary`),binaries:g(Lr,m({url:a().url(),sha256:a().regex(/^[a-f0-9]{64}$/)})),args:h(a()).default([]),envHints:h(a()).default([])}),m({kind:r(`builtin`),toolsetGroupId:a()}),m({kind:r(`custom-mcp`),serverName:a().min(1).max(256),transport:t([`stdio`,`streamable-http`,`sse`]),source:p(`kind`,[m({kind:r(`project-file`),relativePath:t([`.gezel/mcp.json`,`.vscode/mcp.json`,`.mcp.json`])}),m({kind:r(`imported`),sourceName:a().min(1).max(512).optional()})]),command:a().min(1).max(4096).optional(),args:h(a().max(16384)).max(256).default([]),cwd:a().max(4096).optional(),envFile:a().max(4096).optional(),url:a().max(16384).optional(),envKeys:h(a().min(1).max(256)).max(256).default([]),headerKeys:h(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`}))})]),Br=m({id:a(),label:a(),description:a().optional(),type:t([`string`,`enum`,`url`,`number`,`boolean`]),secret:u().default(!1),required:u().default(!1),default:a().optional(),options:h(a()).optional(),multiline:u().default(!1),pattern:a().optional(),placeholder:a().optional(),envVar:a().optional()}),Vr=U.extend({kind:r(`toolset`),category:Fr.optional()});m({...H,schemaVersion:r(1),version:a().regex(z),releasedAt:a(),runtime:zr,tools:h(m({name:a(),description:a().default(``)})).default([]),config:h(Br).default([]),requirements:m({node:a().optional(),platforms:h(Lr).optional()}).optional(),notes:a().optional()});var Hr=m({...H,schemaVersion:r(1),kind:r(`toolset`),id:a().regex(R),name:a().min(1),description:a(),tags:h(a()).default([]),maintainer:m({name:a(),url:a().url().optional()}),logo:a().optional(),license:a().optional(),version:a(),releasedAt:a(),runtime:zr,tools:h(m({name:a(),description:a().default(``)})).default([]),config:h(Br).default([]),requirements:m({node:a().optional(),platforms:h(Lr).optional()}).optional(),notes:a().optional(),availableVersions:h(a()).default([]),category:Fr.optional()}),Ur=U.extend({kind:r(`gezel-template`),role:a(),meesterCandidate:u().default(!1)}),Wr=m({craftbookId:a(),runMode:t([`night-shift`,`scheduled`]),cron:a().optional(),overlap:t([`skip`,`queue`,`concurrent`]).optional(),params:g(a(),a()).optional(),reason:a().optional()}).refine(e=>e.runMode!==`scheduled`||!!e.cron,{message:`scheduled suggestions require cron`});m({...H,schemaVersion:r(1),version:a().regex(z),releasedAt:a(),about:a(),suggestedProvider:F.optional(),suggestedModel:a().optional(),suggestedTools:h(a()).default([]),notes:a().optional(),frontmatter:g(a(),l()).optional(),nameSuggestions:h(a()).optional(),suggestedCraftbooks:h(Wr).optional()});var Gr=m({...H,schemaVersion:r(1),kind:r(`gezel-template`),id:a().regex(R),name:a().min(1),description:a(),tags:h(a()).default([]),maintainer:m({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:h(a()).default([]),meesterCandidate:u().default(!1),notes:a().optional(),availableVersions:h(a()).default([]),frontmatter:g(a(),l()).optional(),nameSuggestions:h(a()).optional(),suggestedCraftbooks:h(Wr).optional()}),Kr=t([`project-starter`,`maintenance-review`,`general`]),qr=U.extend({kind:r(`craftbook-template`),role:Kr.default(`general`),workflow:a().optional()});m({...H,schemaVersion:r(1),version:a().regex(z),releasedAt:a(),about:a(),steps:h(x).min(1),entryStepId:a().min(1),defaultAssignee:_.optional(),basedOn:O.optional(),plan:a().optional(),notes:a().optional(),spawn:S.optional(),triggers:h(a()).optional(),hooks:h(b).optional(),bundledScripts:h(a()).optional(),paramSchema:g(a(),l()).optional(),command:a().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:h(C).optional(),runModes:w.optional(),toolsets:h(T).optional(),connectors:h(E).optional()});var Jr=m({...H,schemaVersion:r(1),kind:r(`craftbook-template`),id:a().regex(R),name:a().min(1),description:a(),tags:h(a()).default([]),maintainer:m({name:a(),url:a().url().optional()}),logo:a().optional(),license:a().optional(),version:a(),releasedAt:a(),role:Kr.default(`general`),workflow:a().optional(),about:a(),steps:h(x).min(1),entryStepId:a().min(1),defaultAssignee:_.optional(),basedOn:O.optional(),plan:a().optional(),notes:a().optional(),spawn:S.optional(),availableVersions:h(a()).default([]),triggers:h(a()).optional(),hooks:h(b).optional(),scripts:D.optional(),bundledScripts:h(a()).optional(),paramSchema:g(a(),l()).optional(),command:a().regex(/^[a-z][a-z0-9-]*$/).optional(),requirements:h(C).optional(),runModes:w.optional(),toolsets:h(T).optional(),connectors:h(E).optional()}),Yr=m({templateId:a(),voorman:u().default(!1)}),Xr=m({id:a(),sourceId:a().optional(),need:t([`required`,`suggested`]).default(`suggested`),autoAllow:h(a()).default([]),reason:a().optional()}),Zr=m({gezel:a(),prompt:a().min(1),hideSeed:u().optional()}),Qr=m({name:a().regex(/^[a-z][a-z0-9_]*$/),description:a(),script:a(),inputs:g(a(),l()).optional(),bind:g(a(),l()).optional(),reaction:Zr.optional()}),$r=m({runMode:t([`scheduled`,`night-shift`]).default(`scheduled`),cron:a().optional(),craftbook:a(),consent:t([`ask`,`auto`,`disabled`]).default(`ask`),overlap:t([`skip`,`queue`,`concurrent`]).optional()}).refine(e=>e.runMode!==`scheduled`||!!e.cron,{message:`scheduled project-type schedules require cron`}),ei=m({source:Nr,path:a().min(1),subtree:u().optional()}),ti=m({entry:a(),api:r(1).optional(),reads:h(ei).optional(),tools:h(a().regex(/^[a-z][a-z0-9_]*$/)).optional()}),ni={extends:a().optional(),meesterManaged:u().optional(),tabVisibility:Pn.optional(),mode:t([`crew`,`solo`]).optional(),leadLabel:a().min(1).optional(),leanProfile:u().optional(),indexingEnabled:u().optional(),params:g(a(),l()).optional(),nameTemplate:a().min(1).optional(),aboutTemplate:a().optional(),missionTemplate:a().optional(),gezels:h(Yr).default([]),toolsets:h(Xr).default([]),craftbooks:h(a()).default([]),scripts:D.optional(),tools:h(Qr).default([]),pages:ti.optional(),schedules:h($r).default([]),workspaceSeed:h(a()).default([]),artifactsSeed:h(a()).default([]),notes:a().optional()},ri=U.extend({kind:r(`project-type`),category:Ir.optional(),icon:I.optional()});m({...H,schemaVersion:r(1),version:a().regex(z),releasedAt:a(),...ni});var ii=m({...H,schemaVersion:r(1),kind:r(`project-type`),id:a().regex(R),name:a().min(1),description:a(),tags:h(a()).default([]),category:Ir.optional(),icon:I.optional(),maintainer:m({name:a(),url:a().url().optional()}),logo:a().optional(),license:a().optional(),version:a(),releasedAt:a(),...ni,availableVersions:h(a()).default([])}),ai=t([`mcp`,`script`,`spectral`,`native`]),oi=f([m({kind:r(`mapping`),map:g(a(),l())}),m({kind:r(`script`),script:a()}),m({kind:r(`native`)})]),si=m({name:a(),consentScope:a()}),ci=m({title:a().min(1),description:a().min(1).optional(),steps:h(a().min(1)).optional(),url:a().url().optional(),urlLabel:a().min(1).optional()}),li={driver:ai,configSchema:g(a(),l()).optional(),secretShape:g(a(),l()).optional(),setupInstructions:ci.optional(),source:g(a(),l()),normalize:oi.default({kind:`native`}),actions:h(si).default([]),completeness:t([`mirror`,`window`]).optional(),allowedOrigins:h(a()).optional(),notes:a().optional()},ui=U.extend({kind:r(`connector-type`)});m({...H,schemaVersion:r(1),version:a().regex(z),releasedAt:a(),...li});var di=m({...H,schemaVersion:r(1),kind:r(`connector-type`),id:a().regex(R),name:a().min(1),description:a(),tags:h(a()).default([]),maintainer:m({name:a(),url:a().url().optional()}),logo:a().optional(),license:a().optional(),version:a(),releasedAt:a(),...li,availableVersions:h(a()).default([])}),fi=t([`general`,`coding`,`reasoning`,`vision`,`embedding`]),pi=m({tag:a()}),mi=m({name:a(),sha256:a().regex(/^[a-f0-9]{64}$/),sizeBytes:d().int().positive()}),hi=m({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:h(mi).min(2).optional(),approxSizeBytes:d().int().positive(),residentBytes:d().int().positive().optional(),quantization:a().optional(),mmproj:m({filename:a(),sha256:a().regex(/^[a-f0-9]{64}$/),sizeBytes:d().int().positive()}).optional(),draftModel:m({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)`}),gi=m({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:h(mi).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)`});function _i(e){for(let t of e){let e=t.charCodeAt(0);if(e<=31||e===127)return!0}return!1}var vi=a().min(1).max(1024).refine(e=>!e.includes(`\\`)&&!_i(e)&&!e.startsWith(`/`)&&e.split(`/`).every(e=>e!==``&&e!==`.`&&e!==`..`),`path must be a contained POSIX-style relative path`),yi=m({huggingfaceRepo:a().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),subdir:vi.optional(),revision:a().optional(),files:h(m({name:vi,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()}).superRefine((e,t)=>{let n=new Set;e.files.forEach((e,r)=>{n.has(e.name)&&t.addIssue({code:`custom`,path:[`files`,r,`name`],message:`duplicate MLX install path: ${e.name}`}),n.add(e.name)})}),bi=U.extend({kind:r(`chat-model`),maker:m({name:a().min(1),url:a().url().optional()}).optional(),parameterSize:a(),supportsTools:u(),contextWindow:d().int().positive().optional(),kvBytesPerTokenF16:d().positive().optional(),kvFixedBytesF16:d().nonnegative().optional(),upstream:a().url().optional(),category:fi.optional(),style:Ar.optional(),behaviors:h(Mr).optional(),tuning:M.optional()});m({...H,schemaVersion:r(1),version:a().regex(z),releasedAt:a(),approxSizeBytes:d().int().positive(),ollama:pi.optional(),llamaCpp:hi.optional(),mlx:yi.optional(),ds4:gi.optional(),notes:a().optional()});var xi=m({sniffThresholds:m({inlineJsMinBytes:d().int().min(1e3).optional(),htmlMinBytes:d().int().min(1e3).optional()}).optional()}),Si=m({...H,schemaVersion:r(1),kind:r(`chat-model`),id:a().regex(R),name:a().min(1),description:a(),tags:h(a()).default([]),maintainer:m({name:a(),url:a().url().optional()}),maker:m({name:a().min(1),url:a().url().optional()}).optional(),logo:a().optional(),license:a().optional(),...B,...V,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:fi.optional(),style:Ar.optional(),behaviors:h(Mr).optional(),tuning:M.optional(),evalHints:xi.optional(),ollama:pi.optional(),llamaCpp:hi.optional(),mlx:yi.optional(),ds4:gi.optional(),notes:a().optional(),availableVersions:h(a()).default([])}),Ci=t([`general`,`artistic`,`photographic`]),wi=t([`low`,`mid`,`high`,`workstation`]),Ti=m({role:t([`vae`,`clip_l`,`clip_g`,`t5xxl`,`llm`]),downloadUrl:a().url(),sha256:a().regex(/^[a-f0-9]{64}$/),approxSizeBytes:d().int().positive()}),Ei=U.extend({kind:r(`image-model`),recommendedSteps:d().int().positive().default(20),widthRange:m({min:d().int().positive(),max:d().int().positive()}).optional(),heightRange:m({min:d().int().positive(),max:d().int().positive()}).optional(),upstream:a().url().optional(),category:Ci.optional(),weightsKind:t([`checkpoint`,`diffusion-model`]).default(`checkpoint`),supportsImg2Img:u().optional(),hardwareTier:wi,minRamGB:d().positive(),commercialUse:u()});m({...H,schemaVersion:r(1),version:a().regex(z),releasedAt:a(),downloadUrl:a().url(),sha256:a().regex(/^[a-f0-9]{64}$/),approxSizeBytes:d().int().positive(),quantization:a().optional(),auxiliaryFiles:h(Ti).default([]),notes:a().optional()});var Di=m({...H,schemaVersion:r(1),kind:r(`image-model`),id:a().regex(R),name:a().min(1),description:a(),tags:h(a()).default([]),maintainer:m({name:a(),url:a().url().optional()}),logo:a().optional(),license:a().optional(),...B,...V,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:m({min:d().int().positive(),max:d().int().positive()}).optional(),heightRange:m({min:d().int().positive(),max:d().int().positive()}).optional(),upstream:a().url().optional(),category:Ci.optional(),weightsKind:t([`checkpoint`,`diffusion-model`]).default(`checkpoint`),supportsImg2Img:u().optional(),auxiliaryFiles:h(Ti).default([]),hardwareTier:wi,minRamGB:d().positive(),commercialUse:u(),notes:a().optional(),availableVersions:h(a()).default([])}),Oi=t([`ltx`,`ltx2`,`wan`]),ki=m({strategy:t([`diffusers-tree`,`single-file`]).default(`diffusers-tree`),pipelineClass:a().optional(),singleFileName:a().optional(),transformerClass:a().optional(),vaeDtype:t([`float32`,`bfloat16`]).optional(),audio:u().default(!1)}),Ai=m({huggingfaceRepo:a().regex(/^[A-Za-z0-9_\-.]+\/[A-Za-z0-9_\-.]+$/),revision:a().optional(),files:h(m({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()}),W=m({min:d().int().positive(),max:d().int().positive()}),ji=U.extend({kind:r(`video-model`),family:Oi,load:ki.optional(),recommendedSteps:d().int().positive().default(40),guidanceScale:d().positive().optional(),defaultNumFrames:d().int().positive().default(97),numFramesRange:W.optional(),defaultFps:d().int().positive().default(24),fpsRange:W.optional(),maxDurationSeconds:d().positive().optional(),widthRange:W.optional(),heightRange:W.optional(),defaultWidth:d().int().positive().optional(),defaultHeight:d().int().positive().optional(),supportsImageToVideo:u().default(!1),upstream:a().url().optional(),hardwareTier:wi,minVramGB:d().positive(),commercialUse:u()});m({...H,schemaVersion:r(1),version:a().regex(z),releasedAt:a(),source:Ai,notes:a().optional()});var Mi=m({...H,schemaVersion:r(1),kind:r(`video-model`),id:a().regex(R),name:a().min(1),description:a(),tags:h(a()).default([]),maintainer:m({name:a(),url:a().url().optional()}),logo:a().optional(),license:a().optional(),...B,...V,version:a(),releasedAt:a(),family:Oi,load:ki.optional(),source:Ai,approxSizeBytes:d().int().positive(),recommendedSteps:d().int().positive().default(40),guidanceScale:d().positive().optional(),defaultNumFrames:d().int().positive().default(97),numFramesRange:W.optional(),defaultFps:d().int().positive().default(24),fpsRange:W.optional(),maxDurationSeconds:d().positive().optional(),widthRange:W.optional(),heightRange:W.optional(),defaultWidth:d().int().positive().optional(),defaultHeight:d().int().positive().optional(),supportsImageToVideo:u().default(!1),upstream:a().url().optional(),hardwareTier:wi,minVramGB:d().positive(),commercialUse:u(),notes:a().optional(),availableVersions:h(a()).default([])});p(`kind`,[Vr,Ur,qr,ri,ui,bi,Ei,ji]);var Ni=p(`kind`,[Hr,Gr,Jr,ii,di,Si,Di,Mi]),Pi=t([`toolset`,`gezel-template`,`craftbook-template`,`project-type`,`connector-type`,`chat-model`,`image-model`,`video-model`]),Fi=m({sourceId:a(),kind:Pi,manifest:Ni,logoUrl:a().optional(),iconSvg:a().optional()});m({items:h(Fi)}),Fi.extend({readme:a().optional(),about:a().optional()}),m({versions:h(m({version:a(),releasedAt:a(),yanked:u()}))});var Ii={toolsetId:a(),sourceId:a(),version:a(),installedAt:a(),installPath:a().optional()},Li=m({...Ii,runtime:zr}),Ri=Rr.extend({sha256:a().regex(/^(?:sha256-[A-Za-z0-9+/]{43}=|sha384-[A-Za-z0-9+/]{64}|sha512-[A-Za-z0-9+/]{86}==)$/)});f([Li,m({...Ii,sourceId:r(`system`),runtime:Ri})]),m({toolsetId:a(),values:g(a(),a()).default({}),updatedAt:a()});var zi=m({kind:Pi,id:a(),version:a(),path:a(),sha256:a().regex(/^[a-f0-9]{64}$/)});m({schemaVersion:r(1),name:a().min(1),description:a().default(``),creator:a().optional(),createdAt:a().optional(),minSupportedVersion:a().optional(),items:h(zi).min(1),provenance:m({source:a().optional(),exportedFromProject:a().optional()}).optional()});var Bi=t([`llama-cpp`,`mlx`,`ds4`]),Vi=m({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:t([`model`,`installed-manifest`,`catalog-manifest`,`catalog-file`])}),Hi=m({name:a().min(1),shortName:a().min(1).optional(),class:Pr.optional(),url:a().url().optional()}),Ui=m({schemaVersion:r(1),kind:r(`gezel-model`),id:a().regex(R),name:a().min(1).max(256),engine:Bi,createdAt:a().datetime(),createdBy:r(`gezel`),catalogVersion:a().optional(),approxSizeBytes:d().int().nonnegative().max(2**53-1),license:Hi.optional(),files:h(Vi).min(2).max(16384)});m({importId:a().uuid(),manifest:Ui,alreadyInstalled:u(),warnings:h(a())});var Wi=t([`current`,`default`,`development`]),Gi=m({source:Wi,sourceLabel:a().min(1).max(128),engine:Bi,id:a().regex(R),name:a().min(1).max(256),approxSizeBytes:d().int().nonnegative().max(2**53-1),catalogVersion:a().min(1),moving:u().default(!1)});m({available:u(),candidates:h(Gi)}),m({source:Wi,engine:Bi,id:a().regex(R)}),m({ok:r(!0),engine:Bi,id:a().regex(R),localRemoved:u(),warning:a().min(1).optional()});var Ki=m({label:a().min(1),path:a().min(1)}),qi=m({id:a(),kind:t([`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:h(Ki).optional(),cwd:a().optional()});m({threads:h(m({version:r(1),id:a(),projectId:a(),workingDir:a(),createdAt:a(),lastActivityAt:a(),archived:u().optional(),messages:h(qi)}).pick({id:!0,projectId:!0,workingDir:!0,createdAt:!0,lastActivityAt:!0,archived:!0}).extend({lastCommand:a().optional()}))}),m({workingDir:a(),input:a().min(1),columns:d().int().min(20).max(500).optional()}),m({threadId:a(),runId:a()});var Ji=p(`kind`,[m({kind:r(`message`),projectId:a(),threadId:a(),workingDir:a(),message:ee(()=>qi),runId:a().optional()}),m({kind:r(`workingDirChanged`),projectId:a(),threadId:a(),newWorkingDir:a()}),m({kind:r(`runStarted`),projectId:a(),threadId:a(),runId:a(),commandMessageId:a(),at:a(),cwd:a()}),m({kind:r(`outputChunk`),projectId:a(),threadId:a(),runId:a(),chunk:a()}),m({kind:r(`inputRequested`),projectId:a(),threadId:a(),runId:a(),promptLine:a(),mode:t([`text`,`password`,`yes-no`])}),m({kind:r(`openFile`),projectId:a(),threadId:a(),path:a(),source:r(`workspace`)})]),Yi=m({threadId:a(),projectId:a(),workingDir:a(),threadCreatedAt:a(),threadLastActivityAt:a(),threadArchived:u().optional(),messageId:a(),msgKind:t([`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:h(Ki).optional(),cwd:a().optional()}),Xi=m({kind:t([`file`,`chat`]),filePath:a().optional(),checks:h(Ce).optional(),scripts:h(Te).optional()}),Zi=m({capturedAt:a(),systemMessage:a(),toolNames:h(a()),messageCount:d().int().nonnegative(),transcriptTruncated:u().optional(),transcript:h(m({role:t([`system`,`developer`,`user`,`assistant`,`tool`]),content:a(),toolCalls:h(m({id:a(),name:a(),arguments:a()})).optional(),toolCallId:a().optional()})),actionLedger:a().optional()}),Qi=m({version:r(1),id:a(),gezelId:a(),projectId:a(),providerName:F,model:a().optional(),modelSource:t([`capability-routing`]).optional(),nightShift:u().optional(),engineKey:a().optional(),reasoningEffort:a().optional(),title:a(),createdAt:a(),lastActivityAt:a(),archived:u().optional(),source:yn.optional(),externalRequestDiagnostics:Zi.optional(),messages:h(xn),providerState:m({copilotSessionId:a().optional(),openaiPreviousResponseId:a().optional(),claudeCliSessionId:a().optional(),codexCliThreadId:a().optional()}),aboutSnapshot:a().optional(),roleBasedNameOnlyMode:u().optional(),resumeFailed:u().optional(),deliverableGatePlateau:m({signatureHash:a(),count:d().int().nonnegative(),stage:d().int().min(0).max(3),at:a()}).optional(),lastTurnError:a().optional(),lastTurnErrorDetail:Sn.optional(),taskRef:a().optional(),stepId:a().optional(),lastImageGeneration:m({prompt:a(),negativePrompt:a().optional(),artifactPath:a(),seed:d().int().optional(),model:a().optional(),at:a()}).optional(),craftbookRef:a().optional(),consultationMode:u().optional(),expectedDeliverable:Xi.optional(),scriptTools:h(Qr).optional(),numCtx:d().int().positive().optional(),recall:m({at:a(),query:a(),hits:h(m({text:a(),scope:t([`gezel`,`project`,`workspace`,`library`]),day:a(),score:d(),kind:t([`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,source:!0,lastTurnError:!0,taskRef:!0,stepId:!0}).extend({lastHumanActivityAt:a().optional(),lastMessagePreview:a().max(200).optional(),involvedGezelIds:h(a()).optional()});m({gezelId:a(),projectId:a().optional(),taskRef:a().optional(),stepId:a().optional(),craftbookRef:a().optional(),roleBasedNameOnlyMode:u().optional()}),m({sessions:h(Qi)}),m({message:a().min(1),mentions:h(a().min(1)).max(10).optional(),passiveCcGezelIds:h(a().min(1)).max(5).optional(),nudge:u().optional()}),m({accepted:r(!0),sessionId:a()});var $i=m({queueId:a(),text:a(),preview:a(),enqueuedAt:a(),nudge:u()});m({sessionId:a(),entries:h($i)}),m({message:a().min(1)}),m({updated:r(!0),entry:$i}),m({message:a().min(1)}),m({messages:h(m({sessionId:a(),gezelId:a(),projectId:a(),sessionTitle:a(),sessionCreatedAt:a(),sessionLastActivityAt:a(),sessionArchived:u().optional(),sessionSource:yn.optional(),sessionProviderName:F,sessionModel:a().optional(),sessionLastTurnError:a().optional(),taskRef:a().optional(),stepId:a().optional(),handoffFrom:m({gezelId:a(),sessionId:a()}).optional(),role:t([`user`,`assistant`]),content:a(),at:a(),from:m({gezelId:a(),gezelName:a()}).optional(),nudge:u().optional(),origin:t([`system`]).optional(),referencedFiles:h(bn).optional(),referencedArtifacts:h(a()).optional(),referencedTasks:h(a()).optional(),toolCalls:h(vn).optional(),intents:h(m({label:a(),afterChars:d().int().min(0)})).optional(),pendingQuestionId:a().optional(),warnings:h(a()).optional(),reasoning:a().optional(),reasoningDurationMs:d().int().nonnegative().optional(),attemptedToolCalls:h(m({body:a(),reason:a().optional()})).optional()})),hasMore:u(),nextCursor:a().optional(),terminalEntries:h(Yi).optional()});var ea=t([`up-to-date`,`updated`,`incompatible`,`error`,`blocked`]),ta=m({at:a(),outcome:ea,message:a().optional(),version:a().optional(),regressions:h(m({kind:a(),id:a()})).max(25).optional()});m({enabled:u(),mode:t([`bundled`,`live`,`overridden`]),bundledVersion:a(),activeVersion:a().nullable(),lastCheck:ta.nullable(),updateInProgress:u()});var na=t([`nudge_budget_exhausted`,`context_loop`,`gate_exhausted`,`step_redrive_exhausted`,`turn_aborted`,`deliverable_plateau`]),ra=p(`kind`,[m({kind:r(`corrective_prompt`),prompt:a().min(1)}),m({kind:r(`rewrite_step`),stepId:a().min(1),prompt:a().min(1),name:a().optional(),deliverable:a().optional()}),m({kind:r(`rewrite_craftbook`),document:a().min(1),rationale:a().min(1)}),m({kind:r(`takeover_step`),instruction:a().min(1)}),m({kind:r(`stand_down`),reason:a().min(1)})]),ia=t([`silent_stall`,`tool_loop`,`capability_ceiling`,`task_shape`,`context_pressure`,`unknown`]),aa=m({diagnosis:a().min(1),failureClass:ia,action:ra,confidence:t([`low`,`medium`,`high`])}),oa=m({record:r(`case.opened`),caseId:a().min(1),ts:a().min(1),trigger:na,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:g(a(),l()),verdict:aa.optional(),applied:u(),consultDurationMs:d().int().nonnegative(),promptChars:d().int().nonnegative(),responseChars:d().int().nonnegative(),debug:m({prompt:a(),rawResponse:a()}).optional()}),sa=t([`unblocked`,`re_triggered`,`gave_up`,`takeover_completed`,`takeover_failed`,`unknown`]);p(`record`,[oa,m({record:r(`case.closed`),caseId:a().min(1),ts:a().min(1),outcome:sa,turnsObserved:d().int().nonnegative()})]);var ca=m({label:a().max(60),target:p(`kind`,[m({kind:r(`project`),projectId:a()}),m({kind:r(`task`),projectId:a(),taskRef:a()}),m({kind:r(`view`),view:t([`projects`,`gezels`,`documents`,`settings`])})])}),la=m({projectId:a(),taskRef:a(),title:a()}),ua=m({headline:a().max(120),cta:ca.optional(),report:a(),generatedAt:a(),trigger:t([`auto`,`manual`]),actions:h(la).default([])});m({headline:a(),cta:ca.optional(),report:a(),actions:h(m({projectId:a(),title:a(),description:a()})).optional()}),m({lastRunAt:a().optional(),inputHash:a().optional(),runDay:a().optional(),runsOnDay:d().int().nonnegative().optional(),recentActionKeys:h(a()).optional()}),m({lastActivityAt:a()}),m({report:ua.nullable(),budget:m({runsToday:d().int().nonnegative(),maxRunsPerDay:d().int().positive(),lastRunAt:a().nullable()}),running:u()});var da=t([`hd`,`fhd`,`4k`,`square`,`square-2k`,`portrait`,`portrait-4k`,`standard`]),fa=t([`basic`,`card`,`panel`,`accent`]),pa=t([`standard`,`standard-dark`,`documentary`,`minimalist`,`bold`,`morning-light`,`tech-dark`,`magazine`,`cinematic`,`warm-earth`,`gezellig`]),ma=m({id:pa,name:a(),description:a()}),ha=7680,ga=33177600,_a=m({width:d().int().min(64).max(ha),height:d().int().min(64).max(ha),safeArea:m({x:d().int().nonnegative(),y:d().int().nonnegative(),width:d().int().min(64).max(ha),height:d().int().min(64).max(ha)})}).superRefine((e,t)=>{e.width*e.height>33177600&&t.addIssue({code:`custom`,message:`The dashboard display target may not exceed ${ga} pixels.`}),e.safeArea.x+e.safeArea.width>e.width&&t.addIssue({code:`custom`,path:[`safeArea`,`width`],message:`The safe area must fit inside the display width.`}),e.safeArea.y+e.safeArea.height>e.height&&t.addIssue({code:`custom`,path:[`safeArea`,`height`],message:`The safe area must fit inside the display height.`})});m({lastRunAt:a().optional(),lastGeneratedAt:a().optional(),lastFailedAt:a().optional(),lastError:a().optional(),inputHash:a().optional(),lastFile:a().optional()}),m({enabled:u(),running:u(),lastGeneratedAt:a().nullable(),lastFailedAt:a().nullable().optional(),lastError:a().nullable().optional(),latestFilename:a().nullable(),resolution:da,themeId:pa.optional(),themes:h(ma).optional(),displayTarget:_a.nullable().optional()});var va=t([`info`,`minor`,`major`]),ya=m({severity:va,category:a().min(1).max(40),message:a().min(1).max(300),line:d().int().positive().optional()}),ba=t([`open`,`in_progress`,`resolved`,`dismissed`]),xa=t([`not_an_issue`,`duplicate`,`wont_fix`]),G=ya.extend({ref:a().regex(/^BW-[1-9]\d*$/),id:a().min(1),fingerprint:a().min(1),path:a().min(1),status:ba,seen:u(),stale:u(),taskRef:a().optional(),dismissalReason:xa.optional(),createdAt:a(),lastSeenAt:a(),lastCheckedAt:a().optional(),seenAt:a().optional(),resolvedAt:a().optional(),dismissedAt:a().optional()});m({notes_md:a().min(1),issues:h(ya),health:d().int().min(1).max(10),health_reason:a().min(1)});var Sa=m({notesMd:a(),issues:h(ya),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()});m({github:An.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:t([`pat`,`env`,`gh`,`none`])}),m({ok:r(!0),checkoutDir:a(),branch:a().optional(),adopted:u()}),m({branch:a().min(1),create:u().optional()}),m({local:h(a()),remote:h(a()),current:a().optional()}),m({ok:r(!0),fetched:u()}),m({message:a().min(1),allowEmpty:u().optional()}),m({ok:r(!0),sha:a(),filesChanged:d().int()}),m({ok:r(!0),pushed:u(),rejected:t([`non-fast-forward`,`auth`,`unknown`]).optional()});var Ca=m({number:d().int(),title:a(),author:a(),headRef:a(),baseRef:a(),draft:u(),updatedAt:a(),url:a()});m({pulls:h(Ca)}),Ca.extend({body:a(),state:a(),merged:u(),mergeable:u().nullable().optional(),additions:d().int(),deletions:d().int(),changedFiles:d().int()}),m({files:h(m({filename:a(),status:a(),additions:d().int(),deletions:d().int(),changes:d().int(),patch:a().optional(),patchChars:d().int().nonnegative().optional(),patchTruncated:u().optional(),previousFilename:a().optional()})),allFiles:d().int().nonnegative().optional(),totalFiles:d().int().nonnegative().optional(),offset:d().int().nonnegative().optional(),limit:d().int().positive().optional(),hasMore:u().optional(),nextOffset:d().int().nonnegative().optional(),includesPatch:u().optional()}),m({comments:h(m({id:d(),author:a(),body:a(),createdAt:a(),kind:t([`issue`,`review`]),path:a().optional()}))}),m({number:d().int(),diff:a(),path:a().optional(),offset:d().int().nonnegative().optional(),returnedChars:d().int().nonnegative().optional(),totalChars:d().int().nonnegative().optional(),truncated:u().optional(),nextOffset:d().int().nonnegative().optional()}),m({body:a().min(1)}),m({id:d(),url:a()}),m({title:a().min(1),body:a().optional(),head:a().min(1),base:a().min(1),draft:u().optional()}),m({number:d().int(),url:a()}),m({runs:h(m({id:d(),name:a(),status:a(),conclusion:a().nullable(),createdAt:a(),url:a()}))}),m({state:t([`success`,`failure`,`pending`,`unknown`]),checks:h(m({name:a(),status:a(),conclusion:a().nullable(),url:a().optional()}))});var wa=t([`modified`,`added`,`deleted`,`renamed`,`conflicted`]),Ta=m({path:a(),oldPath:a().optional(),kind:wa,additions:d().int().optional(),deletions:d().int().optional(),binary:u().optional()});m({changes:h(Ta),total:d().int(),truncated:u()}),m({path:a(),kind:wa,oldPath:a().optional(),binary:u(),truncated:u(),diff:a().optional(),additions:d().int().optional(),deletions:d().int().optional()}),m({paths:h(a().min(1)).min(1).optional(),all:u().optional()}).refine(e=>!!e.all!=!!e.paths?.length,{message:"Pass exactly one of `paths` or `all`."}),m({ok:r(!0),discarded:d().int()});var Ea=m({sha:a(),shortSha:a(),author:a(),email:a().optional(),date:a(),subject:a(),filesChanged:d().int(),additions:d().int(),deletions:d().int()});m({commits:h(Ea),hasMore:u()}),m({sha:a(),shortSha:a(),author:a(),date:a(),subject:a(),files:h(m({path:a(),additions:d().int().optional(),deletions:d().int().optional(),binary:u().optional()})),diff:a().optional(),truncated:u()}),m({state:t([`synced`,`needs-save`,`conflicts`,`auth`,`offline`,`error`]),pulled:d().int(),pushed:d().int(),merged:u().optional(),branch:a().optional(),conflictedFiles:h(a()).optional(),message:a().optional()});var Da=t([`both-modified`,`both-added`,`deleted-by-us`,`deleted-by-them`]),Oa=m({path:a(),kind:Da});m({inMerge:u(),conflicts:h(Oa)}),m({path:a(),base:a().optional(),ours:a().optional(),theirs:a().optional(),binary:u(),tooLarge:u()}),m({path:a().min(1),choice:t([`mine`,`theirs`,`custom`]),content:a().optional()}).refine(e=>e.choice!==`custom`||e.content!==void 0,{message:"`content` is required when choice is `custom`."}),m({ok:r(!0),remaining:d().int()}),m({message:a().optional()}),m({ok:r(!0),sha:a()}),m({ok:r(!0)}),m({message:a()}),m({path:a().min(1)}),m({path:a(),merged:a()});var ka=t([`commit`,`pr`]),Aa=t([`running`,`complete`,`canceled`,`error`]),ja=m({id:a().min(1),kind:ka,status:Aa,createdAt:a(),settledAt:a().optional(),outcome:t([`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:t([`draft`,`paused`,`active`,`complete`,`canceled`]).optional(),needsAttention:u().optional(),activeStepName:a().optional(),stepsTotal:d().int().optional(),stepsComplete:d().int().optional(),assigneeName:a().optional()});m({kind:ka}),m({ok:r(!0),review:ja}),m({reviews:h(ja)}),m({ok:r(!0),review:ja}),m({version:r(1),reviewId:a().min(1),kind:ka,projectId:a().min(1),createdAt:a(),branch:a(),headSha:a(),baseRef:a(),baseSha:a(),files:h(Ta),totalFiles:d().int(),filesTruncated:u(),diffFile:a(),diffChars:d().int(),diffTruncated:u(),commits:h(Ea).optional(),commitsTruncated:u().optional(),notes:h(a())});var K=t([`webhook`]),Ma=m({url:a().url(),method:t([`POST`,`PUT`]).optional(),headers:g(a(),a()).optional(),bodyTemplate:a().optional(),bodyContentType:a().optional()}),Na=m({default:K.optional(),webhook:Ma.optional()});m({name:K,configured:u(),ready:u(),lastError:a().optional(),detail:g(a(),l()).optional()}),m({channel:K.optional(),message:a().min(1),metadata:g(a(),l()).optional()}),f([m({ok:r(!0),id:a().optional(),channel:K}),m({ok:r(!1),error:a(),channel:K.optional()})]);var Pa=t([`llama-server`,`ds4-server`,`sd-server`,`whisper-server`,`uv`]),Fa=p(`type`,[m({type:r(`progress`),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative()}),m({type:r(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:a()}),m({type:r(`verifying`),what:t([`sha256`,`signature`])}),m({type:r(`done`),binPath:a(),cached:u()}),m({type:r(`error`),error:a()})]),Ia=m({name:Pa,installed:u(),path:a().optional()});m({release:a(),pinned:u(),platformKey:a().nullable(),llamaBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),engines:h(Ia)});var La=m({id:a(),name:a(),kind:a(),lineStart:d().int().positive(),lineEnd:d().int().positive(),signature:a().optional(),parent:a().optional()});m({path:a().min(1)}),m({path:a(),lang:a().nullable(),summary:a().nullable().optional(),symbols:h(La),totalLines:d().int().nonnegative(),engine:t([`index`,`live`,`unavailable`]),truncated:u(),review:Sa.optional()}),m({name:a().min(1),kind:a().optional(),maxResults:d().int().positive().max(200).optional()}),m({matches:h(La.extend({path:a()})),truncated:u(),engine:t([`index`,`unavailable`])}),m({name:a().min(1),path:a().optional()}),m({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()}),m({name:a().min(1),glob:a().optional(),maxResults:d().int().positive().max(500).optional()}),m({references:h(m({path:a(),line:d().int().positive(),text:a()})),truncated:u(),engine:t([`ripgrep`,`javascript`])}),m({path:a().min(1)});var Ra=m({ruleId:a(),category:a(),severity:t([`critical`,`high`,`medium`,`low`,`info`]),line:d().int().positive().nullable(),title:a(),source:a()}),za=m({path:a(),viaBinding:u()}),Ba=m({name:a(),kind:a(),lineStart:d().int().positive(),lineEnd:d().int().positive(),signature:a().optional(),parent:a().optional(),importedBy:h(za),importedByTruncated:u(),uses:h(m({name:a(),from:a(),inRepo:u()})),usedInFileBy:h(a()),findings:h(Ra),summary:a().optional()});m({path:a(),lang:a().nullable(),totalLines:d().int().nonnegative(),summary:a().nullable(),importedBy:h(m({path:a(),names:h(a())})),importedByTruncated:u(),imports:h(m({specifier:a(),resolvedPath:a().nullable(),names:h(a()),default:u(),namespace:u()})),fileFindings:h(Ra),symbols:h(Ba),symbolsTruncated:u(),engine:t([`index`,`live`,`unavailable`]),review:Sa.optional()}),m({path:a().min(1)}),m({path:a(),found:u(),pending:u().optional(),review:Sa.optional(),trackedIssues:h(G).optional(),eligible:u().optional()}),m({severity:va.optional(),category:a().optional(),path:a().optional(),status:ba.optional(),includeClosed:u().optional(),maxResults:d().int().positive().max(1e3).optional()}),m({issues:h(G),counts:m({total:d().int().nonnegative(),bySeverity:g(a(),d().int().nonnegative()),byCategory:g(a(),d().int().nonnegative())}),truncated:u(),indexed:u(),reviewedFiles:d().int().nonnegative(),eligibleFiles:d().int().nonnegative(),reviewers:h(m({model:a().nullable(),provider:a().nullable(),gezelName:a().nullable(),files:d().int().nonnegative()})).optional()}),m({ref:a().regex(/^BW-[1-9]\d*$/)}),m({issue:G}),m({ref:a().regex(/^BW-[1-9]\d*$/),status:ba.optional(),seen:u().optional(),dismissalReason:xa.optional()}).refine(e=>e.status!==void 0||e.seen!==void 0,{message:`status or seen is required`}).refine(e=>e.status===`dismissed`?e.dismissalReason!==void 0:e.dismissalReason===void 0,{message:`dismissalReason is required only when status is dismissed`}),m({issue:G}),m({ref:a().regex(/^BW-[1-9]\d*$/),gezelId:a().min(1),message:a().min(1)}),m({issue:G,taskRef:a().min(1),gezelId:a().min(1),gezelName:a().min(1),enqueued:u()}),m({path:a().optional()}),m({root:a(),languages:h(m({lang:a(),fileCount:d().int().nonnegative()})),areas:h(m({path:a(),fileCount:d().int().nonnegative(),purpose:a().optional()})),entryPoints:h(a()),keyFiles:h(a()),fileCount:d().int().nonnegative(),indexed:u(),architecture:a().optional(),health:m({reviewedFiles:d().int().nonnegative(),eligibleFiles:d().int().nonnegative(),avgHealth:d(),majorIssues:d().int().nonnegative(),minorIssues:d().int().nonnegative(),worstFiles:h(m({path:a(),health:d().int().min(1).max(10),reason:a().optional()})).max(5)}).optional()});var Va=t([`user`,`machine-engine`,`legacy-full`]);m({ok:r(!0),version:a(),serviceRole:Va.optional(),machineEngineConnected:u().optional(),startedAt:a(),nodeVersion:a().optional(),platform:a().optional(),llamaCppBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppDetectedBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppDetectedVendor:t([`amd`,`nvidia`,`intel`]).optional(),llamaCppQuarantinedBackends:h(t([`cuda`,`vulkan`,`metal`,`cpu`])).optional(),ds4ServerBundled:u().optional(),childProcessSpawn:t([`ok`,`denied`]).optional()});var Ha=t([`vram`,`unified`,`ram`]),Ua=m({provider:a(),modelId:a(),reservedBytes:d().nonnegative(),replicaCount:d().int().positive()}),Wa=t([`machine-engine`,`app-engine`,`development-engine`,`gezel-engine`,`external`]),Ga=m({pid:d().int().positive(),name:a().optional(),dedicatedBytes:d().nonnegative(),owner:Wa}),Ka=m({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:t([`idle`,`memory-pressure`]).nullable()});m({kind:Ha,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:m({kind:t([`unified`,`discrete-gpu`,`system-ram`]),vramBytes:d().nonnegative(),ramShareBytes:d().nonnegative(),fastBytes:d().nonnegative()}).nullable().optional(),engineRamSpillover:m({allowed:u(),auto:u(),overridden:u(),coResidencyBytes:d().nonnegative()}).optional(),residentModels:h(Ua),engineLifecycles:h(Ka).optional(),gpuProcesses:h(Ga).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:t([`device-health`,`system-memory`,`capacity-only`]),deviceNames:h(a())}),m({sizeBytes:d().int().positive().max(10*1024**4)}),m({known:u(),ok:u(),freeBytes:d().nonnegative(),requiredBytes:d().positive(),storageLocation:r(`Gezel model storage`)}),m({version:a(),sampledAt:a(),runtime:m({nodeVersion:a(),platform:a(),arch:a(),osRelease:a(),platformKey:a().nullable()}),hardware:m({totalRamBytes:d().nonnegative(),gpuVramBytes:d().nonnegative().nullable(),gpuMemoryKind:t([`discrete`,`integrated`,`unified`,`none`,`unknown`]).optional(),usableBytes:d().nonnegative(),budgetBytes:d().nonnegative().optional(),source:t([`darwin-unified`,`gpu-nvidia`,`gpu-vulkan`,`gpu-integrated`,`system-ram-fallback`]),gpuVendor:t([`amd`,`nvidia`,`intel`]).optional(),description:a(),tier:t([`tiny`,`small`,`medium`,`large`]),gpuDevices:h(m({name:a(),totalMiB:d().nonnegative(),computeCapability:a().optional(),driverVersion:a().optional()}))}),engine:m({nativeRelease:a(),nativePinned:u(),installedEngines:h(Pa),llamaCppBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppDetectedBackend:t([`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppBackendOverride:t([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).optional(),llamaCppRevision:a().optional(),llamaCppBuildBackend:a().optional(),cudaArchitectures:h(a()).optional(),cudaToolkit:a().optional()}),models:m({defaultProvider:F,defaultModel:a().optional(),installed:h(m({id:a(),provider:t([`llama-cpp`,`mlx`,`ds4`]),parameterSize:a().optional()}))}),localEngines:h(m({provider:t([`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()}),m({home:a(),scope:t([`machine`,`user`]),version:a(),startedAt:a(),firstRunCompleted:u(),usage:m({gezelCount:d().int().nonnegative(),projectCount:d().int().nonnegative(),sessionCount:d().int().nonnegative(),everUsed:u()}),provider:F.optional(),defaultModel:a().optional(),memory:m({totalBytes:d().nonnegative(),freeBytes:d().nonnegative()}),engines:h(m({key:a(),residentBytes:d().nonnegative()}))});var qa=m({kind:t([`pat`,`oauth`]),login:a().optional(),name:a().optional(),avatarUrl:a().optional(),scopes:h(a()).optional(),acquiredAt:a().optional()}),Ja=m({documents:a().min(1).optional(),gezels:a().min(1).optional(),projects:a().min(1).optional()}),Ya=m({level:t([`super-lockdown`,`lockdown`,`free`,`custom`]),allowFileEdits:u(),allowExternalChat:u(),allowExternalServices:u(),allowScriptExecution:u(),allowAppNetwork:u()}),Xa=m({mode:t([`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:t([`allow`,`block`]).optional()}),Za=m({format:t([`docx`,`pdf`,`pptx`,`md`,`html`]),themeId:a().min(1),transformStyle:a().min(1),pageSize:t([`letter`,`a4`]),htmlStyle:t([`rendered`,`plain`]),htmlBundle:t([`single`,`zip`])}),Qa=t([`adaptive`,`model-max`]);m({policy:Qa}),m({overrides:g(a(),d().int().positive())}),m({contextTokens:d().int().min(32768).max(4194304).nullable()});var $a=m({enabled:u().default(!1),bindAddress:a().optional(),port:d().int().positive().optional(),priority:t([`equal`,`below-local`,`above-local`]).optional(),reserveLocalGb:d().nonnegative().optional(),allowModels:h(a()).optional(),limits:m({maxConcurrentPerDevice:d().int().positive().optional(),maxChatPerDevice:d().int().positive().optional(),requestsPerMinute:d().int().positive().optional()}).optional()}),eo=m({provider:F.optional(),hosting:t([`auto`,`machine-service`,`per-user`]).optional(),service:m({url:a(),token:a()}).optional(),localEngineIdleTimeoutMs:d().int().min(6e4).optional(),deviceSafety:Xa.optional(),roleBasedNameOnlyMode:u().optional(),showPoppetjes:u().optional(),narrateAssistantReplies:u().optional(),githubToken:a().optional(),githubAuth:qa.optional(),oauthClients:g(a(),m({clientId:a()})).optional(),openaiApiKey:a().optional(),openaiOrganization:a().optional(),anthropicApiKey:a().optional(),googleAiApiKey:a().optional(),imageProvider:t([`sd-cpp`,`google-ai`,`openai`,`mock`]).optional(),defaultImageModel:m({"google-ai":a().optional(),openai:a().optional()}).optional(),imageGenerationConfirmation:f([r(`always-allow`),r(`ask`),m({mode:r(`snooze`),until:a()})]).optional(),gpuMemoryPolicy:t([`auto`,`coexist`,`swap`]).optional(),videoProvider:t([`diffusers`,`mock`]).optional(),defaultVideoModel:a().optional(),videoGenerationConfirmation:f([r(`always-allow`),r(`ask`),m({mode:r(`snooze`),until:a()})]).optional(),recognitionProvider:t([`llama-cpp`,`mlx`,`mock`]).optional(),defaultRecognitionModel:a().optional(),recognition:m({mode:t([`auto`,`always`,`off`]).optional(),modes:h(nn).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:g(a(),u()).optional(),webhookBearerToken:a().optional(),webhookBasicAuth:a().optional(),braveSearchApiKey:a().optional(),tavilyApiKey:a().optional(),ollamaBaseUrl:a().optional(),autoStartOllama:u().optional(),defaultModel:m({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:m({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:g(a(),M).optional(),modelFitness:g(a(),l()).optional(),remoteServing:$a.optional(),fileReviews:m({enabled:u().default(!0),disabledKinds:h(a()).optional()}).optional(),modelTuningProfile:g(a(),a()).optional(),meesterGezelId:a().optional(),sharedProjectId:a().optional(),klerkGezelId:a().optional(),boekwachterGezelId:a().optional(),keurmeesterGezelId:a().optional(),openaiEndpoints:m({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:Qa.optional(),modelContextOverrides:g(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:t([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).optional(),autoDownloadEngines:u().optional(),engineSignaturePolicy:t([`off`,`prefer`,`require`]).optional(),llamaCppKvCacheType:t([`f16`,`q8_0`,`q4_0`]).optional(),llamaCppMlock:u().optional(),llamaCppFlashAttn:f([u(),t([`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:t([`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:g(a(),f([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:g(a(),d().int().min(0)).optional(),localEngineReplicasMax:d().int().positive().optional(),pythonRuntime:m({source:t([`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:m({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:m({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:m({enabled:u().optional()}).optional(),providerQueue:m({affinity:u().optional()}).optional(),taskRunner:m({tickIntervalMs:d().int().min(500).optional()}).optional(),taskBudget:m({enabled:u().optional(),softNudge:u().optional(),hardPause:u().optional(),scale:d().positive().optional(),limits:g(t([`tiny`,`small`,`medium`,`large`,`cloud`]),m({softTurns:d().int().positive().optional(),hardTurns:d().int().positive().optional(),softOutputTokens:d().int().positive().optional(),hardOutputTokens:d().int().positive().optional()}).partial()).optional()}).optional(),stuckStep:m({enabled:u().optional(),stallMs:d().int().positive().optional(),maxRedrives:d().int().positive().optional()}).optional(),autoRecall:m({enabled:u().optional(),topK:d().int().positive().optional(),minScore:d().optional()}).optional(),summarization:m({enabled:u().optional(),provider:F.optional(),model:a().optional(),minUserTurns:d().int().positive().optional(),idleHours:d().positive().optional()}).optional(),memory:m({maintenance:m({enabled:u().optional(),olderThanDays:d().int().min(2).optional(),minEntries:d().int().positive().optional()}).optional(),lessons:m({enabled:u().optional(),maxChars:d().int().positive().optional(),lookbackDays:d().int().positive().optional()}).optional()}).optional(),searchIndex:m({enabled:u().optional(),sessions:u().optional(),history:u().optional(),documents:u().optional()}).optional(),digest:m({enabled:u().optional()}).optional(),gildeUpdates:m({enabled:u().optional()}).optional(),meesterStatus:m({enabled:u().optional(),maxRunsPerDay:d().int().min(1).max(24).optional(),changeWindowHours:d().positive().optional()}).optional(),ambientDashboard:m({enabled:u().optional(),intervalMinutes:d().int().min(15).optional(),resolution:da.optional(),themeId:pa.optional(),displayTarget:_a.optional(),style:fa.optional(),keep:d().int().min(1).max(200).optional()}).optional(),ambientDisplay:m({applyWallpaper:u().optional()}).optional(),growth:m({enabled:u().optional()}).optional(),keurmeester:m({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:m({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(),showWorkInProgressFeatures:u().optional(),resetTemplatesOnStartup:u().optional(),aiEngagementMode:t([`proactive`,`scheduled`,`reactive`,`off`]).optional(),showSystemTray:u().optional(),autoUpdateChecks:u().optional(),quitOnClose:u().optional(),themePref:t([`system`,`light`,`dark`]).optional(),cliShowThinking:u().optional(),cliShowWrites:u().optional(),documentExportOptions:Za.optional(),sidebarSide:t([`left`,`right`]).optional(),homeGreetingCollapsed:u().optional(),workshopTempo:t([`gezellig`,`bedrijvig`,`druk`,`dolle-boel`]).optional(),nightShift:m({enabled:u().optional(),window:m({startHour:d().int().min(0).max(23),endHour:d().int().min(0).max(23)}).optional(),keepAwakeWhileRunning:u().optional(),wakeOnStart:u().optional(),modelOverride:m({enabled:u().optional(),provider:F.optional(),model:a().optional()}).optional(),quotaReserve:m({overall:m({enabled:u().optional(),percent:d().min(0).max(100).optional()}).optional(),perDay:m({enabled:u().optional(),percent:d().min(0).max(100).optional()}).optional()}).optional()}).optional(),toolFilterMode:t([`always`,`never`,`small-model`]).optional(),channels:Na.optional(),sandboxCopilot:u().optional(),anthropicCli:m({binaryPath:a().optional(),manageRuntimeFiles:u().optional(),defaultPermissionMode:A.optional(),extraModels:h(m({id:a(),name:a()})).optional(),poolSize:d().int().min(1).max(32).optional(),workerIdleSec:d().int().min(60).max(3600).optional()}).optional(),codexCli:m({binaryPath:a().optional(),manageRuntimeFiles:u().optional(),defaultPermissionMode:rt.optional(),defaultReasoningEffort:t([`minimal`,`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]).optional(),extraModels:h(m({id:a(),name:a()})).optional(),extraConfigOverrides:g(a(),a()).optional()}).optional(),executionDensity:t([`auto`,`flat`,`scaffold`]).optional(),playwrightHeadless:u().optional(),fetchUrl:m({allow:h(a()).optional(),deny:h(a()).optional()}).optional(),webSearch:m({provider:t([`brave`,`wikipedia`,`tavily`,`mock`]).optional(),fallbackProvider:t([`brave`,`wikipedia`,`tavily`]).optional(),defaultLimit:d().int().min(1).max(20).optional(),allow:h(a()).optional(),deny:h(a()).optional()}).optional(),projectMru:h(m({id:a(),at:d()})).optional(),recentTabs:h(p(`kind`,[m({kind:r(`project`),id:a(),at:d(),order:d()}),m({kind:r(`gezel`),id:a(),at:d(),order:d()}),m({kind:r(`document`),path:a(),at:d(),order:d()}),m({kind:r(`task`),ref:a(),at:d(),order:d()}),m({kind:r(`area`),area:t([`projects`,`gezels`,`documents`,`tasks`,`scripts`,`history`,`settings`,`benchmarks`]),at:d(),order:d()})])).optional(),externalFolders:Ja.optional()}),to=t([`projects`,`gezels`,`documents`,`tasks`,`craftbooks`,`scripts`,`history`,`settings`,`benchmarks`,`handboek`]);p(`kind`,[m({kind:r(`project`),id:a(),at:d(),order:d(),pinned:u().optional()}),m({kind:r(`gezel`),id:a(),at:d(),order:d(),pinned:u().optional()}),m({kind:r(`document`),path:a(),at:d(),order:d(),pinned:u().optional()}),m({kind:r(`task`),ref:a(),at:d(),order:d(),pinned:u().optional()}),m({kind:r(`area`),area:to,at:d(),order:d(),pinned:u().optional()}),m({kind:r(`script`),projectId:a(),name:a(),scope:t([`standard`,`user`]).optional(),at:d(),order:d(),pinned:u().optional()}),m({kind:r(`craftbook`),id:a(),source:t([`bundled`,`local`,`project`]).optional(),at:d(),order:d(),pinned:u().optional()}),m({kind:r(`craftbook-script`),craftbookId:a(),name:a(),at:d(),order:d(),pinned:u().optional()})]),eo.extend({ollamaThink:u().nullable().optional(),firstRunInstallError:a().nullable().optional(),service:m({url:a(),token:a()}).nullable().optional(),llamaCppBaseUrl:a().nullable().optional(),llamaCppModelPath:a().nullable().optional(),llamaCppBackendOverride:t([`auto`,`cuda`,`vulkan`,`metal`,`cpu`]).nullable().optional(),llamaCppKvCacheType:t([`f16`,`q8_0`,`q4_0`]).nullable().optional(),llamaCppFlashAttn:f([u(),t([`on`,`off`,`auto`])]).nullable().optional(),llamaCppSpecType:t([`none`,`draft-mtp`,`draft-eagle3`,`draft-dflash`,`draft-simple`,`ngram-mod`,`ngram-simple`,`ngram-map-k`,`ngram-map-k4v`,`ngram-cache`]).nullable().optional(),llamaCppCpuMoe:u().nullable().optional(),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:m({documents:a().min(1).nullable().optional(),gezels:a().min(1).nullable().optional(),projects:a().min(1).nullable().optional()}).nullable().optional()}),m({gezels:h(mn)}),m({name:a().min(1),description:a().optional(),role:a().optional(),gender:un.optional(),model:a().optional(),about:a().optional()}),m({state:gt,nextLevelXp:d().int(),activeTraits:h(fn),driftedTraitIds:h(a())}),m({proposalId:a().min(1)}),m({proposalId:a().min(1).optional()}),m({source:a()}),m({source:a()}),m({name:a().min(1)}),m({defaults:g(a(),l()).nullable()}),m({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:A.nullable().optional(),codexPermissionMode:rt.nullable().optional(),tuning:M.nullable().optional(),tuningProfile:j.nullable().optional(),iconOverride:u().nullable().optional(),recognition:t([`auto`,`always`,`off`]).nullable().optional()}),m({instruction:a().optional()}),m({role:a().optional()}),m({provider:F,models:h(m({id:a(),name:a(),supportsReasoning:u().optional(),reasoningEfforts:h(a()).optional(),defaultReasoningEffort:a().optional(),contextWindow:d().optional(),supportsTools:u().optional(),parameterSize:a().optional()}))}),m({svg:a()});var no=m({timestamp:a(),svg:a()});m({current:a().nullable(),history:h(no)}),m({timestamp:a()}),m({poppetje:tt}),m({seed:d().int().optional()});var ro=t([`about`,`chat-composer`,`task-description`,`generic`]);m({text:a(),context:ro.optional(),instruction:a().optional(),isSelection:u().optional(),subject:a().optional(),parentContext:a().optional()}),m({text:a()}),m({mode:t([`rewrite`,`insert`]).default(`rewrite`),text:a().default(``),instruction:a().optional(),context:ro.optional(),subject:a().optional(),parentContext:a().optional(),textBefore:a().optional(),textAfter:a().optional()}),p(`type`,[m({type:r(`status`),phase:t([`queued`,`started`]),detail:a().optional()}),m({type:r(`thinking-delta`),text:a()}),m({type:r(`output-delta`),text:a()}),m({type:r(`done`),text:a()}),m({type:r(`error`),error:a()})]),m({path:a().min(1),content:a(),gezelId:a().optional(),sessionId:a().optional()});var io=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`}),ao=p(`kind`,[m({kind:r(`documents`)}),m({kind:r(`project-artifacts`),projectId:a().trim().min(1)})]);m({markdown:a().max(5e6),selectedFile:io,format:t([`mp4`,`gif`]),source:ao}),m({path:a().min(1)}),m({fromPath:a().trim().min(1),toPath:a().trim().min(1)}),m({gezelId:a(),messages:h(xn)}),m({message:a().min(1),projectId:a().optional(),expectedDeliverable:Xi.optional()}),m({accepted:r(!0),gezelId:a()}),m({fromGezelId:a().min(1),fromSessionId:a().optional(),projectId:a().optional(),text:a().min(1),suppressReply:u().optional(),expectedDeliverable:Xi.optional()}),m({accepted:r(!0),sessionId:a(),toGezelId:a(),toGezelName:a(),deduplicated:u().optional()}),m({jobTitle:a().min(1),preferredName:a().optional()}),m({gezelId:a(),name:a(),role:a(),action:t([`reused`,`created-from-gilde`,`created-bespoke`]),matchScore:d().optional(),templateId:a().optional(),alternatives:h(a()).optional()}),m({candidates:h(m({id:a(),label:a(),description:a().optional(),roleBasedName:a().optional(),group:t([`voorman`,`assignees`,`team`]).optional()}))}),m({projects:h(m({projectId:a(),projectName:a(),precedence:t([`voorman`,`assignment`,`session`,`fallback`]),lastActivityAt:a().optional()}))}),m({projectId:a(),gezelId:a(),sessionId:a(),prompt:a().min(1),choices:h(a()).max(20).optional(),allowWriteIn:u().optional(),multiSelect:u().optional(),taskRef:kr.optional(),documentPath:a().optional()}),m({questionId:a(),deduped:u().optional()}),m({projectId:a(),gezelId:a(),sessionId:a(),toolName:a().min(1),toolInput:g(a(),l())}),p(`behavior`,[m({behavior:r(`allow`),updatedInput:g(a(),l())}),m({behavior:r(`deny`),message:a()})]),m({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:Xi.optional()}),p(`outcome`,[m({outcome:r(`reply`),text:a(),toGezelId:a(),toGezelName:a(),sessionId:a()}),m({outcome:r(`error`),reason:t([`cycle`,`depth`,`self`,`not-found`,`engagement-off`,`timeout`,`target-error`,`target-deleted`,`delivery-failed`]),message:a()})]),m({selectedChoices:h(d().int().min(0)).optional(),writeIn:a().optional(),declined:u().optional(),silentSkip:u().optional(),npmInstallDecisions:h(Rt).optional()}),m({questions:h($t)}),m({kind:t([`artifact`,`document`,`workspace`]),path:a().min(1).max(4096)}),m({path:a().min(1)}),p(`mode`,[m({mode:r(`text`),content:a()}),m({mode:r(`markdown`),content:a(),sidecarPath:a().min(1)}),m({mode:r(`media`),mediaKind:t([`image`,`video`,`audio`])}),m({mode:r(`binary`)})]),p(`kind`,[m({kind:r(`found`),content:a(),path:a(),fuzzy:u()}),m({kind:r(`ambiguous`),candidates:h(a())}),m({kind:r(`missing`)})]),m({lines:m({start:d().int().min(1),count:d().int().min(0)}).optional(),head:d().int().min(0).optional(),tail:d().int().min(0).optional()}),p(`kind`,[m({kind:r(`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()}),m({kind:r(`ambiguous`),candidates:h(a())}),m({kind:r(`missing`)})]),m({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()}),p(`kind`,[m({kind:r(`found`),matches:h(m({lineNumber:d().int().min(1),line:a(),contextBefore:h(a()).optional(),contextAfter:h(a()).optional()})),totalMatches:d().int().nonnegative(),totalLines:d().int().nonnegative(),truncated:u(),path:a(),fuzzy:u()}),m({kind:r(`ambiguous`),candidates:h(a())}),m({kind:r(`missing`)}),m({kind:r(`invalid-pattern`),error:a()})]);var oo=m({phase:t([`idle`,`installing-toolsets`,`downloading-browser`,`ready`,`setup-incomplete`,`error`]),currentToolset:a().optional(),browserProgress:m({bytesDownloaded:d(),bytesTotal:d().nullable()}).optional(),error:a().optional(),updatedAt:a()}),so=m({phase:t([`idle`,`provisioning`,`ready`,`error`]),message:a().optional(),error:a().optional(),updatedAt:a()}),co=f([m({kind:r(`stdout`),line:a()}),m({kind:r(`stderr`),line:a()}),m({kind:r(`exit`),code:d()}),m({kind:r(`error`),message:a()})]),lo=p(`type`,[m({type:r(`phase`),phase:t([`resolving`,`downloading`,`extracting`,`installing-deps`,`publishing`])}),m({type:r(`progress`),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative()}),m({type:r(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:a()}),m({type:r(`log`),line:a()}),m({type:r(`done`),installPath:a(),version:a()}),m({type:r(`error`),error:a()})]);m({toolsetId:a(),version:a(),startedAt:a(),phase:t([`resolving`,`downloading`,`extracting`,`installing-deps`,`publishing`]),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative(),retrying:m({attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:a()}).optional(),log:h(a()),finished:u(),error:a().optional(),installPath:a().optional()}),m({available:u(),source:t([`env`,`managed`,`path`]).nullable(),managed:t([`current`,`outdated`,`absent`,`damaged`]),damagedReason:a().optional(),installedVersion:a().optional(),pinnedVersion:a(),installDir:a().optional(),cliPath:a().optional(),updateAvailable:u()}),m({projects:h(Rn.extend({architecture:a().optional()}))});var uo=m({name:a().min(1),description:a().optional(),icon:I.optional(),workingDir:a().min(1).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:t([`crew`,`solo`]).optional(),indexingEnabled:u().optional(),github:m({url:a().url()}).optional()});m({name:a().min(1).optional(),description:a().optional(),icon:I.nullable().optional(),workingDir:a().nullable().optional(),voormanGezelId:a().nullable().optional(),about:a().optional(),missionObjectives:a().optional(),github:f([o(),m({url:a().url().optional(),branch:a().optional()})]).optional(),managedWorkspaceWritePolicy:Fn.optional(),allowGezelWrites:u().optional(),codexPermissionMode:nt.optional(),claudePermissionMode:A.optional(),nudgeConfig:Mn.optional(),tabVisibility:Pn.optional(),indexingEnabled:u().optional(),status:t([`active`,`readonly`,`inactive`,`stable`]).optional(),archived:u().optional(),workspaceScriptTimeoutMs:d().int().min(3e4).max(30*6e4).optional(),grantedCredentials:h(a()).optional(),credentialAllowedOrigins:g(a(),h(kn)).optional(),projectTypeId:a().nullable().optional(),properties:g(a(),a()).optional(),mode:Ln.optional()});var fo=m({typeId:a().min(1),version:a().optional(),params:g(a(),l()).optional()}),po=m({ref:a(),craftbook:a(),cron:a(),consent:t([`ask`,`auto`,`disabled`]),status:t([`active`,`paused`]),created:u()}),mo=m({typeId:a(),version:a(),source:a(),gezelsCreated:h(m({id:a(),name:a(),templateId:a(),voorman:u()})),scriptsInstalled:h(a()),workspaceSeeded:h(a()),toolsetsInstalled:h(a()),toolsBound:h(a()),craftbooksInstalled:h(a()),schedulesCreated:h(po),aboutRendered:u(),missionRendered:u(),deferred:m({toolsets:h(a()),craftbooks:h(a()),pages:u(),schedules:d()})});uo.pick({name:!0,description:!0,mode:!0,icon:!0}).extend({projectType:fo}),m({project:Bn,applied:mo}),m({name:N,version:P.optional()}).strict(),m({packages:h(Lt).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`})}),m({project:Bn,log:a()}),m({scripts:g(a(),a()),packageManager:a().optional()}),m({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()}),m({script:a().min(1),args:h(a()).optional(),timeoutMs:d().int().positive().optional(),gezelId:a().optional(),sessionId:a().optional()}),m({bin:a().min(1),args:h(a()).optional(),timeoutMs:d().int().positive().optional(),gezelId:a().optional(),sessionId:a().optional()}),m({npmApproved:h(m({package:a(),version:a(),at:a(),approvedBy:t([`user`,`shipped`])})),npmDeclined:h(m({package:a(),version:a(),at:a()})),scriptApprovals:g(a(),t([`approved`,`declined`])),npxApprovals:g(a(),t([`approved`,`declined`])),npmShipped:h(m({package:a(),allowedVersions:h(a())}))}),m({error:a(),details:l().optional()}),m({url:a().url(),method:t([`GET`,`HEAD`,`POST`,`PUT`,`PATCH`,`DELETE`]).optional(),headers:g(a(),a()).optional(),body:a().optional(),timeoutMs:d().int().positive().max(12e4).optional(),maxBytes:d().int().positive().max(50*1024*1024).optional()}),m({status:d().int(),statusText:a(),headers:g(a(),a()),body:a().optional(),bodyBase64:a().optional(),mimeType:a().optional(),truncated:u()}),m({query:a().min(1).max(400),limit:d().int().min(1).max(20).optional(),freshness:t([`day`,`week`,`month`,`year`]).optional(),country:a().length(2).optional(),language:a().min(2).max(8).optional()});var ho=m({title:a(),url:a(),snippet:a(),domain:a(),publishedAt:a().optional(),source:t([`brave`,`wikipedia`,`tavily`,`mock`])});m({query:a().min(1).max(400),limit:d().int().min(1).max(20).optional(),language:a().min(2).max(8).optional()}),m({results:h(ho),source:t([`brave`,`wikipedia`,`tavily`,`mock`]),query:a(),durationMs:d().int().nonnegative()}),m({files:h(m({path:a().min(1).max(4096),startLine:d().int().min(1).max(1e7).optional(),endLine:d().int().min(1).max(1e7).optional()}).superRefine((e,t)=>{let r=e.startLine??1;e.endLine!==void 0&&e.endLine<r&&t.addIssue({code:n.custom,path:[`endLine`],message:`endLine must be greater than or equal to startLine`}),e.endLine!==void 0&&e.endLine-r+1>400&&t.addIssue({code:n.custom,path:[`endLine`],message:`a read range may contain at most 400 lines`})})).min(1).max(8)}),m({results:h(p(`status`,[m({status:r(`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:t([`line-limit`,`output-limit`]).optional()}),m({status:r(`error`),path:a(),code:t([`path-not-found`,`path-safety`,`not-file`,`binary-file`,`unsupported-encoding`,`range-out-of-bounds`,`line-too-long`,`scan-limit`,`deadline`,`read-failed`,`aggregate-limit`]),error:a(),scannedBytes:d().int().nonnegative().optional()})])),truncated:u(),totalBytesReturned:d().int().nonnegative(),totalScannedBytes:d().int().nonnegative()}),m({pattern:a().min(1).max(4e3),path:a().max(4096).optional(),glob:a().min(1).max(512).optional(),includeGlobs:h(a().min(1).max(512)).max(32).optional(),excludeGlobs:h(a().min(1).max(512)).max(32).optional(),caseInsensitive:u().optional(),literal:u().optional(),contextLines:d().int().min(0).max(5).optional(),resultMode:t([`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 go=m({line:d().int().positive(),text:a()}),_o=m({path:a(),line:d().int().positive(),text:a(),before:h(go).optional(),after:h(go).optional()});m({mode:t([`matches`,`files`,`count`]).default(`matches`),matches:h(_o),files:h(a()).default([]),count:d().int().nonnegative().default(0),truncated:u(),truncationReason:t([`limit`,`output`]).optional(),nextCursor:d().int().nonnegative().optional(),engine:t([`ripgrep`,`javascript`])}),m({glob:a().min(1),path:a().optional(),caseInsensitive:u().optional(),maxResults:d().int().positive().max(5e3).optional()}),m({files:h(a()),truncated:u()});var q=m({x:d(),y:d(),w:d(),h:d()}),vo=m({id:a(),parentId:a().nullable(),rect:q,label:a(),depth:d().int().nonnegative(),fileCount:d().int().nonnegative(),weight:d().nonnegative(),color:a().optional(),labelPlate:q.optional(),displayLabel:a().optional()}),yo=m({findings:d().int().nonnegative(),maxSeverity:t([`critical`,`high`,`medium`,`low`,`info`]).nullable(),fanIn:d().int().nonnegative(),fanOut:d().int().nonnegative(),vibe:t([`lush`,`tidy`,`plain`,`scruffy`,`blighted`]),zone:t([`residential`,`commercial`,`civic`,`industrial`]),importance:d().min(0).max(1).optional(),churn:d().int().nonnegative().optional()}),bo=t([`hamlet`,`village`,`town`,`city`]),xo=m({id:a(),districtId:a(),rect:q,label:a(),weight:d().nonnegative(),kind:a().nullable().optional(),lang:a().nullable().optional(),state:t([`live`,`new`,`tombstoned`]),buildingCount:d().int().nonnegative(),phantom:u().optional(),placedAt:a().nullable().optional(),lot:q.optional(),health:yo.optional(),levels:d().int().min(1).max(5).optional(),landmark:u().optional(),lastTouchedAt:a().optional(),urbanity:d().min(0).max(1).optional(),settlement:bo.optional()}),So=m({id:a(),blockId:a(),rect:q,height:d().nonnegative(),lines:d().int().positive().optional(),lineStart:d().int().positive().optional(),lineEnd:d().int().positive().optional(),label:a(),kind:a()}),Co=m({id:a(),rect:q,tier:d().int().min(0).max(3),districtId:a().nullable()}),wo=m({id:a(),districtId:a().nullable(),rect:q,kind:t([`plaza`,`green`]),blockId:a().optional()}),To=m({a:a(),b:a(),affinity:d(),source:t([`import`,`embedding`,`mixed`]),bidirectional:u()}),Eo=m({blockId:a(),change:t([`added`,`modified`,`deleted`,`renamed`]),additions:d().int().nonnegative(),deletions:d().int().nonnegative(),fromPath:a().optional()}),Do=m({prNumber:d().int().optional(),title:a().optional(),changedBlocks:h(Eo)}),Oo=m({center:m({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:bo,fileCount:d().int().nonnegative()}),ko=t([`core`,`tests`,`all`]);m({domain:t([`code`,`docs`,`data`]).optional(),scope:ko.optional(),pr:d().int().positive().optional()}),m({domain:a(),root:a(),bounds:q,builtAt:a(),indexed:u(),districts:h(vo),blocks:h(xo),buildings:h(So),roads:h(To),streets:h(Co).optional(),plazas:h(wo).optional(),overlay:Do.optional(),urbanity:Oo.optional(),signals:m({gitAvailable:u(),churnWindowDays:d().int().positive()}).optional()}),m({query:a().min(1),maxResults:d().int().positive().max(100).optional()}),m({results:h(m({sourcePath:a(),markdownPath:a(),lineStart:d().int().positive(),snippet:a()})),engine:t([`fts`,`unavailable`]),truncated:u()}),m({path:a().min(1)}),m({found:u(),sourcePath:a().optional(),markdownPath:a().optional(),markdown:a().optional(),truncated:u()}),m({query:a().min(1),mode:t([`auto`,`semantic`,`keyword`]).optional(),maxResults:d().int().positive().max(100).optional()}),m({results:h(m({path:a(),lineStart:d().int().positive(),lineEnd:d().int().positive(),kind:a(),name:a().optional(),snippet:a(),score:d(),source:t([`vector`,`fts`])})),engine:t([`hybrid`,`semantic`,`fts`,`unavailable`]),truncated:u()});var Ao=t([`critical`,`high`,`medium`,`low`,`info`]),jo=t([`builtin`,`semgrep`,`osv`,`gitleaks`]),Mo=t([`open`,`in_progress`,`resolved`]),No=m({fingerprint:a().min(1),path:a(),line:d().int().positive().nullable(),ruleId:a(),category:a(),severity:Ao,source:jo,title:a(),evidence:a().optional(),status:Mo,taskRef:kr.optional()}),Po=m({total:d().int().nonnegative(),bySeverity:g(a(),d().int().nonnegative()),byCategory:g(a(),d().int().nonnegative()),bySource:g(a(),d().int().nonnegative())});m({useExternalTools:u().optional()}),m({ran:u(),engines:h(a()),toolsAvailable:m({semgrep:u(),osvScanner:u(),gitleaks:u(),npm:u()}),findingCounts:Po,dependencies:d().int().nonnegative(),advisories:d().int().nonnegative()}),m({severity:Ao.optional(),category:a().optional(),path:a().optional(),source:jo.optional(),maxResults:d().int().positive().max(1e3).optional()}),m({findings:h(No),counts:Po,truncated:u(),indexed:u()}),m({fingerprint:a().min(1)}),m({resolved:u()}),m({fingerprint:a().min(1)}),m({finding:No,taskRef:kr,gezelId:a(),gezelName:a(),enqueued:u()}),m({entryPoints:h(a()),routes:h(a()),authBoundaries:h(a()),secretTouchpoints:h(a()),taintSources:h(m({path:a(),count:d().int().positive()}))}).extend({root:a(),indexed:u()}),m({dependencies:h(m({name:a(),ecosystem:a(),version:a().nullable(),direct:u(),advisoryIds:h(a()),maxSeverity:Ao.nullable(),license:a().nullable()})),total:d().int().nonnegative(),withAdvisories:d().int().nonnegative(),scanned:u()}),m({indexed:u(),scanned:u(),findings:Po,attackSurface:m({entryPoints:d().int().nonnegative(),routes:d().int().nonnegative(),authBoundaries:d().int().nonnegative(),secretTouchpoints:d().int().nonnegative(),taintSources:d().int().nonnegative()}),dependencies:m({total:d().int().nonnegative(),withAdvisories:d().int().nonnegative()}),systemicCandidates:h(m({category:a(),fileCount:d().int().positive(),findingCount:d().int().positive(),severity:Ao}))}),m({file:a().min(1),maxHops:d().int().positive().max(8).optional()}),m({file:a(),found:u(),upstream:h(a()),downstream:h(a()),taintSources:h(No),sinks:h(No),note:a()});var Fo=m({kind:t([`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:t([`workspace`,`artifacts`]).optional(),line:d().int().positive().optional(),gezelId:a().optional(),score:d()});m({query:a().min(1).max(400),mode:t([`names`,`full`]).optional(),maxResults:d().int().positive().max(100).optional()}),m({results:h(Fo),truncated:u()}),m({q:a().min(1).max(400),gezel:a().optional(),project:a().optional(),maxResults:d().int().positive().max(100).optional()}),m({results:h(m({sessionId:a(),gezelId:a(),projectId:a(),title:a(),snippet:a(),messageStart:d().int().positive(),lastActivityAt:a(),archived:u()})),engine:t([`fts`,`unavailable`])}),m({q:a().min(1).max(400),maxResults:d().int().positive().max(100).optional()}),m({results:h(m({path:a(),lineStart:d().int().positive(),snippet:a(),score:d().optional(),markdownPath:a().optional()})),engine:t([`hybrid`,`semantic`,`fts`,`unavailable`])}),m({query:a().min(1),maxResults:d().int().positive().max(100).optional()}),m({results:h(m({path:a(),width:d().int().optional(),height:d().int().optional(),format:a().optional(),caption:a().optional(),score:d()})),engine:t([`fts`,`unavailable`]),truncated:u()}),m({path:a().min(1),maxResults:d().int().positive().max(100).optional()}),m({results:h(m({path:a(),score:d()})),engine:t([`vector`,`unavailable`]),truncated:u()}),m({path:a().optional()}),m({path:a(),imageCount:d().int().nonnegative(),formats:h(m({format:a(),count:d().int()})),dimensions:m({minWidth:d().int(),maxWidth:d().int(),minHeight:d().int(),maxHeight:d().int()}).nullable(),samples:h(a()),captioned:d().int().nonnegative()}),m({query:a().optional(),kind:a().optional(),maxResults:d().int().positive().max(200).optional()}),m({entities:h(m({id:d().int(),kind:a(),label:a(),canonical:a(),mentions:d().int().nonnegative()})),engine:t([`index`,`unavailable`])}),m({entity:a().min(1),maxResults:d().int().positive().max(500).optional()}),m({found:u(),entity:m({kind:a(),label:a()}).optional(),mentions:h(m({path:a(),line:d().int().optional(),date:a().optional()}))}),m({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}.`}),m({diff:a(),identical:u()}),m({path:a().min(1),artifact:u().optional()}),m({path:a(),mimeType:a(),base64:a(),bytes:d().int().nonnegative()}),m({path:a().min(1),maxEntries:d().int().positive().max(5e3).optional()});var Io=m({name:a(),size:d().int().nonnegative(),isDirectory:u()});m({format:t([`zip`,`tar`,`tar.gz`]),entries:h(Io),truncated:u()}),m({path:a().min(1),outputPath:a().min(1)}),m({format:t([`zip`,`tar`,`tar.gz`]),extractedCount:d().int().nonnegative(),destination:a()}),m({subcommand:t([`status`,`log`,`diff`,`show`,`blame`,`branch`,`rev-parse`,`ls-files`]),args:h(a()).max(32).optional(),timeoutMs:d().int().positive().max(12e4).optional()}),m({code:d().int(),stdout:a(),stderr:a(),stdoutTruncated:u(),timedOut:u()}),m({deviceCode:a(),userCode:a(),verificationUri:a(),interval:d().int().positive(),expiresIn:d().int().positive()});var Lo=m({login:a(),name:a().optional(),avatarUrl:a().optional()});m({deviceCode:a()}),p(`status`,[m({status:r(`pending`)}),m({status:r(`slow_down`)}),m({status:r(`expired`)}),m({status:r(`denied`),error:a().optional()}),m({status:r(`success`),identity:Lo,scopes:h(a()).optional()}),m({status:r(`not_configured`),error:a()})]),f([Lo.extend({signedIn:r(!0)}),m({signedIn:r(!1)})]),m({repos:h(m({fullName:a(),url:a(),description:a().optional(),private:u().optional(),pushedAt:a().optional()}))}),m({url:a()}),m({owner:a(),repo:a(),canonicalUrl:a(),defaultBranch:a().optional(),description:a().optional(),topics:h(a()).optional(),language:a().optional(),readme:a(),readmeTruncated:u()}),m({name:a().min(1),repoUrl:a(),description:a().optional(),topics:h(a()).optional(),readme:a()}),m({about:a(),missionObjectives:a()}),m({path:a().min(1)}),m({name:a(),about:a().optional(),source:a().optional()});var Ro=m({name:a(),kind:t([`npm-script`,`workspace-script`,`vscode-launch`,`bin`]),source:a(),run:a(),description:a().optional()}),zo=m({version:d().int(),scannedAt:a(),root:a(),durationMs:d().int(),fileCount:d().int(),commandCount:d().int(),shapeCount:d().int().optional()}),Bo=m({name:a(),char:a().length(1).optional(),type:t([`boolean`,`option`]),description:a().optional(),required:u().optional(),default:a().optional(),options:h(a()).optional(),multiple:u().optional()}),Vo=m({name:a(),description:a().optional(),required:u().optional(),default:a().optional(),options:h(a()).optional()}),Ho=m({source:r(`oclif`),package:a(),packageVersion:a().optional(),summary:a().optional(),description:a().optional(),subcommands:h(m({name:a(),fullName:a(),summary:a().optional()})).optional(),flags:h(Bo).optional(),args:h(Vo).optional(),usage:a().optional(),examples:h(a()).optional()});m({shapes:g(a(),Ho)}),m({state:t([`fresh`,`stale`,`indexing`,`never`,`disabled`]),meta:zo.optional(),aiScanPending:u().optional(),aiDrive:t([`background`,`full`]).optional(),enrichment:m({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:m({eligible:d().int().nonnegative(),reviewed:d().int().nonnegative(),stale:d().int().nonnegative(),pending:d().int().nonnegative()}).optional()}).optional()}),m({files:h(m({path:a(),size:d(),mtimeMs:d()})),total:d().int().nonnegative()}),m({maxFiles:d().int().positive().max(25).optional(),budgetMs:d().int().positive().max(6e4).optional(),areas:u().optional(),reviews:u().optional(),intensity:t([`background`,`full`]).optional()}),m({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:t([`background`,`full`]).optional()});var Uo=m({ref:a(),title:a(),projectName:a(),stepName:a().optional(),quotaHeld:u().optional()});m({background:h(m({id:a(),title:a(),detail:a(),projectName:a().optional()})),active:h(Uo),upcoming:h(Uo)});var Wo=m({ref:a(),title:a(),projectId:a(),projectName:a(),completedAt:a().optional()}),Go=m({projectId:a(),projectName:a(),path:a(),title:a(),writtenAt:a().optional(),actionCounts:m({total:d(),suggested:d(),fired:d(),applied:d(),dismissed:d()})});m({windowKey:a(),windowStart:a(),windowEnd:a(),tasksCompleted:h(Wo),reports:h(Go)});var Ko=m({provider:F,bucket:a(),remainingPercent:d(),floorPercent:d(),rule:t([`overall`,`per-day`]),resetDate:a().optional()}),qo=m({start:a(),end:a(),open:u()});m({active:u(),source:t([`scheduled`,`manual`]).nullable(),quotaHold:m({heldTaskCount:d(),reasons:h(Ko)}).optional(),window:qo.nullable().optional(),startedAt:a().nullable().optional()}),m({since:a(),until:a(),live:u(),tasksCompleted:d(),stepsCompleted:d(),filesIndexed:d(),filesReviewed:d(),mediaDescribed:d(),filesWritten:d(),documentsCreated:d(),imagesRendered:d(),questionsRaised:d(),toolCalls:d()}),m({meta:zo,commands:h(Ro),shapes:g(a(),Ho).optional()}),m({skills:h(m({name:a(),source:a(),origin:t([`claude`,`gstack`,`agents`,`other`]),description:a().optional(),triggers:h(a()).optional(),version:a().optional(),body:a(),generated:u().optional(),hasShellScripts:u(),files:h(m({relPath:a(),kind:t([`section`,`reference`,`template`,`script`,`bin`,`other`]),bytes:d().int().nonnegative()})).optional()}))}),m({instructions:h(m({source:a(),origin:t([`agents`,`claude`,`copilot`]),content:a(),hash:a(),mtimeMs:d()}))}),m({sessionId:a(),providerName:a(),model:a().optional(),modelTier:t([`tiny`,`small`,`medium`,`large`,`cloud`]),parameterSize:a().optional(),leaksUntaggedReasoning:u(),reasoningEffort:a().optional(),numCtx:d().optional(),systemPrompt:a(),volatileContext:a().optional(),customToolsMd:u(),registeredTools:h(a()),registeredToolsSource:t([`live`,`persisted`,`unavailable`,`caller`]).optional(),externalConversation:m({appId:a(),appName:a(),externalConversationId:a(),workingDirectory:a().optional(),request:Zi.optional()}).optional(),turnStatus:t([`idle`,`in-progress`,`queued`]),recentMessages:h(m({role:t([`user`,`assistant`,`system`,`tool`]),content:a(),reasoning:a().optional(),warnings:h(a()).optional(),synthetic:t([`compaction-summary`,`context-loop-halt`,`turn-aborted`,`growth-announcement`,`keurmeester-notice`]).optional(),attemptedToolCalls:h(m({body:a(),reason:a().optional()})).optional(),toolCalls:h(m({name:a(),argsSummary:a().optional(),success:u(),errorMessage:a().optional()})).optional()})),diagnostics:m({sessionRecordPath:a(),logsDir:a(),engineLogGlob:a().optional()}).optional(),generatedAt:a()}),m({source:a().min(1),dest:a().min(1),gezelId:a().optional(),sessionId:a().optional()}),m({ok:r(!0),source:a(),dest:a(),bytes:d().int().nonnegative()}),m({url:a().url(),dest:a().optional(),branch:a().min(1).optional(),gezelId:a().optional(),sessionId:a().optional()}),m({ok:r(!0),path:a(),files:d().int().nonnegative(),bytes:d().int().nonnegative()}),m({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()}),m({ok:r(!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()}),m({path:a().min(1),find:a().min(1),replace:a(),occurrence:f([d().int().positive(),r(`all`)]).optional(),gezelId:a().optional(),sessionId:a().optional()}),m({path:a().min(1),diff:a().min(1),gezelId:a().optional(),sessionId:a().optional()}),m({path:a().min(1),marker:a().min(1),content:a(),where:t([`before`,`after`]).optional(),gezelId:a().optional(),sessionId:a().optional()}),m({path:a().min(1),startLine:d().int().positive(),endLine:d().int().positive(),content:a(),gezelId:a().optional(),sessionId:a().optional()}),m({ok:r(!0),path:a(),diff:a(),addedLines:d().int().nonnegative(),removedLines:d().int().nonnegative(),diffTruncated:u().optional()}),m({tools:h(m({name:a(),description:a(),parameters:g(a(),l())}))}),m({args:g(a(),l()).optional()}),m({text:a(),images:h(m({base64:a(),mimeType:a()}))});var Jo=t([`NW`,`N`,`NE`,`W`,`C`,`E`,`SW`,`S`,`SE`]),Yo=m({path:a().min(1),region:Jo,cx:d().min(0).max(1),cy:d().min(0).max(1)}),Xo=m({path:a().min(1),region:Jo.optional(),rect:q.optional(),style:a().optional()}),Zo=m({k:t([`block`,`street`,`plate`,`plaza`]),id:a(),p:a().nullable().optional(),h:a().nullable().optional(),r:s([d(),d(),d(),d()]),w:d().optional(),a:a().nullable().optional(),d:a().nullable().optional()}),Qo=m({cx:d(),cy:d(),r:d().positive(),impRef:d().min(0)}),$o=m({layoutVersion:d().int().positive(),anchors:h(Yo).default([]),journal:h(Zo).default([]),downtown:Qo.optional()});m({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:h(Xo).default([]),domains:g(a(),$o).default({})});var J=m({ok:u(),detail:a()}),es=t([`probed`,`failed`,`deferred`,`blocked`]),ts=t([`install`,`manual`]);m({schemaVersion:r(1),provider:a(),modelId:a(),status:es,admitted:u(),genTokensPerSec:d().nullable(),shortPromptGenTokensPerSec:d().nullable().optional(),representativeContext:m({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:ts,sha256:a().optional(),catalogVersion:a().optional(),contextWindow:d().int().optional(),host:m({totalRamBytes:d(),gpuVramBytes:d().nullable(),source:a()}),checks:m({spawn:J,toolRoundTrip:J,throughput:J,reasoningBudget:J,contextFit:J})}),m({scope:p(`kind`,[m({kind:r(`gezel`),gezelId:a()}),m({kind:r(`project`),projectId:a()}),m({kind:r(`shared`)}),m({kind:r(`system`)})]),text:a().min(1).max(2*1024*1024),sourceName:a().min(1).max(512).optional()});var ns=m({serverName:a().optional(),message:a()});m({ok:r(!0),imported:h(a()),warnings:h(ns).default([])});var rs=t([`fire-craftbook`,`create-task`,`apply-edits`]),is={id:a().regex(/^[a-z0-9][a-z0-9_-]*$/i).optional(),title:a().min(1),reason:a().optional(),projectId:a().optional()},as=p(`kind`,[m({kind:r(`fire-craftbook`),...is,craftbookId:a().min(1),params:g(a(),a()).optional()}),m({kind:r(`create-task`),...is,prompt:a().min(1),role:a().optional()}),m({kind:r(`apply-edits`),...is,edits:h(m({path:a().min(1),diffArtifact:a().min(1)})).min(1)})]),os=t([`suggested`,`fired`,`applied`,`failed`,`dismissed`]),ss=m({actionId:a(),reportPath:a(),kind:rs,contentHash:a(),firstSeenAt:a(),state:os,taskRef:a().optional(),firedAt:a().optional(),settledAt:a().optional(),outcome:t([`complete`,`canceled`]).optional(),results:h(m({path:a(),ok:u(),error:a().optional()})).optional()}),cs=m({index:d().int(),message:a(),raw:a()});m({actions:h(m({action:as,id:a(),contentHash:a(),state:os,taskRef:a().optional(),firedAt:a().optional(),settledAt:a().optional(),outcome:t([`complete`,`canceled`]).optional(),results:h(m({path:a(),ok:u(),error:a().optional()})).optional(),contentChanged:u().optional()})),issues:h(cs),stale:h(ss)}),m({path:a().min(1),actionId:a().min(1),params:g(a(),a()).optional()}),m({record:ss,taskRef:a().optional()}),m({path:a().min(1),actionId:a().min(1)});var ls=p(`kind`,[m({kind:r(`gezel-template`),templateId:a(),gezelId:a().optional(),gezelName:a().optional(),role:a().optional()}),m({kind:r(`project-type`),typeId:a(),scheduleKey:a()})]),us=t([`suggested`,`enabled`,`paused`,`dismissed`]);m({items:h(m({key:a(),source:ls,craftbookId:a(),craftbookName:a().optional(),description:a().optional(),reason:a().optional(),runMode:t([`night-shift`,`scheduled`]),cron:a().optional(),overlap:hr.optional(),paramSchema:g(a(),l()).optional(),params:g(a(),a()).optional(),state:us,taskRef:a().optional(),pendingQuestionId:a().optional(),orphaned:u().optional()}))}),m({key:a(),params:g(a(),a()).optional()}),m({key:a()}),m({key:a(),dismissed:u()});var ds=t([`workspace`,`artifacts`]),Y={__gezelPage:r(1)};p(`kind`,[m({...Y,kind:r(`hello`)}),m({...Y,kind:r(`invoke`),id:a().min(1).max(64),tool:a().regex(/^[a-z][a-z0-9_]*$/),input:g(a(),l()).optional()}),m({...Y,kind:r(`read`),id:a().min(1).max(64),op:t([`read`,`list`,`stat`]),source:ds,path:a().min(1),as:t([`text`,`json`,`bytes`]).optional(),maxBytes:d().int().positive().optional()}),m({...Y,kind:r(`watch`),id:a().min(1).max(64),source:ds,path:a().min(1)}),m({...Y,kind:r(`unwatch`),id:a().min(1).max(64)}),m({...Y,kind:r(`refresh`)})]);var fs=t([`not-allowed`,`invalid-input`,`script-error`,`timeout`,`unavailable`,`rate-limited`]);p(`kind`,[m({...Y,kind:r(`init`),api:r(1),theme:m({mode:t([`light`,`dark`])}),limits:m({maxInflight:d().int().positive(),maxReadBytes:d().int().positive()})}),m({...Y,kind:r(`result`),id:a(),ok:u(),output:l().optional(),error:a().optional(),errorCode:fs.optional(),runId:a().optional(),reaction:m({delivered:u(),gezelId:a().optional(),reason:a().optional()}).optional()}),m({...Y,kind:r(`read-result`),id:a(),ok:u(),error:a().optional(),errorCode:fs.optional(),content:a().optional(),encoding:t([`utf8`,`base64`]).optional(),entries:h(m({name:a(),kind:t([`file`,`dir`]),size:d().nonnegative(),mtime:d().nonnegative()})).optional(),etag:a().optional(),size:d().nonnegative().optional(),mtime:d().nonnegative().optional()}),m({...Y,kind:r(`change`),watchId:a(),path:a(),etag:a()}),m({...Y,kind:r(`theme`),theme:m({mode:t([`light`,`dark`])})})]),m({api:r(1),projectId:a(),source:r(`type`),entry:a(),typeName:a(),params:g(a(),l()),tools:h(a())});var ps=a().min(1).describe(`CSS color — hex (#rgb, #rgba, #rrggbb, #rrggbbaa) or the keyword "transparent".`),ms={x:d().optional(),y:d().optional(),width:d().positive().optional(),height:d().positive().optional(),opacity:d().min(0).max(1).optional()},hs=p(`kind`,[m({kind:r(`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.`),...ms}),m({kind:r(`html`),html:a().min(1).describe(`HTML fragment rendered inside a sandboxed iframe.`),...ms}),m({kind:r(`pixels`),rows:h(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:g(a(),ps).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.`),...ms}),m({kind:r(`image`),artifactPath:a().min(1).describe(`Path to a previously-written artifact, relative to the project artifacts/ root.`),...ms}),m({kind:r(`text`),text:a().min(1),x:d(),y:d(),font:a().optional(),size:d().positive().optional(),color:ps.optional(),weight:d().int().optional(),opacity:d().min(0).max(1).optional()})]);m({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:h(hs).min(1).max(64),background:ps.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:t([`png`,`jpeg`]).optional().describe(`Output format. Defaults to png.`)}),m({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:t([`playwright`,`resvg`]).describe(`Which render engine produced the image.`)});var gs=f([m({data:a().min(1),mimeType:a().default(`image/png`)}),m({artifactPath:a().min(1)})]);m({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:h(gs).optional(),strength:d().min(0).max(1).optional(),projectId:a().optional(),gezelId:a().optional(),sessionId:a().optional(),inline:u().optional(),saveAs:a().optional()});var _s=m({model:a(),seed:d().int(),steps:d().int(),widthPx:d().int().positive(),heightPx:d().int().positive(),durationMs:d().int().nonnegative(),img2imgSkippedReason:a().optional()});m({artifactPath:a(),workspacePath:a().nullable(),meta:_s,b64Png:a().optional()}),m({models:h(m({id:a(),name:a(),approxSizeBytes:d().int().nonnegative(),installedAt:a(),kind:t([`local`,`cloud`]).optional(),supportsImg2Img:u().optional()})),defaultModel:a().optional()}),m({engine:m({status:t([`ok`,`unreachable`,`not-configured`]),baseUrl:a(),error:a().optional(),kind:t([`local`,`cloud`]).optional(),provider:a().optional()}),modelCount:d().int().nonnegative()}),m({pulls:h(m({id:a(),startedAt:a(),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative(),retrying:m({attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().int().nonnegative(),reason:a()}).optional(),finished:u(),error:a().optional()}))});var vs=p(`type`,[m({type:r(`progress`),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative().optional()}),m({type:r(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().int().nonnegative(),reason:a()}),m({type:r(`error`),error:a()}),m({type:r(`done`),id:a()})]),ys=f([m({data:a().min(1),mimeType:a().default(`image/png`)}),m({artifactPath:a().min(1)})]);m({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:ys.optional(),projectId:a().optional(),gezelId:a().optional(),sessionId:a().optional(),inline:u().optional(),saveAs:a().optional()});var bs=m({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()});m({artifactPath:a(),workspacePath:a().nullable(),meta:bs,b64Poster:a().optional()}),m({models:h(m({id:a(),name:a(),approxSizeBytes:d().int().nonnegative(),installedAt:a(),kind:t([`local`,`cloud`]).optional(),readOnly:u().optional()})),defaultModel:a().optional()});var xs=t([`cuda`,`mps`,`cpu`]);m({engine:m({status:t([`ok`,`unreachable`,`not-configured`]),baseUrl:a(),error:a().optional(),kind:t([`local`,`cloud`]).optional(),provider:a().optional(),accelerator:xs.optional()}),modelCount:d().int().nonnegative()}),m({pulls:h(m({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:m({attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().int().nonnegative(),reason:a()}).optional(),finished:u(),error:a().optional()}))});var Ss=p(`type`,[m({type:r(`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()}),m({type:r(`retrying`),file:a(),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().int().nonnegative(),reason:a()}),m({type:r(`verifying`),file:a()}),m({type:r(`error`),error:a()}),m({type:r(`done`),id:a()})]);m({audio:f([m({data:a().min(1).describe(`Base64-encoded audio bytes.`),mimeType:a().default(`audio/wav`)}),m({artifactPath:a().min(1).describe("Project-relative artifact path under `audio/` or `audio/uploaded/`.")})]),model:a().optional(),language:a().optional(),projectId:a().optional()});var Cs=m({start:d(),end:d(),text:a()});m({text:a(),language:a().optional(),segments:h(Cs).optional(),durationMs:d().int().nonnegative()}),m({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 ws=m({voice:a(),model:a(),sampleRate:d().int().positive(),durationSeconds:d().nonnegative(),durationMs:d().int().nonnegative()});m({artifactPath:a(),meta:ws,b64Wav:a().optional()}),m({models:h(m({id:a(),name:a(),approxSizeBytes:d().int().nonnegative(),installedAt:a()}))});var Ts=m({id:a(),name:a(),description:a(),approxSizeBytes:d().int().nonnegative(),kind:t([`stt`,`tts`]),license:a().optional(),...B,...V});m({stt:h(Ts),tts:h(Ts)}),m({voices:h(m({id:a(),name:a(),language:a(),gender:t([`female`,`male`,`neutral`]).optional(),modelId:a()}))});var Es=m({status:t([`ok`,`unreachable`,`not-configured`,`no-model`]),baseUrl:a().optional(),error:a().optional(),provider:a().optional(),modelCount:d().int().nonnegative()});m({stt:Es,tts:Es});var Ds=p(`type`,[m({type:r(`progress`),bytesWritten:d().int().nonnegative(),totalBytes:d().int().nonnegative().optional()}),m({type:r(`error`),error:a()}),m({type:r(`done`),id:a()})]),Os=t([`conceptual`,`gezel-roles`,`craftbooks`,`project-types`,`technical`,`whats-new`]);t([`app`,`site`,`agent`]);var ks=m({id:a().min(1),title:a().min(1),order:d()}),As=m({id:a().min(1),title:a().min(1),area:Os,order:d(),summary:a().optional(),generated:u(),siteVisible:u().optional(),subcategory:ks.optional()});m({areas:h(m({area:Os,title:a(),entries:h(As)}))});var js=m({path:a().min(1),gezelId:a().min(1),name:a(),roleLabel:a().optional(),variant:t([`full`,`headshot`,`icon`]),poppetje:tt}),Ms=m({blockId:a(),hash:a().regex(/^[a-f0-9]{64}$/),durationMs:d().int().nonnegative(),silent:u().optional()});m({articleId:a(),voice:a(),model:a(),segments:h(Ms)}),m({results:h(m({id:a().min(1),title:a().min(1),area:Os,summary:a().optional(),markdown:a(),figures:h(js).default([]),generated:u(),defaultDuration:d().positive().optional()}))});var Ns=t([`redownloadable`,`user-content`,`ephemeral`,`uninstaller-owned`]),Ps=t([`models`,`native-engines`,`engine-caches`,`toolsets`,`gilde-cache`,`derived-caches`,`service-bundle`,`runtimes`,`gezels`,`projects`,`documents`,`settings`,`secrets`,`folder-backups`,`git-clones`]),Fs=m({id:a(),label:a(),bytes:d(),external:u(),blockedReason:a().optional()}),Is=m({id:Ps,class:Ns,label:a(),description:a(),bytes:d(),itemCount:d(),deletable:u(),inBackup:u(),external:h(m({path:a(),bytes:d()})),items:h(Fs).optional()});m({home:a(),categories:h(Is),redownloadableBytes:d(),userContentBytes:d(),measuredAt:a()}),m({categories:h(Ps).min(1),itemIds:i(Ps,h(a())).optional(),confirmUserContent:u().optional()});var Ls=t([`cleanup`,`backup`,`restore`]),Rs=t([`queued`,`running`,`done`,`error`,`cancelled`]),zs=t([`quiesce`,`delete`,`scan`,`write`,`extract`,`publish`,`verify-recovery`]);m({id:a(),kind:Ls,status:Rs,phase:zs.optional(),currentLabel:a().optional(),itemsDone:d(),totalItems:d(),bytesDone:d(),totalBytes:d(),startedAt:a(),endedAt:a().optional(),error:a().optional(),restartRequired:u(),cancelRequested:u(),skippedExternal:h(m({label:a(),path:a()}))});var Bs=t([`gezel`,`project`,`document-root`,`settings-file`]);m({items:h(m({kind:Bs,id:a(),label:a(),bytes:d(),fileCount:d(),external:u()})),totalBytes:d(),secretsExcluded:r(!0),warnings:h(a()),destFreeBytes:d().optional()}),m({outPath:a(),include:m({gezels:h(a()).optional(),projects:h(a()).optional(),documents:u().optional(),settings:u().optional()}).optional(),excludeWorkspaces:u().optional()}),m({schemaVersion:d(),kind:r(`gezel-backup`),createdAt:a(),gezelVersion:a(),platform:a(),externalFolders:m({documents:a().optional(),gezels:a().optional(),projects:a().optional()}).nullable(),items:h(m({kind:Bs,id:a(),label:a(),entryPrefix:a(),bytes:d(),fileCount:d()})),secretsExcluded:r(!0)}),m({path:a()});var Vs=t([`none`,`exists`]),Hs=m({kind:Bs,id:a(),label:a(),bytes:d(),fileCount:d(),conflict:Vs});m({restoreId:a(),createdAt:a(),gezelVersion:a(),archivePath:a(),items:h(Hs),secretsExcluded:r(!0),warnings:h(a())}),m({items:h(m({kind:Bs,id:a(),action:t([`add`,`replace`])})),settings:u().optional()});var Us=e({GezelApiError:()=>Q,GezelClient:()=>fc,SsePayloadError:()=>qs,SsePrematureEofError:()=>Ks,SseResponseError:()=>Js,SseStreamStaleError:()=>Gs,consumeSseJson:()=>Xs,streamAllChatEvents:()=>$s,streamChatEvents:()=>Zs,streamCopilotLogin:()=>rc,streamMlxRuntimeStatus:()=>nc,streamProjectChatEvents:()=>Qs,streamSystemToolsetStatus:()=>tc,streamTerminalEvents:()=>ec}),Ws=2*6e4,Gs=class extends Error{constructor(e){super(`SSE stream stale: no bytes from server in ${e}ms`),this.name=`SseStreamStaleError`}},Ks=class extends Error{constructor(e=`SSE operation`){super(`${e} ended before a terminal event was received`),this.name=`SsePrematureEofError`}},qs=class extends Error{constructor(e){super(e),this.name=`SsePayloadError`}},Js=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 Js(i.ok?0:i.status,i.statusText);let a=i.body.getReader(),o=new TextDecoder,s=``,c=e.keepaliveTimeoutMs??0,ee=!1,te=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 qs(`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 qs(`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 Ys(a,c);if(t){if(s+=o.decode(),s.trim()!==``){let e=te(s);e&&(yield e,n?.(e)&&(ee=!0))}if(r.requireTerminal&&!ee)throw new Ks(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=te(e);if(t&&(yield t,n?.(t))){ee=!0;return}i=/\r?\n\r?\n/.exec(s)}}}finally{await a.cancel().catch(()=>{}),a.releaseLock()}}async function Ys(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 Gs(t)),t)})])}finally{n&&clearTimeout(n)}}async function Xs(e){let{schema:t,onEvent:n,isTerminal:r,label:i,...a}=e;for await(let e of X({keepaliveTimeoutMs:Ws,...a},t,r,{strictPayloads:!0,requireTerminal:!0,label:i}))n(e)}function Zs(e){return X(e,Cn,e=>e.type===`done`,{requireTerminal:!0,label:`Chat stream`})}function Qs(e){return X({keepaliveTimeoutMs:1e4,...e},wn)}function $s(e){return X({keepaliveTimeoutMs:1e4,...e},wn)}function ec(e){return X({keepaliveTimeoutMs:1e4,...e},Ji)}function tc(e){return X(e,oo)}function nc(e){return X(e,so)}function rc(e){return X({method:`POST`,...e},co,e=>e.kind===`exit`||e.kind===`error`,{requireTerminal:!0,label:`Copilot login stream`})}var ic=class extends Error{},Z={keepaliveTimeoutMs:40*6e4,staleMessage:`Download stopped: server has gone quiet.`},Q=class extends Error{constructor(e,t,n){super(e),this.status=t,this.details=n,this.name=`GezelApiError`}status;details};function ac(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 Xs(n)}catch(e){throw e instanceof Q?e:new Q(e instanceof Gs&&t?t:e instanceof Error?e.message:`SSE stream failed`,e instanceof Js?e.status:0,{cause:e instanceof Error?e.name:`unknown`})}}var oc=m({file:a(),expected:a(),actual:a()}),sc=p(`type`,[m({type:r(`progress`),bytesWritten:d(),totalBytes:d()}),m({type:r(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:a()}),m({type:r(`verifying`)}),m({type:r(`extracting-metadata`)}),m({type:r(`companion`),kind:r(`image-recognition`),id:a(),name:a(),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative(),error:a().optional()}),m({type:r(`done`),id:a(),warning:a().optional()}),m({type:r(`error`),error:a(),mismatch:oc.optional()})]),cc=p(`type`,[m({type:r(`progress`),fileIndex:d().int().nonnegative(),fileCount:d().int().positive(),file:a(),bytesWritten:d().nonnegative(),totalBytes:d().nonnegative(),bytesWrittenAll:d().nonnegative(),totalBytesAll:d().nonnegative()}),m({type:r(`retrying`),attempt:d().int().positive(),maxAttempts:d().int().positive(),delayMs:d().nonnegative(),reason:a(),file:a()}),m({type:r(`verifying`),file:a()}),m({type:r(`extracting-metadata`)}),m({type:r(`done`),id:a(),warning:a().optional()}),m({type:r(`error`),error:a(),mismatch:oc.optional()})]),lc=p(`type`,[m({type:r(`spawned`),trialId:a().optional(),runDir:a().optional()}),m({type:r(`log`),line:a()}),m({type:r(`done`),result:m({trialId:a(),scenarioId:a(),modelId:a(),startedAt:a(),finishedAt:a(),durationMs:d(),success:u(),reason:a(),failureMode:a().optional(),runDir:a()})}),m({type:r(`error`),error:a()})]),uc=p(`type`,[m({type:r(`status`),phase:t([`queued`,`started`]),detail:a().optional()}),m({type:r(`thinking-delta`),text:a()}),m({type:r(`output-delta`),text:a()}),m({type:r(`done`),text:a()}),m({type:r(`error`),error:a()})]),dc=p(`type`,[m({type:r(`progress`),chunk:m({status:a(),digest:a().optional(),total:d().optional(),completed:d().optional()})}),m({type:r(`error`),error:a()}),m({type:r(`done`)})]),fc=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=ac(n);throw new Q(`Gezel API transport unavailable on ${e} ${t}: ${r}`,0,{kind:`transport`,cause:r})}if(!a.ok){let n;try{let e=await a.text();if(e.length===0)n=void 0;else try{n=JSON.parse(e)}catch{n=e}}catch(e){n=e instanceof Error?e.message:String(e)}throw new Q(`Gezel API error ${a.status} on ${e} ${t}`,a.status,n)}if(a.status!==204)return await a.json()}health(e){return this.request(`GET`,`/api/health`,void 0,void 0,e)}getUsage(){return this.request(`GET`,`/api/usage`)}getQueueStatus(){return this.request(`GET`,`/api/queues`)}cancelProviderQueueItem(e,t){return this.request(`DELETE`,`/api/queues/${encodeURIComponent(e)}/${t}`)}moveProviderQueueItem(e,t,n){return this.request(`POST`,`/api/queues/${encodeURIComponent(e)}/${t}/move`,{direction:n})}getCacheStats(){return this.request(`GET`,`/api/cache/stats`)}evictSessionCache(e){return this.request(`POST`,`/api/cache/evict`,{sessionId:e})}clearProviderCache(e){return this.request(`POST`,`/api/cache/clear`,{provider:e})}warmSessionCache(e){return this.request(`POST`,`/api/cache/warm`,{sessionId:e})}getConfig(){return this.request(`GET`,`/api/config`)}updateConfig(e){return this.request(`PUT`,`/api/config`,e)}getCodexSetupStatus(){return this.request(`GET`,`/api/codex-setup`)}configureCodex(e){return this.request(`PUT`,`/api/codex-setup`,e)}removeCodexSetup(){return this.request(`DELETE`,`/api/codex-setup`)}getOpenCodeSetupStatus(){return this.request(`GET`,`/api/opencode-setup`)}configureOpenCode(e){return this.request(`PUT`,`/api/opencode-setup`,e)}removeOpenCodeSetup(){return this.request(`DELETE`,`/api/opencode-setup`)}installOpenCodePlugin(e={}){return this.request(`PUT`,`/api/opencode-setup/plugin`,e)}removeOpenCodePlugin(){return this.request(`DELETE`,`/api/opencode-setup/plugin`)}getPiSetupStatus(){return this.request(`GET`,`/api/pi-setup`)}configurePi(e){return this.request(`PUT`,`/api/pi-setup`,e)}removePiSetup(){return this.request(`DELETE`,`/api/pi-setup`)}installPiExtension(e={}){return this.request(`PUT`,`/api/pi-setup/extension`,e)}removePiExtension(){return this.request(`DELETE`,`/api/pi-setup/extension`)}getVSCodeSetupStatus(){return this.request(`GET`,`/api/vscode-setup`)}configureVSCode(e){return this.request(`PUT`,`/api/vscode-setup`,e)}removeVSCodeSetup(){return this.request(`DELETE`,`/api/vscode-setup`)}getGildeUpdateStatus(){return this.request(`GET`,`/api/gilde-updates`)}checkGildeUpdates(){return this.request(`POST`,`/api/gilde-updates/check`)}getNightShiftStatus(){return this.request(`GET`,`/api/night-shift/status`)}setNightShiftManual(e){return this.request(`POST`,`/api/night-shift/manual`,{action:e})}getNightShiftTasks(){return this.request(`GET`,`/api/night-shift/tasks`)}getNightShiftReview(){return this.request(`GET`,`/api/night-shift/review`)}getNightShiftTally(){return this.request(`GET`,`/api/night-shift/tally`)}listSuggestedWork(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/suggested-work`)}enableSuggestedWork(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/suggested-work/enable`,t)}disableSuggestedWork(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/suggested-work/disable`,{key:t})}dismissSuggestedWork(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/suggested-work/dismiss`,{key:t,dismissed:n})}getReportActions(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/report-actions?path=${encodeURIComponent(t)}`)}fireReportAction(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/report-actions/fire`,t)}dismissReportAction(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/report-actions/dismiss`,t)}getMeesterStatus(){return this.request(`GET`,`/api/meester-status`)}runMeesterStatus(){return this.request(`POST`,`/api/meester-status/run`)}getAmbientDashboard(){return this.request(`GET`,`/api/ambient-dashboard`)}ambientDashboardLatestUrl(){return`${this.baseUrl}/api/ambient-dashboard/latest.png`}runAmbientDashboard(){return this.request(`POST`,`/api/ambient-dashboard/run`)}setAmbientDashboardDisplayTarget(e){return this.request(`PUT`,`/api/ambient-dashboard/display-target`,e)}storageSummary(e){return this.request(`GET`,`/api/storage/summary${e?.refresh?`?refresh=1`:``}`)}startCleanup(e){return this.request(`POST`,`/api/storage/cleanup`,e)}getStorageJob(e){return this.request(`GET`,`/api/storage/cleanup/${encodeURIComponent(e)}`)}cancelStorageJob(e){return this.request(`POST`,`/api/storage/cleanup/${encodeURIComponent(e)}/cancel`)}planBackup(e){let t=new URLSearchParams;e?.destPath&&t.set(`dest`,e.destPath),e?.excludeWorkspaces&&t.set(`excludeWorkspaces`,`1`);let n=t.toString();return this.request(`GET`,`/api/storage/backup/plan${n?`?${n}`:``}`)}startBackup(e){return this.request(`POST`,`/api/storage/backup`,e)}scanRestore(e){return this.request(`POST`,`/api/storage/restore/scan`,e)}confirmRestore(e,t){return this.request(`POST`,`/api/storage/restore/${encodeURIComponent(e)}/confirm`,t)}cancelRestore(e){return this.request(`POST`,`/api/storage/restore/${encodeURIComponent(e)}/cancel`)}getFolders(){return this.request(`GET`,`/api/folders`)}planFolderMove(e){return this.request(`POST`,`/api/folders/plan`,e)}startFolderMove(e){return this.request(`POST`,`/api/folders/move`,e)}getFolderMoveStatus(e){return this.request(`GET`,`/api/folders/move/${encodeURIComponent(e)}`)}cancelFolderMove(e){return this.request(`POST`,`/api/folders/move/${encodeURIComponent(e)}/cancel`)}resetFolder(e){return this.request(`POST`,`/api/folders/reset`,{scope:e})}createNewMeester(e={}){return this.request(`POST`,`/api/config/meester`,e)}createNewKlerk(e={}){return this.request(`POST`,`/api/config/klerk`,e)}createNewBoekwachter(e={}){return this.request(`POST`,`/api/config/boekwachter`,e)}createNewKeurmeester(e={}){return this.request(`POST`,`/api/config/keurmeester`,e)}testProvider(e){return this.request(`GET`,`/api/models/test?provider=${encodeURIComponent(e)}`)}listProviderModels(e,t){let n=t?.refresh?`&refresh=1`:``;return this.request(`GET`,`/api/models?provider=${encodeURIComponent(e)}${n}`)}listChannels(){return this.request(`GET`,`/api/channels`)}sendChannelMessage(e){return this.request(`POST`,`/api/channels/send`,e)}testChannel(e){return this.request(`POST`,`/api/channels/${encodeURIComponent(e)}/test`)}listOAuthClients(){return this.request(`GET`,`/api/oauth-clients`)}putOAuthClient(e,t){return this.request(`PUT`,`/api/oauth-clients/${encodeURIComponent(e)}`,t)}deleteOAuthClient(e){return this.request(`DELETE`,`/api/oauth-clients/${encodeURIComponent(e)}`)}createProjectPreviewUrl(e,t){return this.createPreviewUrl(`artifacts`,e,t)}createProjectWorkspacePreviewUrl(e,t){return this.createPreviewUrl(`workspace`,e,t)}createProjectTypePreviewUrl(e,t){return this.createPreviewUrl(`type`,e,t)}async createPreviewUrl(e,t,n){let r=await this.request(`POST`,`/api/projects/${encodeURIComponent(t)}/preview-capability`,{source:e,path:n});return{...r,url:new URL(r.url,this.baseUrl).toString()}}checkProjectPage(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/page-check`,{path:t})}reportProjectPreviewLog(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/preview-log`,{entries:t})}async uploadProjectAttachment(e,t,n){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?${pc(t)}`)}listInstalledToolsets(e){return this.request(`GET`,`/api/catalog/installed-toolsets?${pc(e)}`)}ollamaStatus(){return this.request(`GET`,`/api/ollama/status`)}ollamaProbe(){return this.request(`GET`,`/api/ollama/probe`)}ollamaDetect(){return this.request(`GET`,`/api/ollama/detect`)}ollamaStart(){return this.request(`POST`,`/api/ollama/start`)}listPendingOllamaPulls(){return this.request(`GET`,`/api/ollama/pending-pulls`)}clearPendingOllamaPull(e){return this.request(`DELETE`,`/api/ollama/pending-pulls/${encodeURIComponent(e)}`)}getMemoryProfile(){return this.request(`GET`,`/api/system/memory`)}getMachineMemoryUsage(){return this.request(`GET`,`/api/system/memory/usage`)}checkModelDownloadSpace(e){return this.request(`POST`,`/api/system/model-download-preflight`,e)}getSystemDiagnostics(e){return this.request(`GET`,`/api/system/diagnostics`,void 0,void 0,e)}getSystemHomeInfo(e){return this.request(`GET`,`/api/system/home`,void 0,void 0,e)}deleteOllamaModel(e){return this.request(`DELETE`,`/api/ollama/models/${encodeURIComponent(e)}`)}listLlamaCppModels(){return this.request(`GET`,`/api/llama-cpp/models`)}listIncompleteLlamaCppModels(){return this.request(`GET`,`/api/llama-cpp/incomplete`)}async exportModelBundle(e,t,n){let r=`${this.baseUrl}/api/model-bundles/${encodeURIComponent(e)}/${encodeURIComponent(t)}/export`,i=await this.fetchImpl(r,{headers:{Authorization:`Bearer ${this.token}`},signal:n});if(!i.ok){let e=await i.text().catch(()=>``);throw Error(`model export failed (${i.status}): ${e}`)}return i}async scanModelBundle(e,t={}){let n=e instanceof Blob||e instanceof ReadableStream||e instanceof Uint8Array?e:new Uint8Array(e),r=n instanceof ReadableStream,i=t.scanId??globalThis.crypto.randomUUID(),a=!1;t.onProgress?.({phase:`receiving`,bytesCompleted:0,...t.totalBytes===void 0?{}:{bytesTotal:t.totalBytes}});let o=this.fetchImpl(`${this.baseUrl}/api/model-bundles/imports/scan`,{method:`POST`,headers:{Authorization:`Bearer ${this.token}`,"Content-Type":`application/vnd.gezel.model+zip`,Prefer:`respond-async`,"X-Gezel-Import-Id":i,...t.totalBytes===void 0?{}:{"X-Gezel-Upload-Bytes":String(t.totalBytes)}},body:n,signal:t.signal,...r?{duplex:`half`}:{}}),s=this.pollModelBundleImportProgress(i,()=>a,t.onProgress,t.signal);s.catch(()=>{});try{let e=await o;if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.error??`model bundle scan failed (${e.status})`)}let t=await e.json();return e.status===201&&t.manifest?t:await s}finally{a=!0}}async pollModelBundleImportProgress(e,t,n,r){let i=0;for(;!t()&&!r?.aborted;){try{let t=await this.fetchImpl(`${this.baseUrl}/api/model-bundles/imports/${encodeURIComponent(e)}/progress`,{headers:{Authorization:`Bearer ${this.token}`},signal:r});if(t.ok){let e=await t.json();if(i=0,e.status===`complete`)return e.review;if(e.status===`error`)throw new ic(e.error);n?.(e.progress)}else i+=1,await t.body?.cancel().catch(()=>{})}catch(e){if(e instanceof ic||r?.aborted)throw e;if(i+=1,i>=20)throw Error(`Lost contact with the model bundle scan: ${e instanceof Error?e.message:String(e)}`)}if(i>=20)throw Error(`The model bundle scan disappeared from the service.`);!t()&&!r?.aborted&&await new Promise(e=>setTimeout(e,150))}throw r?.throwIfAborted(),Error(`Model bundle progress ended before the security scan completed.`)}confirmModelBundleImport(e,t=!1){return this.request(`POST`,`/api/model-bundles/imports/confirm`,{importId:e,replace:t})}cancelModelBundleImport(e){return this.request(`DELETE`,`/api/model-bundles/imports/${encodeURIComponent(e)}`)}listSharedModelMigrationCandidates(e){let t=e?`?engine=${encodeURIComponent(e)}`:``;return this.request(`GET`,`/api/model-migrations/candidates${t}`)}moveModelToShared(e){return this.request(`POST`,`/api/model-migrations/move`,e)}listModelFitness(){return this.request(`GET`,`/api/model-fitness`)}runModelFitnessProbe(e,t){return this.request(`POST`,`/api/model-fitness/${encodeURIComponent(e)}/${encodeURIComponent(t)}/probe`)}listDs4Models(){return this.request(`GET`,`/api/ds4/models`)}listDs4ContextPlans(){return this.request(`GET`,`/api/ds4/context-plans`)}listIncompleteDs4Models(){return this.request(`GET`,`/api/ds4/incomplete`)}listDs4ActiveInstalls(){return this.request(`GET`,`/api/ds4/active-installs`)}deleteDs4Model(e){return this.request(`DELETE`,`/api/ds4/models/${encodeURIComponent(e)}`)}getDs4Log(e){let t=typeof e==`number`?`?bytes=${e}`:``;return this.request(`GET`,`/api/ds4/log${t}`)}getLlamaCppLog(e){let t=typeof e==`number`?`?bytes=${e}`:``;return this.request(`GET`,`/api/llama-cpp/log${t}`)}async installLlamaCppModel(e,t,n,r){return this.installGgufSse(`llama-cpp`,e,t,n,r)}async installDs4Model(e,t,n,r){return this.installGgufSse(`ds4`,e,t,n,r)}async installGgufSse(e,t,n,r,i){let a=[...i?.skipSha?[`skipSha=1`]:[],...i?.skipCompanion?[`skipCompanion=1`]:[]].join(`&`),o=a?`?${a}`:``,s=`${this.baseUrl}/api/${e}/models/${encodeURIComponent(t)}/install${o}`;await $({...Z,url:s,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:r,fetch:this.fetchImpl,schema:sc,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:lc,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:cc,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:Fa,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:vs,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:Ss,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:Ds,onEvent:n,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Audio model pull stream`})}getRecognitionHealth(){return this.request(`GET`,`/api/recognition/health`)}listRecognitionCatalog(){return this.request(`GET`,`/api/recognition/catalog`)}listInstalledRecognitionModels(){return this.request(`GET`,`/api/recognition/models`)}deleteRecognitionModel(e){return this.request(`DELETE`,`/api/recognition/models/${encodeURIComponent(e)}`)}clearRecognitionCache(){return this.request(`POST`,`/api/recognition/cache/clear`)}describeImage(e,t){let n=t?.projectId?`?project=${encodeURIComponent(t.projectId)}`:``;return this.request(`POST`,`/api/recognition/describe${n}`,e)}readImageMetadata(e,t){let n=t?.projectId?`?project=${encodeURIComponent(t.projectId)}`:``;return this.request(`POST`,`/api/recognition/metadata${n}`,e)}async pullRecognitionModel(e,t,n){await $({...Z,url:`${this.baseUrl}/api/recognition/models/${encodeURIComponent(e)}/pull`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:n,fetch:this.fetchImpl,schema:on,onEvent:t,isTerminal:e=>e.type===`done`||e.type===`error`,label:`Recognition model pull stream`})}async pullOllamaModel(e,t,n){await $({...Z,url:`${this.baseUrl}/api/ollama/pull`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`,"Content-Type":`application/json`},body:JSON.stringify({name:e}),signal:n,fetch:this.fetchImpl,schema:dc,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:uc,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()}`)}revealProjectReference(e,t){let n=new URLSearchParams({kind:t.kind,path:t.path});return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/reveal-reference?${n.toString()}`)}previewReference(e,t){let n=new URLSearchParams({kind:t.kind,path:t.path});return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/reference-preview?${n.toString()}`)}listProjectArtifacts(e,t,n,r){let i=new URLSearchParams;t&&i.set(`path`,t),n&&i.set(`recursive`,`1`),r?.stats&&i.set(`stats`,`1`),r?.hidden&&i.set(`hidden`,`1`);let a=i.toString()?`?${i.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/artifacts${a}`)}readProjectArtifact(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/artifacts/read?path=${encodeURIComponent(t)}`)}resolveProjectArtifact(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/artifacts/resolve?path=${encodeURIComponent(t)}`)}readProjectArtifactSlice(e,t,n){let r=new URLSearchParams({path:t});return n?.lines?r.set(`lines`,`${n.lines.start},${n.lines.count}`):typeof n?.head==`number`?r.set(`head`,String(n.head)):typeof n?.tail==`number`&&r.set(`tail`,String(n.tail)),this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/artifacts/slice?${r.toString()}`)}grepProjectArtifact(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/artifacts/grep`,t)}runPlaywrightScript(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/run-playwright`,t)}getSystemToolsetStatus(){return this.request(`GET`,`/api/system-toolsets/status`)}systemToolsetStatusStreamUrl(){return`${this.baseUrl}/api/system-toolsets/status/stream`}listSystemToolsetInstalls(){return this.request(`GET`,`/api/system-toolsets/installs`)}async installSystemToolset(e,t,n){await $({...Z,url:`${this.baseUrl}/api/system-toolsets/${encodeURIComponent(e)}/install`,method:`POST`,headers:{Authorization:`Bearer ${this.token}`},signal:n,fetch:this.fetchImpl,schema:lo,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)}`)}createProjectArtifactFolder(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/artifacts/mkdir`,{path:t})}renameProjectArtifactPath(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/artifacts/rename`,{fromPath:t,toPath:n})}listProjectWorkspace(e,t,n,r){let i=new URLSearchParams;t&&i.set(`path`,t),n&&i.set(`recursive`,`1`),r?.stats&&i.set(`stats`,`1`),r?.hidden&&i.set(`hidden`,`1`);let a=i.toString()?`?${i.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace${a}`)}listProjectWorkspaceHtmlPages(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace/html-pages`)}readProjectWorkspaceFile(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace/read?path=${encodeURIComponent(t)}`)}statProjectWorkspacePath(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/workspace/stat?path=${encodeURIComponent(t)}`)}writeProjectWorkspaceFile(e,t){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/workspace/file`,t)}async writeProjectWorkspaceBinary(e,t,n,r=`application/octet-stream`,i){let a=i?.createOnly?`&create=1`:``,o=`${this.baseUrl}/api/projects/${encodeURIComponent(e)}/workspace/raw?path=${encodeURIComponent(t)}${a}`,s=n instanceof Blob||n instanceof Uint8Array?n:new Uint8Array(n),c=await this.fetchImpl(o,{method:`PUT`,headers:{"content-type":r,Authorization:`Bearer ${this.token}`},body:s});if(!c.ok){let e=await c.text().catch(()=>``);throw Error(`workspace binary write failed (${c.status}): ${e}`)}return c.json()}copyArtifactToWorkspace(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/copy-from-artifact`,t)}fetchProjectRepo(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/fetch-repo`,t)}fetchProjectDiff(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/fetch-diff`,t)}replaceInProjectWorkspaceFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/replace`,t)}replaceLinesInProjectWorkspaceFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/replace-lines`,t)}applyPatchToProjectWorkspaceFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/patch`,t)}insertAtMarkerInProjectWorkspaceFile(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/insert-at-marker`,t)}rmProjectWorkspacePath(e,t,n={}){let r=new URLSearchParams;return r.set(`path`,t),n.recursive&&r.set(`recursive`,`1`),n.gezelId&&r.set(`gezelId`,n.gezelId),n.sessionId&&r.set(`sessionId`,n.sessionId),this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/workspace/path?${r.toString()}`)}mkdirProjectWorkspace(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/mkdir`,t)}renameProjectWorkspacePath(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/workspace/rename`,t)}toolFetchUrl(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/fetch-url`,t)}toolWebSearch(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/web-search`,t)}toolWikipediaSearch(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/wikipedia-search`,t)}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)}getBoekwachterIssue(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/get-file-issue`,t)}updateBoekwachterIssue(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/update-file-issue`,t)}fixBoekwachterIssue(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/fix-file-issue`,t)}toolFindSymbol(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/find-symbol`,t)}toolReadSymbol(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/read-symbol`,t)}toolFindReferences(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/find-references`,t)}toolMapRepo(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/map-repo`,t)}toolFileMap(e,t={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/file-map`,t)}toolSearchDocs(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/search-docs`,t)}toolSearchCode(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tools/search-code`,t)}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`)}listProjectIndexFilesDetail(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/index/files?detail=1`)}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,n={}){let r=new URLSearchParams;n.offset!==void 0&&r.set(`offset`,String(n.offset)),n.limit!==void 0&&r.set(`limit`,String(n.limit)),n.includePatch!==void 0&&r.set(`includePatch`,String(n.includePatch));for(let e of n.paths??[])r.append(`path`,e);let i=r.size>0?`?${r.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/files${i}`)}listProjectGitHubPullComments(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/comments`)}getProjectGitHubPullDiff(e,t,n={}){let r=new URLSearchParams;n.offset!==void 0&&r.set(`offset`,String(n.offset)),n.limit!==void 0&&r.set(`limit`,String(n.limit)),n.path&&r.set(`path`,n.path);let i=r.size>0?`?${r.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/diff${i}`)}createProjectGitHubPullComment(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/github/prs/${t}/comments`,{body:n})}createProjectGitHubPullRequest(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/github/prs`,t)}listProjectGitHubWorkflowRuns(e,t,n){let r=new URLSearchParams({branch:t});return n!==void 0&&r.set(`limit`,String(n)),this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/workflow-runs?${r.toString()}`)}getProjectGitHubChecks(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/github/checks?ref=${encodeURIComponent(t)}`)}search(e,t={}){let{signal:n,...r}=t;return this.request(`POST`,`/api/search`,{query:e,...r},void 0,n)}quickOpen(e,t={}){let n=new URLSearchParams({q:e});return t.limit&&n.set(`limit`,String(t.limit)),this.request(`GET`,`/api/search/quick?${n.toString()}`,void 0,void 0,t.signal)}getHandboekToc(){return this.request(`GET`,`/api/handboek/toc`)}getHandboekArticle(e,t={}){let n=t.mode?`?mode=${t.mode}`:``,r=e.split(`/`).map(encodeURIComponent).join(`/`);return this.request(`GET`,`/api/handboek/article/${r}${n}`)}getHandboekNarration(e,t={}){let n=t.voice?`?voice=${encodeURIComponent(t.voice)}`:``,r=e.split(`/`).map(encodeURIComponent).join(`/`);return this.request(`GET`,`/api/handboek/narration/article/${r}${n}`)}handboekHowDoI(e,t={}){let n=new URLSearchParams({q:e});return t.limit&&n.set(`limit`,String(t.limit)),this.request(`GET`,`/api/handboek/how-do-i?${n.toString()}`)}async fetchHandboekNarrationAudio(e){let t=`${this.baseUrl}/api/handboek/narration/audio/${e}`,n=await this.fetchImpl(t,{headers:{Authorization:`Bearer ${this.token}`}});if(!n.ok)throw Error(`narration fetch failed: ${n.status}`);return n.blob()}listDocuments(e,t,n){let r=new URLSearchParams;e&&r.set(`path`,e),t&&r.set(`recursive`,`1`),n?.stats&&r.set(`stats`,`1`),n?.hidden&&r.set(`hidden`,`1`);let i=r.toString()?`?${r.toString()}`:``;return this.request(`GET`,`/api/documents${i}`)}revealDocuments(){return this.request(`POST`,`/api/documents/reveal`)}readDocument(e,t){let n=t?.as?`&as=${t.as}`:``;return this.request(`GET`,`/api/documents/read?path=${encodeURIComponent(e)}${n}`)}writeDocument(e,t,n){return this.request(`PUT`,`/api/documents/write`,{path:e,content:t,...n?.gezelId?{gezelId:n.gezelId}:{},...n?.sessionId?{sessionId:n.sessionId}:{}})}async writeDocumentBinary(e,t,n){let r=`${this.baseUrl}/api/documents/raw?path=${encodeURIComponent(e)}`,i=t instanceof Blob||t instanceof Uint8Array?t:new Uint8Array(t),a=await this.fetchImpl(r,{method:`PUT`,headers:{"content-type":n,Authorization:`Bearer ${this.token}`},body:i});if(!a.ok){let e=await a.text().catch(()=>``);throw Error(`document binary write failed (${a.status}): ${e}`)}return a.json()}async fetchDocumentBlob(e){let t=`${this.baseUrl}/api/documents/read?path=${encodeURIComponent(e)}&raw=1`,n=await this.fetchImpl(t,{headers:{Authorization:`Bearer ${this.token}`}});if(!n.ok)throw 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,t){return this.request(`DELETE`,`/api/documents/delete?path=${encodeURIComponent(e)}${t?.gezelId?`&gezelId=${encodeURIComponent(t.gezelId)}`:``}`)}createDocumentFolder(e){return this.request(`POST`,`/api/documents/mkdir`,{path:e})}renameDocument(e,t){return this.request(`POST`,`/api/documents/rename`,{fromPath:e,toPath:t})}continueProject(e){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/continue`)}listTasks(e){let t=new URLSearchParams;e?.status&&t.set(`status`,e.status),e?.assignee&&t.set(`assignee`,e.assignee);let n=t.toString()?`?${t.toString()}`:``;return this.request(`GET`,`/api/tasks${n}`)}listProjectTasks(e,t){let n=new URLSearchParams;t?.status&&n.set(`status`,t.status),t?.assignee&&n.set(`assignee`,t.assignee);let r=n.toString()?`?${n.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks${r}`)}createTask(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks`,t)}getTask(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}`)}getTaskByRef(e){let t=c(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)}invokeProjectPageRead(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/page-read`,t)}getProjectScriptRun(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/script-runs/${encodeURIComponent(t)}`)}getProjectScriptSource(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/scripts/source?name=${encodeURIComponent(t)}`)}saveProjectScriptSource(e,t){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/scripts/source`,t)}createProjectScript(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/scripts`,t)}draftProjectScript(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/scripts/draft`,t)}deleteProjectScript(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/scripts/source?name=${encodeURIComponent(t)}`)}getSdkTypes(){return this.request(`GET`,`/api/sdk/types`)}listStandardScripts(){return this.request(`GET`,`/api/scripts/standard`)}getStandardScriptSource(e){return this.request(`GET`,`/api/scripts/standard/source?name=${encodeURIComponent(e)}`)}listUserScripts(){return this.request(`GET`,`/api/scripts/user`)}getUserScriptSource(e){return this.request(`GET`,`/api/scripts/user/source?name=${encodeURIComponent(e)}`)}saveUserScriptSource(e){return this.request(`PUT`,`/api/scripts/user/source`,e)}createUserScript(e){return this.request(`POST`,`/api/scripts/user`,e)}deleteUserScript(e){return this.request(`DELETE`,`/api/scripts/user/source?name=${encodeURIComponent(e)}`)}listAvailableCredentials(){return this.request(`GET`,`/api/credentials/available`)}listTaskSessions(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/sessions`)}listTaskChildren(e,t,n){let r=new URLSearchParams;n?.status&&r.set(`status`,n.status),n?.limit&&r.set(`limit`,String(n.limit));let i=r.toString()?`?${r.toString()}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/children${i}`)}spawnTaskInstances(e,t,n={}){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/spawn`,n)}authHeader(){return{Authorization:`Bearer ${this.token}`}}getBaseUrl(){return this.baseUrl}getFetch(){return this.fetchImpl}listCraftbooks(e={}){let t=[];e.source&&t.push(`source=${e.source}`),e.projectId&&t.push(`projectId=${encodeURIComponent(e.projectId)}`);let n=t.length?`?${t.join(`&`)}`:``;return this.request(`GET`,`/api/craftbooks${n}`)}getCraftbook(e,t={}){let n=[];t.version&&n.push(`version=${encodeURIComponent(t.version)}`),t.source&&n.push(`source=${t.source}`),t.projectId&&n.push(`projectId=${encodeURIComponent(t.projectId)}`);let r=n.length?`?${n.join(`&`)}`:``;return this.request(`GET`,`/api/craftbooks/${encodeURIComponent(e)}${r}`)}suggestCraftbooks(e){return this.request(`POST`,`/api/craftbooks/suggest`,e)}getCraftbookDocument(e,t={}){let n=[];t.format&&n.push(`format=${t.format}`),t.version&&n.push(`version=${encodeURIComponent(t.version)}`),t.source&&n.push(`source=${t.source}`),t.projectId&&n.push(`projectId=${encodeURIComponent(t.projectId)}`);let r=n.length?`?${n.join(`&`)}`:``;return this.request(`GET`,`/api/craftbooks/${encodeURIComponent(e)}/document${r}`)}createCraftbookDocument(e){return this.request(`POST`,`/api/craftbooks/document`,e)}putCraftbookDocument(e,t){return this.request(`PUT`,`/api/craftbooks/${encodeURIComponent(e)}/document`,t)}getTaskCraftbookDocument(e,t,n={}){let r=n.format?`?format=${n.format}`:``;return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/craftbook/document${r}`)}putTaskCraftbookDocument(e,t,n){return this.request(`PUT`,`/api/projects/${encodeURIComponent(e)}/tasks/${t}/craftbook/document`,n)}listProjectLocalGezels(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/local-gezels`)}getProjectLocalGezel(e,t){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/local-gezels/${encodeURIComponent(t)}`)}createProjectLocalGezel(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/local-gezels`,t)}deleteProjectLocalGezel(e,t){return this.request(`DELETE`,`/api/projects/${encodeURIComponent(e)}/local-gezels/${encodeURIComponent(t)}`)}copyGezelToProject(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/local-gezels/copy`,t)}getProjectImportsPending(e){return this.request(`GET`,`/api/projects/${encodeURIComponent(e)}/imports/pending`)}approveProjectImport(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/imports/approve`,{skillSource:t})}rejectProjectImport(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/imports/reject`,{skillSource:t})}convertProjectImport(e,t,n){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/imports/convert`,{skillSource:t,...n?.allowLlm===void 0?{}:{allowLlm:n.allowLlm}})}invokeProjectSkill(e,t){return this.request(`POST`,`/api/projects/${encodeURIComponent(e)}/skills/invoke`,{skillSource:t})}createCraftbook(e){return this.request(`POST`,`/api/craftbooks`,e)}updateCraftbook(e,t){return this.request(`PATCH`,`/api/craftbooks/${encodeURIComponent(e)}`,t)}deleteCraftbook(e){return this.request(`DELETE`,`/api/craftbooks/${encodeURIComponent(e)}`)}listCraftbookScripts(e){return this.request(`GET`,`/api/craftbooks/${encodeURIComponent(e)}/scripts`)}getCraftbookScriptSource(e,t){return this.request(`GET`,`/api/craftbooks/${encodeURIComponent(e)}/scripts/source?name=${encodeURIComponent(t)}`)}saveCraftbookScriptSource(e,t){return this.request(`PUT`,`/api/craftbooks/${encodeURIComponent(e)}/scripts/source`,t)}createCraftbookScript(e,t){return this.request(`POST`,`/api/craftbooks/${encodeURIComponent(e)}/scripts`,t)}deleteCraftbookScript(e,t){return this.request(`DELETE`,`/api/craftbooks/${encodeURIComponent(e)}/scripts/source?name=${encodeURIComponent(t)}`)}getProjectGithubStatus(...e){return this.getProjectGitStatus(...e)}cloneProjectGithub(...e){return this.cloneProjectGit(...e)}pullProjectGithub(...e){return this.pullProjectGit(...e)}setProjectGithubBranch(...e){return this.setProjectGitBranch(...e)}createProjectGithubBranch(...e){return this.createProjectGitBranch(...e)}listProjectGithubBranches(...e){return this.listProjectGitBranches(...e)}fetchProjectGithub(...e){return this.fetchProjectGit(...e)}commitProjectGithub(...e){return this.commitProjectGit(...e)}pushProjectGithub(...e){return this.pushProjectGit(...e)}getProjectGithubChanges(...e){return this.getProjectGitChanges(...e)}getProjectGithubFileDiff(...e){return this.getProjectGitFileDiff(...e)}discardProjectGithubChanges(...e){return this.discardProjectGitChanges(...e)}getProjectGithubLog(...e){return this.getProjectGitLog(...e)}getProjectGithubCommit(...e){return this.getProjectGitCommit(...e)}syncProjectGithub(...e){return this.syncProjectGit(...e)}getProjectGithubMergeState(...e){return this.getProjectGitMergeState(...e)}getProjectGithubConflictVersions(...e){return this.getProjectGitConflictVersions(...e)}resolveProjectGithubConflict(...e){return this.resolveProjectGitConflict(...e)}completeProjectGithubMerge(...e){return this.completeProjectGitMerge(...e)}abandonProjectGithubMerge(...e){return this.abandonProjectGitMerge(...e)}suggestProjectGithubMessage(...e){return this.suggestProjectGitMessage(...e)}aiResolveProjectGithubConflict(...e){return this.aiResolveProjectGitConflict(...e)}listProjectGithubFiles(...e){return this.listProjectGitFiles(...e)}readProjectGithubFile(...e){return this.readProjectGitFile(...e)}listProjectGithubPulls(...e){return this.listProjectGitHubPulls(...e)}getProjectGithubPull(...e){return this.getProjectGitHubPull(...e)}listProjectGithubPullFiles(...e){return this.listProjectGitHubPullFiles(...e)}listProjectGithubPullComments(...e){return this.listProjectGitHubPullComments(...e)}getProjectGithubPullDiff(...e){return this.getProjectGitHubPullDiff(...e)}createProjectGithubPullComment(...e){return this.createProjectGitHubPullComment(...e)}createProjectGithubPullRequest(...e){return this.createProjectGitHubPullRequest(...e)}listProjectGithubWorkflowRuns(...e){return this.listProjectGitHubWorkflowRuns(...e)}getProjectGithubChecks(...e){return this.getProjectGitHubChecks(...e)}startGithubLogin(...e){return this.startGitHubLogin(...e)}pollGithubLogin(...e){return this.pollGitHubLogin(...e)}getGithubIdentity(...e){return this.getGitHubIdentity(...e)}listGithubRepos(...e){return this.listGitHubRepos(...e)}previewGithubRepo(...e){return this.previewGitHubRepo(...e)}githubLogout(...e){return this.gitHubLogout(...e)}};function pc(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{Zs as a,Qs as c,$s as i,tc as l,fc as n,rc as o,Us as r,nc as s,Q as t};
|