@cleocode/cleo 2026.9.14 → 2026.9.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/cli/index.js +117 -30
  2. package/package.json +13 -13
  3. package/scripts/generate-command-manifest.mjs +7 -2
  4. package/studio-dist/client/_app/immutable/chunks/COEVVgGn.js +3 -0
  5. package/studio-dist/client/_app/immutable/chunks/D2NG8h_r.js +1 -0
  6. package/studio-dist/client/_app/immutable/chunks/{BtywxRhM.js → DPdtI3wM.js} +1 -1
  7. package/studio-dist/client/_app/immutable/chunks/{D5Xqss9F.js → NUtQpztF.js} +1 -1
  8. package/studio-dist/client/_app/immutable/entry/{app.Bkyb9RRj.js → app.CRQDghR6.js} +2 -2
  9. package/studio-dist/client/_app/immutable/entry/start.6hSGg1uY.js +1 -0
  10. package/studio-dist/client/_app/immutable/nodes/{0.COhWnRZG.js → 0.DhjCtLlb.js} +1 -1
  11. package/studio-dist/client/_app/immutable/nodes/{1.DilOp_T3.js → 1.CGvtVpZ4.js} +1 -1
  12. package/studio-dist/client/_app/immutable/nodes/{15.Xj_SnhIh.js → 15.C0AVEmN4.js} +1 -1
  13. package/studio-dist/client/_app/immutable/nodes/{16.-k1fZVc8.js → 16.idTr0Sy-.js} +1 -1
  14. package/studio-dist/client/_app/immutable/nodes/{17.C3uJChOm.js → 17.D9U6A-tT.js} +1 -1
  15. package/studio-dist/client/_app/immutable/nodes/{18.CaBcMqg6.js → 18.BnNnIAxc.js} +1 -1
  16. package/studio-dist/client/_app/immutable/nodes/{20.PfLdXu4K.js → 20.DtrFty0x.js} +1 -1
  17. package/studio-dist/client/_app/immutable/nodes/{24.D6HMIXZo.js → 24.BNfALjyT.js} +1 -1
  18. package/studio-dist/client/_app/immutable/nodes/{25.PWd_97Ic.js → 25.Be5vwHso.js} +2 -2
  19. package/studio-dist/client/_app/immutable/nodes/{26.CpRQOhTF.js → 26.DT-XPIqy.js} +1 -1
  20. package/studio-dist/client/_app/immutable/nodes/{3.BUtKuhCE.js → 3.BKRmuaPu.js} +1 -1
  21. package/studio-dist/client/_app/version.json +1 -1
  22. package/studio-dist/server/chunks/{0-BQKYj7sI.js → 0-cy_QkDzp.js} +3 -3
  23. package/studio-dist/server/chunks/1-DfbAl5as.js +9 -0
  24. package/studio-dist/server/chunks/{15-eAvnWcqP.js → 15-U6I43v-2.js} +3 -3
  25. package/studio-dist/server/chunks/{16-BrkcPqWj.js → 16-DZakt8NC.js} +3 -3
  26. package/studio-dist/server/chunks/{17-DZOSccBm.js → 17-gxnXiGqH.js} +3 -3
  27. package/studio-dist/server/chunks/{18-CIM4TtZO.js → 18-9L7Ryi3g.js} +3 -3
  28. package/studio-dist/server/chunks/{20-BV2oDNxs.js → 20-DkxvN_jW.js} +3 -3
  29. package/studio-dist/server/chunks/{24-DiJrLGnm.js → 24-CaBX4lxL.js} +3 -3
  30. package/studio-dist/server/chunks/{25-KnPx5--u.js → 25-Dt9ulRzg.js} +3 -3
  31. package/studio-dist/server/chunks/{26-MjFmJWRl.js → 26-BqUum1sI.js} +3 -3
  32. package/studio-dist/server/chunks/{3-D0yOn-2j.js → 3-BRakm5hS.js} +3 -3
  33. package/studio-dist/server/chunks/{_layout.svelte-7fJASih5.js → _layout.svelte-uEMRkhN8.js} +4 -4
  34. package/studio-dist/server/chunks/{_page.svelte-DbavHIiA.js → _page.svelte-Blgw2ltS.js} +3 -3
  35. package/studio-dist/server/chunks/{_page.svelte-ByU0xsC0.js → _page.svelte-BoLHzEsv.js} +3 -3
  36. package/studio-dist/server/chunks/{_page.svelte-vKlMIP50.js → _page.svelte-Cis5CNOq.js} +3 -3
  37. package/studio-dist/server/chunks/{_page.svelte-BUR9tARI.js → _page.svelte-CsVeNF46.js} +3 -3
  38. package/studio-dist/server/chunks/{_page.svelte-Bsp6KMM1.js → _page.svelte-DSrhUYWP.js} +3 -3
  39. package/studio-dist/server/chunks/{_page.svelte-CkuJV8ec.js → _page.svelte-QIby5izo.js} +4 -4
  40. package/studio-dist/server/chunks/{_page.svelte-pt9J_PyJ.js → _page.svelte-ZeXhdWGu.js} +4 -4
  41. package/studio-dist/server/chunks/{_page.svelte-BBNuaLYp.js → _page.svelte-qgxzJx8X.js} +3 -3
  42. package/studio-dist/server/chunks/{_page.svelte-DmTQemvS.js → _page.svelte-wRQJ7LRt.js} +3 -3
  43. package/studio-dist/server/chunks/{_server.ts-DOTTU6mC.js → _server.ts-CXy1HT5W.js} +2 -2
  44. package/studio-dist/server/chunks/{client-DBHR0SaZ.js → client-BzjeEh5T.js} +2 -2
  45. package/studio-dist/server/chunks/{error.svelte-BiddeLMF.js → error.svelte-CQk9TrYg.js} +3 -3
  46. package/studio-dist/server/chunks/{internal-DMFWVQX-.js → internal-BjLvSp53.js} +2 -2
  47. package/studio-dist/server/chunks/{stores-CdM00jz_.js → stores-Bpyg4-QN.js} +2 -2
  48. package/studio-dist/server/index.js +1 -1
  49. package/studio-dist/server/manifest.js +13 -13
  50. package/studio-dist/client/_app/immutable/chunks/B7XMzKvO.js +0 -3
  51. package/studio-dist/client/_app/immutable/chunks/Dif6upEP.js +0 -1
  52. package/studio-dist/client/_app/immutable/entry/start.ChxXPWq_.js +0 -1
  53. package/studio-dist/server/chunks/1-Dhv54ORD.js +0 -9
@@ -1,4 +1,4 @@
1
- import{$ as e,A as t,D as n,E as r,F as i,H as a,I as o,J as s,K as c,N as l,O as u,P as d,Q as f,U as p,V as ee,X as m,Y as te,Z as h,_ as ne,at as re,c as ie,d as ae,et as g,ft as oe,lt as _,nt as se,ot as ce,pt as le,q as ue,r as de,tt as fe,u as pe,ut as v,v as y,w as me,x as he,z as ge}from"../chunks/DGftG5oL.js";import{r as _e}from"../chunks/B7XMzKvO.js";import"../chunks/B8WnZMYa.js";import{t as ve}from"../chunks/D5Xqss9F.js";import{a as ye,c as be,d as xe,f as Se,l as Ce,n as we,o as Te,r as Ee,u as De}from"../chunks/EZwHPWle.js";import"../chunks/Dif6upEP.js";Object.freeze({status:`aborted`});function b(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var x=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},S=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},Oe={};function C(e){return e&&Object.assign(Oe,e),Oe}function ke(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Ae(e,t){return typeof t==`bigint`?t.toString():t}function w(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function T(e){return e==null}function E(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function je(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}var Me=Symbol(`evaluating`);function D(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Me)return r===void 0&&(r=Me,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Ne(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Pe(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function Fe(e){return JSON.stringify(e)}function Ie(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Le=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Re(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var O=w(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function k(e){if(Re(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(Re(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function ze(e){return k(e)?{...e}:Array.isArray(e)?[...e]:e}var Be=new Set([`string`,`number`,`symbol`]);function A(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function j(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function M(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Ve(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var He={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Ue(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return j(e,Pe(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return Ne(this,`shape`,e),e},checks:[]}))}function We(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return j(e,Pe(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return Ne(this,`shape`,r),r},checks:[]}))}function Ge(e,t){if(!k(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return j(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ne(this,`shape`,n),n}}))}function Ke(e,t){if(!k(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return j(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ne(this,`shape`,n),n}}))}function qe(e,t){return j(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Ne(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function Je(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return j(t,Pe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Ne(this,`shape`,i),i},checks:[]}))}function Ye(e,t,n){return j(t,Pe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return Ne(this,`shape`,i),i}}))}function Xe(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Ze(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Qe(e){return typeof e==`string`?e:e?.message}function N(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=Qe(e.inst?._zod.def?.error?.(e))??Qe(t?.error?.(e))??Qe(n.customError?.(e))??Qe(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function $e(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function et(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var tt=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,Ae,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},nt=b(`$ZodError`,tt),rt=b(`$ZodError`,tt,{Parent:Error});function it(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function at(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}var ot=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new x;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>N(e,a,C())));throw Le(t,i?.callee),t}return o.value},st=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>N(e,a,C())));throw Le(t,i?.callee),t}return o.value},ct=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new x;return a.issues.length?{success:!1,error:new(e??nt)(a.issues.map(e=>N(e,i,C())))}:{success:!0,data:a.value}},lt=ct(rt),ut=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>N(e,i,C())))}:{success:!0,data:a.value}},dt=ut(rt),ft=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ot(e)(t,n,i)},pt=e=>(t,n,r)=>ot(e)(t,n,r),mt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return st(e)(t,n,i)},ht=e=>async(t,n,r)=>st(e)(t,n,r),gt=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ct(e)(t,n,i)},_t=e=>(t,n,r)=>ct(e)(t,n,r),vt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ut(e)(t,n,i)},yt=e=>async(t,n,r)=>ut(e)(t,n,r),bt=/^[cC][^\s-]{8,}$/,xt=/^[0-9a-z]+$/,St=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ct=/^[0-9a-vA-V]{20}$/,wt=/^[A-Za-z0-9]{27}$/,Tt=/^[a-zA-Z0-9_-]{21}$/,Et=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Dt=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ot=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,kt=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,At=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function jt(){return new RegExp(At,`u`)}var Mt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Pt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ft=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,It=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Lt=/^[A-Za-z0-9_-]*$/,Rt=/^\+[1-9]\d{6,14}$/,zt=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,Bt=RegExp(`^${zt}$`);function Vt(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Ht(e){return RegExp(`^${Vt(e)}$`)}function Ut(e){let t=Vt({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${zt}T(?:${r})$`)}var Wt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Gt=/^-?\d+$/,Kt=/^-?\d+(?:\.\d+)?$/,qt=/^(?:true|false)$/i,Jt=/^null$/i,Yt=/^[^A-Z]*$/,Xt=/^[^a-z]*$/,P=b(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Zt={number:`number`,bigint:`bigint`,object:`date`},Qt=b(`$ZodCheckLessThan`,(e,t)=>{P.init(e,t);let n=Zt[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),$t=b(`$ZodCheckGreaterThan`,(e,t)=>{P.init(e,t);let n=Zt[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),en=b(`$ZodCheckMultipleOf`,(e,t)=>{P.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):je(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),tn=b(`$ZodCheckNumberFormat`,(e,t)=>{P.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=He[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Gt)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),nn=b(`$ZodCheckMaxLength`,(e,t)=>{var n;P.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!T(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=$e(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),rn=b(`$ZodCheckMinLength`,(e,t)=>{var n;P.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!T(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=$e(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),an=b(`$ZodCheckLengthEquals`,(e,t)=>{var n;P.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!T(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=$e(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),on=b(`$ZodCheckStringFormat`,(e,t)=>{var n,r;P.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),sn=b(`$ZodCheckRegex`,(e,t)=>{on.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),cn=b(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Yt,on.init(e,t)}),ln=b(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Xt,on.init(e,t)}),un=b(`$ZodCheckIncludes`,(e,t)=>{P.init(e,t);let n=A(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),dn=b(`$ZodCheckStartsWith`,(e,t)=>{P.init(e,t);let n=RegExp(`^${A(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),fn=b(`$ZodCheckEndsWith`,(e,t)=>{P.init(e,t);let n=RegExp(`.*${A(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),pn=b(`$ZodCheckOverwrite`,(e,t)=>{P.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),mn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
1
+ import{$ as e,A as t,D as n,E as r,F as i,H as a,I as o,J as s,K as c,N as l,O as u,P as d,Q as f,U as p,V as ee,X as m,Y as te,Z as h,_ as ne,at as re,c as ie,d as ae,et as g,ft as oe,lt as _,nt as se,ot as ce,pt as le,q as ue,r as de,tt as fe,u as pe,ut as v,v as y,w as me,x as he,z as ge}from"../chunks/DGftG5oL.js";import{r as _e}from"../chunks/COEVVgGn.js";import"../chunks/B8WnZMYa.js";import{t as ve}from"../chunks/NUtQpztF.js";import{a as ye,c as be,d as xe,f as Se,l as Ce,n as we,o as Te,r as Ee,u as De}from"../chunks/EZwHPWle.js";import"../chunks/D2NG8h_r.js";Object.freeze({status:`aborted`});function b(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var x=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},S=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},Oe={};function C(e){return e&&Object.assign(Oe,e),Oe}function ke(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Ae(e,t){return typeof t==`bigint`?t.toString():t}function w(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function T(e){return e==null}function E(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function je(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}var Me=Symbol(`evaluating`);function D(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Me)return r===void 0&&(r=Me,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Ne(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Pe(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function Fe(e){return JSON.stringify(e)}function Ie(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Le=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Re(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var O=w(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function k(e){if(Re(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(Re(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function ze(e){return k(e)?{...e}:Array.isArray(e)?[...e]:e}var Be=new Set([`string`,`number`,`symbol`]);function A(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function j(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function M(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Ve(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var He={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Ue(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return j(e,Pe(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return Ne(this,`shape`,e),e},checks:[]}))}function We(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return j(e,Pe(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return Ne(this,`shape`,r),r},checks:[]}))}function Ge(e,t){if(!k(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return j(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ne(this,`shape`,n),n}}))}function Ke(e,t){if(!k(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return j(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ne(this,`shape`,n),n}}))}function qe(e,t){return j(e,Pe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Ne(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function Je(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return j(t,Pe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Ne(this,`shape`,i),i},checks:[]}))}function Ye(e,t,n){return j(t,Pe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return Ne(this,`shape`,i),i}}))}function Xe(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Ze(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Qe(e){return typeof e==`string`?e:e?.message}function N(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=Qe(e.inst?._zod.def?.error?.(e))??Qe(t?.error?.(e))??Qe(n.customError?.(e))??Qe(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function $e(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function et(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var tt=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,Ae,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},nt=b(`$ZodError`,tt),rt=b(`$ZodError`,tt,{Parent:Error});function it(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function at(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}var ot=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new x;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>N(e,a,C())));throw Le(t,i?.callee),t}return o.value},st=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>N(e,a,C())));throw Le(t,i?.callee),t}return o.value},ct=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new x;return a.issues.length?{success:!1,error:new(e??nt)(a.issues.map(e=>N(e,i,C())))}:{success:!0,data:a.value}},lt=ct(rt),ut=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>N(e,i,C())))}:{success:!0,data:a.value}},dt=ut(rt),ft=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ot(e)(t,n,i)},pt=e=>(t,n,r)=>ot(e)(t,n,r),mt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return st(e)(t,n,i)},ht=e=>async(t,n,r)=>st(e)(t,n,r),gt=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ct(e)(t,n,i)},_t=e=>(t,n,r)=>ct(e)(t,n,r),vt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ut(e)(t,n,i)},yt=e=>async(t,n,r)=>ut(e)(t,n,r),bt=/^[cC][^\s-]{8,}$/,xt=/^[0-9a-z]+$/,St=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ct=/^[0-9a-vA-V]{20}$/,wt=/^[A-Za-z0-9]{27}$/,Tt=/^[a-zA-Z0-9_-]{21}$/,Et=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Dt=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ot=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,kt=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,At=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function jt(){return new RegExp(At,`u`)}var Mt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Pt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ft=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,It=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Lt=/^[A-Za-z0-9_-]*$/,Rt=/^\+[1-9]\d{6,14}$/,zt=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,Bt=RegExp(`^${zt}$`);function Vt(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Ht(e){return RegExp(`^${Vt(e)}$`)}function Ut(e){let t=Vt({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${zt}T(?:${r})$`)}var Wt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Gt=/^-?\d+$/,Kt=/^-?\d+(?:\.\d+)?$/,qt=/^(?:true|false)$/i,Jt=/^null$/i,Yt=/^[^A-Z]*$/,Xt=/^[^a-z]*$/,P=b(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Zt={number:`number`,bigint:`bigint`,object:`date`},Qt=b(`$ZodCheckLessThan`,(e,t)=>{P.init(e,t);let n=Zt[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),$t=b(`$ZodCheckGreaterThan`,(e,t)=>{P.init(e,t);let n=Zt[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),en=b(`$ZodCheckMultipleOf`,(e,t)=>{P.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):je(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),tn=b(`$ZodCheckNumberFormat`,(e,t)=>{P.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=He[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Gt)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),nn=b(`$ZodCheckMaxLength`,(e,t)=>{var n;P.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!T(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=$e(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),rn=b(`$ZodCheckMinLength`,(e,t)=>{var n;P.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!T(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=$e(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),an=b(`$ZodCheckLengthEquals`,(e,t)=>{var n;P.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!T(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=$e(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),on=b(`$ZodCheckStringFormat`,(e,t)=>{var n,r;P.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),sn=b(`$ZodCheckRegex`,(e,t)=>{on.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),cn=b(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Yt,on.init(e,t)}),ln=b(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Xt,on.init(e,t)}),un=b(`$ZodCheckIncludes`,(e,t)=>{P.init(e,t);let n=A(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),dn=b(`$ZodCheckStartsWith`,(e,t)=>{P.init(e,t);let n=RegExp(`^${A(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),fn=b(`$ZodCheckEndsWith`,(e,t)=>{P.init(e,t);let n=RegExp(`.*${A(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),pn=b(`$ZodCheckOverwrite`,(e,t)=>{P.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),mn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
2
2
  `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
3
3
  `))}},hn={major:4,minor:3,patch:6},F=b(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=hn;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=Xe(e),i;for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new x;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Xe(e,t))});else{if(e.issues.length===t)continue;r||=Xe(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Xe(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new x;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new x;return o.then(e=>t(e,r,a))}return t(o,r,a)}}D(e,`~standard`,()=>({validate:t=>{try{let n=lt(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return dt(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),gn=b(`$ZodString`,(e,t)=>{F.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Wt(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),I=b(`$ZodStringFormat`,(e,t)=>{on.init(e,t),gn.init(e,t)}),_n=b(`$ZodGUID`,(e,t)=>{t.pattern??=Dt,I.init(e,t)}),vn=b(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Ot(e)}else t.pattern??=Ot();I.init(e,t)}),yn=b(`$ZodEmail`,(e,t)=>{t.pattern??=kt,I.init(e,t)}),bn=b(`$ZodURL`,(e,t)=>{I.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),xn=b(`$ZodEmoji`,(e,t)=>{t.pattern??=jt(),I.init(e,t)}),Sn=b(`$ZodNanoID`,(e,t)=>{t.pattern??=Tt,I.init(e,t)}),Cn=b(`$ZodCUID`,(e,t)=>{t.pattern??=bt,I.init(e,t)}),wn=b(`$ZodCUID2`,(e,t)=>{t.pattern??=xt,I.init(e,t)}),Tn=b(`$ZodULID`,(e,t)=>{t.pattern??=St,I.init(e,t)}),En=b(`$ZodXID`,(e,t)=>{t.pattern??=Ct,I.init(e,t)}),Dn=b(`$ZodKSUID`,(e,t)=>{t.pattern??=wt,I.init(e,t)}),On=b(`$ZodISODateTime`,(e,t)=>{t.pattern??=Ut(t),I.init(e,t)}),kn=b(`$ZodISODate`,(e,t)=>{t.pattern??=Bt,I.init(e,t)}),An=b(`$ZodISOTime`,(e,t)=>{t.pattern??=Ht(t),I.init(e,t)}),jn=b(`$ZodISODuration`,(e,t)=>{t.pattern??=Et,I.init(e,t)}),Mn=b(`$ZodIPv4`,(e,t)=>{t.pattern??=Mt,I.init(e,t),e._zod.bag.format=`ipv4`}),Nn=b(`$ZodIPv6`,(e,t)=>{t.pattern??=Nt,I.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),Pn=b(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Pt,I.init(e,t)}),Fn=b(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Ft,I.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function In(e){if(e===``)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Ln=b(`$ZodBase64`,(e,t)=>{t.pattern??=It,I.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{In(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function Rn(e){if(!Lt.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return In(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var zn=b(`$ZodBase64URL`,(e,t)=>{t.pattern??=Lt,I.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Rn(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Bn=b(`$ZodE164`,(e,t)=>{t.pattern??=Rt,I.init(e,t)});function Vn(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Hn=b(`$ZodJWT`,(e,t)=>{I.init(e,t),e._zod.check=n=>{Vn(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Un=b(`$ZodNumber`,(e,t)=>{F.init(e,t),e._zod.pattern=e._zod.bag.pattern??Kt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Wn=b(`$ZodNumberFormat`,(e,t)=>{tn.init(e,t),Un.init(e,t)}),Gn=b(`$ZodBoolean`,(e,t)=>{F.init(e,t),e._zod.pattern=qt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Kn=b(`$ZodNull`,(e,t)=>{F.init(e,t),e._zod.pattern=Jt,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),qn=b(`$ZodUnknown`,(e,t)=>{F.init(e,t),e._zod.parse=e=>e}),Jn=b(`$ZodNever`,(e,t)=>{F.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Yn(e,t,n){e.issues.length&&t.issues.push(...Ze(n,e.issues)),t.value[n]=e.value}var Xn=b(`$ZodArray`,(e,t)=>{F.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Yn(t,n,e))):Yn(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function Zn(e,t,n,r,i){if(e.issues.length){if(i&&!(n in r))return;t.issues.push(...Ze(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Qn(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Ve(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function $n(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optout===`optional`;for(let i in t){if(s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Zn(e,n,i,t,u))):Zn(a,n,i,t,u)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var er=b(`$ZodObject`,(e,t)=>{if(F.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,`shape`,{get:()=>{let n={...e};return Object.defineProperty(t,`shape`,{value:n}),n}})}let n=w(()=>Qn(t));D(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=Re,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optout===`optional`,i=n._zod.run({value:s[e],issues:[]},o);i instanceof Promise?c.push(i.then(n=>Zn(n,t,e,s,r))):Zn(i,t,e,s,r)}return i?$n(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),tr=b(`$ZodObjectJIT`,(e,t)=>{er.init(e,t);let n=e._zod.parse,r=w(()=>Qn(t)),i=e=>{let t=new mn([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=Fe(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=Fe(r),s=e[r]?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),s?t.write(`
4
4
  if (${n}.issues.length) {
@@ -36,4 +36,4 @@ import{$ as e,A as t,D as n,E as r,F as i,H as a,I as o,J as s,K as c,N as l,O a
36
36
 
37
37
  `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=Re,s=!Oe.jitless,c=s&&O.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?$n([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function nr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Xe(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>N(e,r,C())))}),t)}var rr=b(`$ZodUnion`,(e,t)=>{F.init(e,t),D(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),D(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),D(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),D(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>E(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>nr(t,i,e,a)):nr(s,i,e,a)}}),ir=b(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,rr.init(e,t);let n=e._zod.parse;D(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=w(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!Re(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,input:o,path:[t.discriminator],inst:e}),i)}}),ar=b(`$ZodIntersection`,(e,t)=>{F.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>sr(e,t,n)):sr(e,i,a)}});function or(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(k(e)&&k(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=or(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=or(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function sr(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Xe(e))return e;let o=or(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var cr=b(`$ZodRecord`,(e,t)=>{F.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!k(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let e of o)if(typeof e==`string`||typeof e==`number`||typeof e==`symbol`){s.add(typeof e==`number`?e.toString():e);let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...Ze(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...Ze(e,o.issues)),n.value[e]=o.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&Kt.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>N(e,r,C())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...Ze(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...Ze(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),lr=b(`$ZodEnum`,(e,t)=>{F.init(e,t);let n=ke(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Be.has(typeof e)).map(e=>typeof e==`string`?A(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),ur=b(`$ZodLiteral`,(e,t)=>{if(F.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?A(e):e?A(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),dr=b(`$ZodTransform`,(e,t)=>{F.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new S(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new x;return n.value=i,n}});function fr(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var pr=b(`$ZodOptional`,(e,t)=>{F.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,D(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),D(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${E(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>fr(t,e.value)):fr(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),mr=b(`$ZodExactOptional`,(e,t)=>{pr.init(e,t),D(e._zod,`values`,()=>t.innerType._zod.values),D(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),hr=b(`$ZodNullable`,(e,t)=>{F.init(e,t),D(e._zod,`optin`,()=>t.innerType._zod.optin),D(e._zod,`optout`,()=>t.innerType._zod.optout),D(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${E(e.source)}|null)$`):void 0}),D(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),gr=b(`$ZodDefault`,(e,t)=>{F.init(e,t),e._zod.optin=`optional`,D(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>_r(e,t)):_r(r,t)}});function _r(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var vr=b(`$ZodPrefault`,(e,t)=>{F.init(e,t),e._zod.optin=`optional`,D(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),yr=b(`$ZodNonOptional`,(e,t)=>{F.init(e,t),D(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>br(t,e)):br(i,e)}});function br(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var xr=b(`$ZodCatch`,(e,t)=>{F.init(e,t),D(e._zod,`optin`,()=>t.innerType._zod.optin),D(e._zod,`optout`,()=>t.innerType._zod.optout),D(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>N(e,n,C()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>N(e,n,C()))},input:e.value}),e.issues=[]),e)}}),Sr=b(`$ZodPipe`,(e,t)=>{F.init(e,t),D(e._zod,`values`,()=>t.in._zod.values),D(e._zod,`optin`,()=>t.in._zod.optin),D(e._zod,`optout`,()=>t.out._zod.optout),D(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Cr(e,t.in,n)):Cr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Cr(e,t.out,n)):Cr(r,t.out,n)}});function Cr(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var wr=b(`$ZodReadonly`,(e,t)=>{F.init(e,t),D(e._zod,`propValues`,()=>t.innerType._zod.propValues),D(e._zod,`values`,()=>t.innerType._zod.values),D(e._zod,`optin`,()=>t.innerType?._zod?.optin),D(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Tr):Tr(r)}});function Tr(e){return e.value=Object.freeze(e.value),e}var Er=b(`$ZodLazy`,(e,t)=>{F.init(e,t),D(e._zod,`innerType`,()=>t.getter()),D(e._zod,`pattern`,()=>e._zod.innerType?._zod?.pattern),D(e._zod,`propValues`,()=>e._zod.innerType?._zod?.propValues),D(e._zod,`optin`,()=>e._zod.innerType?._zod?.optin??void 0),D(e._zod,`optout`,()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),Dr=b(`$ZodCustom`,(e,t)=>{P.init(e,t),F.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Or(t,n,r,e));Or(i,n,r,e)}});function Or(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(et(e))}}var kr,Ar=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function jr(){return new Ar}(kr=globalThis).__zod_globalRegistry??(kr.__zod_globalRegistry=jr());var Mr=globalThis.__zod_globalRegistry;function Nr(e,t){return new e({type:`string`,...M(t)})}function Pr(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...M(t)})}function Fr(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...M(t)})}function Ir(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...M(t)})}function Lr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...M(t)})}function Rr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...M(t)})}function zr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...M(t)})}function Br(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...M(t)})}function Vr(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...M(t)})}function Hr(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...M(t)})}function Ur(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...M(t)})}function Wr(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...M(t)})}function Gr(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...M(t)})}function Kr(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...M(t)})}function qr(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...M(t)})}function Jr(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...M(t)})}function Yr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...M(t)})}function Xr(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...M(t)})}function Zr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...M(t)})}function Qr(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...M(t)})}function $r(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...M(t)})}function ei(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...M(t)})}function ti(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...M(t)})}function ni(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...M(t)})}function ri(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...M(t)})}function ii(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...M(t)})}function ai(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...M(t)})}function oi(e,t){return new e({type:`number`,checks:[],...M(t)})}function si(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...M(t)})}function ci(e,t){return new e({type:`boolean`,...M(t)})}function li(e,t){return new e({type:`null`,...M(t)})}function ui(e){return new e({type:`unknown`})}function di(e,t){return new e({type:`never`,...M(t)})}function fi(e,t){return new Qt({check:`less_than`,...M(t),value:e,inclusive:!1})}function pi(e,t){return new Qt({check:`less_than`,...M(t),value:e,inclusive:!0})}function mi(e,t){return new $t({check:`greater_than`,...M(t),value:e,inclusive:!1})}function hi(e,t){return new $t({check:`greater_than`,...M(t),value:e,inclusive:!0})}function gi(e,t){return new en({check:`multiple_of`,...M(t),value:e})}function _i(e,t){return new nn({check:`max_length`,...M(t),maximum:e})}function vi(e,t){return new rn({check:`min_length`,...M(t),minimum:e})}function yi(e,t){return new an({check:`length_equals`,...M(t),length:e})}function bi(e,t){return new sn({check:`string_format`,format:`regex`,...M(t),pattern:e})}function xi(e){return new cn({check:`string_format`,format:`lowercase`,...M(e)})}function Si(e){return new ln({check:`string_format`,format:`uppercase`,...M(e)})}function Ci(e,t){return new un({check:`string_format`,format:`includes`,...M(t),includes:e})}function wi(e,t){return new dn({check:`string_format`,format:`starts_with`,...M(t),prefix:e})}function Ti(e,t){return new fn({check:`string_format`,format:`ends_with`,...M(t),suffix:e})}function Ei(e){return new pn({check:`overwrite`,tx:e})}function Di(e){return Ei(t=>t.normalize(e))}function Oi(){return Ei(e=>e.trim())}function ki(){return Ei(e=>e.toLowerCase())}function Ai(){return Ei(e=>e.toUpperCase())}function ji(){return Ei(e=>Ie(e))}function Mi(e,t,n){return new e({type:`array`,element:t,...M(n)})}function Ni(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...M(n)})}function Pi(e){let t=Fi(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(et(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(et(r))}},e(n.value,n)));return t}function Fi(e,t){let n=new P({check:`custom`,...M(t)});return n._zod.check=e,n}function Ii(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??Mr,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function L(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,L(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&R(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Li(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
38
38
 
39
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Ri(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:Bi(t,`input`,e.processors),output:Bi(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function R(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return R(r.element,n);if(r.type===`set`)return R(r.valueType,n);if(r.type===`lazy`)return R(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return R(r.innerType,n);if(r.type===`intersection`)return R(r.left,n)||R(r.right,n);if(r.type===`record`||r.type===`map`)return R(r.keyType,n)||R(r.valueType,n);if(r.type===`pipe`)return R(r.in,n)||R(r.out,n);if(r.type===`object`){for(let e in r.shape)if(R(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(R(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(R(e,n))return!0;return!!(r.rest&&R(r.rest,n))}return!1}var zi=(e,t={})=>n=>{let r=Ii({...n,processors:t});return L(e,r),Li(r,e),Ri(r,e)},Bi=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ii({...i??{},target:a,io:t,processors:n});return L(e,o),Li(o,e),Ri(o,e)},Vi={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Hi=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Vi[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Ui=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},Wi=(e,t,n,r)=>{n.type=`boolean`},Gi=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Ki=(e,t,n,r)=>{n.not={}},qi=(e,t,n,r)=>{let i=e._zod.def,a=ke(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ji=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},Yi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Xi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Zi=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=L(a.element,t,{...r,path:[...r.path,`items`]})},Qi=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=L(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=L(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},$i=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>L(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},ea=(e,t,n,r)=>{let i=e._zod.def,a=L(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=L(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},ta=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=L(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=L(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=L(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},na=(e,t,n,r)=>{let i=e._zod.def,a=L(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},ra=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ia=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},aa=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},oa=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},sa=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;L(a,t,r);let o=t.seen.get(e);o.ref=a},ca=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},la=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ua=(e,t,n,r)=>{let i=e._zod.innerType;L(i,t,r);let a=t.seen.get(e);a.ref=i},da=b(`ZodISODateTime`,(e,t)=>{On.init(e,t),H.init(e,t)});function fa(e){return ni(da,e)}var pa=b(`ZodISODate`,(e,t)=>{kn.init(e,t),H.init(e,t)});function ma(e){return ri(pa,e)}var ha=b(`ZodISOTime`,(e,t)=>{An.init(e,t),H.init(e,t)});function ga(e){return ii(ha,e)}var _a=b(`ZodISODuration`,(e,t)=>{jn.init(e,t),H.init(e,t)});function va(e){return ai(_a,e)}var ya=(e,t)=>{nt.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>at(e,t)},flatten:{value:t=>it(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Ae,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Ae,2)}},isEmpty:{get(){return e.issues.length===0}}})};b(`ZodError`,ya);var z=b(`ZodError`,ya,{Parent:Error}),ba=ot(z),xa=st(z),Sa=ct(z),Ca=ut(z),wa=ft(z),Ta=pt(z),Ea=mt(z),Da=ht(z),Oa=gt(z),ka=_t(z),Aa=vt(z),ja=yt(z),B=b(`ZodType`,(e,t)=>(F.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Bi(e,`input`),output:Bi(e,`output`)}}),e.toJSONSchema=zi(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(Pe(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>j(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>ba(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Sa(e,t,n),e.parseAsync=async(t,n)=>xa(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ca(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>wa(e,t,n),e.decode=(t,n)=>Ta(e,t,n),e.encodeAsync=async(t,n)=>Ea(e,t,n),e.decodeAsync=async(t,n)=>Da(e,t,n),e.safeEncode=(t,n)=>Oa(e,t,n),e.safeDecode=(t,n)=>ka(e,t,n),e.safeEncodeAsync=async(t,n)=>Aa(e,t,n),e.safeDecodeAsync=async(t,n)=>ja(e,t,n),e.refine=(t,n)=>e.check(Uo(t,n)),e.superRefine=t=>e.check(Wo(t)),e.overwrite=t=>e.check(Ei(t)),e.optional=()=>Co(e),e.exactOptional=()=>To(e),e.nullable=()=>Do(e),e.nullish=()=>Co(Do(e)),e.nonoptional=t=>No(e,t),e.array=()=>K(e),e.or=t=>fo([e,t]),e.and=t=>ho(e,t),e.transform=t=>Lo(e,xo(t)),e.default=t=>ko(e,t),e.prefault=t=>jo(e,t),e.catch=t=>Fo(e,t),e.pipe=t=>Lo(e,t),e.readonly=()=>zo(e),e.describe=t=>{let n=e.clone();return Mr.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return Mr.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return Mr.get(e);let n=e.clone();return Mr.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),Ma=b(`_ZodString`,(e,t)=>{gn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hi(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(bi(...t)),e.includes=(...t)=>e.check(Ci(...t)),e.startsWith=(...t)=>e.check(wi(...t)),e.endsWith=(...t)=>e.check(Ti(...t)),e.min=(...t)=>e.check(vi(...t)),e.max=(...t)=>e.check(_i(...t)),e.length=(...t)=>e.check(yi(...t)),e.nonempty=(...t)=>e.check(vi(1,...t)),e.lowercase=t=>e.check(xi(t)),e.uppercase=t=>e.check(Si(t)),e.trim=()=>e.check(Oi()),e.normalize=(...t)=>e.check(Di(...t)),e.toLowerCase=()=>e.check(ki()),e.toUpperCase=()=>e.check(Ai()),e.slugify=()=>e.check(ji())}),Na=b(`ZodString`,(e,t)=>{gn.init(e,t),Ma.init(e,t),e.email=t=>e.check(Pr(Pa,t)),e.url=t=>e.check(Br(La,t)),e.jwt=t=>e.check(ti(Qa,t)),e.emoji=t=>e.check(Vr(Ra,t)),e.guid=t=>e.check(Fr(Fa,t)),e.uuid=t=>e.check(Ir(Ia,t)),e.uuidv4=t=>e.check(Lr(Ia,t)),e.uuidv6=t=>e.check(Rr(Ia,t)),e.uuidv7=t=>e.check(zr(Ia,t)),e.nanoid=t=>e.check(Hr(za,t)),e.guid=t=>e.check(Fr(Fa,t)),e.cuid=t=>e.check(Ur(Ba,t)),e.cuid2=t=>e.check(Wr(Va,t)),e.ulid=t=>e.check(Gr(Ha,t)),e.base64=t=>e.check(Qr(Ya,t)),e.base64url=t=>e.check($r(Xa,t)),e.xid=t=>e.check(Kr(Ua,t)),e.ksuid=t=>e.check(qr(Wa,t)),e.ipv4=t=>e.check(Jr(Ga,t)),e.ipv6=t=>e.check(Yr(Ka,t)),e.cidrv4=t=>e.check(Xr(qa,t)),e.cidrv6=t=>e.check(Zr(Ja,t)),e.e164=t=>e.check(ei(Za,t)),e.datetime=t=>e.check(fa(t)),e.date=t=>e.check(ma(t)),e.time=t=>e.check(ga(t)),e.duration=t=>e.check(va(t))});function V(e){return Nr(Na,e)}var H=b(`ZodStringFormat`,(e,t)=>{I.init(e,t),Ma.init(e,t)}),Pa=b(`ZodEmail`,(e,t)=>{yn.init(e,t),H.init(e,t)}),Fa=b(`ZodGUID`,(e,t)=>{_n.init(e,t),H.init(e,t)}),Ia=b(`ZodUUID`,(e,t)=>{vn.init(e,t),H.init(e,t)}),La=b(`ZodURL`,(e,t)=>{bn.init(e,t),H.init(e,t)}),Ra=b(`ZodEmoji`,(e,t)=>{xn.init(e,t),H.init(e,t)}),za=b(`ZodNanoID`,(e,t)=>{Sn.init(e,t),H.init(e,t)}),Ba=b(`ZodCUID`,(e,t)=>{Cn.init(e,t),H.init(e,t)}),Va=b(`ZodCUID2`,(e,t)=>{wn.init(e,t),H.init(e,t)}),Ha=b(`ZodULID`,(e,t)=>{Tn.init(e,t),H.init(e,t)}),Ua=b(`ZodXID`,(e,t)=>{En.init(e,t),H.init(e,t)}),Wa=b(`ZodKSUID`,(e,t)=>{Dn.init(e,t),H.init(e,t)}),Ga=b(`ZodIPv4`,(e,t)=>{Mn.init(e,t),H.init(e,t)}),Ka=b(`ZodIPv6`,(e,t)=>{Nn.init(e,t),H.init(e,t)}),qa=b(`ZodCIDRv4`,(e,t)=>{Pn.init(e,t),H.init(e,t)}),Ja=b(`ZodCIDRv6`,(e,t)=>{Fn.init(e,t),H.init(e,t)}),Ya=b(`ZodBase64`,(e,t)=>{Ln.init(e,t),H.init(e,t)}),Xa=b(`ZodBase64URL`,(e,t)=>{zn.init(e,t),H.init(e,t)}),Za=b(`ZodE164`,(e,t)=>{Bn.init(e,t),H.init(e,t)}),Qa=b(`ZodJWT`,(e,t)=>{Hn.init(e,t),H.init(e,t)}),$a=b(`ZodNumber`,(e,t)=>{Un.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ui(e,t,n,r),e.gt=(t,n)=>e.check(mi(t,n)),e.gte=(t,n)=>e.check(hi(t,n)),e.min=(t,n)=>e.check(hi(t,n)),e.lt=(t,n)=>e.check(fi(t,n)),e.lte=(t,n)=>e.check(pi(t,n)),e.max=(t,n)=>e.check(pi(t,n)),e.int=t=>e.check(to(t)),e.safe=t=>e.check(to(t)),e.positive=t=>e.check(mi(0,t)),e.nonnegative=t=>e.check(hi(0,t)),e.negative=t=>e.check(fi(0,t)),e.nonpositive=t=>e.check(pi(0,t)),e.multipleOf=(t,n)=>e.check(gi(t,n)),e.step=(t,n)=>e.check(gi(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function U(e){return oi($a,e)}var eo=b(`ZodNumberFormat`,(e,t)=>{Wn.init(e,t),$a.init(e,t)});function to(e){return si(eo,e)}var no=b(`ZodBoolean`,(e,t)=>{Gn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wi(e,t,n,r)});function W(e){return ci(no,e)}var ro=b(`ZodNull`,(e,t)=>{Kn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gi(e,t,n,r)});function io(e){return li(ro,e)}var ao=b(`ZodUnknown`,(e,t)=>{qn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function G(){return ui(ao)}var oo=b(`ZodNever`,(e,t)=>{Jn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ki(e,t,n,r)});function so(e){return di(oo,e)}var co=b(`ZodArray`,(e,t)=>{Xn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zi(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(vi(t,n)),e.nonempty=t=>e.check(vi(1,t)),e.max=(t,n)=>e.check(_i(t,n)),e.length=(t,n)=>e.check(yi(t,n)),e.unwrap=()=>e.element});function K(e,t){return Mi(co,e,t)}var lo=b(`ZodObject`,(e,t)=>{tr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qi(e,t,n,r),D(e,`shape`,()=>t.shape),e.keyof=()=>X(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:G()}),e.loose=()=>e.clone({...e._zod.def,catchall:G()}),e.strict=()=>e.clone({...e._zod.def,catchall:so()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Ge(e,t),e.safeExtend=t=>Ke(e,t),e.merge=t=>qe(e,t),e.pick=t=>Ue(e,t),e.omit=t=>We(e,t),e.partial=(...t)=>Je(So,e,t[0]),e.required=(...t)=>Ye(Mo,e,t[0])});function q(e,t){return new lo({type:`object`,shape:e??{},...M(t)})}var uo=b(`ZodUnion`,(e,t)=>{rr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$i(e,t,n,r),e.options=t.options});function fo(e,t){return new uo({type:`union`,options:e,...M(t)})}var po=b(`ZodDiscriminatedUnion`,(e,t)=>{uo.init(e,t),ir.init(e,t)});function J(e,t,n){return new po({type:`union`,options:t,discriminator:e,...M(n)})}var mo=b(`ZodIntersection`,(e,t)=>{ar.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ea(e,t,n,r)});function ho(e,t){return new mo({type:`intersection`,left:e,right:t})}var go=b(`ZodRecord`,(e,t)=>{cr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ta(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Y(e,t,n){return new go({type:`record`,keyType:e,valueType:t,...M(n)})}function _o(e,t,n){let r=j(e);return r._zod.values=void 0,new go({type:`record`,keyType:r,valueType:t,...M(n)})}var vo=b(`ZodEnum`,(e,t)=>{lr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qi(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new vo({...t,checks:[],...M(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new vo({...t,checks:[],...M(r),entries:i})}});function X(e,t){return new vo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...M(t)})}var yo=b(`ZodLiteral`,(e,t)=>{ur.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ji(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,`value`,{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Z(e,t){return new yo({type:`literal`,values:Array.isArray(e)?e:[e],...M(t)})}var bo=b(`ZodTransform`,(e,t)=>{dr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xi(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new S(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(et(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(et(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function xo(e){return new bo({type:`transform`,transform:e})}var So=b(`ZodOptional`,(e,t)=>{pr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>la(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Co(e){return new So({type:`optional`,innerType:e})}var wo=b(`ZodExactOptional`,(e,t)=>{mr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>la(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function To(e){return new wo({type:`optional`,innerType:e})}var Eo=b(`ZodNullable`,(e,t)=>{hr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>na(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Do(e){return new Eo({type:`nullable`,innerType:e})}var Oo=b(`ZodDefault`,(e,t)=>{gr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ia(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ko(e,t){return new Oo({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ze(t)}})}var Ao=b(`ZodPrefault`,(e,t)=>{vr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>aa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function jo(e,t){return new Ao({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ze(t)}})}var Mo=b(`ZodNonOptional`,(e,t)=>{yr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ra(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function No(e,t){return new Mo({type:`nonoptional`,innerType:e,...M(t)})}var Po=b(`ZodCatch`,(e,t)=>{xr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Fo(e,t){return new Po({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Io=b(`ZodPipe`,(e,t)=>{Sr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sa(e,t,n,r),e.in=t.in,e.out=t.out});function Lo(e,t){return new Io({type:`pipe`,in:e,out:t})}var Ro=b(`ZodReadonly`,(e,t)=>{wr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ca(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function zo(e){return new Ro({type:`readonly`,innerType:e})}var Bo=b(`ZodLazy`,(e,t)=>{Er.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ua(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function Vo(e){return new Bo({type:`lazy`,getter:e})}var Ho=b(`ZodCustom`,(e,t)=>{Dr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yi(e,t,n,r)});function Uo(e,t={}){return Ni(Ho,e,t)}function Wo(e){return Pi(e)}var Go=q({req:V().optional(),description:V().min(1),advisory:W().optional(),timeoutMs:U().int().positive().optional()}),Ko=J(`type`,[q({type:Z(`exists`)}),q({type:Z(`absent`)}),q({type:Z(`nonEmpty`)}),q({type:Z(`maxBytes`),value:U().int().nonnegative()}),q({type:Z(`minBytes`),value:U().int().nonnegative()}),q({type:Z(`contains`),value:V()}),q({type:Z(`matches`),regex:V().min(1),flags:V().optional()}),q({type:Z(`sha256`),value:V().length(64)})]),qo=Go.extend({kind:Z(`test`),command:V().min(1),args:K(V()).optional(),expect:X([`pass`,`exit0`]),minCount:U().int().nonnegative().optional(),cwd:V().optional(),env:Y(V(),V()).optional()});q({numTotalTests:U().int().nonnegative().safe(),numPassedTests:U().int().nonnegative().safe(),numFailedTests:U().int().nonnegative().safe(),numPendingTests:U().int().nonnegative().safe(),numTodoTests:U().int().nonnegative().safe(),numTotalTestSuites:U().int().nonnegative().safe(),numPassedTestSuites:U().int().nonnegative().safe(),numFailedTestSuites:U().int().nonnegative().safe(),numPendingTestSuites:U().int().nonnegative().safe(),success:W(),testResults:K(q({name:V().min(1),status:X([`passed`,`failed`]),assertionResults:K(q({fullName:V(),status:X([`passed`,`failed`,`pending`,`skipped`,`todo`])}))}))}).superRefine((e,t)=>{let n=e.testResults.flatMap(e=>e.assertionResults),r=n.filter(e=>e.status===`passed`).length,i=n.filter(e=>e.status===`failed`).length,a=n.filter(e=>e.status===`pending`||e.status===`skipped`).length,o=n.filter(e=>e.status===`todo`).length;(e.numTotalTests!==n.length||e.numPassedTests!==r||e.numFailedTests!==i||e.numPendingTests!==a||e.numTodoTests!==o)&&t.addIssue({code:`custom`,message:`Test counters disagree with assertion results`}),e.numTotalTestSuites!==e.numPassedTestSuites+e.numFailedTestSuites+e.numPendingTestSuites&&t.addIssue({code:`custom`,message:`Suite counters are inconsistent`}),(e.testResults.some(e=>e.status===`passed`&&e.assertionResults.some(e=>e.status===`failed`))||e.success&&(i>0||e.numFailedTestSuites>0||e.testResults.some(e=>e.status===`failed`)))&&t.addIssue({code:`custom`,message:`Success status contradicts failed results`})});var Jo=J(`kind`,[qo,Go.extend({kind:Z(`file`),path:V().min(1).optional(),attachmentSha256:V().regex(/^[0-9a-f]{64}$/i,`attachmentSha256 must be a 64-char hex string`).optional(),assertions:K(Ko).min(1)}),Go.extend({kind:Z(`command`),cmd:V().min(1),args:K(V()).optional(),exitCode:U().int().optional(),stdoutMatches:V().optional(),stderrMatches:V().optional(),cwd:V().optional(),env:Y(V(),V()).optional()}),Go.extend({kind:Z(`lint`),tool:X([`biome`,`eslint`,`tsc`,`prettier`,`rustc`,`clippy`]),args:K(V()).optional(),expect:X([`clean`,`noErrors`]),cwd:V().optional()}),Go.extend({kind:Z(`http`),url:V().url(),method:X([`GET`,`HEAD`,`POST`,`PUT`,`DELETE`]).optional(),status:U().int().min(100).max(599),bodyMatches:V().optional(),headers:Y(V(),V()).optional(),startCommand:V().optional(),startupDelayMs:U().int().nonnegative().optional()}),Go.extend({kind:Z(`manual`),prompt:V().min(1),verdicts:K(X([`pass`,`fail`,`warn`])).optional()})]),Yo=J(`kind`,[q({kind:Z(`test`),exitCode:U().int(),stdout:V(),stderr:V(),duration:U().nonnegative()}),q({kind:Z(`file`),path:V().min(1),passedAssertions:K(V()),failedAssertions:K(V())}),q({kind:Z(`command`),cmd:V().min(1),exitCode:U().int(),stdout:V()}),q({kind:Z(`lint`),tool:V().min(1),warnings:U().int().nonnegative(),errors:U().int().nonnegative()}),q({kind:Z(`http`),url:V(),status:U().int().min(100).max(599),body:V()}),q({kind:Z(`manual`),prompt:V().min(1),accepted:W()})]),Xo=q({started:W(),targetPid:U().int().positive().safe().nullable(),exitCode:U().int().nonnegative().safe().nullable(),signal:V().min(1).nullable(),error:V().nullable(),stopped:X([`deadline`,`cancelled`,`teardown`,`output-limit`,`resource-limit`,`transport-error`]).nullable(),stdout:V(),stderr:V(),outputTruncated:W(),durationMs:U().finite().nonnegative(),mode:X([`systemd`,`pgid`]),unitName:V().min(1).optional(),nativeMemory:X([`unverified`,`observed-cgroup`]),resourceLimits:q({cgroup:V().startsWith(`/`),memoryMaxBytes:U().int().positive().safe().nullable(),tasksMax:U().int().positive().safe().nullable()}).strict().optional(),cleanupScope:X([`process-group`,`direct-child`]),transportClosed:Z(!0),targetCloseObserved:W(),cleanupObservation:X([`scope-terminal`,`process-group-absent`,`process-group-signalled`,`unverified`]),cleanupErrors:K(V())}).strict().superRefine((e,t)=>{(e.started!==(e.targetPid!==null)||!e.started&&(e.exitCode!==null||e.signal!==null)||e.exitCode!==null&&e.signal!==null||!e.targetCloseObserved&&(e.exitCode!==null||e.signal!==null))&&t.addIssue({code:`custom`,message:`Contradictory target lifecycle observation`}),e.nativeMemory===`observed-cgroup`&&!e.resourceLimits?.memoryMaxBytes&&t.addIssue({code:`custom`,message:`Observed native-memory claim requires a finite kernel limit`}),e.resourceLimits&&(e.mode!==`systemd`||!e.unitName||!e.resourceLimits.cgroup.split(`/`).includes(e.unitName)||e.resourceLimits.cgroup.split(`/`).includes(`..`))&&t.addIssue({code:`custom`,message:`Resource observation must name the exact owned scope`}),e.cleanupObservation===`scope-terminal`&&(e.mode!==`systemd`||!e.unitName)&&t.addIssue({code:`custom`,message:`Terminal scope observation requires an identified systemd scope`})}),Zo=V().min(1).refine(e=>/^(?:\/|[A-Za-z]:[\\/]|\\\\)/.test(e)&&!e.includes(`\0`),`Captured gate paths must be absolute and contain no null byte`);q({binding:q({version:Z(1),verificationId:V().uuid(),identity:q({projectId:V().min(1),projectRoot:Zo,actor:V().min(1),operation:Z(`check.gate.verify`),idempotencyKey:V().min(1)}).strict(),taskId:V().min(1),criterionId:V().uuid(),criterionHash:V().regex(/^[a-f0-9]{64}$/),gateHash:V().regex(/^[a-f0-9]{64}$/),capturedAt:V().datetime(),deadlineAt:U().int().positive().safe(),invocation:q({command:V().min(1),args:K(V()),cwd:Zo,environmentHash:V().regex(/^[a-f0-9]{64}$/)}).strict().optional(),artifacts:K(q({path:Zo,sha256:V().regex(/^[a-f0-9]{64}$/).nullable(),bytes:U().int().nonnegative().safe().nullable()}).strict().superRefine((e,t)=>{e.sha256===null!=(e.bytes===null)&&t.addIssue({code:`custom`,message:`Absent input requires both null digest and size`})}))}).strict().superRefine((e,t)=>{new Set(e.artifacts.map(({path:e})=>e)).size!==e.artifacts.length&&t.addIssue({code:`custom`,path:[`artifacts`],message:`Input paths must be unique`}),Date.parse(e.capturedAt)>=e.deadlineAt&&t.addIssue({code:`custom`,path:[`deadlineAt`],message:`Input capture must precede the original deadline`})}).optional(),index:U().int().nonnegative(),req:V().optional(),kind:X([`test`,`file`,`command`,`lint`,`http`,`manual`]),result:X([`pass`,`fail`,`warn`,`skipped`,`error`]),durationMs:U().nonnegative(),details:Yo.optional(),execution:Xo.optional(),evidence:V().optional(),errorMessage:V().optional(),checkedAt:V().datetime(),checkedBy:V().min(1)}).superRefine((e,t)=>{let n=e.binding;if(n){n.identity.actor!==e.checkedBy&&t.addIssue({code:`custom`,path:[`binding`,`identity`,`actor`],message:`Result actor must match captured operation identity`}),Date.parse(n.capturedAt)>Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`binding`,`capturedAt`],message:`Result cannot precede input capture`});let r=[`test`,`command`,`lint`].includes(e.kind);r&&!n.invocation&&t.addIssue({code:`custom`,path:[`binding`,`invocation`],message:`Executable gate requires captured invocation`}),[`pass`,`fail`,`warn`].includes(e.result)&&(r&&!e.execution&&t.addIssue({code:`custom`,path:[`execution`],message:`Bound executable verdict requires process observation`}),Date.parse(e.checkedAt)>n.deadlineAt&&t.addIssue({code:`custom`,path:[`checkedAt`],message:`Verdict exceeds the original admitted deadline`}))}let r=e.execution;r&&[`pass`,`fail`,`warn`].includes(e.result)&&(!r.started||!r.targetCloseObserved||r.exitCode===null||r.signal!==null||r.error!==null||r.stopped!==null||r.outputTruncated||r.cleanupErrors.length>0)&&t.addIssue({code:`custom`,path:[`execution`],message:`Incomplete process observation cannot establish a gate verdict`})}),K(fo([V().trim().min(1,{message:`Acceptance string criterion must be non-empty. Provide a non-blank description or a valid AcceptanceGate object.`}).describe(`Free-text legacy acceptance criterion (non-empty string)`),Jo.describe(`Structured machine-verifiable acceptance gate`)])).min(1,{message:`Task must have at least one acceptance criterion. Provide a non-empty string or a valid AcceptanceGate object.`}).refine(e=>{let t=new Set;for(let n of e)if(typeof n==`object`&&n&&`req`in n&&n.req){if(t.has(n.req))return!1;t.add(n.req)}return!0},{message:`Duplicate req: (REQ-ID) values within the same acceptance array. Each GSD-style requirement ID must be unique. Check for repeated req fields and ensure each gate has a distinct identifier.`});var Qo=q({description:V().optional(),labels:K(V()).optional()}),$o=J(`kind`,[Qo.extend({kind:Z(`local-file`),path:V().min(1),sha256:V().length(64),mime:V().min(1),size:U().int().nonnegative()}),Qo.extend({kind:Z(`url`),url:V().url(),cachedSha256:V().length(64).optional(),cachedAt:V().datetime().optional(),mime:V().optional()}),Qo.extend({kind:Z(`blob`),sha256:V().length(64),storageKey:V().min(1),mime:V().min(1),size:U().int().nonnegative()}),Qo.extend({kind:Z(`llms-txt`),source:X([`url`,`generated`]),content:V().min(1),sha256:V().length(64)}),Qo.extend({kind:Z(`llmtxt-doc`),slug:V().min(1),backend:X([`local`,`remote`]),pinnedVersion:V().optional()})]);q({id:V().min(1),sha256:V(),attachment:$o,createdAt:V().datetime(),refCount:U().int().nonnegative()}),q({attachmentId:V().min(1),ownerType:X([`task`,`observation`,`session`,`decision`,`learning`,`pattern`]),ownerId:V().min(1),attachedAt:V().datetime(),attachedBy:V().optional()});var es=[`feat`,`fix`,`perf`,`refactor`,`docs`,`test`,`chore`,`breaking`],ts=[`added`,`changed`,`fixed`,`deprecated`,`removed`,`security`,`breaking`],ns=[`users`,`operators`,`developers`,`maintainers`],rs=[`project`,`package`,`component`,`docs`,`ops`,`security`],is=V().min(1,`release-note metadata text must be non-empty`),as=K(is).min(1,`release-note metadata list must contain at least one item`),os=q({section:X(ts).optional(),audience:K(X(ns)).min(1).optional(),scope:X(rs).optional(),targets:as.optional(),impact:is.optional(),migration:is.optional(),deprecation:is.optional(),security:is.optional(),operatorNotes:is.optional(),includeInChangelog:W().optional()}).strict();q({id:V().min(1,`id must be non-empty`).regex(/^[A-Za-z0-9][A-Za-z0-9-]*$/,`id must contain only ASCII letters, digits, and hyphens`),tasks:K(V().regex(/^(T\d+(-[A-Z][A-Za-z0-9]*)?|E-\d+(-[A-Z][A-Za-z0-9]*)?)$/,`task ID must match T#### or E-#### format`)).min(1,`tasks must contain at least one task ID`),kind:X(es),summary:V().min(1,`summary must be non-empty`),prs:K(U().int().positive()).optional(),notes:V().optional(),breaking:V().optional(),releaseNotes:os.optional()}).refine(e=>e.kind!==`breaking`||(e.breaking?.length??0)>0,{message:"breaking entries must include a non-empty `breaking` migration note",path:[`breaking`]}),Object.freeze([{id:`project-info`,scope:`metadata`,path:`.cleo/project-info.json`,mergePrecedence:0,driftDetection:`schema-validate`},{id:`project-context`,scope:`metadata`,path:`.cleo/project-context.json`,mergePrecedence:0,driftDetection:`staleness-gate`},{id:`cleo-config-global`,scope:`global`,path:`~/.cleo/config.json`,mergePrecedence:10,driftDetection:`schema-validate`},{id:`cleo-config-project`,scope:`project`,path:`.cleo/config.json`,mergePrecedence:20,driftDetection:`schema-validate`}]),q({id:V().min(1),scope:fo([Z(`global`),Z(`project`),Z(`metadata`)]),path:V().min(1),schema:G().optional(),mergePrecedence:U().int().nonnegative(),driftDetection:fo([Z(`schema-validate`),Z(`staleness-gate`),Z(`value-diff`),Z(`none`)]),defaults:Y(V(),G()).optional()});var ss=q({key:V().min(1),value:V()}).strict(),cs=X([`running`,`restarting`,`stopped`]),ls=q({child_id:V().min(1),pid:U().int().nonnegative(),state:cs,restart_count:U().int().nonnegative()}).strict(),us=J(`kind`,[q({kind:Z(`spawn`),child_id:V().min(1),program:V().min(1),args:K(V()).default([]),env:K(ss).default([]),cwd:V().optional()}).strict(),q({kind:Z(`restart`),child_id:V().min(1)}).strict(),q({kind:Z(`monitor`),child_id:V().optional()}).strict(),q({kind:Z(`health`)}).strict()]),ds=q({kind:Z(`spawned`),child_id:V().min(1),pid:U().int().nonnegative()}).strict(),fs=q({kind:Z(`restarted`),child_id:V().min(1),pid:U().int().nonnegative(),restart_count:U().int().nonnegative()}).strict(),ps=q({kind:Z(`monitor`),children:K(ls)}).strict(),ms=q({kind:Z(`health`),pid:U().int().nonnegative(),child_count:U().int().nonnegative(),uptime_secs:U().int().nonnegative(),protocol_version:V()}).strict(),hs=X([`child_exited`,`child_restarted`]),gs=J(`kind`,[ds,fs,ps,ms,q({kind:Z(`event`),event:hs,child_id:V().min(1),exit_code:U().int().optional(),signal:V().optional(),restart_delay_ms:U().int().nonnegative().optional()}).strict(),q({kind:Z(`error`),code:V().min(1),message:V()}).strict()]);J(`direction`,[q({protocol_version:V(),id:V().min(1),direction:Z(`request`),request:us}).strict(),q({protocol_version:V(),id:V().min(1),direction:Z(`response`),response:gs}).strict()]);var _s=[`spawn`,`restart`,`monitor`,`health`],vs=[`spawned`,`restarted`,`monitor`,`health`,`event`,`error`];[..._s,...vs],q({subsystems:K(ls.extend({detail:V().optional()}).strict()),allHealthy:W()}).strict(),{$schemaNote:`SSoT machine-readable inventory of every CLEO SQLite database. Consumed by T10307 fleet survey, T10310 pragma drift, T10311 migration coverage, T10312 doctor integrity, T10320 cross-DB invariants. Owned by Saga T10281 SG-BRAIN-DB-RESILIENCE / Epic T10282 E1-DB-INVENTORY (task T10305). Amend together with ADR-068 charter; the CI drift gate (forthcoming under E1) compares entries to disk reality.`,$pathTokens:{"<projectRoot>":"Resolved at runtime from CLEO_ROOT env var or process.cwd(). Substituted by SSoT helpers `getCleoProjectDir()` in packages/brain/src/cleo-home.ts.",$XDG_DATA_HOME:"Resolved via env-paths through `getCleoHome()` in @cleocode/paths. Linux: ~/.local/share/cleo/, macOS: ~/Library/Application Support/cleo/."},entries:[{role:`tasks`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/tasks.db`,drizzleSchemaPath:`packages/core/src/store/tasks-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-tasks/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('tasks', cwd)`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`.cleo/backups/sqlite/tasks-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 1; ADR-013 §9`},{role:`brain`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/brain.db`,drizzleSchemaPath:`packages/core/src/store/schema/memory-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-brain/`,ownerPackage:`@cleocode/brain`,openedVia:`openCleoDb('brain', cwd)`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`.cleo/backups/sqlite/brain-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 2; ADR-013 §9; audit §2 (P0 malformed 2026-05-23)`},{role:`conduit`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/conduit.db`,drizzleSchemaPath:`packages/core/src/store/schema/conduit-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-conduit/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('conduit', cwd)`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`.cleo/backups/sqlite/conduit-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 3; ADR-037 (signaldock→conduit split)`},{role:`manifest`,tier:`derived`,filePathTemplate:`<projectRoot>/.cleo/blobs/manifest.db`,drizzleSchemaPath:`packages/core/src/store/llmtxt-blob-adapter.ts`,migrationsDir:null,ownerPackage:`@cleocode/core`,openedVia:`CleoBlobStore via llmtxt/blob BlobFsAdapter (no openCleoDb role registered)`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`rebuildable-from-blob-store`,documentedIn:`ADR-068 row 7 (derived); schema owned by llmtxt/blob BlobFsAdapter contract`},{role:`llmtxt`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/llmtxt/llmtxt.db`,drizzleSchemaPath:null,migrationsDir:null,ownerPackage:`@cleocode/llmtxt-core`,openedVia:`openCleoDb('llmtxt', cwd) — RESERVED; opener throws 'not yet implemented' (see open-cleo-db.ts L138)`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`.cleo/backups/sqlite/llmtxt-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 8 (reserved); audit §1.1 row 4 (live at .cleo/llmtxt/llmtxt.db)`},{role:`nexus`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/nexus.db`,drizzleSchemaPath:`packages/core/src/store/schema/nexus-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-nexus/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('nexus')`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/nexus-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 5`},{role:`signaldock-project`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/signaldock.db`,drizzleSchemaPath:`packages/core/src/store/schema/agent-registry-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-agent-registry/`,ownerPackage:`@cleocode/core`,openedVia:`HISTORICAL — project-tier signaldock.db was migrated into conduit.db post-T310/ADR-037. No live opener; charter row retained for migration provenance and legacy backup detection.`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`.cleo/backups/sqlite/signaldock-project-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 4 (stale — superseded by ADR-037); audit §1.1 (not in live project DB list)`},{role:`signaldock-global`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/signaldock.db`,drizzleSchemaPath:`packages/core/src/store/schema/agent-registry-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-agent-registry/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('signaldock')`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/signaldock-global-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 9; ADR-037 (post-split global identity registry)`},{role:`telemetry`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/telemetry.db`,drizzleSchemaPath:`packages/core/src/store/schema/telemetry-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-telemetry/`,ownerPackage:`@cleocode/core`,openedVia:`@cleocode/core telemetry/sqlite.ts — lazy open on first event when opted-in; not yet registered as openCleoDb role`,concurrency:`single-writer`,privacy:`cloud-exportable-opt-in`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/telemetry-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 6; T624`},{role:`skills`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/skills.db`,drizzleSchemaPath:`packages/core/src/store/schema/skills-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-skills/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('skills')`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/skills-YYYYMMDD-HHmmss.db`,documentedIn:`T9651 (initial skills.db migration); audit §1.2 row 4 — NOT yet in ADR-068 table`},{role:`global-brain`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/brain.db`,drizzleSchemaPath:`packages/core/src/store/schema/memory-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-brain/`,ownerPackage:`@cleocode/brain`,openedVia:`UNREGISTERED — file exists on disk (audit §1.2 row 3) but no live opener. Provenance unclear; likely orphan from a getCleoHome()-vs-project-resolution path bug. Tracked for cleanup decision under T10282/T10307.`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/global-brain-YYYYMMDD-HHmmss.db`,documentedIn:`audit §1.2 row 3 — NEW per saga T10281; not in ADR-068`},{role:`global-tasks`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/tasks.db`,drizzleSchemaPath:`packages/core/src/store/tasks-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-tasks/`,ownerPackage:`@cleocode/core`,openedVia:`UNREGISTERED — file exists on disk (audit §1.2 row 5, 4 KB) but no live opener. Provenance unclear; likely orphan from a cwd-cascade bug (T9550 class). Tracked for cleanup decision under T10282/T10307.`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/global-tasks-YYYYMMDD-HHmmss.db`,documentedIn:`audit §1.2 row 5 — NEW per saga T10281; not in ADR-068`}]}.entries,le(((e,t)=>{t.exports={}}))(),Object.freeze([{kind:`adr`,label:`ADR`,description:`Architectural decision record`,defaultOwnerKind:`task`,publishDir:`docs/adr`,requiresEntityId:!0,entityIdPattern:/^adr-\d{3,4}-[a-z0-9-]+$/,requiredSections:[`Status`,`Date`,`Context`,`Decision`,`Consequences`]},{kind:`spec`,label:`Spec`,description:`Technical specification`,defaultOwnerKind:`task`,publishDir:`docs/spec`,requiresEntityId:!1,requiredSections:[`Goal`,`Non-Goals`,`Requirements`,`Out-of-Scope`]},{kind:`research`,label:`Research`,description:`Investigation / research note`,defaultOwnerKind:`task`,publishDir:`docs/research`,requiresEntityId:!1,requiredSections:[`Question`,`Findings`,`Sources`]},{kind:`handoff`,label:`Handoff`,description:`Session / agent handoff`,defaultOwnerKind:`session`,publishDir:`docs/handoff`,requiresEntityId:!1,requiredSections:[`Context`,`State`,`Next-Steps`]},{kind:`note`,label:`Note`,description:`Agent observation / informal note`,defaultOwnerKind:`observation`,publishDir:`docs/note`,requiresEntityId:!1,requiredSections:[]},{kind:`llm-readme`,label:`LLM README`,description:`Machine-readable README (llms.txt)`,defaultOwnerKind:`project`,publishDir:`.`,requiresEntityId:!1,requiredSections:[]},{kind:`changeset`,label:`Changeset`,description:`Atomic change entry (release-note input)`,defaultOwnerKind:`task`,publishDir:`.changeset`,requiresEntityId:!0,entityIdPattern:/^t\d+-[a-z0-9-]+$/,requiredSections:[]},{kind:`release-note`,label:`Release Note`,description:`Composed release notes`,defaultOwnerKind:`project`,publishDir:`docs/release`,requiresEntityId:!0,entityIdPattern:/^v\d{4}\.\d+\.\d+(-[a-z0-9-]+)?$/,requiredSections:[`Changes`,`Migration`]},{kind:`plan`,label:`Plan`,description:`Epic / saga decomposition plan`,defaultOwnerKind:`task`,publishDir:`docs/plan`,requiresEntityId:!1,requiredSections:[`Goal`,`Steps`,`Owners`]},{kind:`rcasd`,label:`RCASD`,description:`Root-cause analysis + scoped delivery`,defaultOwnerKind:`task`,publishDir:`.cleo/rcasd`,requiresEntityId:!0,entityIdPattern:/^t\d+(-.+)?$/,requiredSections:[`Root-Cause`,`Action`,`Schedule`,`Detection`]}].map(e=>e.kind)),q({version:Z(1),operation:Z(`docs.projection`),identity:q({projectId:V().min(1),projectRoot:V().min(1),actor:V().min(1),operation:Z(`docs.projection`),idempotencyKey:V().min(1)}).strict(),source:q({attachmentId:V().min(1),sha256:V().regex(/^[a-f0-9]{64}$/),ownerId:V().min(1),ownerType:X([`task`,`session`,`observation`,`decision`,`learning`,`pattern`]),label:V().min(1)}).strict(),observation:q({kind:Z(`doc-attachment`),attachmentId:V().min(1),ownerId:V().min(1),addedAt:V().min(1),slug:V().optional(),type:V().optional()}).strict()}).strict(),q({version:Z(1),sourceHash:V().regex(/^[a-f0-9]{64}$/),graph:X([`completed`,`disabled`]),observationId:V().min(1),verifiedAt:V().min(1),actor:V().min(1)}).strict();var ys=[`draft`,`proposed`,`accepted`,`superseded`,`archived`,`deprecated`],bs={type:`object`,required:[`taskId`,`verification`,`verificationStatus`,`passed`],additionalProperties:!0,properties:{taskId:{type:`string`,description:`The task the gates belong to.`},title:{type:`string`,description:`Task title, for operator display.`},status:{type:`string`,description:`Task lifecycle status.`},type:{type:`string`,description:`Task type (epic | task | subtask).`},verification:{type:`object`,additionalProperties:!0,properties:{passed:{type:`boolean`,description:`True when every required gate is set.`},round:{type:`number`,description:`IVTR round counter.`},gates:{type:`object`,additionalProperties:{type:`boolean`},description:`Gate name → whether it is recorded as passed.`},evidence:{type:`object`,additionalProperties:!0,description:`Gate name → the evidence atom kinds validated for it.`}}},verificationStatus:{type:`string`,enum:[`passed`,`pending`],description:`Whether every required gate is now recorded.`},passed:{type:`boolean`,description:`Mirror of verification.passed.`},round:{type:`number`,description:`IVTR round counter.`},requiredGates:{type:`array`,items:{type:`string`},description:`Gates this project requires before complete.`},missingGates:{type:`array`,items:{type:`string`},description:`Required gates not yet recorded — empty means ready to complete.`}}},xs=[`/data/taskId`,`/data/verification`,`/data/verification/passed`,`/data/verification/gates`,`/data/verificationStatus`,`/data/passed`,`/data/missingGates`,`/data/requiredGates`],Ss={operation:`check.gate.set`,shapeNote:"FLAT record, not the nested read shape. The verification object is at /data/verification — NEVER /data/task/verification, which is how `cleo show` nests a task and does not exist here. The response is self-confirming: it returns the full verification after the write, so there is no need to re-read.",dataSchema:{...bs},fieldPointers:[...xs]},Cs={operation:`check.gate.status`,shapeNote:"FLAT record identical in shape to check.gate.set. Read-only: reports which gates are recorded and which are still missing. /data/missingGates being empty is the precondition for `cleo complete`.",dataSchema:{...bs},fieldPointers:[...xs]},ws={type:`object`,required:[`provider`,`label`,`authType`,`tokenPreview`],additionalProperties:!0,properties:{provider:{type:`string`,description:`LLM provider transport key.`},label:{type:`string`,description:`Account label, unique within the provider.`},authType:{type:`string`,description:`Storage auth scheme (api_key | oauth | aws_sdk).`},tokenPreview:{type:`string`,description:`Redacted token preview (last-4 chars) — NEVER the raw secret.`},hasRefreshToken:{type:`boolean`},expiresAt:{type:[`number`,`null`]},priority:{type:`number`},source:{type:[`string`,`null`]},baseUrl:{type:[`string`,`null`]},disabled:{type:`boolean`}}},Ts={operation:`account.add`,shapeNote:"`account` is the redacted NON-SECRET view (tokenPreview = last-4 ONLY). The raw secret is NEVER returned. `detectedAuthType` records the resolved scheme.",dataSchema:{type:`object`,required:[`account`,`detectedAuthType`],additionalProperties:!0,properties:{account:ws,detectedAuthType:{type:`string`,description:`Resolved auth scheme (api_key | oauth).`}}},fieldPointers:[`/data/account/provider`,`/data/account/label`,`/data/account/authType`,`/data/account/tokenPreview`,`/data/detectedAuthType`]},Es={operation:`account.list`,shapeNote:`accounts[] are NON-SECRET views — provider/label/authType/tokenPreview only. No decrypted secret is present in ANY field.`,dataSchema:{type:`object`,required:[`accounts`],additionalProperties:!0,properties:{accounts:{type:`array`,items:ws,description:`Redacted account views.`}}},fieldPointers:[`/data/accounts`,`/data/accounts/0/provider`,`/data/accounts/0/label`,`/data/accounts/0/tokenPreview`]},Ds={operation:`account.remove`,shapeNote:`Mutate envelope: count=1 + deleted=[provider:label] when an account was removed; count=0 + [] when absent (idempotent).`,dataSchema:{type:`object`,required:[`count`,`deleted`],additionalProperties:!0,properties:{count:{type:`number`,description:`1 when an account was deleted, else 0.`},deleted:{type:`array`,items:{type:`string`},description:"The `provider:label` identifier(s) deleted."}}},fieldPointers:[`/data/count`,`/data/deleted/0`]},Os={type:`object`,required:[`id`,`displayName`,`aliases`,`authMethods`],additionalProperties:!0,properties:{id:{type:`string`,description:`Canonical provider key (e.g. anthropic).`},displayName:{type:`string`},aliases:{type:`array`,items:{type:`string`},description:`Case-insensitive aliases.`},authMethods:{type:`array`,items:{type:`string`},description:`Supported auth methods (api_key | oauth | aws_sdk).`},modelsDevId:{type:`string`,description:`models.dev catalog provider key.`},source:{type:`string`,description:`Provenance (seed | plugin | import).`}}},ks={operation:`provider.list`,shapeNote:`providers[] are declarative NON-SECRET views (id/displayName/aliases/authMethods).`,dataSchema:{type:`object`,required:[`providers`],additionalProperties:!0,properties:{providers:{type:`array`,items:Os,description:`Provider views.`}}},fieldPointers:[`/data/providers`,`/data/providers/0/id`,`/data/providers/0/displayName`,`/data/providers/0/aliases`]},As={operation:`provider.show`,shapeNote:"`provider` is the resolved declarative view; `resolvedFrom` echoes the alias/id the lookup matched.",dataSchema:{type:`object`,required:[`provider`,`resolvedFrom`],additionalProperties:!0,properties:{provider:Os,resolvedFrom:{type:`string`,description:`The id/alias the lookup matched.`}}},fieldPointers:[`/data/provider/id`,`/data/provider/displayName`,`/data/resolvedFrom`]},js={operation:`provider.connect`,shapeNote:"Mutate envelope: count=1 + created=[provider:label]. `account` carries the redacted NON-SECRET view. The raw token is NEVER returned.",dataSchema:{type:`object`,required:[`count`,`created`],additionalProperties:!0,properties:{count:{type:`number`,description:`Number of accounts created/updated (1).`},created:{type:`array`,items:{type:`string`},description:`The provider:label id(s).`},account:ws}},fieldPointers:[`/data/count`,`/data/created/0`,`/data/account/tokenPreview`]},Ms={type:`object`,required:[`id`,`providerId`,`name`,`releaseDate`],additionalProperties:!0,properties:{id:{type:`string`,description:`Model id (catalog key).`},providerId:{type:`string`,description:`Provider key (models.dev id).`},name:{type:`string`,description:`Human-readable display name.`},family:{type:`string`},releaseDate:{type:`string`,description:`ISO release date YYYY-MM-DD.`},contextLimit:{type:[`number`,`null`]},outputLimit:{type:[`number`,`null`]},status:{type:`string`,description:`Lifecycle (stable | beta | preview | …).`}}},Ns={operation:`model.query`,shapeNote:"models[] are catalog views ordered newest-first by release_date. `count` is the number returned.",dataSchema:{type:`object`,required:[`models`,`count`],additionalProperties:!0,properties:{models:{type:`array`,items:Ms,description:`Catalog model views.`},count:{type:`number`,description:`Number of models returned.`}}},fieldPointers:[`/data/models`,`/data/models/0/id`,`/data/models/0/providerId`,`/data/count`]},Ps={operation:`model.show`,shapeNote:"`model` is the resolved catalog view; `found` is false when the id is absent.",dataSchema:{type:`object`,required:[`found`],additionalProperties:!0,properties:{found:{type:`boolean`,description:`True IFF the model id resolved to a catalog row.`},model:{...Ms,type:[`object`,`null`]}}},fieldPointers:[`/data/found`,`/data/model/id`,`/data/model/providerId`]},Fs={operation:`profile.create`,shapeNote:"Mutate envelope: count=1 + created=[name]. `profile` echoes the persisted binding {name, provider, model, credentialLabel?, role?}.",dataSchema:{type:`object`,required:[`count`,`created`],additionalProperties:!0,properties:{count:{type:`number`},created:{type:`array`,items:{type:`string`}},profile:{type:`object`,additionalProperties:!0,properties:{name:{type:`string`},provider:{type:`string`},model:{type:`string`},credentialLabel:{type:[`string`,`null`]},role:{type:[`string`,`null`]}}}}},fieldPointers:[`/data/count`,`/data/created/0`,`/data/profile/name`,`/data/profile/provider`,`/data/profile/model`]},Is={operation:`profile.list`,shapeNote:`profiles[] are the named bindings from llm.profiles (name + provider + model + optional credentialLabel/role).`,dataSchema:{type:`object`,required:[`profiles`],additionalProperties:!0,properties:{profiles:{type:`array`,items:{type:`object`,required:[`name`,`provider`,`model`],additionalProperties:!0,properties:{name:{type:`string`},provider:{type:`string`},model:{type:`string`},credentialLabel:{type:[`string`,`null`]}}}}}},fieldPointers:[`/data/profiles`,`/data/profiles/0/name`,`/data/profiles/0/provider`,`/data/profiles/0/model`]},Ls={operation:`profile.pin`,shapeNote:"Mutate envelope: count=1 + updated=[role]. `role` + `profile` echo the binding.",dataSchema:{type:`object`,required:[`count`,`updated`],additionalProperties:!0,properties:{count:{type:`number`},updated:{type:`array`,items:{type:`string`}},role:{type:`string`},profile:{type:`string`}}},fieldPointers:[`/data/count`,`/data/updated/0`,`/data/role`,`/data/profile`]},Rs={operation:`profile.use`,shapeNote:"Mutate envelope: count=1 + updated=[defaultProfile]. `profile` echoes the new default.",dataSchema:{type:`object`,required:[`count`,`updated`],additionalProperties:!0,properties:{count:{type:`number`},updated:{type:`array`,items:{type:`string`}},profile:{type:`string`,description:`The profile name set as default.`},scope:{type:`string`,enum:[`global`]}}},fieldPointers:[`/data/count`,`/data/updated/0`,`/data/profile`]},zs={operation:`service.connect`,shapeNote:"Mutate envelope: count=1, created=[connectionId]. `connection` carries the NON-SECRET identity (provider/label/expiresAt). No token is ever returned.",dataSchema:{type:`object`,required:[`count`,`created`],additionalProperties:!0,properties:{count:{type:`number`,description:`Number of connections created/updated (1).`},created:{type:`array`,items:{type:`string`},description:`The connection id(s) created/updated, as strings.`},connection:{type:`object`,description:`Non-secret connection identity.`,properties:{connectionId:{type:`number`},provider:{type:`string`},label:{type:`string`},expiresAt:{type:[`string`,`null`]}}}}},fieldPointers:[`/data/count`,`/data/created/0`,`/data/connection/provider`,`/data/connection/label`,`/data/connection/expiresAt`]},Bs={operation:`service.list`,shapeNote:`connections[] are NON-SECRET views — provider/label/status/scopes/expiresAt/hasCredentials only. The decrypted token is NEVER present in any field.`,dataSchema:{type:`object`,required:[`connections`],additionalProperties:!0,properties:{connections:{type:`array`,items:{type:`object`,required:[`provider`,`label`,`status`,`scopes`,`hasCredentials`],additionalProperties:!0,properties:{id:{type:`number`},provider:{type:`string`},label:{type:`string`},status:{type:`string`,enum:[`active`,`expired`,`revoked`]},scopes:{type:`array`,items:{type:`string`}},expiresAt:{type:[`string`,`null`]},connectedAt:{type:`string`},updatedAt:{type:`string`},hasCredentials:{type:`boolean`,description:`Whether a credential blob is present — NEVER the token itself.`}}},description:`Redacted connection views.`}}},fieldPointers:[`/data/connections`,`/data/connections/0/provider`,`/data/connections/0/label`,`/data/connections/0/status`,`/data/connections/0/expiresAt`,`/data/connections/0/hasCredentials`]},Vs={operation:`service.revoke`,shapeNote:"Mutate envelope: count=1 + deleted=[provider:label] on success (0 + [] when no such connection). `grantsRemoved` counts the cascaded agent_service_grants rows.",dataSchema:{type:`object`,required:[`count`,`deleted`],additionalProperties:!0,properties:{count:{type:`number`,description:`1 when a connection was deleted, else 0.`},deleted:{type:`array`,items:{type:`string`},description:"The `provider:label` identifier(s) deleted."},grantsRemoved:{type:`number`,description:`How many agent_service_grants rows were cascaded-deleted.`}}},fieldPointers:[`/data/count`,`/data/deleted/0`,`/data/grantsRemoved`]},Hs={operation:`service.status`,shapeNote:"connections[] are NON-SECRET health views: each adds `expired` + `needsRefresh` booleans computed from expiresAt. No token is ever present.",dataSchema:{type:`object`,required:[`connections`],additionalProperties:!0,properties:{connections:{type:`array`,items:{type:`object`,required:[`provider`,`label`,`status`,`expired`,`needsRefresh`],additionalProperties:!0,properties:{provider:{type:`string`},label:{type:`string`},status:{type:`string`,enum:[`active`,`expired`,`revoked`]},expiresAt:{type:[`string`,`null`]},expired:{type:`boolean`,description:`True when expiresAt is in the past (or status=expired).`},needsRefresh:{type:`boolean`,description:`True when the connection is expired and has stored credentials.`},hasCredentials:{type:`boolean`}}}}}},fieldPointers:[`/data/connections`,`/data/connections/0/provider`,`/data/connections/0/label`,`/data/connections/0/status`,`/data/connections/0/expired`,`/data/connections/0/needsRefresh`]},Us={operation:`tasks.show`,shapeNote:"The task record is nested under `task` — use /data/task/<field>, not /data/<field>. Mutation envelopes are FLAT by contrast (/data/created/0, /data/updated/0), which is the asymmetry that produced GH #1225/#1239/#1231. `view` may be null. `acRows` and `relations` are conditional. `description`, `acceptance` and `verification` are withheld by the default (MVI) projection but `--field` resolves them transparently (T12108) — no `--full` needed. Evidence is NOT a task field: it lives at /data/task/verification/evidence (keyed by gate), alongside /data/task/verification/gates. T12127 (GH #1231) — the previous wording advertised `/data/task/evidence`, which does not exist, in the very text shown to an agent whose pointer had just failed.",dataSchema:{type:`object`,required:[`task`,`view`,`attachments`],additionalProperties:!0,properties:{task:{type:`object`,description:`Full task record (id, title, status, priority, type, parentId, ...).`,required:[`id`,`title`,`status`],properties:{id:{type:`string`},title:{type:`string`},status:{type:`string`},priority:{type:`string`},type:{type:`string`},parentId:{type:[`string`,`null`]}}},view:{type:[`object`,`null`],description:`Canonical task view projection produced by computeTaskView. Null when unavailable.`},attachments:{type:`array`,description:`Docs attachments linked to this task. Always an array (empty when none).`},acRows:{type:`array`,description:`Acceptance-criterion rows (id, alias AC<n>, ordinal, text). Optional.`},relations:{type:`object`,description:`Expanded relation/doc lists. Present only with --relations.`}}},fieldPointers:[`/data/task/id`,`/data/task/title`,`/data/task/status`,`/data/task/priority`,`/data/task/type`,`/data/task/parentId`,`/data/task/description`,`/data/task/acceptance`,`/data/task/verification`,`/data/task/verification/gates`,`/data/task/verification/evidence`,`/data/view/id`,`/data/view/title`]},Ws={type:`object`,required:[`matched`,`returned`,`truncated`,`archive`,`limit`,`offset`],properties:{matched:{type:`number`,description:`All rows matching the query before pagination.`},returned:{type:`number`,description:`Rows present in this response; also --output count.`},truncated:{type:`boolean`,description:`Matching rows are omitted by this page.`},archive:{type:`string`,enum:[`included`,`excluded`,`only`]},limit:{type:[`number`,`null`]},offset:{type:`number`}}},Gs={operation:`tasks.list`,shapeNote:`Rows are under /data/tasks (an array); counts are /data/total and /data/filtered.`,dataSchema:{type:`object`,required:[`tasks`,`total`,`filtered`,`population`],additionalProperties:!0,properties:{tasks:{type:`array`,description:`Task rows matching the filters.`,items:{type:`object`,properties:{id:{type:`string`},title:{type:`string`},status:{type:`string`}}}},total:{type:`number`,description:`Total tasks before filtering.`},filtered:{type:`number`,description:`Number of tasks after filters applied.`},population:Ws}},fieldPointers:[`/data/tasks/0/id`,`/data/tasks/0/title`,`/data/tasks/0/status`,`/data/total`,`/data/filtered`,`/data/population/matched`,`/data/population/returned`,`/data/population/archive`]},Ks={operation:`tasks.find`,shapeNote:`Results are wrapped: /data/results (array of matches), /data/total (count). Use /data/results/0/id — NOT /data/0/id.`,dataSchema:{type:`object`,required:[`results`,`total`,`population`],additionalProperties:!0,properties:{results:{type:`array`,description:`Array of minimal task matches.`,items:{type:`object`,required:[`id`,`title`],properties:{id:{type:`string`},title:{type:`string`},status:{type:`string`}}}},total:{type:`number`,description:`Total matching tasks.`},population:Ws,query:{type:`string`,description:`The query string that was searched.`},searchType:{type:`string`,description:`Requested matching mode: lexical (default), fuzzy (explicit opt-in), exact, id, or filter.`}}},fieldPointers:[`/data/results/0/id`,`/data/results/0/title`,`/data/results/0/status`,`/data/results/0/match`,`/data/searchType`,`/data/total`,`/data/population/matched`,`/data/population/returned`,`/data/population/archive`]},qs={type:`object`,required:[`count`,`created`,`updated`,`deleted`],additionalProperties:!0,properties:{count:{type:`number`,description:`Number of records the mutation affected.`},created:{type:`array`,description:`Task IDs created by the mutation (bare strings, e.g. "T11692"). Empty for update/delete-only mutations.`,items:{type:`string`}},updated:{type:`array`,description:`Task IDs updated by the mutation (bare strings). Empty for create/delete-only mutations.`,items:{type:`string`}},deleted:{type:`array`,description:`Task IDs deleted by the mutation (bare strings). Empty for create/update-only mutations.`,items:{type:`string`}},ids:{type:`array`,description:`Deprecated alias for the non-empty bucket. Prefer created/updated/deleted.`,items:{type:`string`}},dryRun:{type:`boolean`,description:`True when this was a preview-only mutation.`},status:{type:`string`,description:`Post-mutation task status (add/update/complete).`}}},Js={"check.gate.set":Ss,"check.gate.status":Cs,"tasks.show":Us,"tasks.list":Gs,"tasks.find":Ks,"tasks.add":{operation:`tasks.add`,shapeNote:`The created task ID (bare string) is at /data/created/0 — NOT /data/created/0/id. Example: /data/created/0 → "T11692".`,dataSchema:{...qs},fieldPointers:[`/data/created/0`,`/data/count`]},"tasks.add-batch":{operation:`tasks.add-batch`,shapeNote:`Atomic batch insert. Each created task ID (bare string) is in /data/created (array). Dry-run projections are at root: /data/wouldCreate and /data/insertedCount (=0). NOT under /data/dryRunSummary.`,dataSchema:{type:`object`,required:[`count`,`created`,`updated`,`deleted`],additionalProperties:!0,properties:{...qs.properties,wouldCreate:{type:`number`,description:`Dry-run: predicted write count. Present only when dryRun=true.`},insertedCount:{type:`number`,description:`Dry-run: always 0 (no DB write). Present only when dryRun=true.`},wouldAffect:{type:`number`,description:`Dry-run: generic affected count. Present only when dryRun=true.`}}},fieldPointers:[`/data/created/0`,`/data/count`,`/data/wouldCreate`,`/data/insertedCount`]},"tasks.update":{operation:`tasks.update`,shapeNote:`The updated task ID (bare string) is at /data/updated/0 — NOT /data/updated/0/id. Use /data/status for the post-mutation status.`,dataSchema:{...qs},fieldPointers:[`/data/updated/0`,`/data/status`,`/data/count`]},"tasks.complete":{operation:`tasks.complete`,shapeNote:`Completion is a status mutation — the task ID (bare string) is at /data/updated/0 (status=done). Use /data/status for the post-mutation status.`,dataSchema:{...qs},fieldPointers:[`/data/updated/0`,`/data/status`,`/data/count`]},"tasks.reorder-rank":{operation:`tasks.reorder-rank`,shapeNote:`Re-ranked IDs (new order) at /data/ranked; unresolved request IDs at /data/skipped; count at /data/count.`,dataSchema:{type:`object`,required:[`ranked`,`skipped`,`count`],additionalProperties:!0,properties:{ranked:{type:`array`,description:`Task IDs whose position was written, in the new top-to-bottom order.`,items:{type:`string`}},skipped:{type:`array`,description:`Request IDs that did not resolve to a task (no-op for these).`,items:{type:`string`}},count:{type:`number`,description:`Number of tasks re-ranked.`}}},fieldPointers:[`/data/ranked/0`,`/data/skipped/0`,`/data/count`]},"tasks.bulk-move":{operation:`tasks.bulk-move`,shapeNote:`Moved task IDs at /data/moved (all-or-nothing); applied status/stage at /data/status and /data/pipelineStage; count at /data/count.`,dataSchema:{type:`object`,required:[`moved`,`count`],additionalProperties:!0,properties:{moved:{type:`array`,description:`Task IDs successfully moved (atomic — empty only when count is 0).`,items:{type:`string`}},status:{type:`string`,description:`The status applied, when supplied.`},pipelineStage:{type:`string`,description:`The pipeline stage applied, when supplied.`},count:{type:`number`,description:`Number of tasks moved.`}}},fieldPointers:[`/data/moved/0`,`/data/status`,`/data/pipelineStage`,`/data/count`]},"tasks.assignee":{operation:`tasks.assignee`,shapeNote:`The new assignee is at /data/assignee (null when cleared); /data/assigned is true on set, false on clear.`,dataSchema:{type:`object`,required:[`taskId`,`assignee`,`assigned`],additionalProperties:!0,properties:{taskId:{type:`string`,description:`The task ID whose assignee changed.`},assignee:{type:[`string`,`null`],description:`The new assignee value (null when cleared).`},assigned:{type:`boolean`,description:`True when an assignee was set; false on clear.`}}},fieldPointers:[`/data/taskId`,`/data/assignee`,`/data/assigned`]},"admin.config.get":{operation:`admin.config.get`,shapeNote:`The resolved value is at /data/value (may be null). /data/found is false when the key is absent.`,dataSchema:{type:`object`,required:[`key`,`scope`,`value`,`found`],additionalProperties:!0,properties:{key:{type:`string`,description:`The dot-notation key that was resolved.`},scope:{type:`string`,description:`Cascade slice the value was resolved against.`,enum:[`global`,`project`,`merged`]},value:{description:`Resolved value, or null when the key is absent.`},found:{type:`boolean`,description:`True IFF the key resolved to a defined value.`}}},fieldPointers:[`/data/key`,`/data/scope`,`/data/value`,`/data/found`]},"admin.config.list":{operation:`admin.config.list`,shapeNote:`The full resolved config is at /data/config (an object); flattened dot-notation keys are at /data/keys (an array).`,dataSchema:{type:`object`,required:[`scope`,`config`,`keys`],additionalProperties:!0,properties:{scope:{type:`string`,description:`Cascade slice the config was resolved against.`,enum:[`global`,`project`,`merged`]},config:{type:`object`,description:`Full resolved config object for the slice.`,additionalProperties:!0},keys:{type:`array`,description:`Flattened dot-notation keys present in the resolved config.`,items:{type:`string`}}}},fieldPointers:[`/data/scope`,`/data/keys/0`,`/data/keys`]},"admin.config.validate":{operation:`admin.config.validate`,shapeNote:`The pass/fail verdict is at /data/ok; rejection reasons are at /data/issues (empty when ok=true).`,dataSchema:{type:`object`,required:[`scope`,`ok`,`issues`],additionalProperties:!0,properties:{scope:{type:`string`,description:`Scope that was validated.`,enum:[`global`,`project`]},ok:{type:`boolean`,description:`True IFF every gate passed.`},issues:{type:`array`,description:`Human-readable schema issues. Empty when ok=true.`,items:{type:`string`}}}},fieldPointers:[`/data/scope`,`/data/ok`,`/data/issues/0`,`/data/issues`]},"admin.config.unset":{operation:`admin.config.unset`,shapeNote:`/data/removed is true IFF a value was deleted; false when the key was already absent (idempotent).`,dataSchema:{type:`object`,required:[`key`,`scope`,`removed`],additionalProperties:!0,properties:{key:{type:`string`,description:`The dot-notation key that was targeted.`},scope:{type:`string`,description:`Scope the key was removed from.`,enum:[`project`,`global`]},removed:{type:`boolean`,description:`True IFF a value was actually deleted.`}}},fieldPointers:[`/data/key`,`/data/scope`,`/data/removed`]},"service.connect":zs,"service.list":Bs,"service.revoke":Vs,"service.status":Hs,"account.add":Ts,"account.list":Es,"account.remove":Ds,"provider.list":ks,"provider.show":As,"provider.connect":js,"model.query":Ns,"model.show":Ps,"profile.create":Fs,"profile.list":Is,"profile.pin":Ls,"profile.use":Rs};Js[`tasks.update`],Js[`tasks.reorder-rank`],Js[`tasks.bulk-move`],Js[`tasks.assignee`],`${ys.join(`|`)}`;var Ys=[`doc`,`task`,`decision`,`session`,`memory`],Xs=[`attached-to`,`supersedes`,`superseded-by`,`related-task`,`linked-decision`,`derived-from`,`shares-topic`],Zs=[`active`,`superseded`,`archived`,`draft`],Qs=X(Ys),$s=X(Xs),ec=X(Zs),tc={id:V().min(1),title:V().min(1),metadata:Y(V(),G()).optional()},nc=J(`kind`,[q({...tc,kind:Z(`doc`),slug:V().min(1),docKind:V().min(1),lifecycleStatus:ec,publishedAt:V().min(1),supersededAt:V().min(1).optional(),summary:V().optional()}),q({...tc,kind:Z(`task`),taskType:X([`saga`,`epic`,`task`,`subtask`]),status:X([`pending`,`in_progress`,`done`,`blocked`,`cancelled`,`archived`])}),q({...tc,kind:Z(`decision`),outcome:X([`proposed`,`accepted`,`rejected`,`superseded`]),decidedAt:V().min(1)}),q({...tc,kind:Z(`session`),startedAt:V().min(1),endedAt:V().min(1).optional()}),q({...tc,kind:Z(`memory`),memoryType:X([`observation`,`pattern`,`decision`,`diary`]),recordedAt:V().min(1)})]),rc=q({relation:$s,from:V().min(1),fromKind:Qs,to:V().min(1),toKind:Qs,addedAt:V().min(1),summary:V().optional()});q({nodes:K(nc).readonly(),edges:K(rc).readonly(),totalNodes:U().int().nonnegative(),totalEdges:U().int().nonnegative()}),q({frontmatter:q({slug:V(),kind:V().nullable(),title:V().nullable(),summary:V().nullable(),lifecycleStatus:V(),docVersion:U().int(),ownerVersion:V().nullable(),supersedes:V().nullable(),supersededBy:V().nullable(),topics:K(V()).readonly(),relatedTasks:K(V()).readonly(),sha256:V(),createdAt:V()}),body:q({encoding:X([`utf-8`,`base64`]),text:V().optional(),base64:V().optional(),sizeBytes:U().int().nonnegative(),mimeType:V().nullable()})});var ic=[`related`,`blocks`,`duplicates`,`absorbs`,`fixes`,`extends`,`supersedes`,`groups`],ac;(function(e){e[e.SUCCESS=0]=`SUCCESS`,e[e.GENERAL_ERROR=1]=`GENERAL_ERROR`,e[e.INVALID_INPUT=2]=`INVALID_INPUT`,e[e.FILE_ERROR=3]=`FILE_ERROR`,e[e.NOT_FOUND=4]=`NOT_FOUND`,e[e.DEPENDENCY_ERROR=5]=`DEPENDENCY_ERROR`,e[e.VALIDATION_ERROR=6]=`VALIDATION_ERROR`,e[e.LOCK_TIMEOUT=7]=`LOCK_TIMEOUT`,e[e.CONFIG_ERROR=8]=`CONFIG_ERROR`,e[e.PARENT_NOT_FOUND=10]=`PARENT_NOT_FOUND`,e[e.DEPTH_EXCEEDED=11]=`DEPTH_EXCEEDED`,e[e.SIBLING_LIMIT=12]=`SIBLING_LIMIT`,e[e.INVALID_PARENT_TYPE=13]=`INVALID_PARENT_TYPE`,e[e.CIRCULAR_REFERENCE=14]=`CIRCULAR_REFERENCE`,e[e.ORPHAN_DETECTED=15]=`ORPHAN_DETECTED`,e[e.HAS_CHILDREN=16]=`HAS_CHILDREN`,e[e.TASK_COMPLETED=17]=`TASK_COMPLETED`,e[e.CASCADE_FAILED=18]=`CASCADE_FAILED`,e[e.HAS_DEPENDENTS=19]=`HAS_DEPENDENTS`,e[e.CHECKSUM_MISMATCH=20]=`CHECKSUM_MISMATCH`,e[e.CONCURRENT_MODIFICATION=21]=`CONCURRENT_MODIFICATION`,e[e.ID_COLLISION=22]=`ID_COLLISION`,e[e.SESSION_EXISTS=30]=`SESSION_EXISTS`,e[e.SESSION_NOT_FOUND=31]=`SESSION_NOT_FOUND`,e[e.SCOPE_CONFLICT=32]=`SCOPE_CONFLICT`,e[e.SCOPE_INVALID=33]=`SCOPE_INVALID`,e[e.TASK_NOT_IN_SCOPE=34]=`TASK_NOT_IN_SCOPE`,e[e.TASK_CLAIMED=35]=`TASK_CLAIMED`,e[e.SESSION_REQUIRED=36]=`SESSION_REQUIRED`,e[e.SESSION_CLOSE_BLOCKED=37]=`SESSION_CLOSE_BLOCKED`,e[e.ACTIVE_TASK_REQUIRED=38]=`ACTIVE_TASK_REQUIRED`,e[e.NOTES_REQUIRED=39]=`NOTES_REQUIRED`,e[e.VERIFICATION_INIT_FAILED=40]=`VERIFICATION_INIT_FAILED`,e[e.GATE_UPDATE_FAILED=41]=`GATE_UPDATE_FAILED`,e[e.INVALID_GATE=42]=`INVALID_GATE`,e[e.INVALID_AGENT=43]=`INVALID_AGENT`,e[e.MAX_ROUNDS_EXCEEDED=44]=`MAX_ROUNDS_EXCEEDED`,e[e.GATE_DEPENDENCY=45]=`GATE_DEPENDENCY`,e[e.VERIFICATION_LOCKED=46]=`VERIFICATION_LOCKED`,e[e.ROUND_MISMATCH=47]=`ROUND_MISMATCH`,e[e.AC_LOCKED=48]=`AC_LOCKED`,e[e.EPIC_HAS_PENDING_CHILDREN=49]=`EPIC_HAS_PENDING_CHILDREN`,e[e.CONTEXT_WARNING=50]=`CONTEXT_WARNING`,e[e.CONTEXT_CAUTION=51]=`CONTEXT_CAUTION`,e[e.CONTEXT_CRITICAL=52]=`CONTEXT_CRITICAL`,e[e.CONTEXT_EMERGENCY=53]=`CONTEXT_EMERGENCY`,e[e.CONTEXT_STALE=54]=`CONTEXT_STALE`,e[e.PROTOCOL_MISSING=60]=`PROTOCOL_MISSING`,e[e.INVALID_RETURN_MESSAGE=61]=`INVALID_RETURN_MESSAGE`,e[e.MANIFEST_ENTRY_MISSING=62]=`MANIFEST_ENTRY_MISSING`,e[e.SPAWN_VALIDATION_FAILED=63]=`SPAWN_VALIDATION_FAILED`,e[e.AUTONOMOUS_BOUNDARY=64]=`AUTONOMOUS_BOUNDARY`,e[e.HANDOFF_REQUIRED=65]=`HANDOFF_REQUIRED`,e[e.RESUME_FAILED=66]=`RESUME_FAILED`,e[e.CONCURRENT_SESSION=67]=`CONCURRENT_SESSION`,e[e.THIN_AGENT_VIOLATION=68]=`THIN_AGENT_VIOLATION`,e[e.ATOMICITY_VIOLATION=69]=`ATOMICITY_VIOLATION`,e[e.NEXUS_NOT_INITIALIZED=70]=`NEXUS_NOT_INITIALIZED`,e[e.NEXUS_PROJECT_NOT_FOUND=71]=`NEXUS_PROJECT_NOT_FOUND`,e[e.NEXUS_PERMISSION_DENIED=72]=`NEXUS_PERMISSION_DENIED`,e[e.NEXUS_INVALID_SYNTAX=73]=`NEXUS_INVALID_SYNTAX`,e[e.NEXUS_SYNC_FAILED=74]=`NEXUS_SYNC_FAILED`,e[e.NEXUS_REGISTRY_CORRUPT=75]=`NEXUS_REGISTRY_CORRUPT`,e[e.NEXUS_PROJECT_EXISTS=76]=`NEXUS_PROJECT_EXISTS`,e[e.NEXUS_QUERY_FAILED=77]=`NEXUS_QUERY_FAILED`,e[e.NEXUS_GRAPH_ERROR=78]=`NEXUS_GRAPH_ERROR`,e[e.NEXUS_IMPACT_CRITICAL=79]=`NEXUS_IMPACT_CRITICAL`,e[e.LIFECYCLE_GATE_FAILED=80]=`LIFECYCLE_GATE_FAILED`,e[e.AUDIT_MISSING=81]=`AUDIT_MISSING`,e[e.CIRCULAR_VALIDATION=82]=`CIRCULAR_VALIDATION`,e[e.LIFECYCLE_TRANSITION_INVALID=83]=`LIFECYCLE_TRANSITION_INVALID`,e[e.PROVENANCE_REQUIRED=84]=`PROVENANCE_REQUIRED`,e[e.ARTIFACT_TYPE_UNKNOWN=85]=`ARTIFACT_TYPE_UNKNOWN`,e[e.ARTIFACT_VALIDATION_FAILED=86]=`ARTIFACT_VALIDATION_FAILED`,e[e.ARTIFACT_BUILD_FAILED=87]=`ARTIFACT_BUILD_FAILED`,e[e.ARTIFACT_PUBLISH_FAILED=88]=`ARTIFACT_PUBLISH_FAILED`,e[e.ARTIFACT_ROLLBACK_FAILED=89]=`ARTIFACT_ROLLBACK_FAILED`,e[e.PROVENANCE_CONFIG_INVALID=90]=`PROVENANCE_CONFIG_INVALID`,e[e.SIGNING_KEY_MISSING=91]=`SIGNING_KEY_MISSING`,e[e.SIGNATURE_INVALID=92]=`SIGNATURE_INVALID`,e[e.DIGEST_MISMATCH=93]=`DIGEST_MISMATCH`,e[e.ATTESTATION_INVALID=94]=`ATTESTATION_INVALID`,e[e.ADAPTER_NOT_FOUND=95]=`ADAPTER_NOT_FOUND`,e[e.ADAPTER_INIT_FAILED=96]=`ADAPTER_INIT_FAILED`,e[e.ADAPTER_HOOK_FAILED=97]=`ADAPTER_HOOK_FAILED`,e[e.ADAPTER_SPAWN_FAILED=98]=`ADAPTER_SPAWN_FAILED`,e[e.ADAPTER_INSTALL_FAILED=99]=`ADAPTER_INSTALL_FAILED`,e[e.NO_DATA=100]=`NO_DATA`,e[e.ALREADY_EXISTS=101]=`ALREADY_EXISTS`,e[e.NO_CHANGE=102]=`NO_CHANGE`,e[e.TESTS_SKIPPED=103]=`TESTS_SKIPPED`,e[e.DUPLICATE_TASK_LIKELY=105]=`DUPLICATE_TASK_LIKELY`,e[e.LAFS_VIOLATION=104]=`LAFS_VIOLATION`,e[e.DECISION_VALIDATOR_FAILED=106]=`DECISION_VALIDATOR_FAILED`,e[e.LEAD_BYPASS_DETECTED=107]=`LEAD_BYPASS_DETECTED`,e[e.AC_COVERAGE_INCOMPLETE=108]=`AC_COVERAGE_INCOMPLETE`,e[e.CANCELLED_CHILD_NO_WAIVER=109]=`CANCELLED_CHILD_NO_WAIVER`})(ac||={}),RegExp(`;(?=\\s*(?:${[...[`commit`,`files`,`test-run`,`tool`,`url`,`note`,`decision`,`pr`,`loc-drop`,`callsite-coverage`,`satisfies`],`state`].join(`|`)})\\s*:)`,`g`),J(`kind`,[q({kind:Z(`commit`),sha:V().regex(/^[0-9a-f]{7,40}$/i,`commit sha must be 7-40 hex characters`)}),q({kind:Z(`files`),paths:K(V().min(1)).min(1,`files atom requires at least one path`)}),q({kind:Z(`test-run`),path:V().min(1,`test-run atom requires a non-empty path`)}),q({kind:Z(`tool`),tool:V().min(1,`tool atom requires a non-empty tool name`)}),q({kind:Z(`url`),url:V().min(1).regex(/^https?:\/\//,`url atom must start with http:// or https://`)}),q({kind:Z(`note`),note:V().min(1,`note atom must be non-empty`).max(512,`note atom is too long (max 512 chars)`)}),q({kind:Z(`decision`),decisionId:V().min(1,`decision atom requires a non-empty decision ID`)}),q({kind:Z(`pr`),prNumber:U().int().positive(`pr atom requires a positive integer PR number`)}),q({kind:Z(`loc-drop`),fromLines:U().int().nonnegative(`loc-drop fromLines must be ≥ 0`),toLines:U().int().nonnegative(`loc-drop toLines must be ≥ 0`)}),q({kind:Z(`callsite-coverage`),symbolName:V().min(1,`callsite-coverage atom requires a non-empty symbolName`),relativeSourcePath:V().min(1,`callsite-coverage atom requires a non-empty relativeSourcePath`)}),q({kind:Z(`satisfies`),targetTaskId:V().regex(/^T[0-9]{1,7}$/,`satisfies atom targetTaskId must match /^T[0-9]{1,7}$/`),targetAcId:V().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,`satisfies atom targetAcId must be a lowercase UUIDv4/v5`).optional(),targetAcAlias:V().regex(/^AC[0-9]{1,4}$/,`satisfies atom targetAcAlias must match /^AC[0-9]{1,4}$/`).optional(),versionPin:V().regex(/^[0-9]{14}$/,`satisfies atom versionPin must be 14 digits (YYYYMMDDhhmmss)`).optional()})]),Object.freeze({implemented:{oneOf:[[`commit`,`files`],[`commit`,`note`],[`decision`,`files`],[`decision`,`note`],[`pr`,`files`]]},testsPassed:{oneOf:[[`test-run`],[`tool`]]},qaPassed:{oneOf:[[`tool`]]},documented:{oneOf:[[`files`],[`url`]]},securityPassed:{oneOf:[[`tool`],[`note`]]},cleanupDone:{oneOf:[[`note`]]},nexusImpact:{oneOf:[[`tool`],[`note`]]}}),Object.freeze({commit:`commit:<sha>`,files:`files:path/a.ts,path/b.ts`,"test-run":`test-run:/tmp/vitest-out.json`,tool:`tool:test`,url:`url:https://example.com/docs`,note:`note:<short description>`,decision:`decision:D-arch-001`,pr:`pr:357`,"loc-drop":`loc-drop:<fromLines>:<toLines>`,"callsite-coverage":`callsite-coverage:<symbolName>:<relativeSourcePath>`,satisfies:`satisfies:T1234#AC2`});var oc=q({agentIdentity:V().min(1),attachmentSha256:V().length(64),ranAt:V().datetime(),durationMs:U().nonnegative()});J(`kind`,[oc.extend({kind:Z(`impl-diff`),phase:Z(`implement`),filesChanged:K(V().min(1)).min(1),linesAdded:U().int().nonnegative(),linesRemoved:U().int().nonnegative()}),oc.extend({kind:Z(`validate-spec-check`),phase:Z(`validate`),reqIdsChecked:K(V().min(1)).min(1),passed:W(),details:V().min(1)}),oc.extend({kind:Z(`test-output`),phase:Z(`test`),command:V().min(1),exitCode:U().int(),testsPassed:U().int().nonnegative(),testsFailed:U().int().nonnegative()}),oc.extend({kind:Z(`lint-report`),phase:X([`implement`,`test`]),tool:V().min(1),passed:W(),warnings:U().int().nonnegative(),errors:U().int().nonnegative()}),oc.extend({kind:Z(`command-output`),phase:X([`implement`,`validate`,`test`]),cmd:V().min(1),exitCode:U().int()})]),Object.freeze([`active`,`paused`,`satisfied`,`abandoned`,`impossible`]),Object.freeze([`satisfied`,`abandoned`,`impossible`]);var sc=Object.freeze([{adr:`ADR-056`,code:`D1`,name:`Database topology: keep per-domain split`,description:`CLEO retains the six per-domain SQLite databases (tasks, brain, conduit, nexus, signaldock, telemetry) documented in DATABASE-ERDS.md. Consolidation is rejected to preserve per-DB WAL throughput, per-DB rollback granularity, and avoid single-writer contention during multi-agent waves.`,severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-056`,code:`D2`,name:`Store-layer naming convention`,description:"New always-on store-layer domains MUST use the kebab-case pair `packages/core/src/store/<domain>-schema.ts` (Drizzle defs) + `packages/core/src/store/<domain>-sqlite.ts` (open/init/CRUD). Opt-in / isolated domains MAY use the folder variant `packages/core/src/<domain>/{schema,sqlite}.ts` (currently telemetry only).",severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-056`,code:`D3`,name:`Migration runner SSoT under migration-manager.ts`,description:"All six SQLite databases MUST be initialized via `packages/core/src/migration/migration-manager.ts` (`migrateWithRetry()` + `reconcileJournal()`). Per-DB bespoke runners are prohibited for new domains. Rust Diesel migrations for cloud signaldock-storage MUST NOT touch the local SQLite signaldock.db at runtime.",severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-056`,code:`D4`,name:`archiveReason 6-value enum with tombstone semantics`,description:`The tasks.archive_reason column is constrained to exactly six values (verified, reconciled, superseded, shadowed, cancelled, completed-unverified) via SQLite CHECK constraint AND Zod z.enum validation. Writing 'completed-unverified' from non-migration code MUST throw E_ARCHIVE_REASON_TOMBSTONE — the tombstone is reserved for the T1408 backfill migration only.`,severity:`error`,runtimeGate:{module:`packages/contracts/src/tasks/archive.ts`,functionName:`assertArchiveReason`},lintRule:null,doctorAudit:null,tests:[`packages/contracts/src/tasks/__tests__/archive.test.ts`]},{adr:`ADR-056`,code:`D5`,name:`Post-release reconciliation: registry-driven cleo verify --release`,description:"Post-release reconciliation flows through the executable invariants registry at packages/core/src/release/invariants/registry.ts. Customers register via registerInvariant() and the CLI runs every entry on `cleo verify --release <tag>`. First customer: archive-reason-invariant.ts (stamps verified tasks done; creates follow-up tasks for unverified references).",severity:`warning`,runtimeGate:{module:`packages/core/src/release/invariants/registry.ts`,functionName:`runInvariants`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/release/invariants/__tests__/archive-reason-invariant.test.ts`]},{adr:`ADR-056`,code:`D6`,name:`Commit-message lint for release commits`,description:"Every commit whose subject matches `^(chore|feat)\\(release\\):` MUST contain at least one `T\\d+` task reference in the commit body. Enforced by scripts/hooks/commit-msg-release-lint.mjs (T1410). Bypass via CLEO_OWNER_OVERRIDE=1 with audited justification.",severity:`info`,runtimeGate:null,lintRule:{lintScript:`scripts/hooks/commit-msg-release-lint.mjs`},doctorAudit:null,tests:[]}]),cc=`packages/core/src/orchestration/thin-agent.ts`,lc=`packages/core/src/sessions/index.ts`,uc=`packages/worktree/src/worktree-create.ts`,dc=`packages/skills/skills/ct-orchestrator/SKILL.md`,fc=`packages/core/src/orchestration/validate-spawn.ts`,pc=Object.freeze([{adr:`ADR-070`,code:`ORC-001`,name:`Orchestrator is the HITL interface`,description:`The Orchestrator (Cleo) is the single subagent that talks to the human operator. It plans, decomposes, and delegates — it never produces line-level implementation. Source-of-truth lives in ct-orchestrator/SKILL.md row ORC-001 and is injected into the Orchestrator prompt at spawn time. UNENFORCED at the dispatch layer: this is a prompt-time invariant with no runtime guard today.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-002`,name:`Orchestrator MUST NOT write or edit code`,description:`Every line of code is written by a spawned subagent. The Orchestrator delegates implementation work via cleo orchestrate spawn / delegate_task. UNENFORCED at the dispatch layer: this is a prompt-time invariant — there is no runtime gate that blocks the Orchestrator from calling Edit/Write, so the contract is held by the ct-orchestrator skill text.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-003`,name:`Orchestrator MUST NOT read full source files`,description:`Orchestrator reads only pipeline manifests, task envelopes, and rolled-up phase summaries returned by Phase Leads. Workers read code; the Orchestrator reads summaries. UNENFORCED at the dispatch layer — held by the ct-orchestrator skill text and reinforced by ORC-005 budget pressure.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-004`,name:`Dependency-ordered spawning`,description:`Spawns within a wave are ordered by task.depends — a Worker MUST NOT be dispatched until its declared dependencies are status=done. Surfaced by validateSpawnReadiness via V_MISSING_DEP / V_UNMET_DEP codes; surfaced by the skill-orchestrator validator via the ORC-004_DEPENDENCY_ORDER warning emitted from packages/core/src/skills/orchestrator/validator.ts. Tier: warning because the validator surfaces ordering issues but does not throw — workers can still proceed if the operator overrides.`,severity:`warning`,runtimeGate:{module:fc,functionName:`validateSpawnReadiness`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/validate-spawn.test.ts`,`packages/core/src/skills/orchestrator/__tests__/validator.orchestrator.test.ts`]},{adr:`ADR-070`,code:`ORC-005`,name:`Orchestrator context budget ≈ 10 K tokens`,description:`The Orchestrator MUST keep its working context under ~10 K tokens; delegate at 80 %. Surfaced by cleo orchestrate context (estimateContext) and by the skill-orchestrator validator (ORC-005_NO_MANIFEST / ORC-005_EMPTY_MANIFEST). UNENFORCED as a hard gate — the budget is advisory, surfaced to the Orchestrator as a warning so the human operator can intervene.`,severity:`warning`,runtimeGate:{module:`packages/core/src/orchestration/context.ts`,functionName:`estimateContext`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/`]},{adr:`ADR-070`,code:`ORC-006`,name:`Worker scope ≤ 3 files per spawn`,description:`Cross-file reasoning quality degrades beyond ~3 files for a single Worker. Enforced at spawn-time by validateSpawnReadiness — V_ATOMIC_SCOPE_MISSING when task.files is empty, V_ATOMIC_SCOPE_TOO_LARGE when files.length > MAX_WORKER_FILES (currently 3). Spawn-prompt builder injects a Worker Budget Constraints section so the Worker sees the budget inline. Tier: error because the gate refuses to spawn an over-scoped Worker.`,severity:`error`,runtimeGate:{module:fc,functionName:`validateSpawnReadiness`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/validate-spawn.test.ts`,`packages/core/src/orchestration/__tests__/spawn-prompt.test.ts`]},{adr:`ADR-070`,code:`ORC-007`,name:`All work traced to an Epic`,description:`Every Task and Subtask MUST attach to a parent Epic (directly or transitively). No orphan work — orphans are filed against the ADR-066 acceptance-criteria gate and surface via cleo find. UNENFORCED at the dispatch layer; the parent-id requirement is materialised through cleo add validation rather than a single ORC-named guard. R6 doctor audit should walk the task graph to surface orphans.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-008`,name:`Zero architectural decisions during execution`,description:`Architectural choices MUST be pre-decided via RCASD consensus or HITL — never inside a worker session. UNENFORCED at the dispatch layer: this is a behavioural invariant held by the ct-orchestrator skill text plus the ADR-066 acceptance criterion that every task must declare its architecture-relevant decisions before spawn.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-009`,name:`Manifest-mediated handoffs`,description:`Orchestrator reads only the key_findings field of pipeline_manifest rows when reconciling worker output. Subagents read the full task description and supporting files. UNENFORCED at the dispatch layer: the contract is held by the ct-orchestrator skill text and reinforced by ORC-003 + ORC-005 budget pressure.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-010`,name:`Lead-interposition required for Epic-child Workers`,description:`A Worker spawn against a Task whose parent is type=epic MUST be preceded by a Lead spawn for the same Task (ADR-083 §2.4 / §6). The intended runtime gate (composeSpawnPayload throwing E_LEAD_REQUIRED_FOR_EPIC_CHILD) is FILED but UNSHIPPED — tracked under T10278. Registered here as a warning + runtimeGate:null so the gap is visible in the R6 doctor audit.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-070`,code:`ORC-011`,name:`Orchestrator-depth cap at 3`,description:`Recursive Orchestrator spawns (Cleo → sub-Orchestrator → sub-Orchestrator → …) MUST stop at depth 3 (ADR-083 §2.2 + §2.4). The intended runtime gate (composeSpawnPayload throwing E_ORCHESTRATOR_DEPTH_EXCEEDED) is FILED but UNSHIPPED — tracked under T10279. Registered here as a warning + runtimeGate:null so the gap is visible in the R6 doctor audit.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-070`,code:`ORC-012`,name:`Thin-agent inversion-of-control`,description:`Workers MUST NOT spawn other subagents. The spawn-capable tools (Agent / Task / TaskCreate) are stripped from the Worker tool list at .cant compile time, and any survivor at spawn time triggers ThinAgentViolationError → E_THIN_AGENT_VIOLATION (exit 68). The only ORC rule with a hard-enforced dispatch-time gate today.`,severity:`error`,runtimeGate:{module:cc,functionName:`enforceThinAgent`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/thin-agent.test.ts`,`packages/cant/src/__tests__/hierarchy.test.ts`]},{adr:`ADR-070`,code:`ORC-013`,name:`Worktree provisioning at canonical XDG location`,description:`Every agent worktree MUST be created under <cleoHome>/worktrees/<projectHash>/<taskId>/ (ADR-055 + Council D009). createWorktree throws E_WT_LOCATION_FORBIDDEN before any git worktree add call when the computed path falls outside the canonical root. CI gate lint-worktree-location.mjs enforces the same invariant on every PR. The single-most-load-bearing orchestration guard after ORC-012.`,severity:`error`,runtimeGate:{module:uc,functionName:`assertCanonicalWorktreeLocation`},lintRule:{lintScript:`scripts/lint-worktree-location.mjs`},doctorAudit:null,tests:[`packages/worktree/src/__tests__/`]},{adr:`ADR-070`,code:`ORC-014`,name:`Lead-bypass detection at session end`,description:`A Lead session (CLEO_AGENT_ROLE=lead) that ends with tasks_completed > 0 AND delegate_task_count = 0 is rejected with LeadBypassDetectedError → E_LEAD_BYPASS_DETECTED (exit 107). Leads MUST fan out work to Workers; a Lead that did the work itself defeats the three-tier topology. Override via CLEO_OWNER_OVERRIDE=1 (audited to force-bypass.jsonl).`,severity:`error`,runtimeGate:{module:lc,functionName:`endSession`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/sessions/__tests__/`]}]);pc.length;var mc=`packages/core/src/sagas/enforcement.ts`,hc=`packages/core/src/sagas/__tests__/enforcement.test.ts`,gc=Object.freeze([{adr:`ADR-073`,code:`I1`,name:`Storage uniformity`,description:`All task IDs are stored as T#### and the type column is the canonical tier discriminator. There is no separate ID space for Sagas, Epics, Tasks, or Subtasks; label="saga" elevates a type="epic" row to Saga semantics.`,severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[`packages/core/src/tasks/__tests__/id-generator.test.ts`]},{adr:`ADR-073`,code:`I2`,name:`Conceptual prefixes are display + import only`,description:`SG-, E-, T- (and Subtask's implicit absence) are documentation, CLI display, and import-mapping conventions only. They MUST NOT be used as DB primary keys — display-only with no runtime enforcement.`,severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-073`,code:`I3`,name:`Tier promotion mandatory when scope outgrows the tier`,description:`A Subtask whose change exceeds 2 files or crosses a module boundary MUST be split or promoted to a sibling Task. A Task that requires more than one PR or wave MUST be split. An Epic that spans more than one release MUST be regrouped under a Saga.`,severity:`error`,runtimeGate:{module:mc,functionName:`assertSagaInvariantI3`},lintRule:null,doctorAudit:null,tests:[hc]},{adr:`ADR-073`,code:`I4`,name:`Ownership non-overlapping`,description:`A single tier maps to a single orchestration role (per ADR-070). Workers MUST NOT spawn other Workers. Phase Leads MUST NOT own multiple Epics simultaneously. The Orchestrator MUST NOT spawn Workers directly when fan-out exceeds the ADR-070 migration threshold.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-073`,code:`I5`,name:`Sagas link via groups, not parent`,description:`task_relations.type="groups" is the ONLY relation type that links a Saga to its member Epics. The Saga row's parent_id MUST be NULL. Enforced at runtime by assertSagaInvariantI5 AND by the DB CHECK constraint from W1.B (T10329) on label="saga" rows.`,severity:`error`,runtimeGate:{module:mc,functionName:`assertSagaInvariantI5`},lintRule:null,doctorAudit:null,tests:[hc]},{adr:`ADR-073`,code:`I6`,name:`Acceptance criteria required at every tier`,description:`Per ADR-066 §"Ownership Matrix" invariant #5, all tasks regardless of type or kind MUST have --acceptance set at creation time. No tier exemption exists. Delegated to the ADR-066 --acceptance requirement on cleo add/add-batch.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-073`,code:`I7`,name:`No nested sagas`,description:`A saga-member candidate MUST NOT itself be saga-shaped. Enforced at runtime by assertSagaInvariantI7, which checks exactly this and nothing else. The depth clause this invariant used to carry — "the parent ladder Subtask → Task → Epic is fixed at depth 3; sagas do NOT consume depth, they attach via groups relations, not parent edges" — is SUPERSEDED BY ADR-088: member epics now attach via tasks.parent_id containment and task_relations.groups is non-containment provenance only, so a saga DOES consume a level. The canonical spine is saga(0) → epic(1) → task(2) → subtask(3) at hierarchy.maxDepth=3, inclusive; the depth rule lives in exceedsMaxDepth (core tasks/hierarchy.ts), never here. The stale clause outlived its premise by long enough for the write-path guards calibrated on it to make the subtask tier unreachable.`,severity:`error`,runtimeGate:{module:mc,functionName:`assertSagaInvariantI7`},lintRule:null,doctorAudit:null,tests:[hc]},{adr:`ADR-073`,code:`I8`,name:`Subtask-to-PR aggregation rule`,description:`A Task ships as exactly one PR. The PR's commit history is the union of the Task's Subtask commits. A Subtask never produces its own PR; if a unit of work warrants its own PR, it is a Task, not a Subtask. UNENFORCED at runtime today — load-bearing convention enforced via code review and the lifecycle decision table.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]}]);function _c(e){return`${e.adr}.${e.code}`}function vc(){let e=[...gc,...sc,...pc],t={};for(let n of e){let e=_c(n);if(t[e]!==void 0)throw Error(`Duplicate invariant key registered: ${e}`);t[e]=n}return Object.freeze(t)}vc();var Q=X([`project`,`global`]),yc=X([`tasks`,`brain`,`bulk`]),bc=q({kind:Z(`lease_acquire`),scope:Q,lane:yc,holder_id:V().min(1),priority:U().int().min(0).max(255),ttl_ms:U().int().nonnegative(),reentrant:W()}).strict(),xc=q({kind:Z(`lease_release`),scope:Q,lane:yc,holder_id:V().min(1),epoch:U().int().nonnegative()}).strict(),Sc=q({kind:Z(`lease_renew`),scope:Q,lane:yc,holder_id:V().min(1),epoch:U().int().nonnegative()}).strict(),Cc=q({kind:Z(`rate_check`),scope:Q,lane:yc,est_bytes:U().int().nonnegative()}).strict(),wc=q({kind:Z(`tool_grant`),tool:V().min(1),holder_id:V().min(1)}).strict(),Tc=X([`lead`,`worker`,`background`]),Ec=J(`kind`,[bc,xc,Sc,Cc,wc,q({kind:Z(`queue_admit`),provider:V().min(1),priority_class:Tc,est_tokens:U().int().nonnegative(),child_id:V().min(1)}).strict(),q({kind:Z(`worker_heartbeat`),child_id:V().min(1),in_flight_llm:W()}).strict(),q({kind:Z(`resource_admit`),class:V().min(1),holder_id:V().min(1),budget:U().int().nonnegative()}).strict(),q({kind:Z(`resource_release`),class:V().min(1),holder_id:V().min(1)}).strict()]),Dc=q({kind:Z(`lease_granted`),scope:Q,lane:yc,holder_id:V().min(1),epoch:U().int().nonnegative(),ttl_ms:U().int().nonnegative(),expires_at_ms:U().int().nonnegative()}).strict(),Oc=q({kind:Z(`lease_queued`),scope:Q,lane:yc,ticket:U().int().nonnegative(),ahead:U().int().nonnegative()}).strict(),kc=q({kind:Z(`lease_denied`),scope:Q,code:V().min(1),message:V()}).strict(),Ac=q({kind:Z(`rate_result`),scope:Q,ok:W(),retry_after_ms:U().int().nonnegative(),tokens_remaining:U().int().nonnegative()}).strict(),jc=q({kind:Z(`tool_granted`),tool:V().min(1),holder_id:V().min(1)}).strict(),Mc=q({kind:Z(`lease_revoked`),scope:Q,lane:yc,holder_id:V().min(1),reason:V()}).strict(),Nc=q({kind:Z(`child_killed_unresponsive`),child_id:V().min(1),holder_id:V().min(1),scope:Q,reason:V()}).strict(),Pc=X([`admitted`,`deferred`]),Fc=q({kind:Z(`queue_admit_result`),disposition:Pc,retry_after_ms:U().int().nonnegative(),tokens_remaining:U().int().nonnegative(),queue_position:U().int().nonnegative()}).strict(),Ic=q({kind:Z(`heartbeat_ack`)}).strict(),Lc=X([`admitted`,`deferred`]),Rc=J(`kind`,[Dc,Oc,kc,Ac,jc,Mc,Nc,Fc,Ic,q({kind:Z(`resource_admit_result`),disposition:Lc,retry_after_ms:U().int().nonnegative(),slots_remaining:U().int().nonnegative()}).strict(),q({kind:Z(`resource_release_result`),released:W(),slots_remaining:U().int().nonnegative()}).strict(),q({kind:Z(`error`),code:V().min(1),message:V()}).strict()]);J(`direction`,[q({protocol_version:V(),id:V().min(1),direction:Z(`request`),request:Ec}).strict(),q({protocol_version:V(),id:V().min(1),direction:Z(`response`),response:Rc}).strict()]);var zc=[`lease_acquire`,`lease_release`,`lease_renew`,`rate_check`,`tool_grant`,`queue_admit`,`worker_heartbeat`,`resource_admit`,`resource_release`],Bc=[`lease_granted`,`lease_queued`,`lease_denied`,`rate_result`,`tool_granted`,`lease_revoked`,`child_killed_unresponsive`,`queue_admit_result`,`heartbeat_ack`,`resource_admit_result`,`resource_release_result`,`error`];[...zc,...Bc];var Vc=[`stable`,`beta`,`preview`,`deprecated`,`retired`],Hc=[`api_key`,`oauth`,`bedrock`,`vertex`],Uc=V().regex(/^\d{4}-\d{2}-\d{2}$/,`must be an ISO date (YYYY-MM-DD)`),Wc=V().regex(/^\d+\.\d+\.\d+$/,`must be semver (MAJOR.MINOR.PATCH)`),Gc=q({input:K(V()),output:K(V())}).strict(),Kc=q({input:U().optional(),output:U().optional(),cache_read:U().optional(),cache_write:U().optional(),context_over_200k:U().optional()}).strict(),qc=q({context:U(),output:U()}).strict(),Jc=q({npm:V(),api:V()}).strict(),Yc=q({id:V(),name:V(),family:V(),attachment:W(),reasoning:W(),temperature:W(),interleaved:W(),tool_call:W(),modalities:Gc,cost:Kc,limit:qc,status:X(Vc),release_date:Uc,provider:Jc}).strict(),Xc=q({id:V(),endpoint:V(),authTypes:K(X(Hc)).min(1),npm:V().optional()}).strict();q({$schema:V().optional(),version:Wc,lastUpdated:Uc,providers:Y(V(),Xc),models:Y(V(),Y(V(),Yc))}).strict(),q({id:V(),providerId:V(),name:V(),family:V(),attachment:W(),reasoning:W(),temperature:W(),interleaved:W(),toolCall:W(),modalities:V(),cost:V(),contextLimit:U().nullable().optional(),outputLimit:U().nullable().optional(),status:X(Vc),releaseDate:Uc,modelsDevId:V(),source:V(),seededAt:V().optional()}).strict().extend({seededAt:V()});var Zc=[`extraction`,`consolidation`,`derivation`,`hygiene`,`judgement`,`plugin`,`compression`],Qc=[`frontier`,`standard`,`fast`,`local`],$c=[`sentient`,`memory`,`task-executor`,`deriver`,`hygiene`,`plugin`,`compression`,`decision-validator`,`title-generation`,`embedding`];[...Qc.map(e=>({kind:`orchestration`,id:e})),...Zc.map(e=>({kind:`role`,id:e})),...$c.map(e=>({kind:`aux`,id:e}))];var el=[`pending`,`active`,`blocked`,`done`,`cancelled`,`archived`,`proposed`],tl=`E_WORKGRAPH_PARENT_TYPE_MATRIX`,nl=X([`saga`,`epic`,`task`,`subtask`]),rl=X([`critical`,`high`,`medium`,`low`]),il=X(el),al=X([`implemented`,`testsPassed`,`qaPassed`,`cleanupDone`,`securityPassed`,`documented`,`nexusImpact`]),ol=X([`contains`,`depends_on`,`blocks`,`relates_to`,`groups`,`satisfies`]),sl=X([`ancestors`,`descendants`,`upstream`,`downstream`]),cl=X([`out`,`in`,`both`]),ll=q({cursor:V().min(1).optional(),limit:U().int().positive().max(500).optional()}),ul=q({id:V().min(1),type:nl,title:V(),status:il,priority:rl,parentId:V().min(1).optional()}),dl=q({fromId:V().min(1),toId:V().min(1),kind:ol}),fl=q({fromId:V().min(1),toId:V().min(1),kind:Z(`contains`)}).strict(),pl=q({nextCursor:V().min(1).optional(),hasMore:W()}),ml=q({total:U().int().nonnegative(),byStatus:_o(il,U().int().nonnegative()),byType:_o(nl,U().int().nonnegative())}),hl=q({done:U().nonnegative(),active:U().nonnegative(),blocked:U().nonnegative(),pending:U().nonnegative(),cancelled:U().nonnegative()}),gl=q({field:V().min(1),expected:U().int().nonnegative(),actual:U().int().nonnegative()}),_l=ul.extend({role:V().min(1).optional(),dependencyBlockers:K(q({taskId:V().min(1),status:il})),gateBlockers:K(q({gate:al}))}),vl=dl.extend({source:Z(`relation`),relationType:X(ic),reason:V().min(1).optional()}),yl=dl.extend({source:Z(`dependency`),kind:Z(`depends_on`)}),bl=X([`budget_exceeded`,`not_requested`,`not_available`,`redacted`,`truncated`]),xl=q({tokenBudget:U().int().nonnegative(),estimatedTokens:U().int().nonnegative(),remainingTokens:U().int().nonnegative(),truncated:W()}),Sl=q({path:V().min(1),reason:bl,message:V().min(1),estimatedTokens:U().int().nonnegative().optional()}),Cl=J(`source`,[vl,yl]);ll.extend({rootId:V().min(1),tokenBudget:U().int().positive().optional(),includeRelations:W().optional(),includeReadiness:W().optional(),includeRollup:W().optional()}),ll.extend({rootId:V().min(1),direction:sl.optional(),maxDepth:U().int().nonnegative().optional(),includeRelations:W().optional()});var wl=q({rootId:V().min(1),direction:sl,nodes:K(ul),edges:K(dl),pageInfo:pl,omissions:K(Sl).optional()});q({rootId:V().min(1),role:V().min(1).optional(),includeGateBlockers:W().optional()});var Tl=q({rootId:V().min(1),role:V().min(1).optional(),ready:W(),warnings:K(V()),groups:q({ready:K(_l),blocked:K(_l),blockedBy:K(J(`kind`,[q({kind:Z(`dependency`),blockerId:V().min(1),blocks:K(V().min(1))}),q({kind:Z(`gate`),gate:al,blocks:K(V().min(1))})]))})});q({rootId:V().min(1),generatedAt:V().min(1),budget:xl,slice:wl,relationEdges:q({rootId:V().min(1),direction:cl,edges:K(Cl)}).optional(),readiness:Tl.optional(),rollup:Vo(()=>Al).optional(),omissions:K(Sl)});var El=q({rootId:V().min(1),nodes:K(q({id:V().min(1),type:nl,parentId:V().min(1).nullable().optional()})),edges:K(Cl).optional(),dryRun:W().optional()}),Dl=q({code:V().min(1),message:V().min(1),taskId:V().min(1).optional(),severity:X([`error`,`warning`])}),Ol=q({rootId:V().min(1),valid:W(),dryRun:W(),issues:K(Dl),hierarchy:q({valid:W(),violations:K(q({code:Z(tl),taskId:V().min(1),taskType:nl,parentId:V().min(1).nullable(),parentType:nl.optional(),message:V().min(1)}))})});El.extend({apply:W().optional()}),Ol.extend({applied:W(),nodesChanged:U().int().nonnegative(),edgesChanged:U().int().nonnegative()}),q({rootId:V().min(1),audience:X([`agent`,`maintainer`]),tokenBudget:U().int().positive().optional(),includeRelations:W().optional(),includeReadiness:W().optional(),includeRollup:W().optional()}),q({rootId:V().min(1),generatedAt:V().min(1),audience:X([`agent`,`maintainer`]),title:V().min(1),content:V(),sections:K(V().min(1)),estimatedTokens:U().int().nonnegative(),budget:q({tokenBudget:U().int().positive(),truncated:W()}).optional()}),ll.extend({rootId:V().min(1),direction:sl,maxDepth:U().int().nonnegative().optional(),includeRelations:W().optional()});var kl=q({rootId:V().min(1),direction:sl,nodes:K(ul),edges:K(dl),pageInfo:pl});ll.extend({rootId:V().min(1),maxDepth:U().int().nonnegative().optional()}),q({rootId:V().min(1),nodes:K(ul.extend({depth:U().int().positive()})),edges:K(fl),pageInfo:pl}),q({rootId:V().min(1),expectedDirectRollup:ml.optional()});var Al=q({rootId:V().min(1),direct:ml,subtree:ml,percentDenominator:q({basis:Z(`subtree-total`),total:U().int().nonnegative(),description:V().min(1)}),percentages:hl,staleProjection:W(),projectionMismatches:K(gl)});q({rootId:V().min(1),role:V().min(1).optional()});var jl=q({rootId:V().min(1),role:V().min(1).optional(),groups:q({ready:K(_l),blocked:K(_l),blockedBy:K(J(`kind`,[q({kind:Z(`dependency`),blockerId:V().min(1),blocks:K(V().min(1))}),q({kind:Z(`gate`),gate:al,blocks:K(V().min(1))})]))})});ll.extend({rootId:V().min(1),maxDepth:U().int().nonnegative().optional(),includeRelations:W().optional()}),q({rootId:V().min(1),hierarchy:q({valid:W(),violations:K(q({code:Z(tl),taskId:V().min(1),taskType:nl,parentId:V().min(1).nullable(),parentType:nl.optional(),message:V().min(1)}))}),traversal:kl,frontier:jl,rollup:Al,relationEdges:q({rootId:V().min(1),direction:cl,edges:K(J(`source`,[vl,yl]))}).optional()});var Ml=K(q({title:V({message:`title must be a non-empty string`}).refine(e=>e.trim().length>0,{message:`title must be a non-empty string`}),acceptance:K(G(),{message:`must have a non-empty acceptance array`}).min(1,{message:`must have a non-empty acceptance array`}).refine(e=>e.some(e=>typeof e==`string`&&e.trim().length>0),{message:`acceptance array contains no non-empty strings`}),id:V().optional(),parentId:V().optional(),depends:K(V()).optional()}),{message:`task_tree must be a non-empty array`}).min(1,{message:`task_tree is an empty array — decomposition produced no tasks`}),Nl=G().superRefine((e,t)=>{if(e==null){t.addIssue({code:`custom`,message:`evidence must be present (non-null, non-undefined)`});return}if(typeof e==`string`){e.trim().length===0&&t.addIssue({code:`custom`,message:`evidence string must not be empty`});return}if(Array.isArray(e)){e.length===0&&t.addIssue({code:`custom`,message:`evidence array must not be empty`});return}if(typeof e==`object`){Object.keys(e).length===0&&t.addIssue({code:`custom`,message:`evidence object must have at least one key (got {})`});return}t.addIssue({code:`custom`,message:`evidence must be a string, array, or object (got ${typeof e})`})}),Pl=G();new Map([[`task_tree`,{name:`task_tree`,contextKey:`task_tree`,schema:Ml}],[`evidence`,{name:`evidence`,contextKey:`evidence`,schema:Nl}],...[`version_bump_report`,`changelog_entry`,`publish_report`,`research_summary`,`consensus_decision`,`architecture_plan`,`specification_document`,`implementation_diff`,`validation_report`,`audit_report`,`test_report`,`release_confirmation`].map(e=>[e,{name:e,contextKey:e,schema:Pl}])]),q({kind:Z(`pr`),prNumber:U().int().positive()}),q({kind:Z(`state`),value:Z(`MERGED`)}),q({state:X([`OPEN`,`CLOSED`,`MERGED`]),mergedAt:V().nullable(),headRefOid:V().optional(),mergeCommit:q({oid:V()}).nullable().optional(),title:V().optional(),body:V().optional(),headRefName:V().optional(),files:K(q({path:V()})).optional(),changedFiles:U().int().nonnegative().optional(),mergeable:V().optional(),statusCheckRollup:K(q({__typename:V().optional(),name:V().optional(),workflowName:V().optional(),conclusion:V().nullable().optional(),status:V().optional()}).passthrough()).optional().default([])}).passthrough(),Object.freeze([`CI`,`Lockfile Check`,`Contracts Dep Lint`]);var Fl=[`latest`,`beta`,`alpha`,`rc`],Il=[`calver`,`semver`,`calver-suffix`],Ll=[`regular`,`hotfix`,`prerelease`],Rl=[`planned`,`pr-opened`,`pr-merged`,`published`,`reconciled`,`rolled_back`,`failed`,`cancelled`],zl=[`passed`,`failed`,`skipped`,`unresolved`],Bl=[`test`,`build`,`lint`,`typecheck`,`audit`,`security-scan`],Vl=[`linux-x64`,`linux-arm64`,`macos-x64`,`macos-arm64`,`windows-x64`,`any`],Hl=[`npm`,`cargo`,`docker`,`pypi`,`github-release`,`binary`],Ul=[`feat`,`fix`,`chore`,`docs`,`refactor`,`test`,`perf`,`revert`,`breaking`,`hotfix`],Wl=[`major`,`minor`,`patch`],Gl=[`project-context`,`language-default`,`legacy-alias`],Kl=X(Fl),ql=X(Il),Jl=X(Ll),Yl=X(Rl),Xl=X(zl),Zl=X(Bl),Ql=X(Vl),$l=X(Hl),eu=X(Ul),tu=X(Wl),nu=X(Gl),ru=fa({offset:!0}),$=V().min(1),iu=q({id:$,kind:eu,impact:tu,userFacingSummary:V(),evidenceAtoms:K($),ivtrPhaseAtPlan:V().optional(),epicAncestor:$}),au=q({name:Zl,atom:$,status:Xl,lastVerifiedAt:ru,resolvedCommand:V().optional(),resolvedSource:nu.optional()}),ou=q({platform:Ql,publisher:$l,package:$,smoke:W().default(!0).optional()}),su=q({esbuildExternalsDrift:W(),lockfileDrift:W(),epicCompletenessClean:W(),doubleListingClean:W(),preflightWarnings:K(V()).default([]).optional()}),cu=q({features:K($).default([]),fixes:K($).default([]),chores:K($).default([]),breaking:K($).default([])}),lu=q({firstEverRelease:W().optional(),unresolvedTools:K(V()).optional(),archetype:V().optional()}).catchall(G());q({$schema:V().optional(),version:$,resolvedVersion:$,suffixApplied:W(),scheme:ql,channel:Kl,epicId:$,releaseKind:Jl,createdAt:ru,createdBy:$,previousVersion:V().nullable(),previousTag:V().nullable(),previousShippedAt:ru.nullable(),tasks:K(iu),changelog:cu,gates:K(au),platformMatrix:K(ou),preflightSummary:su,workflowRunUrl:V().nullable(),prUrl:V().nullable(),mergeCommitSha:V().nullable(),status:Yl,meta:lu.optional()}),Object.freeze([`interactive-cli`,`agent-session`,`llm-call`,`test-run`,`scoped-build`,`full-build`,`db-heavy`,`background-autonomous`]);var uu=q({isClean:W(),findingsCount:U().int().nonnegative(),patterns:K(V()),totalScanned:U().int().nonnegative()}),du=q({noteExcerpt:V().max(200).optional(),tasksCompletedCount:U().int().nonnegative(),tasksFocused:K(V()).max(5).optional()});q({schemaVersion:Z(`1.0`),timestamp:V(),sessionId:V(),eventType:X([`session_start`,`session_end`,`observation`,`decision`,`error`]),agentIdentifier:V().optional(),providerId:V().optional(),scope:V().optional(),duration:U().int().nonnegative().optional(),tasksCompleted:K(V()).optional(),doctorSummary:uu.optional(),debriefSummary:du.optional(),prevEntryHash:V().optional()}),J(`kind`,[q({kind:Z(`file`),sha256:V().length(64),timestamp:V().datetime(),path:V().min(1),mime:V().optional(),description:V().optional()}),q({kind:Z(`log`),sha256:V().length(64),timestamp:V().datetime(),source:V().min(1),description:V().optional()}),q({kind:Z(`screenshot`),sha256:V().length(64),timestamp:V().datetime(),mime:X([`image/png`,`image/jpeg`,`image/webp`]).optional(),description:V().optional()}),q({kind:Z(`test-output`),sha256:V().length(64),timestamp:V().datetime(),passed:U().int().nonnegative(),failed:U().int().nonnegative(),skipped:U().int().nonnegative(),exitCode:U().int(),description:V().optional()}),q({kind:Z(`command-output`),sha256:V().length(64),timestamp:V().datetime(),cmd:V().min(1),exitCode:U().int(),description:V().optional()})]),X([`verified`,`reconciled`,`superseded`,`shadowed`,`cancelled`,`completed-unverified`]).options;var fu=X([`info`,`warning`]),pu=q({code:V().min(1),message:V().min(1),severity:fu.optional(),taskId:V().min(1).optional(),field:V().min(1).optional(),index:U().int().nonnegative().optional()}),mu=q({dryRun:Z(!0),wouldCreate:U().int().nonnegative(),wouldUpdate:U().int().nonnegative(),wouldDelete:U().int().nonnegative(),wouldAffect:U().int().nonnegative(),validatedCount:U().int().nonnegative(),insertedCount:Z(0),updatedCount:Z(0),deletedCount:Z(0),warnings:K(pu)}),hu=q({id:V().min(1)}).passthrough();q({dryRun:W().optional(),created:K(hu),updated:K(hu),deleted:K(hu),affectedCount:U().int().nonnegative(),mutationWarnings:K(pu),dryRunSummary:mu.optional()});var gu=X(el),_u=X([`text`,`evidence_bound`,`child_task`]),vu=X([`satisfied`,`unsatisfied`,`waived`,`replaced`]),yu=X([`missing_evidence_binding`,`child_not_done`,`child_cancelled_requires_waiver`,`child_replacement_not_done`,`child_missing`,`done_parent_stale`]),bu=X([`done_parent_has_unsatisfied_criteria`]),xu=X([`projection_not_stale`,`criteria_missing`,`binding_target_missing`,`repair_conflict`]),Su=q({criterionAcId:V().min(1),childTaskId:V().min(1),reason:V().min(1),actor:V().min(1),waivedAt:V().min(1)}),Cu=q({criterionAcId:V().min(1),originalChildTaskId:V().min(1),replacementChildTaskId:V().min(1),reason:V().min(1),actor:V().min(1),replacedAt:V().min(1)}),wu=q({acId:V().min(1),alias:V().min(1),text:V(),kind:_u,status:vu,reason:yu.optional(),targetTaskId:V().min(1).optional(),targetTaskStatus:gu.optional(),waiver:Su.optional(),replacement:Cu.optional(),replacementTaskStatus:gu.optional(),evidenceBindings:U().int().nonnegative()}),Tu=wu.extend({status:Z(`unsatisfied`),reason:yu}),Eu=q({criteria:U().int().nonnegative(),satisfied:U().int().nonnegative(),unsatisfied:U().int().nonnegative(),waived:U().int().nonnegative(),replaced:U().int().nonnegative()}),Du=q({taskId:V().min(1),generatedAt:V().min(1),source:Z(`audit_log`),window:q({limit:U().int().positive(),since:V().min(1).optional(),relationDepth:U().int().nonnegative(),relatedTaskIds:K(V().min(1))}),events:K(q({id:V().min(1),timestamp:V().min(1),action:X([`task_completed`,`task_reopened`,`task_cancelled`,`task_uncancelled`,`task_reparented`,`ac_projection_rebuilt`]),taskId:V().min(1),relation:X([`self`,`parent`,`child`,`sibling`,`related`]),actor:V().min(1),details:Y(V(),G()).optional(),before:Y(V(),G()).optional(),after:Y(V(),G()).optional()})),summary:q({totalEvents:U().int().nonnegative(),byAction:Y(V(),U().int().nonnegative()),byRelation:Y(V(),U().int().nonnegative()),latestEventAt:V().nullable()})});q({taskId:V().min(1),taskStatus:gu,ready:W(),stale:W(),staleReasons:K(bu),contextPack:Du.optional(),satisfied:K(wu),unsatisfied:K(Tu),waived:K(wu),replaced:K(wu),totals:Eu}),q({taskId:V().min(1),ready:W(),stale:W(),summary:V(),contextPack:Du.optional(),blockers:K(wu)}),q({taskId:V().min(1),status:vu.optional(),kind:_u.optional()}),q({taskId:V().min(1),criteria:K(wu),totals:Eu}),q({taskId:V().min(1),includeContext:W().optional(),limit:U().int().positive().optional(),since:V().min(1).optional(),relationDepth:U().int().nonnegative().optional()});var Ou=q({code:xu,message:V().min(1),taskId:V().min(1),acId:V().min(1).optional(),evidenceAtomId:V().min(1).optional()});q({taskId:V().min(1),dryRun:W().optional()}),q({taskId:V().min(1),repaired:W(),dryRun:W(),staleBefore:W(),staleAfter:W(),errors:K(Ou)});var ku=[{tag:`architecture`,label:`Architecture`,description:`Cross-cutting architectural decisions, patterns, and subsystem-level concerns`,axes:[`domain`,`type`],adhocAliases:[`architecture`]},{tag:`cli`,label:`CLI`,description:`Command-line interface, dispatch, and command infrastructure`,axes:[`domain`],adhocAliases:[`cli`]},{tag:`core`,label:`Core`,description:`Core engine, shared utilities, and foundational modules`,axes:[`domain`],adhocAliases:[`core`,`pm-core-v2`,`foundation`]},{tag:`contracts`,label:`Contracts`,description:`Type contracts, schemas, and public API surface definitions`,axes:[`domain`],adhocAliases:[`contracts`,`schema`]},{tag:`caamp`,label:`CAAMP`,description:`Cross-Agent Adaptive Messaging Protocol — hooks, adapters, providers`,axes:[`domain`],adhocAliases:[`caamp`,`cant`,`pi`,`cant-dsl`]},{tag:`skills`,label:`Skills`,description:`Agent skill definitions, injection, dispatch, and guard patterns`,axes:[`domain`],adhocAliases:[`skills`]},{tag:`brain`,label:`BRAIN`,description:`Cognitive memory system — decisions, patterns, observations, learnings`,axes:[`domain`],adhocAliases:[`brain`]},{tag:`nexus`,label:`Nexus`,description:`Code intelligence surface — project indexing, impact analysis, cross-repo`,axes:[`domain`],adhocAliases:[`nexus`]},{tag:`orchestration`,label:`Orchestration`,description:`Multi-agent orchestration, playbooks, LOOM lifecycle, spawn dispatch`,axes:[`domain`],adhocAliases:[`orchestration`,`orchestrate`]},{tag:`sessions`,label:`Sessions`,description:`Session lifecycle — handoff, debrief, briefing, snapshot, state`,axes:[`domain`],adhocAliases:[`sessions`]},{tag:`tasks`,label:`Tasks`,description:`Task management — CRUD, gates, evidence, acceptance criteria, lifecycle`,axes:[`domain`],adhocAliases:[`tasks`]},{tag:`docs`,label:`Documents`,description:`Document storage, retrieval, taxonomy, publish, and provenance`,axes:[`domain`],adhocAliases:[`docs`,`documentation`]},{tag:`cleoos`,label:`CleoOS`,description:`CleoOS runtime — gateway, daemon, injection facade, agents`,axes:[`domain`],adhocAliases:[`cleoos`,`facade`,`sentient`]},{tag:`worktrunk`,label:`Worktrunk`,description:`Git worktree management — spawn, adopt, prune, lifecycle`,axes:[`domain`],adhocAliases:[`worktrunk`,`worktrunk-ssot`]},{tag:`agents`,label:`Agents`,description:`Agent profiles, execution learning, registry, dispatch`,axes:[`domain`],adhocAliases:[`agents`]},{tag:`routing`,label:`Routing`,description:`Operation routing, capability matrix, dispatch path resolution`,axes:[`domain`],adhocAliases:[`routing`]},{tag:`studio`,label:`Studio`,description:`Web UI, dashboard, and visual interfaces`,axes:[`domain`],adhocAliases:[`studio`]},{tag:`architectural`,label:`Architectural Decision`,description:`Cross-cutting architectural decision with durable rationale`,axes:[`type`],adhocAliases:[`architectural`]},{tag:`technical`,label:`Technical Decision`,description:`Implementation-scoped technical decision (library, pattern, algorithm)`,axes:[`type`],adhocAliases:[`technical`]},{tag:`process`,label:`Process Decision`,description:`Workflow, methodology, or operational process decision`,axes:[`type`],adhocAliases:[`process`]},{tag:`strategic`,label:`Strategic Decision`,description:`Long-horizon direction-setting decision spanning multiple epics`,axes:[`type`],adhocAliases:[`strategic`]},{tag:`tactical`,label:`Tactical Decision`,description:`Short-horizon execution-level decision (AGT-* dispatch, within-sprint)`,axes:[`type`],adhocAliases:[`tactical`]},{tag:`operational`,label:`Operational Decision`,description:`Infrastructure, deployment, or runtime configuration decision`,axes:[`type`],adhocAliases:[`operational`]},{tag:`bugfix`,label:`Bug Fix`,description:`Defect correction or regression fix`,axes:[`type`],adhocAliases:[`bugfix`,`bug-fix`,`hygiene`]},{tag:`refactor`,label:`Refactor`,description:`Internal restructuring without functional change`,axes:[`type`],adhocAliases:[`refactor`]},{tag:`feature`,label:`Feature`,description:`New capability or user-facing enhancement`,axes:[`type`],adhocAliases:[`feature`]},{tag:`discovery`,label:`Discovery`,description:`Exploratory research, investigation, or spike outcome`,axes:[`type`],adhocAliases:[`discovery`,`exploration`,`research-type`]},{tag:`migration`,label:`Migration`,description:`Data or schema migration, backfill, or upgrade path`,axes:[`type`],adhocAliases:[`migration`,`migrations`]},{tag:`unification`,label:`Unification`,description:`Consolidation of fragmented systems into a single SSoT`,axes:[`type`],adhocAliases:[`unification`]},{tag:`bootstrap`,label:`Bootstrap`,description:`Initial setup, scaffolding, or seed infrastructure`,axes:[`type`],adhocAliases:[`bootstrap`]},{tag:`research`,label:`Research`,description:`LOOM stage 1: information gathering and domain understanding`,axes:[`lifecycle`],adhocAliases:[`research`,`wave-0`]},{tag:`consensus`,label:`Consensus`,description:`LOOM stage 2: multi-agent consensus and validation of findings`,axes:[`lifecycle`],adhocAliases:[`consensus`]},{tag:`design`,label:`Architecture Decision`,description:`LOOM stage 3: architecture decision recording and validation`,axes:[`lifecycle`],adhocAliases:[`design`,`architecture_decision`]},{tag:`specification`,label:`Specification`,description:`LOOM stage 4: technical specification authoring`,axes:[`lifecycle`],adhocAliases:[`specification`,`rfc`]},{tag:`decomposition`,label:`Decomposition`,description:`LOOM stage 5: task decomposition and dependency modeling`,axes:[`lifecycle`],adhocAliases:[`decomposition`]},{tag:`implementation`,label:`Implementation`,description:`LOOM stage 6: code authoring and unit-level verification`,axes:[`lifecycle`],adhocAliases:[`implementation`,`wave-1`,`wave-2`,`wave-3`,`wave-4`,`wave-5`,`wave.1`,`wave.2`,`wave.3`]},{tag:`validation`,label:`Validation`,description:`LOOM stage 7: integration testing and gate verification`,axes:[`lifecycle`],adhocAliases:[`validation`,`testing`]},{tag:`release`,label:`Release`,description:`LOOM stage 9: versioning, changelog, npm publish, tag push`,axes:[`lifecycle`,`type`],adhocAliases:[`release`]},{tag:`p0`,label:`P0 — Critical`,description:`Drop-everything critical: blocks release, data loss, security incident`,axes:[`priority`],adhocAliases:[`p0`,`critical`,`prime-tier1`]},{tag:`p1`,label:`P1 — High`,description:`High priority: blocks dependent work, user-visible degradation`,axes:[`priority`],adhocAliases:[`p1`]},{tag:`p2`,label:`P2 — Medium`,description:`Medium priority: should fix, not blocking current wave`,axes:[`priority`],adhocAliases:[`p2`]},{tag:`p3`,label:`P3 — Low`,description:`Low priority: nice-to-have, cleanup, future consideration`,axes:[`priority`],adhocAliases:[`p3`]},{tag:`adr`,label:`Architecture Decision Record`,description:`Formal architecture decision record with rationale and alternatives`,axes:[`doc_kind`],adhocAliases:[`adr`]},{tag:`spec`,label:`Specification`,description:`Technical specification for a feature, protocol, or subsystem`,axes:[`doc_kind`],adhocAliases:[`spec`]},{tag:`research`,label:`Research Note`,description:`Investigation findings, surveys, and domain analysis`,axes:[`doc_kind`],adhocAliases:[`research`]},{tag:`handoff`,label:`Handoff Note`,description:`Cross-session handoff with state, blockers, and next actions`,axes:[`doc_kind`],adhocAliases:[`handoff`]},{tag:`note`,label:`Note`,description:`General-purpose note, observation, or free-form documentation`,axes:[`doc_kind`],adhocAliases:[`note`]},{tag:`llmreadme`,label:`LLM README`,description:`Agent-consumable project overview, conventions, and context`,axes:[`doc_kind`],adhocAliases:[`llmreadme`,`llm-readme`]},{tag:`designmd`,label:`Design Doc`,description:`Google DESIGN.md token spec for agent interface contracts`,axes:[`doc_kind`],adhocAliases:[`designmd`,`design-md`]},{tag:`changeset`,label:`Changeset`,description:`User-facing changelog entry for a single change`,axes:[`doc_kind`],adhocAliases:[`changeset`]},{tag:`changelog`,label:`Changelog`,description:`Aggregated release changelog for a version`,axes:[`doc_kind`],adhocAliases:[`changelog`]}];ku.map(e=>e.tag),new Map(ku.map(e=>[e.tag,e]));var Au=new Map;for(let e of ku)for(let t of e.adhocAliases)Au.set(t,e.tag);var ju=new Map;for(let e of[`domain`,`type`,`lifecycle`,`priority`,`doc_kind`])ju.set(e,ku.filter(t=>t.axes.includes(e)));ju.get(`type`).map(e=>e.tag),ju.get(`domain`).map(e=>e.tag),ju.get(`doc_kind`).map(e=>e.tag);var Mu=class extends Error{invalidTags;constructor(e,t){super(e),this.invalidTags=t,this.name=`TaxonomyError`}};(class e{byId;adhocMap;constructor(e){this.byId=new Map(e.map(e=>[e.tag,e])),this.adhocMap=new Map;for(let t of e)for(let e of t.adhocAliases){let n=this.adhocMap.get(e);if(n!==void 0&&n!==t.tag)throw new Mu(`Ad-hoc alias '${e}' maps to both '${n}' and '${t.tag}' — aliases must be unique across targets`,[e]);this.adhocMap.set(e,t.tag)}}static default=new e(ku);isCanonical(e){return this.byId.has(e)}get(e){return this.byId.get(e)}list(){return[...this.byId.values()]}listByAxis(e){return this.list().filter(t=>t.axes.includes(e))}normalize(e){return this.adhocMap.get(e)}validate(e){return e.filter(e=>!this.byId.has(e))}validateOrThrow(e,t){let n=this.validate(e);if(n.length>0)throw new Mu(`${t}: unknown tags [${n.join(`, `)}]. Use canonical tags. Run 'cleo taxonomy list' to see all valid tags.`,n)}normalizeSet(e){let t=new Set;for(let n of e){let e=this.normalize(n);t.add(e??n)}return[...t]}});var Nu=[`workflow`,`config`,`agent`,`skill`,`provider`,`doc`],Pu=[`regex-tmpl`,`static`,`json-merge`],Fu=[`overwrite-on-bump`,`diff-prompt`,`immutable`,`manifest-merge`],Iu=q({name:V().min(1,`placeholder name must be non-empty`),source:X([`project-context`,`project-info`,`.cleo/config`,`~/.cleo/config`,`tool-resolver`,`literal`]),sourcePath:V().min(1,`placeholder sourcePath must be non-empty`),defaultValue:fo([V(),U(),W(),io()]).optional()});q({id:V().min(1,`id must be non-empty`),kind:X(Nu),sourcePath:V().min(1,`sourcePath must be non-empty`),installPath:V().min(1,`installPath must be non-empty`),substitution:X(Pu),placeholders:K(Iu),updateStrategy:X(Fu)});var Lu=/^validator-[a-z0-9][a-z0-9-]*$/,Ru=q({acId:V().min(1,`acId must be non-empty`),status:X([`pass`,`fail`,`inconclusive`]),reasoning:V().min(1,`reasoning must be non-empty`),evidenceRefs:K(V()).optional(),checkedAt:V().min(1,`checkedAt must be a non-empty ISO-8601 string`)});J(`verdict`,[q({verdict:Z(`attest`),taskId:V().min(1),validatorId:V().regex(Lu,`validatorId must match the pattern validator-<discriminator>`),findings:K(Ru).min(1,`attestation must contain at least one finding`).refine(e=>e.every(e=>e.status===`pass`),`attestation requires every finding to have status="pass"`),summary:V().optional(),attestedAt:V().min(1),schemaVersion:Z(`1`)}),q({verdict:Z(`reject`),taskId:V().min(1),validatorId:V().regex(Lu,`validatorId must match the pattern validator-<discriminator>`),findings:K(Ru).min(1,`rejection must contain at least one finding`).refine(e=>e.some(e=>e.status!==`pass`),`rejection requires at least one finding with status "fail" or "inconclusive"`),summary:V().min(1,`rejection summary must be non-empty`),remediationHints:K(V()).optional(),rejectedAt:V().min(1),schemaVersion:Z(`1`)})]);var zu=`[ \\t\\r]`,Bu=e=>`^${zu}*[<!-]{1,4}${zu}*CAAMP${zu}*:${zu}*${e}${zu}*[->]{1,3}${zu}*$`;Bu(`START`),Bu(`END`);var Vu=`hierarchy`,Hu=new Set([`hierarchy`,`graph`,`kanban`]),Uu=new Set([`critical`,`high`,`medium`,`low`]),Wu=150,Gu=!1;function Ku(e,t){if(!e)return[];let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=[],i=new Set;for(let e of n)t(e)&&!i.has(e)&&(r.push(e),i.add(e));return r}function qu(e){return el.includes(e)}function Ju(e){return Uu.has(e)}function Yu(e){return Hu.has(e)}function Xu(e){return e.length>0}function Zu(e){let t=e.searchParams,n=t.get(`cancelled`)===`1`,r=t.get(`deferred`)===`1`;r&&!Gu&&(Gu=!0,console.warn(`[task-filters] ?deferred=1 is deprecated; use ?cancelled=1. Alias removal tracked by T958.`));let i=t.get(`view`),a=i&&Yu(i)?i:Vu;return{query:t.get(`q`)??``,status:Ku(t.get(`status`),qu),priority:Ku(t.get(`priority`),Ju),labels:Ku(t.get(`labels`),Xu),epic:t.get(`epic`),selected:t.get(`selected`),cancelled:n||r,view:a}}function Qu(e,t){let n=new URL(e.toString()),r=n.searchParams;return r.delete(`deferred`),$u(r,`q`,t.query||null),$u(r,`status`,t.status.length?t.status.join(`,`):null),$u(r,`priority`,t.priority.length?t.priority.join(`,`):null),$u(r,`labels`,t.labels.length?t.labels.join(`,`):null),$u(r,`epic`,t.epic),$u(r,`selected`,t.selected),$u(r,`cancelled`,t.cancelled?`1`:null),$u(r,`view`,t.view===Vu?null:t.view),n}function $u(e,t,n){n===null||n===``?e.delete(t):e.set(t,n)}function ed(e){let t=h(Zu(e)),n=null,r=null;function i(){if(typeof window>`u`)return;let e=Qu(new URL(window.location.href),t);e.search!==window.location.search&&window.history.replaceState(window.history.state,``,e.toString())}function a(){typeof window>`u`||(n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,i()},Wu))}function o(){if(typeof window>`u`)return;let e=Zu(new URL(window.location.href));t.query=e.query,t.status=e.status,t.priority=e.priority,t.labels=e.labels,t.epic=e.epic,t.selected=e.selected,t.cancelled=e.cancelled,t.view=e.view}typeof window<`u`&&(r=o,window.addEventListener(`popstate`,r));function s(e,t){let n=e.indexOf(t);return n===-1?[...e,t]:[...e.slice(0,n),...e.slice(n+1)]}return{get state(){return t},setQuery(e){t.query=e,a()},toggleStatus(e){t.status=s(t.status,e),i()},togglePriority(e){t.priority=s(t.priority,e),i()},toggleLabel(e){t.labels=s(t.labels,e),i()},setEpic(e){t.epic=e,i()},setSelected(e){t.selected=e,i()},setCancelled(e){t.cancelled=e,i()},setView(e){t.view=e,i()},clear(){t.query=``,t.status=[],t.priority=[],t.labels=[],t.epic=null,t.selected=null,t.cancelled=!1,t.view=Vu,n!==null&&(clearTimeout(n),n=null),i()},dispose(){n!==null&&(clearTimeout(n),n=null),r!==null&&typeof window<`u`&&(window.removeEventListener(`popstate`,r),r=null)}}}function td(e){let t=e.trim();if(t.length===0)return{kind:`empty`};let n=/^[Tt]?(\d+)$/.exec(t);return n?{kind:`id`,id:`T${n[1]}`}:{kind:`title`,query:t}}var nd=t(`<span class="live-ts svelte-1pluywh"> </span>`),rd=t(`<button class="search-clear svelte-1pluywh" aria-label="Clear search">✕</button>`),id=t(`<div class="search-error svelte-1pluywh"> </div>`),ad=t(`<div class="search-empty svelte-1pluywh"> </div>`),od=t(`<div class="search-empty svelte-1pluywh"> </div>`),sd=t(`<span class="result-type svelte-1pluywh"> </span>`),cd=t(`<a class="search-result-row svelte-1pluywh"><span> </span> <div class="result-info svelte-1pluywh"><span class="result-id svelte-1pluywh"> </span> <!> <span class="result-title svelte-1pluywh"> </span></div> <div class="result-meta svelte-1pluywh"><span> </span> <span class="result-time svelte-1pluywh"> </span></div></a>`),ld=t(`<div class="search-results-header svelte-1pluywh"><span class="results-count svelte-1pluywh"> </span> <button class="results-close svelte-1pluywh" aria-label="Close results">✕</button></div> <div class="search-results-list svelte-1pluywh"></div>`,1),ud=t(`<div class="search-results-panel svelte-1pluywh"><!></div>`),dd=t(`<div class="priority-row svelte-1pluywh"><span> </span> <div class="priority-bar-track svelte-1pluywh"><div></div></div> <span class="priority-count svelte-1pluywh"> </span></div>`),fd=t(`<section class="rail-card svelte-1pluywh" aria-label="Task counts"><header class="rail-head svelte-1pluywh"><span class="rail-eyebrow svelte-1pluywh">Overview</span> <span class="rail-total svelte-1pluywh"> <span class="rail-total-lbl svelte-1pluywh">tasks</span></span></header> <div class="stat-grid svelte-1pluywh"><span class="stat-card status-active-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Active</span></span> <span class="stat-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Pending</span></span> <span class="stat-card status-done-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Done</span></span> <span class="stat-card status-cancelled-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Cancelled</span></span> <span class="stat-card muted svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Archived</span></span></div> <div class="priority-block svelte-1pluywh"><div class="section-label svelte-1pluywh">Priority</div> <div class="priority-bars svelte-1pluywh"></div></div> <div class="type-block svelte-1pluywh"><div class="section-label svelte-1pluywh">Type</div> <div class="type-chips svelte-1pluywh"><span class="type-chip svelte-1pluywh">Epics <strong class="svelte-1pluywh"> </strong></span> <span class="type-chip svelte-1pluywh">Tasks <strong class="svelte-1pluywh"> </strong></span> <span class="type-chip svelte-1pluywh">Subtasks <strong class="svelte-1pluywh"> </strong></span></div></div> <div class="filter-bar svelte-1pluywh" aria-label="Dashboard filters"><a data-sveltekit-noscroll="" title="Include cancelled epics in the Epic Progress panel"><span class="chip-check svelte-1pluywh"> </span> Cancelled epics</a> <a data-sveltekit-noscroll="" title="Include archived tasks in Recent Activity"><span class="chip-check svelte-1pluywh"> </span> Archived</a></div></section>`),pd=t(`<div class="no-db svelte-1pluywh">tasks.db not found — start CLEO in the project directory</div>`),md=t(`<div class="command-surface svelte-1pluywh"><section class="task-explorer svelte-1pluywh" aria-label="Task Explorer"><header class="explorer-header svelte-1pluywh"><div class="tabs svelte-1pluywh" role="tablist" aria-label="Task Explorer views"><button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">1</span> Hierarchy</button> <button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">2</span> Graph</button> <button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">3</span> Kanban</button></div> <div class="toolbar svelte-1pluywh"><!> <!> <!> <!></div></header> <div class="explorer-body svelte-1pluywh"><!></div></section> <aside class="side-rail svelte-1pluywh" aria-label="Dashboard summary"><!> <!> <!></aside></div> <!>`,1),hd=t(`<div class="tasks-page svelte-1pluywh"><div class="page-header svelte-1pluywh"><div class="header-left svelte-1pluywh"><h1 class="page-title svelte-1pluywh">Tasks</h1> <nav class="tasks-nav svelte-1pluywh"><a href="/tasks" class="nav-tab active svelte-1pluywh">Dashboard</a> <a href="/tasks/pipeline" class="nav-tab svelte-1pluywh">Pipeline</a> <a href="/tasks/sessions" class="nav-tab svelte-1pluywh">Sessions</a></nav></div> <div><span class="live-dot svelte-1pluywh"></span> <span class="live-label svelte-1pluywh"> </span> <!></div></div> <div class="search-section svelte-1pluywh"><div><span class="search-icon svelte-1pluywh" aria-hidden="true">⌕</span> <input class="search-input svelte-1pluywh" type="text" placeholder="Search by ID (T663, t663, 663) or title..." autocomplete="off" spellcheck="false"/> <!></div> <!></div> <!> <!></div>`);function gd(t,l){ce(l,!0);let le=()=>se(ve,`$page`,b),[b,x]=fe(),S=g(()=>l.data.stats),Oe=g(()=>l.data.recentTasks??[]),C=g(()=>l.data.epicProgress??[]),ke=g(()=>l.data.filters??{showCancelled:!1,showArchived:!1});function Ae(e){let t=new URL(le().url);return t.searchParams.get(e)===`1`?t.searchParams.delete(e):t.searchParams.set(e,`1`),e===`cancelled`&&t.searchParams.delete(`deferred`),t.pathname+(t.search?t.search:``)}let w=e(h(ed(new URL(le().url))));p(()=>{let e=new URL(le().url),{next:t,old:n}=ge(()=>{let t=ed(e),n=o(w);return f(w,t,!0),{next:t,old:n}});return()=>{t.dispose(),n?.dispose()}});function T(e){let t=e.replace(/^#/,``).toLowerCase();return t===`hierarchy`||t===`graph`||t===`kanban`?t:null}de(()=>{function e(){if(!o(w))return;let e=T(window.location.hash);e&&e!==o(w).state.view&&o(w).setView(e)}return e(),window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)});function E(e){if(o(w)&&(o(w).setView(e),typeof window<`u`&&window.location.hash!==`#${e}`)){let t=`${window.location.pathname}${window.location.search}#${e}`;window.history.replaceState(window.history.state,``,t)}}let je=g(()=>l.data.explorer?.tasks??[]),Me=g(()=>l.data.explorer?.deps??[]),D=g(()=>l.data.explorer?.labels??[]),Ne=g(()=>l.data.explorer?.epicProgress??{}),Pe=g(()=>(()=>{if(!o(w))return null;let e=o(w).state.selected;return e?o(je).find(t=>t.id===e)??null:null})()),Fe=[{value:`pending`,label:`Pending`,tint:`var(--status-pending)`},{value:`active`,label:`Active`,tint:`var(--status-active)`},{value:`blocked`,label:`Blocked`,tint:`var(--status-blocked)`},{value:`done`,label:`Done`,tint:`var(--status-done)`},{value:`cancelled`,label:`Cancelled`,tint:`var(--status-cancelled)`}],Ie=[{value:`critical`,label:`Critical`,tint:`var(--priority-critical)`},{value:`high`,label:`High`,tint:`var(--priority-high)`},{value:`medium`,label:`Medium`,tint:`var(--priority-medium)`},{value:`low`,label:`Low`,tint:`var(--priority-low)`}],Le=g(()=>o(D).map(e=>({value:e,label:e})));function Re(e,t,n){let r=new Set(e),i=new Set(t);for(let e of r)i.has(e)||n(e);for(let e of i)r.has(e)||n(e)}let O=e(``),k=e(!1),ze=e(null),Be=e(h([])),A=e(!1),j=e(null),M=e(!1),Ve=e(!1);p(()=>{let e=o(O);if(td(e).kind===`empty`){f(Be,[],!0),f(A,!1),f(j,null),f(M,!1),f(Ve,!1);return}let t=new AbortController,n=setTimeout(async()=>{f(k,!0),f(ze,null),f(A,!1),f(M,!1),f(j,null);try{let n=await fetch(`/api/tasks/search?q=${encodeURIComponent(e)}`,{signal:t.signal});if(!n.ok){f(ze,`Search failed (${n.status})`),f(k,!1);return}let r=await n.json();if(`error`in r){f(ze,r.error,!0),f(k,!1);return}if(r.kind===`id`)if(r.task)_e(`/tasks/${r.task.id}`);else{f(A,!0);let t=td(e);f(j,t.kind===`id`?t.id:null,!0),f(Ve,!0)}else r.kind===`title`?(f(Be,r.tasks,!0),f(M,r.total===0),f(Ve,!0)):f(Ve,!1)}catch(e){e.name!==`AbortError`&&f(ze,String(e),!0)}finally{f(k,!1)}},250);return()=>{clearTimeout(n),t.abort()}});function He(){f(O,``)}function Ue(e){return e===`critical`?`priority-critical`:e===`high`?`priority-high`:e===`medium`?`priority-medium`:`priority-low`}function We(e){return e===`done`?`✓`:e===`active`?`●`:e===`blocked`?`✗`:`○`}function Ge(e){return e===`done`?`status-done`:e===`active`?`status-active`:e===`blocked`?`status-blocked`:`status-pending`}function Ke(e){try{let t=new Date(e),n=Date.now()-t.getTime(),r=Math.floor(n/6e4);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}catch{return e}}let qe=e(!1),Je=e(``);p(()=>{let e=new EventSource(`/api/tasks/events`);return e.addEventListener(`connected`,()=>{f(qe,!0)}),e.addEventListener(`task-updated`,e=>{f(Je,JSON.parse(e.data).ts,!0)}),e.addEventListener(`heartbeat`,()=>{f(qe,!0)}),e.onerror=()=>{f(qe,!1)},()=>e.close()});function Ye(e){if(!o(w))return;let t=e.target;if(t instanceof HTMLElement){let e=t.tagName;if(e===`INPUT`||e===`TEXTAREA`||t.isContentEditable)return}e.key===`1`?(e.preventDefault(),E(`hierarchy`)):e.key===`2`?(e.preventDefault(),E(`graph`)):e.key===`3`&&(e.preventDefault(),E(`kanban`))}var Xe=hd();he(`1pluywh`,e=>{ee(()=>{c.title=`Tasks — CLEO Studio`})}),i(`keydown`,ue,Ye);var Ze=s(Xe),Qe=m(s(Ze),2);let N;var $e=m(s(Qe),2),et=s($e,!0);v($e);var tt=m($e,2),nt=e=>{var t=nd(),r=s(t);v(t),a(e=>n(r,`updated ${e??``}`),[()=>Ke(o(Je))]),u(e,t)};r(tt,e=>{o(Je)&&e(nt)}),v(Qe),v(Ze);var rt=m(Ze,2),it=s(rt);let at;var ot=m(s(it),2);pe(ot);var st=m(ot,2),ct=e=>{var t=rd();d(`click`,t,He),u(e,t)};r(st,e=>{o(O).length>0&&e(ct)}),v(it);var lt=m(it,2),ut=e=>{var t=id(),r=s(t,!0);v(t),a(()=>n(r,o(ze))),u(e,t)};r(lt,e=>{o(ze)&&e(ut)}),v(rt);var dt=m(rt,2),ft=e=>{var t=ud(),i=s(t),c=e=>{var t=ad(),r=s(t);v(t),a(()=>n(r,`Task ${o(j)??o(O)??``} not found.`)),u(e,t)},l=e=>{var t=od(),r=s(t);v(t),a(()=>n(r,`No tasks match "${o(O)??``}".`)),u(e,t)},f=e=>{var t=ld(),i=te(t),c=s(i),l=s(c);v(c);var f=m(c,2);v(i);var p=m(i,2);me(p,21,()=>o(Be),e=>e.id,(e,t)=>{var i=cd(),c=s(i),l=s(c,!0);v(c);var f=m(c,2),p=s(f),ee=s(p,!0);v(p);var te=m(p,2),h=e=>{var r=sd(),i=s(r,!0);v(r),a(()=>n(i,o(t).type)),u(e,r)};r(te,e=>{o(t).type!==`task`&&e(h)});var ne=m(te,2),re=s(ne,!0);v(ne),v(f);var ie=m(f,2),g=s(ie),oe=s(g,!0);v(g);var _=m(g,2),se=s(_,!0);v(_),v(ie),v(i),a((e,r,a,s)=>{ae(i,`href`,`/tasks/${o(t).id??``}`),y(c,1,`result-status-icon ${e??``}`,`svelte-1pluywh`),n(l,r),n(ee,o(t).id),n(re,o(t).title),y(g,1,`result-priority ${a??``}`,`svelte-1pluywh`),n(oe,o(t).priority),n(se,s)},[()=>Ge(o(t).status),()=>We(o(t).status),()=>Ue(o(t).priority),()=>Ke(o(t).updated_at)]),d(`click`,i,He),u(e,i)}),v(p),a(()=>n(l,`${o(Be).length??``} result${o(Be).length===1?``:`s`}`)),d(`click`,f,He),u(e,t)};r(i,e=>{o(A)?e(c):o(M)?e(l,1):e(f,-1)}),v(t),u(e,t)};r(dt,e=>{o(Ve)&&e(ft)});var pt=m(dt,2),mt=e=>{var t=md(),i=te(t),c=s(i),l=s(c),f=s(l),p=s(f);let ee;var h=m(p,2);let re;var ie=m(h,2);let se;v(f);var ce=m(f,2),ue=s(ce);we(ue,{get value(){return o(w).state.query},onChange:e=>o(w)?.setQuery(e),placeholder:`Filter explorer by id or title...`,registerSlashShortcut:!0});var de=m(ue,2);De(de,{label:`Status`,get options(){return Fe},get selected(){return o(w).state.status},onChange:e=>{o(w)&&Re(o(w).state.status,e,e=>o(w)?.toggleStatus(e))}});var fe=m(de,2);De(fe,{label:`Priority`,get options(){return Ie},get selected(){return o(w).state.priority},onChange:e=>{o(w)&&Re(o(w).state.priority,e,e=>o(w)?.togglePriority(e))}});var pe=m(fe,2),he=e=>{ye(e,{get options(){return o(Le)},get selected(){return o(w).state.labels},onChange:e=>{o(w)&&Re(o(w).state.labels,e,e=>o(w)?.toggleLabel(e))}})};r(pe,e=>{o(Le).length>0&&e(he)}),v(ce),v(l);var ge=m(l,2),_e=s(ge),ve=e=>{be(e,{get tasks(){return o(je)},get deps(){return o(Me)},get epicProgress(){return o(Ne)},get filters(){return o(w)}})},b=e=>{{let t=g(()=>le().data.activeProjectId??null);Ce(e,{get tasks(){return o(je)},get deps(){return o(Me)},get filters(){return o(w)},get labels(){return o(D)},get activeProjectId(){return o(t)}})}},x=e=>{Te(e,{get tasks(){return o(je)},get deps(){return o(Me)},get filters(){return o(w)}})};r(_e,e=>{o(w).state.view===`hierarchy`?e(ve):o(w).state.view===`graph`?e(b,1):e(x,-1)}),v(ge),v(c);var T=m(c,2),O=s(T),k=e=>{var t=fd(),r=s(t),i=m(s(r),2),c=s(i);_(),v(i),v(r);var l=m(r,2),d=s(l),f=s(d),p=s(f,!0);v(f),_(2),v(d);var ee=m(d,2),te=s(ee),h=s(te,!0);v(te),_(2),v(ee);var re=m(ee,2),ie=s(re),se=s(ie,!0);v(ie),_(2),v(re);var ce=m(re,2),le=s(ce),ue=s(le,!0);v(le),_(2),v(ce);var de=m(ce,2),fe=s(de),pe=s(fe,!0);v(fe),_(2),v(de),v(l);var he=m(l,2),ge=m(s(he),2);me(ge,21,()=>[[`critical`,o(S).critical],[`high`,o(S).high],[`medium`,o(S).medium],[`low`,o(S).low]],([e,t])=>e,(e,t)=>{var r=g(()=>oe(o(t),2));let i=()=>o(r)[0],c=()=>o(r)[1],l=g(()=>o(S).critical+o(S).high+o(S).medium+o(S).low),d=g(()=>o(l)>0?Math.round(Number(c())/o(l)*100):0);var f=dd(),p=s(f),ee=s(p,!0);v(p);var te=m(p,2),h=s(te);v(te);var re=m(te,2),ie=s(re,!0);v(re),v(f),a((e,t)=>{y(p,1,`priority-label ${e??``}`,`svelte-1pluywh`),n(ee,i()),y(h,1,`priority-bar-fill ${t??``}`,`svelte-1pluywh`),ne(h,`width:${o(d)??``}%`),n(ie,c())},[()=>Ue(String(i())),()=>Ue(String(i()))]),u(e,f)}),v(ge),v(he);var _e=m(he,2),ve=m(s(_e),2),ye=s(ve),be=m(s(ye)),xe=s(be,!0);v(be),v(ye);var Se=m(ye,2),Ce=m(s(Se)),we=s(Ce,!0);v(Ce),v(Se);var Te=m(Se,2),Ee=m(s(Te)),De=s(Ee,!0);v(Ee),v(Te),v(ve),v(_e);var b=m(_e,2),x=s(b);let Oe;var C=s(x),w=s(C,!0);v(C),_(),v(x);var T=m(x,2);let E;var je=s(T),Me=s(je,!0);v(je),_(),v(T),v(b),v(t),a((e,t)=>{n(c,`${o(S).total??``} `),n(p,o(S).active),n(h,o(S).pending),n(se,o(S).done),n(ue,o(S).cancelled),n(pe,o(S).archived),n(xe,o(S).epics),n(we,o(S).tasks),n(De,o(S).subtasks),ae(x,`href`,e),Oe=y(x,1,`filter-chip svelte-1pluywh`,null,Oe,{active:o(ke).showCancelled}),n(w,o(ke).showCancelled?`✓`:` `),ae(T,`href`,t),E=y(T,1,`filter-chip svelte-1pluywh`,null,E,{active:o(ke).showArchived}),n(Me,o(ke).showArchived?`✓`:` `)},[()=>Ae(`cancelled`),()=>Ae(`archived`)]),u(e,t)},ze=e=>{u(e,pd())};r(O,e=>{o(S)?e(k):e(ze,-1)});var Be=m(O,2),A=e=>{xe(e,{get epics(){return o(C)},get includingDeferred(){return o(ke).showCancelled}})};r(Be,e=>{o(C).length>0&&e(A)});var j=m(Be,2),M=e=>{Ee(e,{get tasks(){return o(Oe)}})};r(j,e=>{o(Oe).length>0&&e(M)}),v(T),v(i),Se(m(i,2),{get task(){return o(Pe)},onClose:()=>o(w)?.setSelected(null)}),a(()=>{ee=y(p,1,`tab svelte-1pluywh`,null,ee,{active:o(w).state.view===`hierarchy`}),ae(p,`aria-selected`,o(w).state.view===`hierarchy`),re=y(h,1,`tab svelte-1pluywh`,null,re,{active:o(w).state.view===`graph`}),ae(h,`aria-selected`,o(w).state.view===`graph`),se=y(ie,1,`tab svelte-1pluywh`,null,se,{active:o(w).state.view===`kanban`}),ae(ie,`aria-selected`,o(w).state.view===`kanban`)}),d(`click`,p,()=>E(`hierarchy`)),d(`click`,h,()=>E(`graph`)),d(`click`,ie,()=>E(`kanban`)),u(e,t)};r(pt,e=>{o(w)&&e(mt)}),v(Xe),a(()=>{N=y(Qe,1,`live-indicator svelte-1pluywh`,null,N,{connected:o(qe)}),n(et,o(qe)?`Live`:`Connecting...`),at=y(it,1,`search-box svelte-1pluywh`,null,at,{loading:o(k)})}),ie(ot,()=>o(O),e=>f(O,e)),u(t,Xe),re(),x()}l([`click`]);export{gd as component};
39
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Ri(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:Bi(t,`input`,e.processors),output:Bi(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function R(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return R(r.element,n);if(r.type===`set`)return R(r.valueType,n);if(r.type===`lazy`)return R(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return R(r.innerType,n);if(r.type===`intersection`)return R(r.left,n)||R(r.right,n);if(r.type===`record`||r.type===`map`)return R(r.keyType,n)||R(r.valueType,n);if(r.type===`pipe`)return R(r.in,n)||R(r.out,n);if(r.type===`object`){for(let e in r.shape)if(R(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(R(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(R(e,n))return!0;return!!(r.rest&&R(r.rest,n))}return!1}var zi=(e,t={})=>n=>{let r=Ii({...n,processors:t});return L(e,r),Li(r,e),Ri(r,e)},Bi=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ii({...i??{},target:a,io:t,processors:n});return L(e,o),Li(o,e),Ri(o,e)},Vi={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Hi=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Vi[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Ui=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},Wi=(e,t,n,r)=>{n.type=`boolean`},Gi=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Ki=(e,t,n,r)=>{n.not={}},qi=(e,t,n,r)=>{let i=e._zod.def,a=ke(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ji=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},Yi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Xi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Zi=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=L(a.element,t,{...r,path:[...r.path,`items`]})},Qi=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=L(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=L(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},$i=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>L(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},ea=(e,t,n,r)=>{let i=e._zod.def,a=L(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=L(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},ta=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=L(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=L(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=L(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},na=(e,t,n,r)=>{let i=e._zod.def,a=L(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},ra=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ia=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},aa=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},oa=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},sa=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;L(a,t,r);let o=t.seen.get(e);o.ref=a},ca=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},la=(e,t,n,r)=>{let i=e._zod.def;L(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ua=(e,t,n,r)=>{let i=e._zod.innerType;L(i,t,r);let a=t.seen.get(e);a.ref=i},da=b(`ZodISODateTime`,(e,t)=>{On.init(e,t),H.init(e,t)});function fa(e){return ni(da,e)}var pa=b(`ZodISODate`,(e,t)=>{kn.init(e,t),H.init(e,t)});function ma(e){return ri(pa,e)}var ha=b(`ZodISOTime`,(e,t)=>{An.init(e,t),H.init(e,t)});function ga(e){return ii(ha,e)}var _a=b(`ZodISODuration`,(e,t)=>{jn.init(e,t),H.init(e,t)});function va(e){return ai(_a,e)}var ya=(e,t)=>{nt.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>at(e,t)},flatten:{value:t=>it(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Ae,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Ae,2)}},isEmpty:{get(){return e.issues.length===0}}})};b(`ZodError`,ya);var z=b(`ZodError`,ya,{Parent:Error}),ba=ot(z),xa=st(z),Sa=ct(z),Ca=ut(z),wa=ft(z),Ta=pt(z),Ea=mt(z),Da=ht(z),Oa=gt(z),ka=_t(z),Aa=vt(z),ja=yt(z),B=b(`ZodType`,(e,t)=>(F.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Bi(e,`input`),output:Bi(e,`output`)}}),e.toJSONSchema=zi(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(Pe(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>j(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>ba(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Sa(e,t,n),e.parseAsync=async(t,n)=>xa(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ca(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>wa(e,t,n),e.decode=(t,n)=>Ta(e,t,n),e.encodeAsync=async(t,n)=>Ea(e,t,n),e.decodeAsync=async(t,n)=>Da(e,t,n),e.safeEncode=(t,n)=>Oa(e,t,n),e.safeDecode=(t,n)=>ka(e,t,n),e.safeEncodeAsync=async(t,n)=>Aa(e,t,n),e.safeDecodeAsync=async(t,n)=>ja(e,t,n),e.refine=(t,n)=>e.check(Uo(t,n)),e.superRefine=t=>e.check(Wo(t)),e.overwrite=t=>e.check(Ei(t)),e.optional=()=>Co(e),e.exactOptional=()=>To(e),e.nullable=()=>Do(e),e.nullish=()=>Co(Do(e)),e.nonoptional=t=>No(e,t),e.array=()=>K(e),e.or=t=>fo([e,t]),e.and=t=>ho(e,t),e.transform=t=>Lo(e,xo(t)),e.default=t=>ko(e,t),e.prefault=t=>jo(e,t),e.catch=t=>Fo(e,t),e.pipe=t=>Lo(e,t),e.readonly=()=>zo(e),e.describe=t=>{let n=e.clone();return Mr.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return Mr.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return Mr.get(e);let n=e.clone();return Mr.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),Ma=b(`_ZodString`,(e,t)=>{gn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hi(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(bi(...t)),e.includes=(...t)=>e.check(Ci(...t)),e.startsWith=(...t)=>e.check(wi(...t)),e.endsWith=(...t)=>e.check(Ti(...t)),e.min=(...t)=>e.check(vi(...t)),e.max=(...t)=>e.check(_i(...t)),e.length=(...t)=>e.check(yi(...t)),e.nonempty=(...t)=>e.check(vi(1,...t)),e.lowercase=t=>e.check(xi(t)),e.uppercase=t=>e.check(Si(t)),e.trim=()=>e.check(Oi()),e.normalize=(...t)=>e.check(Di(...t)),e.toLowerCase=()=>e.check(ki()),e.toUpperCase=()=>e.check(Ai()),e.slugify=()=>e.check(ji())}),Na=b(`ZodString`,(e,t)=>{gn.init(e,t),Ma.init(e,t),e.email=t=>e.check(Pr(Pa,t)),e.url=t=>e.check(Br(La,t)),e.jwt=t=>e.check(ti(Qa,t)),e.emoji=t=>e.check(Vr(Ra,t)),e.guid=t=>e.check(Fr(Fa,t)),e.uuid=t=>e.check(Ir(Ia,t)),e.uuidv4=t=>e.check(Lr(Ia,t)),e.uuidv6=t=>e.check(Rr(Ia,t)),e.uuidv7=t=>e.check(zr(Ia,t)),e.nanoid=t=>e.check(Hr(za,t)),e.guid=t=>e.check(Fr(Fa,t)),e.cuid=t=>e.check(Ur(Ba,t)),e.cuid2=t=>e.check(Wr(Va,t)),e.ulid=t=>e.check(Gr(Ha,t)),e.base64=t=>e.check(Qr(Ya,t)),e.base64url=t=>e.check($r(Xa,t)),e.xid=t=>e.check(Kr(Ua,t)),e.ksuid=t=>e.check(qr(Wa,t)),e.ipv4=t=>e.check(Jr(Ga,t)),e.ipv6=t=>e.check(Yr(Ka,t)),e.cidrv4=t=>e.check(Xr(qa,t)),e.cidrv6=t=>e.check(Zr(Ja,t)),e.e164=t=>e.check(ei(Za,t)),e.datetime=t=>e.check(fa(t)),e.date=t=>e.check(ma(t)),e.time=t=>e.check(ga(t)),e.duration=t=>e.check(va(t))});function V(e){return Nr(Na,e)}var H=b(`ZodStringFormat`,(e,t)=>{I.init(e,t),Ma.init(e,t)}),Pa=b(`ZodEmail`,(e,t)=>{yn.init(e,t),H.init(e,t)}),Fa=b(`ZodGUID`,(e,t)=>{_n.init(e,t),H.init(e,t)}),Ia=b(`ZodUUID`,(e,t)=>{vn.init(e,t),H.init(e,t)}),La=b(`ZodURL`,(e,t)=>{bn.init(e,t),H.init(e,t)}),Ra=b(`ZodEmoji`,(e,t)=>{xn.init(e,t),H.init(e,t)}),za=b(`ZodNanoID`,(e,t)=>{Sn.init(e,t),H.init(e,t)}),Ba=b(`ZodCUID`,(e,t)=>{Cn.init(e,t),H.init(e,t)}),Va=b(`ZodCUID2`,(e,t)=>{wn.init(e,t),H.init(e,t)}),Ha=b(`ZodULID`,(e,t)=>{Tn.init(e,t),H.init(e,t)}),Ua=b(`ZodXID`,(e,t)=>{En.init(e,t),H.init(e,t)}),Wa=b(`ZodKSUID`,(e,t)=>{Dn.init(e,t),H.init(e,t)}),Ga=b(`ZodIPv4`,(e,t)=>{Mn.init(e,t),H.init(e,t)}),Ka=b(`ZodIPv6`,(e,t)=>{Nn.init(e,t),H.init(e,t)}),qa=b(`ZodCIDRv4`,(e,t)=>{Pn.init(e,t),H.init(e,t)}),Ja=b(`ZodCIDRv6`,(e,t)=>{Fn.init(e,t),H.init(e,t)}),Ya=b(`ZodBase64`,(e,t)=>{Ln.init(e,t),H.init(e,t)}),Xa=b(`ZodBase64URL`,(e,t)=>{zn.init(e,t),H.init(e,t)}),Za=b(`ZodE164`,(e,t)=>{Bn.init(e,t),H.init(e,t)}),Qa=b(`ZodJWT`,(e,t)=>{Hn.init(e,t),H.init(e,t)}),$a=b(`ZodNumber`,(e,t)=>{Un.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ui(e,t,n,r),e.gt=(t,n)=>e.check(mi(t,n)),e.gte=(t,n)=>e.check(hi(t,n)),e.min=(t,n)=>e.check(hi(t,n)),e.lt=(t,n)=>e.check(fi(t,n)),e.lte=(t,n)=>e.check(pi(t,n)),e.max=(t,n)=>e.check(pi(t,n)),e.int=t=>e.check(to(t)),e.safe=t=>e.check(to(t)),e.positive=t=>e.check(mi(0,t)),e.nonnegative=t=>e.check(hi(0,t)),e.negative=t=>e.check(fi(0,t)),e.nonpositive=t=>e.check(pi(0,t)),e.multipleOf=(t,n)=>e.check(gi(t,n)),e.step=(t,n)=>e.check(gi(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function U(e){return oi($a,e)}var eo=b(`ZodNumberFormat`,(e,t)=>{Wn.init(e,t),$a.init(e,t)});function to(e){return si(eo,e)}var no=b(`ZodBoolean`,(e,t)=>{Gn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wi(e,t,n,r)});function W(e){return ci(no,e)}var ro=b(`ZodNull`,(e,t)=>{Kn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gi(e,t,n,r)});function io(e){return li(ro,e)}var ao=b(`ZodUnknown`,(e,t)=>{qn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function G(){return ui(ao)}var oo=b(`ZodNever`,(e,t)=>{Jn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ki(e,t,n,r)});function so(e){return di(oo,e)}var co=b(`ZodArray`,(e,t)=>{Xn.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zi(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(vi(t,n)),e.nonempty=t=>e.check(vi(1,t)),e.max=(t,n)=>e.check(_i(t,n)),e.length=(t,n)=>e.check(yi(t,n)),e.unwrap=()=>e.element});function K(e,t){return Mi(co,e,t)}var lo=b(`ZodObject`,(e,t)=>{tr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qi(e,t,n,r),D(e,`shape`,()=>t.shape),e.keyof=()=>X(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:G()}),e.loose=()=>e.clone({...e._zod.def,catchall:G()}),e.strict=()=>e.clone({...e._zod.def,catchall:so()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Ge(e,t),e.safeExtend=t=>Ke(e,t),e.merge=t=>qe(e,t),e.pick=t=>Ue(e,t),e.omit=t=>We(e,t),e.partial=(...t)=>Je(So,e,t[0]),e.required=(...t)=>Ye(Mo,e,t[0])});function q(e,t){return new lo({type:`object`,shape:e??{},...M(t)})}var uo=b(`ZodUnion`,(e,t)=>{rr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$i(e,t,n,r),e.options=t.options});function fo(e,t){return new uo({type:`union`,options:e,...M(t)})}var po=b(`ZodDiscriminatedUnion`,(e,t)=>{uo.init(e,t),ir.init(e,t)});function J(e,t,n){return new po({type:`union`,options:t,discriminator:e,...M(n)})}var mo=b(`ZodIntersection`,(e,t)=>{ar.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ea(e,t,n,r)});function ho(e,t){return new mo({type:`intersection`,left:e,right:t})}var go=b(`ZodRecord`,(e,t)=>{cr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ta(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Y(e,t,n){return new go({type:`record`,keyType:e,valueType:t,...M(n)})}function _o(e,t,n){let r=j(e);return r._zod.values=void 0,new go({type:`record`,keyType:r,valueType:t,...M(n)})}var vo=b(`ZodEnum`,(e,t)=>{lr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qi(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new vo({...t,checks:[],...M(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new vo({...t,checks:[],...M(r),entries:i})}});function X(e,t){return new vo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...M(t)})}var yo=b(`ZodLiteral`,(e,t)=>{ur.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ji(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,`value`,{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Z(e,t){return new yo({type:`literal`,values:Array.isArray(e)?e:[e],...M(t)})}var bo=b(`ZodTransform`,(e,t)=>{dr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xi(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new S(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(et(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(et(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function xo(e){return new bo({type:`transform`,transform:e})}var So=b(`ZodOptional`,(e,t)=>{pr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>la(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Co(e){return new So({type:`optional`,innerType:e})}var wo=b(`ZodExactOptional`,(e,t)=>{mr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>la(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function To(e){return new wo({type:`optional`,innerType:e})}var Eo=b(`ZodNullable`,(e,t)=>{hr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>na(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Do(e){return new Eo({type:`nullable`,innerType:e})}var Oo=b(`ZodDefault`,(e,t)=>{gr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ia(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ko(e,t){return new Oo({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ze(t)}})}var Ao=b(`ZodPrefault`,(e,t)=>{vr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>aa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function jo(e,t){return new Ao({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ze(t)}})}var Mo=b(`ZodNonOptional`,(e,t)=>{yr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ra(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function No(e,t){return new Mo({type:`nonoptional`,innerType:e,...M(t)})}var Po=b(`ZodCatch`,(e,t)=>{xr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Fo(e,t){return new Po({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Io=b(`ZodPipe`,(e,t)=>{Sr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sa(e,t,n,r),e.in=t.in,e.out=t.out});function Lo(e,t){return new Io({type:`pipe`,in:e,out:t})}var Ro=b(`ZodReadonly`,(e,t)=>{wr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ca(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function zo(e){return new Ro({type:`readonly`,innerType:e})}var Bo=b(`ZodLazy`,(e,t)=>{Er.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ua(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function Vo(e){return new Bo({type:`lazy`,getter:e})}var Ho=b(`ZodCustom`,(e,t)=>{Dr.init(e,t),B.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yi(e,t,n,r)});function Uo(e,t={}){return Ni(Ho,e,t)}function Wo(e){return Pi(e)}var Go=q({req:V().optional(),description:V().min(1),advisory:W().optional(),timeoutMs:U().int().positive().optional()}),Ko=J(`type`,[q({type:Z(`exists`)}),q({type:Z(`absent`)}),q({type:Z(`nonEmpty`)}),q({type:Z(`maxBytes`),value:U().int().nonnegative()}),q({type:Z(`minBytes`),value:U().int().nonnegative()}),q({type:Z(`contains`),value:V()}),q({type:Z(`matches`),regex:V().min(1),flags:V().optional()}),q({type:Z(`sha256`),value:V().length(64)})]),qo=Go.extend({kind:Z(`test`),command:V().min(1),args:K(V()).optional(),expect:X([`pass`,`exit0`]),minCount:U().int().nonnegative().optional(),cwd:V().optional(),env:Y(V(),V()).optional()});q({numTotalTests:U().int().nonnegative().safe(),numPassedTests:U().int().nonnegative().safe(),numFailedTests:U().int().nonnegative().safe(),numPendingTests:U().int().nonnegative().safe(),numTodoTests:U().int().nonnegative().safe(),numTotalTestSuites:U().int().nonnegative().safe(),numPassedTestSuites:U().int().nonnegative().safe(),numFailedTestSuites:U().int().nonnegative().safe(),numPendingTestSuites:U().int().nonnegative().safe(),success:W(),testResults:K(q({name:V().min(1),status:X([`passed`,`failed`]),assertionResults:K(q({fullName:V(),status:X([`passed`,`failed`,`pending`,`skipped`,`todo`])}))}))}).superRefine((e,t)=>{let n=e.testResults.flatMap(e=>e.assertionResults),r=n.filter(e=>e.status===`passed`).length,i=n.filter(e=>e.status===`failed`).length,a=n.filter(e=>e.status===`pending`||e.status===`skipped`).length,o=n.filter(e=>e.status===`todo`).length;(e.numTotalTests!==n.length||e.numPassedTests!==r||e.numFailedTests!==i||e.numPendingTests!==a||e.numTodoTests!==o)&&t.addIssue({code:`custom`,message:`Test counters disagree with assertion results`}),e.numTotalTestSuites!==e.numPassedTestSuites+e.numFailedTestSuites+e.numPendingTestSuites&&t.addIssue({code:`custom`,message:`Suite counters are inconsistent`}),(e.testResults.some(e=>e.status===`passed`&&e.assertionResults.some(e=>e.status===`failed`))||e.success&&(i>0||e.numFailedTestSuites>0||e.testResults.some(e=>e.status===`failed`)))&&t.addIssue({code:`custom`,message:`Success status contradicts failed results`})});var Jo=J(`kind`,[qo,Go.extend({kind:Z(`file`),path:V().min(1).optional(),attachmentSha256:V().regex(/^[0-9a-f]{64}$/i,`attachmentSha256 must be a 64-char hex string`).optional(),assertions:K(Ko).min(1)}),Go.extend({kind:Z(`command`),cmd:V().min(1),args:K(V()).optional(),exitCode:U().int().optional(),stdoutMatches:V().optional(),stderrMatches:V().optional(),cwd:V().optional(),env:Y(V(),V()).optional()}),Go.extend({kind:Z(`lint`),tool:X([`biome`,`eslint`,`tsc`,`prettier`,`rustc`,`clippy`]),args:K(V()).optional(),expect:X([`clean`,`noErrors`]),cwd:V().optional()}),Go.extend({kind:Z(`http`),url:V().url(),method:X([`GET`,`HEAD`,`POST`,`PUT`,`DELETE`]).optional(),status:U().int().min(100).max(599),bodyMatches:V().optional(),headers:Y(V(),V()).optional(),startCommand:V().optional(),startupDelayMs:U().int().nonnegative().optional()}),Go.extend({kind:Z(`manual`),prompt:V().min(1),verdicts:K(X([`pass`,`fail`,`warn`])).optional()})]),Yo=J(`kind`,[q({kind:Z(`test`),exitCode:U().int(),stdout:V(),stderr:V(),duration:U().nonnegative()}),q({kind:Z(`file`),path:V().min(1),passedAssertions:K(V()),failedAssertions:K(V())}),q({kind:Z(`command`),cmd:V().min(1),exitCode:U().int(),stdout:V()}),q({kind:Z(`lint`),tool:V().min(1),warnings:U().int().nonnegative(),errors:U().int().nonnegative()}),q({kind:Z(`http`),url:V(),status:U().int().min(100).max(599),body:V()}),q({kind:Z(`manual`),prompt:V().min(1),accepted:W()})]),Xo=q({started:W(),targetPid:U().int().positive().safe().nullable(),exitCode:U().int().nonnegative().safe().nullable(),signal:V().min(1).nullable(),error:V().nullable(),stopped:X([`deadline`,`cancelled`,`teardown`,`output-limit`,`resource-limit`,`transport-error`]).nullable(),stdout:V(),stderr:V(),outputTruncated:W(),durationMs:U().finite().nonnegative(),mode:X([`systemd`,`pgid`]),unitName:V().min(1).optional(),nativeMemory:X([`unverified`,`observed-cgroup`]),resourceLimits:q({cgroup:V().startsWith(`/`),memoryMaxBytes:U().int().positive().safe().nullable(),tasksMax:U().int().positive().safe().nullable()}).strict().optional(),cleanupScope:X([`process-group`,`direct-child`]),transportClosed:Z(!0),targetCloseObserved:W(),cleanupObservation:X([`scope-terminal`,`process-group-absent`,`process-group-signalled`,`unverified`]),cleanupErrors:K(V())}).strict().superRefine((e,t)=>{(e.started!==(e.targetPid!==null)||!e.started&&(e.exitCode!==null||e.signal!==null)||e.exitCode!==null&&e.signal!==null||!e.targetCloseObserved&&(e.exitCode!==null||e.signal!==null))&&t.addIssue({code:`custom`,message:`Contradictory target lifecycle observation`}),e.nativeMemory===`observed-cgroup`&&!e.resourceLimits?.memoryMaxBytes&&t.addIssue({code:`custom`,message:`Observed native-memory claim requires a finite kernel limit`}),e.resourceLimits&&(e.mode!==`systemd`||!e.unitName||!e.resourceLimits.cgroup.split(`/`).includes(e.unitName)||e.resourceLimits.cgroup.split(`/`).includes(`..`))&&t.addIssue({code:`custom`,message:`Resource observation must name the exact owned scope`}),e.cleanupObservation===`scope-terminal`&&(e.mode!==`systemd`||!e.unitName)&&t.addIssue({code:`custom`,message:`Terminal scope observation requires an identified systemd scope`})}),Zo=V().min(1).refine(e=>/^(?:\/|[A-Za-z]:[\\/]|\\\\)/.test(e)&&!e.includes(`\0`),`Captured gate paths must be absolute and contain no null byte`);q({binding:q({version:Z(1),verificationId:V().uuid(),identity:q({projectId:V().min(1),projectRoot:Zo,actor:V().min(1),operation:Z(`check.gate.verify`),idempotencyKey:V().min(1)}).strict(),taskId:V().min(1),criterionId:V().uuid(),criterionHash:V().regex(/^[a-f0-9]{64}$/),gateHash:V().regex(/^[a-f0-9]{64}$/),capturedAt:V().datetime(),deadlineAt:U().int().positive().safe(),invocation:q({command:V().min(1),args:K(V()),cwd:Zo,environmentHash:V().regex(/^[a-f0-9]{64}$/)}).strict().optional(),artifacts:K(q({path:Zo,sha256:V().regex(/^[a-f0-9]{64}$/).nullable(),bytes:U().int().nonnegative().safe().nullable()}).strict().superRefine((e,t)=>{e.sha256===null!=(e.bytes===null)&&t.addIssue({code:`custom`,message:`Absent input requires both null digest and size`})}))}).strict().superRefine((e,t)=>{new Set(e.artifacts.map(({path:e})=>e)).size!==e.artifacts.length&&t.addIssue({code:`custom`,path:[`artifacts`],message:`Input paths must be unique`}),Date.parse(e.capturedAt)>=e.deadlineAt&&t.addIssue({code:`custom`,path:[`deadlineAt`],message:`Input capture must precede the original deadline`})}).optional(),index:U().int().nonnegative(),req:V().optional(),kind:X([`test`,`file`,`command`,`lint`,`http`,`manual`]),result:X([`pass`,`fail`,`warn`,`skipped`,`error`]),durationMs:U().nonnegative(),details:Yo.optional(),execution:Xo.optional(),evidence:V().optional(),errorMessage:V().optional(),checkedAt:V().datetime(),checkedBy:V().min(1)}).superRefine((e,t)=>{let n=e.binding;if(n){n.identity.actor!==e.checkedBy&&t.addIssue({code:`custom`,path:[`binding`,`identity`,`actor`],message:`Result actor must match captured operation identity`}),Date.parse(n.capturedAt)>Date.parse(e.checkedAt)&&t.addIssue({code:`custom`,path:[`binding`,`capturedAt`],message:`Result cannot precede input capture`});let r=[`test`,`command`,`lint`].includes(e.kind);r&&!n.invocation&&t.addIssue({code:`custom`,path:[`binding`,`invocation`],message:`Executable gate requires captured invocation`}),[`pass`,`fail`,`warn`].includes(e.result)&&(r&&!e.execution&&t.addIssue({code:`custom`,path:[`execution`],message:`Bound executable verdict requires process observation`}),Date.parse(e.checkedAt)>n.deadlineAt&&t.addIssue({code:`custom`,path:[`checkedAt`],message:`Verdict exceeds the original admitted deadline`}))}let r=e.execution;r&&[`pass`,`fail`,`warn`].includes(e.result)&&(!r.started||!r.targetCloseObserved||r.exitCode===null||r.signal!==null||r.error!==null||r.stopped!==null||r.outputTruncated||r.cleanupErrors.length>0)&&t.addIssue({code:`custom`,path:[`execution`],message:`Incomplete process observation cannot establish a gate verdict`})}),K(fo([V().trim().min(1,{message:`Acceptance string criterion must be non-empty. Provide a non-blank description or a valid AcceptanceGate object.`}).describe(`Free-text legacy acceptance criterion (non-empty string)`),Jo.describe(`Structured machine-verifiable acceptance gate`)])).min(1,{message:`Task must have at least one acceptance criterion. Provide a non-empty string or a valid AcceptanceGate object.`}).refine(e=>{let t=new Set;for(let n of e)if(typeof n==`object`&&n&&`req`in n&&n.req){if(t.has(n.req))return!1;t.add(n.req)}return!0},{message:`Duplicate req: (REQ-ID) values within the same acceptance array. Each GSD-style requirement ID must be unique. Check for repeated req fields and ensure each gate has a distinct identifier.`});var Qo=q({description:V().optional(),labels:K(V()).optional()}),$o=J(`kind`,[Qo.extend({kind:Z(`local-file`),path:V().min(1),sha256:V().length(64),mime:V().min(1),size:U().int().nonnegative()}),Qo.extend({kind:Z(`url`),url:V().url(),cachedSha256:V().length(64).optional(),cachedAt:V().datetime().optional(),mime:V().optional()}),Qo.extend({kind:Z(`blob`),sha256:V().length(64),storageKey:V().min(1),mime:V().min(1),size:U().int().nonnegative()}),Qo.extend({kind:Z(`llms-txt`),source:X([`url`,`generated`]),content:V().min(1),sha256:V().length(64)}),Qo.extend({kind:Z(`llmtxt-doc`),slug:V().min(1),backend:X([`local`,`remote`]),pinnedVersion:V().optional()})]);q({id:V().min(1),sha256:V(),attachment:$o,createdAt:V().datetime(),refCount:U().int().nonnegative()}),q({attachmentId:V().min(1),ownerType:X([`task`,`observation`,`session`,`decision`,`learning`,`pattern`]),ownerId:V().min(1),attachedAt:V().datetime(),attachedBy:V().optional()});var es=[`feat`,`fix`,`perf`,`refactor`,`docs`,`test`,`chore`,`breaking`],ts=[`added`,`changed`,`fixed`,`deprecated`,`removed`,`security`,`breaking`],ns=[`users`,`operators`,`developers`,`maintainers`],rs=[`project`,`package`,`component`,`docs`,`ops`,`security`],is=V().min(1,`release-note metadata text must be non-empty`),as=K(is).min(1,`release-note metadata list must contain at least one item`),os=q({section:X(ts).optional(),audience:K(X(ns)).min(1).optional(),scope:X(rs).optional(),targets:as.optional(),impact:is.optional(),migration:is.optional(),deprecation:is.optional(),security:is.optional(),operatorNotes:is.optional(),includeInChangelog:W().optional()}).strict();q({id:V().min(1,`id must be non-empty`).regex(/^[A-Za-z0-9][A-Za-z0-9-]*$/,`id must contain only ASCII letters, digits, and hyphens`),tasks:K(V().regex(/^(T\d+(-[A-Z][A-Za-z0-9]*)?|E-\d+(-[A-Z][A-Za-z0-9]*)?)$/,`task ID must match T#### or E-#### format`)).min(1,`tasks must contain at least one task ID`),kind:X(es),summary:V().min(1,`summary must be non-empty`),prs:K(U().int().positive()).optional(),notes:V().optional(),breaking:V().optional(),releaseNotes:os.optional()}).refine(e=>e.kind!==`breaking`||(e.breaking?.length??0)>0,{message:"breaking entries must include a non-empty `breaking` migration note",path:[`breaking`]}),Object.freeze([{id:`project-info`,scope:`metadata`,path:`.cleo/project-info.json`,mergePrecedence:0,driftDetection:`schema-validate`},{id:`project-context`,scope:`metadata`,path:`.cleo/project-context.json`,mergePrecedence:0,driftDetection:`staleness-gate`},{id:`cleo-config-global`,scope:`global`,path:`~/.cleo/config.json`,mergePrecedence:10,driftDetection:`schema-validate`},{id:`cleo-config-project`,scope:`project`,path:`.cleo/config.json`,mergePrecedence:20,driftDetection:`schema-validate`}]),q({id:V().min(1),scope:fo([Z(`global`),Z(`project`),Z(`metadata`)]),path:V().min(1),schema:G().optional(),mergePrecedence:U().int().nonnegative(),driftDetection:fo([Z(`schema-validate`),Z(`staleness-gate`),Z(`value-diff`),Z(`none`)]),defaults:Y(V(),G()).optional()});var ss=q({key:V().min(1),value:V()}).strict(),cs=X([`running`,`restarting`,`stopped`]),ls=q({child_id:V().min(1),pid:U().int().nonnegative(),state:cs,restart_count:U().int().nonnegative()}).strict(),us=J(`kind`,[q({kind:Z(`spawn`),child_id:V().min(1),program:V().min(1),args:K(V()).default([]),env:K(ss).default([]),cwd:V().optional()}).strict(),q({kind:Z(`restart`),child_id:V().min(1)}).strict(),q({kind:Z(`monitor`),child_id:V().optional()}).strict(),q({kind:Z(`health`)}).strict()]),ds=q({kind:Z(`spawned`),child_id:V().min(1),pid:U().int().nonnegative()}).strict(),fs=q({kind:Z(`restarted`),child_id:V().min(1),pid:U().int().nonnegative(),restart_count:U().int().nonnegative()}).strict(),ps=q({kind:Z(`monitor`),children:K(ls)}).strict(),ms=q({kind:Z(`health`),pid:U().int().nonnegative(),child_count:U().int().nonnegative(),uptime_secs:U().int().nonnegative(),protocol_version:V()}).strict(),hs=X([`child_exited`,`child_restarted`]),gs=J(`kind`,[ds,fs,ps,ms,q({kind:Z(`event`),event:hs,child_id:V().min(1),exit_code:U().int().optional(),signal:V().optional(),restart_delay_ms:U().int().nonnegative().optional()}).strict(),q({kind:Z(`error`),code:V().min(1),message:V()}).strict()]);J(`direction`,[q({protocol_version:V(),id:V().min(1),direction:Z(`request`),request:us}).strict(),q({protocol_version:V(),id:V().min(1),direction:Z(`response`),response:gs}).strict()]);var _s=[`spawn`,`restart`,`monitor`,`health`],vs=[`spawned`,`restarted`,`monitor`,`health`,`event`,`error`];[..._s,...vs],q({subsystems:K(ls.extend({detail:V().optional()}).strict()),allHealthy:W()}).strict(),{$schemaNote:`SSoT machine-readable inventory of every CLEO SQLite database. Consumed by T10307 fleet survey, T10310 pragma drift, T10311 migration coverage, T10312 doctor integrity, T10320 cross-DB invariants. Owned by Saga T10281 SG-BRAIN-DB-RESILIENCE / Epic T10282 E1-DB-INVENTORY (task T10305). Amend together with ADR-068 charter; the CI drift gate (forthcoming under E1) compares entries to disk reality.`,$pathTokens:{"<projectRoot>":"Resolved at runtime from CLEO_ROOT env var or process.cwd(). Substituted by SSoT helpers `getCleoProjectDir()` in packages/brain/src/cleo-home.ts.",$XDG_DATA_HOME:"Resolved via env-paths through `getCleoHome()` in @cleocode/paths. Linux: ~/.local/share/cleo/, macOS: ~/Library/Application Support/cleo/."},entries:[{role:`tasks`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/tasks.db`,drizzleSchemaPath:`packages/core/src/store/tasks-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-tasks/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('tasks', cwd)`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`.cleo/backups/sqlite/tasks-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 1; ADR-013 §9`},{role:`brain`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/brain.db`,drizzleSchemaPath:`packages/core/src/store/schema/memory-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-brain/`,ownerPackage:`@cleocode/brain`,openedVia:`openCleoDb('brain', cwd)`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`.cleo/backups/sqlite/brain-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 2; ADR-013 §9; audit §2 (P0 malformed 2026-05-23)`},{role:`conduit`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/conduit.db`,drizzleSchemaPath:`packages/core/src/store/schema/conduit-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-conduit/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('conduit', cwd)`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`.cleo/backups/sqlite/conduit-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 3; ADR-037 (signaldock→conduit split)`},{role:`manifest`,tier:`derived`,filePathTemplate:`<projectRoot>/.cleo/blobs/manifest.db`,drizzleSchemaPath:`packages/core/src/store/llmtxt-blob-adapter.ts`,migrationsDir:null,ownerPackage:`@cleocode/core`,openedVia:`CleoBlobStore via llmtxt/blob BlobFsAdapter (no openCleoDb role registered)`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`rebuildable-from-blob-store`,documentedIn:`ADR-068 row 7 (derived); schema owned by llmtxt/blob BlobFsAdapter contract`},{role:`llmtxt`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/llmtxt/llmtxt.db`,drizzleSchemaPath:null,migrationsDir:null,ownerPackage:`@cleocode/llmtxt-core`,openedVia:`openCleoDb('llmtxt', cwd) — RESERVED; opener throws 'not yet implemented' (see open-cleo-db.ts L138)`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`.cleo/backups/sqlite/llmtxt-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 8 (reserved); audit §1.1 row 4 (live at .cleo/llmtxt/llmtxt.db)`},{role:`nexus`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/nexus.db`,drizzleSchemaPath:`packages/core/src/store/schema/nexus-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-nexus/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('nexus')`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/nexus-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 5`},{role:`signaldock-project`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/signaldock.db`,drizzleSchemaPath:`packages/core/src/store/schema/agent-registry-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-agent-registry/`,ownerPackage:`@cleocode/core`,openedVia:`HISTORICAL — project-tier signaldock.db was migrated into conduit.db post-T310/ADR-037. No live opener; charter row retained for migration provenance and legacy backup detection.`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`.cleo/backups/sqlite/signaldock-project-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 4 (stale — superseded by ADR-037); audit §1.1 (not in live project DB list)`},{role:`signaldock-global`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/signaldock.db`,drizzleSchemaPath:`packages/core/src/store/schema/agent-registry-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-agent-registry/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('signaldock')`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/signaldock-global-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 9; ADR-037 (post-split global identity registry)`},{role:`telemetry`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/telemetry.db`,drizzleSchemaPath:`packages/core/src/store/schema/telemetry-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-telemetry/`,ownerPackage:`@cleocode/core`,openedVia:`@cleocode/core telemetry/sqlite.ts — lazy open on first event when opted-in; not yet registered as openCleoDb role`,concurrency:`single-writer`,privacy:`cloud-exportable-opt-in`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/telemetry-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 6; T624`},{role:`skills`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/skills.db`,drizzleSchemaPath:`packages/core/src/store/schema/skills-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-skills/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('skills')`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/skills-YYYYMMDD-HHmmss.db`,documentedIn:`T9651 (initial skills.db migration); audit §1.2 row 4 — NOT yet in ADR-068 table`},{role:`global-brain`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/brain.db`,drizzleSchemaPath:`packages/core/src/store/schema/memory-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-brain/`,ownerPackage:`@cleocode/brain`,openedVia:`UNREGISTERED — file exists on disk (audit §1.2 row 3) but no live opener. Provenance unclear; likely orphan from a getCleoHome()-vs-project-resolution path bug. Tracked for cleanup decision under T10282/T10307.`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/global-brain-YYYYMMDD-HHmmss.db`,documentedIn:`audit §1.2 row 3 — NEW per saga T10281; not in ADR-068`},{role:`global-tasks`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/tasks.db`,drizzleSchemaPath:`packages/core/src/store/tasks-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-tasks/`,ownerPackage:`@cleocode/core`,openedVia:`UNREGISTERED — file exists on disk (audit §1.2 row 5, 4 KB) but no live opener. Provenance unclear; likely orphan from a cwd-cascade bug (T9550 class). Tracked for cleanup decision under T10282/T10307.`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/global-tasks-YYYYMMDD-HHmmss.db`,documentedIn:`audit §1.2 row 5 — NEW per saga T10281; not in ADR-068`}]}.entries,le(((e,t)=>{t.exports={}}))(),Object.freeze([{kind:`adr`,label:`ADR`,description:`Architectural decision record`,defaultOwnerKind:`task`,publishDir:`docs/adr`,requiresEntityId:!0,entityIdPattern:/^adr-\d{3,4}-[a-z0-9-]+$/,requiredSections:[`Status`,`Date`,`Context`,`Decision`,`Consequences`]},{kind:`spec`,label:`Spec`,description:`Technical specification`,defaultOwnerKind:`task`,publishDir:`docs/spec`,requiresEntityId:!1,requiredSections:[`Goal`,`Non-Goals`,`Requirements`,`Out-of-Scope`]},{kind:`research`,label:`Research`,description:`Investigation / research note`,defaultOwnerKind:`task`,publishDir:`docs/research`,requiresEntityId:!1,requiredSections:[`Question`,`Findings`,`Sources`]},{kind:`handoff`,label:`Handoff`,description:`Session / agent handoff`,defaultOwnerKind:`session`,publishDir:`docs/handoff`,requiresEntityId:!1,requiredSections:[`Context`,`State`,`Next-Steps`]},{kind:`note`,label:`Note`,description:`Agent observation / informal note`,defaultOwnerKind:`observation`,publishDir:`docs/note`,requiresEntityId:!1,requiredSections:[]},{kind:`llm-readme`,label:`LLM README`,description:`Machine-readable README (llms.txt)`,defaultOwnerKind:`project`,publishDir:`.`,requiresEntityId:!1,requiredSections:[]},{kind:`changeset`,label:`Changeset`,description:`Atomic change entry (release-note input)`,defaultOwnerKind:`task`,publishDir:`.changeset`,requiresEntityId:!0,entityIdPattern:/^t\d+-[a-z0-9-]+$/,requiredSections:[]},{kind:`release-note`,label:`Release Note`,description:`Composed release notes`,defaultOwnerKind:`project`,publishDir:`docs/release`,requiresEntityId:!0,entityIdPattern:/^v\d{4}\.\d+\.\d+(-[a-z0-9-]+)?$/,requiredSections:[`Changes`,`Migration`]},{kind:`plan`,label:`Plan`,description:`Epic / saga decomposition plan`,defaultOwnerKind:`task`,publishDir:`docs/plan`,requiresEntityId:!1,requiredSections:[`Goal`,`Steps`,`Owners`]},{kind:`rcasd`,label:`RCASD`,description:`Root-cause analysis + scoped delivery`,defaultOwnerKind:`task`,publishDir:`.cleo/rcasd`,requiresEntityId:!0,entityIdPattern:/^t\d+(-.+)?$/,requiredSections:[`Root-Cause`,`Action`,`Schedule`,`Detection`]}].map(e=>e.kind)),q({version:Z(1),operation:Z(`docs.projection`),identity:q({projectId:V().min(1),projectRoot:V().min(1),actor:V().min(1),operation:Z(`docs.projection`),idempotencyKey:V().min(1)}).strict(),source:q({attachmentId:V().min(1),sha256:V().regex(/^[a-f0-9]{64}$/),ownerId:V().min(1),ownerType:X([`task`,`session`,`observation`,`decision`,`learning`,`pattern`]),label:V().min(1)}).strict(),observation:q({kind:Z(`doc-attachment`),attachmentId:V().min(1),ownerId:V().min(1),addedAt:V().min(1),slug:V().optional(),type:V().optional()}).strict()}).strict(),q({version:Z(1),sourceHash:V().regex(/^[a-f0-9]{64}$/),graph:X([`completed`,`disabled`]),observationId:V().min(1),verifiedAt:V().min(1),actor:V().min(1)}).strict();var ys=[`draft`,`proposed`,`accepted`,`superseded`,`archived`,`deprecated`],bs={type:`object`,required:[`taskId`,`verification`,`verificationStatus`,`passed`],additionalProperties:!0,properties:{taskId:{type:`string`,description:`The task the gates belong to.`},title:{type:`string`,description:`Task title, for operator display.`},status:{type:`string`,description:`Task lifecycle status.`},type:{type:`string`,description:`Task type (epic | task | subtask).`},verification:{type:`object`,additionalProperties:!0,properties:{passed:{type:`boolean`,description:`True when every required gate is set.`},round:{type:`number`,description:`IVTR round counter.`},gates:{type:`object`,additionalProperties:{type:`boolean`},description:`Gate name → whether it is recorded as passed.`},evidence:{type:`object`,additionalProperties:!0,description:`Gate name → the evidence atom kinds validated for it.`}}},verificationStatus:{type:`string`,enum:[`passed`,`pending`],description:`Whether every required gate is now recorded.`},passed:{type:`boolean`,description:`Mirror of verification.passed.`},round:{type:`number`,description:`IVTR round counter.`},requiredGates:{type:`array`,items:{type:`string`},description:`Gates this project requires before complete.`},missingGates:{type:`array`,items:{type:`string`},description:`Required gates not yet recorded — empty means ready to complete.`}}},xs=[`/data/taskId`,`/data/verification`,`/data/verification/passed`,`/data/verification/gates`,`/data/verificationStatus`,`/data/passed`,`/data/missingGates`,`/data/requiredGates`],Ss={operation:`check.gate.set`,shapeNote:"FLAT record, not the nested read shape. The verification object is at /data/verification — NEVER /data/task/verification, which is how `cleo show` nests a task and does not exist here. The response is self-confirming: it returns the full verification after the write, so there is no need to re-read.",dataSchema:{...bs},fieldPointers:[...xs]},Cs={operation:`check.gate.status`,shapeNote:"FLAT record identical in shape to check.gate.set. Read-only: reports which gates are recorded and which are still missing. /data/missingGates being empty is the precondition for `cleo complete`.",dataSchema:{...bs},fieldPointers:[...xs]},ws={type:`object`,required:[`provider`,`label`,`authType`,`tokenPreview`],additionalProperties:!0,properties:{provider:{type:`string`,description:`LLM provider transport key.`},label:{type:`string`,description:`Account label, unique within the provider.`},authType:{type:`string`,description:`Storage auth scheme (api_key | oauth | aws_sdk).`},tokenPreview:{type:`string`,description:`Redacted token preview (last-4 chars) — NEVER the raw secret.`},hasRefreshToken:{type:`boolean`},expiresAt:{type:[`number`,`null`]},priority:{type:`number`},source:{type:[`string`,`null`]},baseUrl:{type:[`string`,`null`]},disabled:{type:`boolean`}}},Ts={operation:`account.add`,shapeNote:"`account` is the redacted NON-SECRET view (tokenPreview = last-4 ONLY). The raw secret is NEVER returned. `detectedAuthType` records the resolved scheme.",dataSchema:{type:`object`,required:[`account`,`detectedAuthType`],additionalProperties:!0,properties:{account:ws,detectedAuthType:{type:`string`,description:`Resolved auth scheme (api_key | oauth).`}}},fieldPointers:[`/data/account/provider`,`/data/account/label`,`/data/account/authType`,`/data/account/tokenPreview`,`/data/detectedAuthType`]},Es={operation:`account.list`,shapeNote:`accounts[] are NON-SECRET views — provider/label/authType/tokenPreview only. No decrypted secret is present in ANY field.`,dataSchema:{type:`object`,required:[`accounts`],additionalProperties:!0,properties:{accounts:{type:`array`,items:ws,description:`Redacted account views.`}}},fieldPointers:[`/data/accounts`,`/data/accounts/0/provider`,`/data/accounts/0/label`,`/data/accounts/0/tokenPreview`]},Ds={operation:`account.remove`,shapeNote:`Mutate envelope: count=1 + deleted=[provider:label] when an account was removed; count=0 + [] when absent (idempotent).`,dataSchema:{type:`object`,required:[`count`,`deleted`],additionalProperties:!0,properties:{count:{type:`number`,description:`1 when an account was deleted, else 0.`},deleted:{type:`array`,items:{type:`string`},description:"The `provider:label` identifier(s) deleted."}}},fieldPointers:[`/data/count`,`/data/deleted/0`]},Os={type:`object`,required:[`id`,`displayName`,`aliases`,`authMethods`],additionalProperties:!0,properties:{id:{type:`string`,description:`Canonical provider key (e.g. anthropic).`},displayName:{type:`string`},aliases:{type:`array`,items:{type:`string`},description:`Case-insensitive aliases.`},authMethods:{type:`array`,items:{type:`string`},description:`Supported auth methods (api_key | oauth | aws_sdk).`},modelsDevId:{type:`string`,description:`models.dev catalog provider key.`},source:{type:`string`,description:`Provenance (seed | plugin | import).`}}},ks={operation:`provider.list`,shapeNote:`providers[] are declarative NON-SECRET views (id/displayName/aliases/authMethods).`,dataSchema:{type:`object`,required:[`providers`],additionalProperties:!0,properties:{providers:{type:`array`,items:Os,description:`Provider views.`}}},fieldPointers:[`/data/providers`,`/data/providers/0/id`,`/data/providers/0/displayName`,`/data/providers/0/aliases`]},As={operation:`provider.show`,shapeNote:"`provider` is the resolved declarative view; `resolvedFrom` echoes the alias/id the lookup matched.",dataSchema:{type:`object`,required:[`provider`,`resolvedFrom`],additionalProperties:!0,properties:{provider:Os,resolvedFrom:{type:`string`,description:`The id/alias the lookup matched.`}}},fieldPointers:[`/data/provider/id`,`/data/provider/displayName`,`/data/resolvedFrom`]},js={operation:`provider.connect`,shapeNote:"Mutate envelope: count=1 + created=[provider:label]. `account` carries the redacted NON-SECRET view. The raw token is NEVER returned.",dataSchema:{type:`object`,required:[`count`,`created`],additionalProperties:!0,properties:{count:{type:`number`,description:`Number of accounts created/updated (1).`},created:{type:`array`,items:{type:`string`},description:`The provider:label id(s).`},account:ws}},fieldPointers:[`/data/count`,`/data/created/0`,`/data/account/tokenPreview`]},Ms={type:`object`,required:[`id`,`providerId`,`name`,`releaseDate`],additionalProperties:!0,properties:{id:{type:`string`,description:`Model id (catalog key).`},providerId:{type:`string`,description:`Provider key (models.dev id).`},name:{type:`string`,description:`Human-readable display name.`},family:{type:`string`},releaseDate:{type:`string`,description:`ISO release date YYYY-MM-DD.`},contextLimit:{type:[`number`,`null`]},outputLimit:{type:[`number`,`null`]},status:{type:`string`,description:`Lifecycle (stable | beta | preview | …).`}}},Ns={operation:`model.query`,shapeNote:"models[] are catalog views ordered newest-first by release_date. `count` is the number returned.",dataSchema:{type:`object`,required:[`models`,`count`],additionalProperties:!0,properties:{models:{type:`array`,items:Ms,description:`Catalog model views.`},count:{type:`number`,description:`Number of models returned.`}}},fieldPointers:[`/data/models`,`/data/models/0/id`,`/data/models/0/providerId`,`/data/count`]},Ps={operation:`model.show`,shapeNote:"`model` is the resolved catalog view; `found` is false when the id is absent.",dataSchema:{type:`object`,required:[`found`],additionalProperties:!0,properties:{found:{type:`boolean`,description:`True IFF the model id resolved to a catalog row.`},model:{...Ms,type:[`object`,`null`]}}},fieldPointers:[`/data/found`,`/data/model/id`,`/data/model/providerId`]},Fs={operation:`profile.create`,shapeNote:"Mutate envelope: count=1 + created=[name]. `profile` echoes the persisted binding {name, provider, model, credentialLabel?, role?}.",dataSchema:{type:`object`,required:[`count`,`created`],additionalProperties:!0,properties:{count:{type:`number`},created:{type:`array`,items:{type:`string`}},profile:{type:`object`,additionalProperties:!0,properties:{name:{type:`string`},provider:{type:`string`},model:{type:`string`},credentialLabel:{type:[`string`,`null`]},role:{type:[`string`,`null`]}}}}},fieldPointers:[`/data/count`,`/data/created/0`,`/data/profile/name`,`/data/profile/provider`,`/data/profile/model`]},Is={operation:`profile.list`,shapeNote:`profiles[] are the named bindings from llm.profiles (name + provider + model + optional credentialLabel/role).`,dataSchema:{type:`object`,required:[`profiles`],additionalProperties:!0,properties:{profiles:{type:`array`,items:{type:`object`,required:[`name`,`provider`,`model`],additionalProperties:!0,properties:{name:{type:`string`},provider:{type:`string`},model:{type:`string`},credentialLabel:{type:[`string`,`null`]}}}}}},fieldPointers:[`/data/profiles`,`/data/profiles/0/name`,`/data/profiles/0/provider`,`/data/profiles/0/model`]},Ls={operation:`profile.pin`,shapeNote:"Mutate envelope: count=1 + updated=[role]. `role` + `profile` echo the binding.",dataSchema:{type:`object`,required:[`count`,`updated`],additionalProperties:!0,properties:{count:{type:`number`},updated:{type:`array`,items:{type:`string`}},role:{type:`string`},profile:{type:`string`}}},fieldPointers:[`/data/count`,`/data/updated/0`,`/data/role`,`/data/profile`]},Rs={operation:`profile.use`,shapeNote:"Mutate envelope: count=1 + updated=[defaultProfile]. `profile` echoes the new default.",dataSchema:{type:`object`,required:[`count`,`updated`],additionalProperties:!0,properties:{count:{type:`number`},updated:{type:`array`,items:{type:`string`}},profile:{type:`string`,description:`The profile name set as default.`},scope:{type:`string`,enum:[`global`]}}},fieldPointers:[`/data/count`,`/data/updated/0`,`/data/profile`]},zs={operation:`service.connect`,shapeNote:"Mutate envelope: count=1, created=[connectionId]. `connection` carries the NON-SECRET identity (provider/label/expiresAt). No token is ever returned.",dataSchema:{type:`object`,required:[`count`,`created`],additionalProperties:!0,properties:{count:{type:`number`,description:`Number of connections created/updated (1).`},created:{type:`array`,items:{type:`string`},description:`The connection id(s) created/updated, as strings.`},connection:{type:`object`,description:`Non-secret connection identity.`,properties:{connectionId:{type:`number`},provider:{type:`string`},label:{type:`string`},expiresAt:{type:[`string`,`null`]}}}}},fieldPointers:[`/data/count`,`/data/created/0`,`/data/connection/provider`,`/data/connection/label`,`/data/connection/expiresAt`]},Bs={operation:`service.list`,shapeNote:`connections[] are NON-SECRET views — provider/label/status/scopes/expiresAt/hasCredentials only. The decrypted token is NEVER present in any field.`,dataSchema:{type:`object`,required:[`connections`],additionalProperties:!0,properties:{connections:{type:`array`,items:{type:`object`,required:[`provider`,`label`,`status`,`scopes`,`hasCredentials`],additionalProperties:!0,properties:{id:{type:`number`},provider:{type:`string`},label:{type:`string`},status:{type:`string`,enum:[`active`,`expired`,`revoked`]},scopes:{type:`array`,items:{type:`string`}},expiresAt:{type:[`string`,`null`]},connectedAt:{type:`string`},updatedAt:{type:`string`},hasCredentials:{type:`boolean`,description:`Whether a credential blob is present — NEVER the token itself.`}}},description:`Redacted connection views.`}}},fieldPointers:[`/data/connections`,`/data/connections/0/provider`,`/data/connections/0/label`,`/data/connections/0/status`,`/data/connections/0/expiresAt`,`/data/connections/0/hasCredentials`]},Vs={operation:`service.revoke`,shapeNote:"Mutate envelope: count=1 + deleted=[provider:label] on success (0 + [] when no such connection). `grantsRemoved` counts the cascaded agent_service_grants rows.",dataSchema:{type:`object`,required:[`count`,`deleted`],additionalProperties:!0,properties:{count:{type:`number`,description:`1 when a connection was deleted, else 0.`},deleted:{type:`array`,items:{type:`string`},description:"The `provider:label` identifier(s) deleted."},grantsRemoved:{type:`number`,description:`How many agent_service_grants rows were cascaded-deleted.`}}},fieldPointers:[`/data/count`,`/data/deleted/0`,`/data/grantsRemoved`]},Hs={operation:`service.status`,shapeNote:"connections[] are NON-SECRET health views: each adds `expired` + `needsRefresh` booleans computed from expiresAt. No token is ever present.",dataSchema:{type:`object`,required:[`connections`],additionalProperties:!0,properties:{connections:{type:`array`,items:{type:`object`,required:[`provider`,`label`,`status`,`expired`,`needsRefresh`],additionalProperties:!0,properties:{provider:{type:`string`},label:{type:`string`},status:{type:`string`,enum:[`active`,`expired`,`revoked`]},expiresAt:{type:[`string`,`null`]},expired:{type:`boolean`,description:`True when expiresAt is in the past (or status=expired).`},needsRefresh:{type:`boolean`,description:`True when the connection is expired and has stored credentials.`},hasCredentials:{type:`boolean`}}}}}},fieldPointers:[`/data/connections`,`/data/connections/0/provider`,`/data/connections/0/label`,`/data/connections/0/status`,`/data/connections/0/expired`,`/data/connections/0/needsRefresh`]},Us={operation:`tasks.show`,shapeNote:"The task record is nested under `task` — use /data/task/<field>, not /data/<field>. Mutation envelopes are FLAT by contrast (/data/created/0, /data/updated/0), which is the asymmetry that produced GH #1225/#1239/#1231. `view` may be null. `acRows` and `relations` are conditional. `description`, `acceptance` and `verification` are withheld by the default (MVI) projection but `--field` resolves them transparently (T12108) — no `--full` needed. Evidence is NOT a task field: it lives at /data/task/verification/evidence (keyed by gate), alongside /data/task/verification/gates. T12127 (GH #1231) — the previous wording advertised `/data/task/evidence`, which does not exist, in the very text shown to an agent whose pointer had just failed.",dataSchema:{type:`object`,required:[`task`,`view`,`attachments`],additionalProperties:!0,properties:{task:{type:`object`,description:`Full task record (id, title, status, priority, type, parentId, ...).`,required:[`id`,`title`,`status`],properties:{id:{type:`string`},title:{type:`string`},status:{type:`string`},priority:{type:`string`},type:{type:`string`},parentId:{type:[`string`,`null`]}}},view:{type:[`object`,`null`],description:`Canonical task view projection produced by computeTaskView. Null when unavailable.`},attachments:{type:`array`,description:`Docs attachments linked to this task. Always an array (empty when none).`},acRows:{type:`array`,description:`Acceptance-criterion rows (id, alias AC<n>, ordinal, text). Optional.`},relations:{type:`object`,description:`Expanded relation/doc lists. Present only with --relations.`}}},fieldPointers:[`/data/task/id`,`/data/task/title`,`/data/task/status`,`/data/task/priority`,`/data/task/type`,`/data/task/parentId`,`/data/task/description`,`/data/task/acceptance`,`/data/task/verification`,`/data/task/verification/gates`,`/data/task/verification/evidence`,`/data/view/id`,`/data/view/title`]},Ws={type:`object`,required:[`matched`,`returned`,`truncated`,`archive`,`limit`,`offset`],properties:{matched:{type:`number`,description:`All rows matching the query before pagination.`},returned:{type:`number`,description:`Rows present in this response; also --output count.`},truncated:{type:`boolean`,description:`Matching rows are omitted by this page.`},archive:{type:`string`,enum:[`included`,`excluded`,`only`]},limit:{type:[`number`,`null`]},offset:{type:`number`}}},Gs={operation:`tasks.list`,shapeNote:`Rows are under /data/tasks (an array); counts are /data/total and /data/filtered.`,dataSchema:{type:`object`,required:[`tasks`,`total`,`filtered`,`population`],additionalProperties:!0,properties:{tasks:{type:`array`,description:`Task rows matching the filters.`,items:{type:`object`,properties:{id:{type:`string`},title:{type:`string`},status:{type:`string`}}}},total:{type:`number`,description:`Total tasks before filtering.`},filtered:{type:`number`,description:`Number of tasks after filters applied.`},population:Ws}},fieldPointers:[`/data/tasks/0/id`,`/data/tasks/0/title`,`/data/tasks/0/status`,`/data/total`,`/data/filtered`,`/data/population/matched`,`/data/population/returned`,`/data/population/archive`]},Ks={operation:`tasks.find`,shapeNote:`Results are wrapped: /data/results (array of matches), /data/total (count). Use /data/results/0/id — NOT /data/0/id.`,dataSchema:{type:`object`,required:[`results`,`total`,`population`],additionalProperties:!0,properties:{results:{type:`array`,description:`Array of minimal task matches.`,items:{type:`object`,required:[`id`,`title`],properties:{id:{type:`string`},title:{type:`string`},status:{type:`string`}}}},total:{type:`number`,description:`Total matching tasks.`},population:Ws,query:{type:`string`,description:`The query string that was searched.`},searchType:{type:`string`,description:`Requested matching mode: lexical (default), fuzzy (explicit opt-in), exact, id, or filter.`}}},fieldPointers:[`/data/results/0/id`,`/data/results/0/title`,`/data/results/0/status`,`/data/results/0/match`,`/data/searchType`,`/data/total`,`/data/population/matched`,`/data/population/returned`,`/data/population/archive`]},qs={type:`object`,required:[`count`,`created`,`updated`,`deleted`],additionalProperties:!0,properties:{count:{type:`number`,description:`Number of records the mutation affected.`},created:{type:`array`,description:`Task IDs created by the mutation (bare strings, e.g. "T11692"). Empty for update/delete-only mutations.`,items:{type:`string`}},updated:{type:`array`,description:`Task IDs updated by the mutation (bare strings). Empty for create/delete-only mutations.`,items:{type:`string`}},deleted:{type:`array`,description:`Task IDs deleted by the mutation (bare strings). Empty for create/update-only mutations.`,items:{type:`string`}},ids:{type:`array`,description:`Deprecated alias for the non-empty bucket. Prefer created/updated/deleted.`,items:{type:`string`}},dryRun:{type:`boolean`,description:`True when this was a preview-only mutation.`},status:{type:`string`,description:`Post-mutation task status (add/update/complete).`}}},Js={"check.gate.set":Ss,"check.gate.status":Cs,"tasks.show":Us,"tasks.list":Gs,"tasks.find":Ks,"tasks.add":{operation:`tasks.add`,shapeNote:`The created task ID (bare string) is at /data/created/0 — NOT /data/created/0/id. Example: /data/created/0 → "T11692".`,dataSchema:{...qs},fieldPointers:[`/data/created/0`,`/data/count`]},"tasks.add-batch":{operation:`tasks.add-batch`,shapeNote:`Atomic batch insert. Each created task ID (bare string) is in /data/created (array). Dry-run projections are at root: /data/wouldCreate and /data/insertedCount (=0). NOT under /data/dryRunSummary.`,dataSchema:{type:`object`,required:[`count`,`created`,`updated`,`deleted`],additionalProperties:!0,properties:{...qs.properties,wouldCreate:{type:`number`,description:`Dry-run: predicted write count. Present only when dryRun=true.`},insertedCount:{type:`number`,description:`Dry-run: always 0 (no DB write). Present only when dryRun=true.`},wouldAffect:{type:`number`,description:`Dry-run: generic affected count. Present only when dryRun=true.`}}},fieldPointers:[`/data/created/0`,`/data/count`,`/data/wouldCreate`,`/data/insertedCount`]},"tasks.update":{operation:`tasks.update`,shapeNote:`The updated task ID (bare string) is at /data/updated/0 — NOT /data/updated/0/id. Use /data/status for the post-mutation status.`,dataSchema:{...qs},fieldPointers:[`/data/updated/0`,`/data/status`,`/data/count`]},"tasks.complete":{operation:`tasks.complete`,shapeNote:`Completion is a status mutation — the task ID (bare string) is at /data/updated/0 (status=done). Use /data/status for the post-mutation status.`,dataSchema:{...qs},fieldPointers:[`/data/updated/0`,`/data/status`,`/data/count`]},"tasks.reorder-rank":{operation:`tasks.reorder-rank`,shapeNote:`Re-ranked IDs (new order) at /data/ranked; unresolved request IDs at /data/skipped; count at /data/count.`,dataSchema:{type:`object`,required:[`ranked`,`skipped`,`count`],additionalProperties:!0,properties:{ranked:{type:`array`,description:`Task IDs whose position was written, in the new top-to-bottom order.`,items:{type:`string`}},skipped:{type:`array`,description:`Request IDs that did not resolve to a task (no-op for these).`,items:{type:`string`}},count:{type:`number`,description:`Number of tasks re-ranked.`}}},fieldPointers:[`/data/ranked/0`,`/data/skipped/0`,`/data/count`]},"tasks.bulk-move":{operation:`tasks.bulk-move`,shapeNote:`Moved task IDs at /data/moved (all-or-nothing); applied status/stage at /data/status and /data/pipelineStage; count at /data/count.`,dataSchema:{type:`object`,required:[`moved`,`count`],additionalProperties:!0,properties:{moved:{type:`array`,description:`Task IDs successfully moved (atomic — empty only when count is 0).`,items:{type:`string`}},status:{type:`string`,description:`The status applied, when supplied.`},pipelineStage:{type:`string`,description:`The pipeline stage applied, when supplied.`},count:{type:`number`,description:`Number of tasks moved.`}}},fieldPointers:[`/data/moved/0`,`/data/status`,`/data/pipelineStage`,`/data/count`]},"tasks.assignee":{operation:`tasks.assignee`,shapeNote:`The new assignee is at /data/assignee (null when cleared); /data/assigned is true on set, false on clear.`,dataSchema:{type:`object`,required:[`taskId`,`assignee`,`assigned`],additionalProperties:!0,properties:{taskId:{type:`string`,description:`The task ID whose assignee changed.`},assignee:{type:[`string`,`null`],description:`The new assignee value (null when cleared).`},assigned:{type:`boolean`,description:`True when an assignee was set; false on clear.`}}},fieldPointers:[`/data/taskId`,`/data/assignee`,`/data/assigned`]},"admin.config.get":{operation:`admin.config.get`,shapeNote:`The resolved value is at /data/value (may be null). /data/found is false when the key is absent.`,dataSchema:{type:`object`,required:[`key`,`scope`,`value`,`found`],additionalProperties:!0,properties:{key:{type:`string`,description:`The dot-notation key that was resolved.`},scope:{type:`string`,description:`Cascade slice the value was resolved against.`,enum:[`global`,`project`,`merged`]},value:{description:`Resolved value, or null when the key is absent.`},found:{type:`boolean`,description:`True IFF the key resolved to a defined value.`}}},fieldPointers:[`/data/key`,`/data/scope`,`/data/value`,`/data/found`]},"admin.config.list":{operation:`admin.config.list`,shapeNote:`The full resolved config is at /data/config (an object); flattened dot-notation keys are at /data/keys (an array).`,dataSchema:{type:`object`,required:[`scope`,`config`,`keys`],additionalProperties:!0,properties:{scope:{type:`string`,description:`Cascade slice the config was resolved against.`,enum:[`global`,`project`,`merged`]},config:{type:`object`,description:`Full resolved config object for the slice.`,additionalProperties:!0},keys:{type:`array`,description:`Flattened dot-notation keys present in the resolved config.`,items:{type:`string`}}}},fieldPointers:[`/data/scope`,`/data/keys/0`,`/data/keys`]},"admin.config.validate":{operation:`admin.config.validate`,shapeNote:`The pass/fail verdict is at /data/ok; rejection reasons are at /data/issues (empty when ok=true).`,dataSchema:{type:`object`,required:[`scope`,`ok`,`issues`],additionalProperties:!0,properties:{scope:{type:`string`,description:`Scope that was validated.`,enum:[`global`,`project`]},ok:{type:`boolean`,description:`True IFF every gate passed.`},issues:{type:`array`,description:`Human-readable schema issues. Empty when ok=true.`,items:{type:`string`}}}},fieldPointers:[`/data/scope`,`/data/ok`,`/data/issues/0`,`/data/issues`]},"admin.config.unset":{operation:`admin.config.unset`,shapeNote:`/data/removed is true IFF a value was deleted; false when the key was already absent (idempotent).`,dataSchema:{type:`object`,required:[`key`,`scope`,`removed`],additionalProperties:!0,properties:{key:{type:`string`,description:`The dot-notation key that was targeted.`},scope:{type:`string`,description:`Scope the key was removed from.`,enum:[`project`,`global`]},removed:{type:`boolean`,description:`True IFF a value was actually deleted.`}}},fieldPointers:[`/data/key`,`/data/scope`,`/data/removed`]},"service.connect":zs,"service.list":Bs,"service.revoke":Vs,"service.status":Hs,"account.add":Ts,"account.list":Es,"account.remove":Ds,"provider.list":ks,"provider.show":As,"provider.connect":js,"model.query":Ns,"model.show":Ps,"profile.create":Fs,"profile.list":Is,"profile.pin":Ls,"profile.use":Rs};Js[`tasks.update`],Js[`tasks.reorder-rank`],Js[`tasks.bulk-move`],Js[`tasks.assignee`],`${ys.join(`|`)}`;var Ys=[`doc`,`task`,`decision`,`session`,`memory`],Xs=[`attached-to`,`supersedes`,`superseded-by`,`related-task`,`linked-decision`,`derived-from`,`shares-topic`],Zs=[`active`,`superseded`,`archived`,`draft`],Qs=X(Ys),$s=X(Xs),ec=X(Zs),tc={id:V().min(1),title:V().min(1),metadata:Y(V(),G()).optional()},nc=J(`kind`,[q({...tc,kind:Z(`doc`),slug:V().min(1),docKind:V().min(1),lifecycleStatus:ec,publishedAt:V().min(1),supersededAt:V().min(1).optional(),summary:V().optional()}),q({...tc,kind:Z(`task`),taskType:X([`saga`,`epic`,`task`,`subtask`]),status:X([`pending`,`in_progress`,`done`,`blocked`,`cancelled`,`archived`])}),q({...tc,kind:Z(`decision`),outcome:X([`proposed`,`accepted`,`rejected`,`superseded`]),decidedAt:V().min(1)}),q({...tc,kind:Z(`session`),startedAt:V().min(1),endedAt:V().min(1).optional()}),q({...tc,kind:Z(`memory`),memoryType:X([`observation`,`pattern`,`decision`,`diary`]),recordedAt:V().min(1)})]),rc=q({relation:$s,from:V().min(1),fromKind:Qs,to:V().min(1),toKind:Qs,addedAt:V().min(1),summary:V().optional()});q({nodes:K(nc).readonly(),edges:K(rc).readonly(),totalNodes:U().int().nonnegative(),totalEdges:U().int().nonnegative()}),q({frontmatter:q({slug:V(),kind:V().nullable(),title:V().nullable(),summary:V().nullable(),lifecycleStatus:V(),docVersion:U().int(),ownerVersion:V().nullable(),supersedes:V().nullable(),supersededBy:V().nullable(),topics:K(V()).readonly(),relatedTasks:K(V()).readonly(),sha256:V(),createdAt:V()}),body:q({encoding:X([`utf-8`,`base64`]),text:V().optional(),base64:V().optional(),sizeBytes:U().int().nonnegative(),mimeType:V().nullable()})});var ic=[`related`,`blocks`,`duplicates`,`absorbs`,`fixes`,`extends`,`supersedes`,`groups`],ac;(function(e){e[e.SUCCESS=0]=`SUCCESS`,e[e.GENERAL_ERROR=1]=`GENERAL_ERROR`,e[e.INVALID_INPUT=2]=`INVALID_INPUT`,e[e.FILE_ERROR=3]=`FILE_ERROR`,e[e.NOT_FOUND=4]=`NOT_FOUND`,e[e.DEPENDENCY_ERROR=5]=`DEPENDENCY_ERROR`,e[e.VALIDATION_ERROR=6]=`VALIDATION_ERROR`,e[e.LOCK_TIMEOUT=7]=`LOCK_TIMEOUT`,e[e.CONFIG_ERROR=8]=`CONFIG_ERROR`,e[e.PARENT_NOT_FOUND=10]=`PARENT_NOT_FOUND`,e[e.DEPTH_EXCEEDED=11]=`DEPTH_EXCEEDED`,e[e.SIBLING_LIMIT=12]=`SIBLING_LIMIT`,e[e.INVALID_PARENT_TYPE=13]=`INVALID_PARENT_TYPE`,e[e.CIRCULAR_REFERENCE=14]=`CIRCULAR_REFERENCE`,e[e.ORPHAN_DETECTED=15]=`ORPHAN_DETECTED`,e[e.HAS_CHILDREN=16]=`HAS_CHILDREN`,e[e.TASK_COMPLETED=17]=`TASK_COMPLETED`,e[e.CASCADE_FAILED=18]=`CASCADE_FAILED`,e[e.HAS_DEPENDENTS=19]=`HAS_DEPENDENTS`,e[e.CHECKSUM_MISMATCH=20]=`CHECKSUM_MISMATCH`,e[e.CONCURRENT_MODIFICATION=21]=`CONCURRENT_MODIFICATION`,e[e.ID_COLLISION=22]=`ID_COLLISION`,e[e.SESSION_EXISTS=30]=`SESSION_EXISTS`,e[e.SESSION_NOT_FOUND=31]=`SESSION_NOT_FOUND`,e[e.SCOPE_CONFLICT=32]=`SCOPE_CONFLICT`,e[e.SCOPE_INVALID=33]=`SCOPE_INVALID`,e[e.TASK_NOT_IN_SCOPE=34]=`TASK_NOT_IN_SCOPE`,e[e.TASK_CLAIMED=35]=`TASK_CLAIMED`,e[e.SESSION_REQUIRED=36]=`SESSION_REQUIRED`,e[e.SESSION_CLOSE_BLOCKED=37]=`SESSION_CLOSE_BLOCKED`,e[e.ACTIVE_TASK_REQUIRED=38]=`ACTIVE_TASK_REQUIRED`,e[e.NOTES_REQUIRED=39]=`NOTES_REQUIRED`,e[e.VERIFICATION_INIT_FAILED=40]=`VERIFICATION_INIT_FAILED`,e[e.GATE_UPDATE_FAILED=41]=`GATE_UPDATE_FAILED`,e[e.INVALID_GATE=42]=`INVALID_GATE`,e[e.INVALID_AGENT=43]=`INVALID_AGENT`,e[e.MAX_ROUNDS_EXCEEDED=44]=`MAX_ROUNDS_EXCEEDED`,e[e.GATE_DEPENDENCY=45]=`GATE_DEPENDENCY`,e[e.VERIFICATION_LOCKED=46]=`VERIFICATION_LOCKED`,e[e.ROUND_MISMATCH=47]=`ROUND_MISMATCH`,e[e.AC_LOCKED=48]=`AC_LOCKED`,e[e.EPIC_HAS_PENDING_CHILDREN=49]=`EPIC_HAS_PENDING_CHILDREN`,e[e.CONTEXT_WARNING=50]=`CONTEXT_WARNING`,e[e.CONTEXT_CAUTION=51]=`CONTEXT_CAUTION`,e[e.CONTEXT_CRITICAL=52]=`CONTEXT_CRITICAL`,e[e.CONTEXT_EMERGENCY=53]=`CONTEXT_EMERGENCY`,e[e.CONTEXT_STALE=54]=`CONTEXT_STALE`,e[e.PROTOCOL_MISSING=60]=`PROTOCOL_MISSING`,e[e.INVALID_RETURN_MESSAGE=61]=`INVALID_RETURN_MESSAGE`,e[e.MANIFEST_ENTRY_MISSING=62]=`MANIFEST_ENTRY_MISSING`,e[e.SPAWN_VALIDATION_FAILED=63]=`SPAWN_VALIDATION_FAILED`,e[e.AUTONOMOUS_BOUNDARY=64]=`AUTONOMOUS_BOUNDARY`,e[e.HANDOFF_REQUIRED=65]=`HANDOFF_REQUIRED`,e[e.RESUME_FAILED=66]=`RESUME_FAILED`,e[e.CONCURRENT_SESSION=67]=`CONCURRENT_SESSION`,e[e.THIN_AGENT_VIOLATION=68]=`THIN_AGENT_VIOLATION`,e[e.ATOMICITY_VIOLATION=69]=`ATOMICITY_VIOLATION`,e[e.NEXUS_NOT_INITIALIZED=70]=`NEXUS_NOT_INITIALIZED`,e[e.NEXUS_PROJECT_NOT_FOUND=71]=`NEXUS_PROJECT_NOT_FOUND`,e[e.NEXUS_PERMISSION_DENIED=72]=`NEXUS_PERMISSION_DENIED`,e[e.NEXUS_INVALID_SYNTAX=73]=`NEXUS_INVALID_SYNTAX`,e[e.NEXUS_SYNC_FAILED=74]=`NEXUS_SYNC_FAILED`,e[e.NEXUS_REGISTRY_CORRUPT=75]=`NEXUS_REGISTRY_CORRUPT`,e[e.NEXUS_PROJECT_EXISTS=76]=`NEXUS_PROJECT_EXISTS`,e[e.NEXUS_QUERY_FAILED=77]=`NEXUS_QUERY_FAILED`,e[e.NEXUS_GRAPH_ERROR=78]=`NEXUS_GRAPH_ERROR`,e[e.NEXUS_IMPACT_CRITICAL=79]=`NEXUS_IMPACT_CRITICAL`,e[e.LIFECYCLE_GATE_FAILED=80]=`LIFECYCLE_GATE_FAILED`,e[e.AUDIT_MISSING=81]=`AUDIT_MISSING`,e[e.CIRCULAR_VALIDATION=82]=`CIRCULAR_VALIDATION`,e[e.LIFECYCLE_TRANSITION_INVALID=83]=`LIFECYCLE_TRANSITION_INVALID`,e[e.PROVENANCE_REQUIRED=84]=`PROVENANCE_REQUIRED`,e[e.ARTIFACT_TYPE_UNKNOWN=85]=`ARTIFACT_TYPE_UNKNOWN`,e[e.ARTIFACT_VALIDATION_FAILED=86]=`ARTIFACT_VALIDATION_FAILED`,e[e.ARTIFACT_BUILD_FAILED=87]=`ARTIFACT_BUILD_FAILED`,e[e.ARTIFACT_PUBLISH_FAILED=88]=`ARTIFACT_PUBLISH_FAILED`,e[e.ARTIFACT_ROLLBACK_FAILED=89]=`ARTIFACT_ROLLBACK_FAILED`,e[e.PROVENANCE_CONFIG_INVALID=90]=`PROVENANCE_CONFIG_INVALID`,e[e.SIGNING_KEY_MISSING=91]=`SIGNING_KEY_MISSING`,e[e.SIGNATURE_INVALID=92]=`SIGNATURE_INVALID`,e[e.DIGEST_MISMATCH=93]=`DIGEST_MISMATCH`,e[e.ATTESTATION_INVALID=94]=`ATTESTATION_INVALID`,e[e.ADAPTER_NOT_FOUND=95]=`ADAPTER_NOT_FOUND`,e[e.ADAPTER_INIT_FAILED=96]=`ADAPTER_INIT_FAILED`,e[e.ADAPTER_HOOK_FAILED=97]=`ADAPTER_HOOK_FAILED`,e[e.ADAPTER_SPAWN_FAILED=98]=`ADAPTER_SPAWN_FAILED`,e[e.ADAPTER_INSTALL_FAILED=99]=`ADAPTER_INSTALL_FAILED`,e[e.NO_DATA=100]=`NO_DATA`,e[e.ALREADY_EXISTS=101]=`ALREADY_EXISTS`,e[e.NO_CHANGE=102]=`NO_CHANGE`,e[e.TESTS_SKIPPED=103]=`TESTS_SKIPPED`,e[e.DUPLICATE_TASK_LIKELY=105]=`DUPLICATE_TASK_LIKELY`,e[e.LAFS_VIOLATION=104]=`LAFS_VIOLATION`,e[e.DECISION_VALIDATOR_FAILED=106]=`DECISION_VALIDATOR_FAILED`,e[e.LEAD_BYPASS_DETECTED=107]=`LEAD_BYPASS_DETECTED`,e[e.AC_COVERAGE_INCOMPLETE=108]=`AC_COVERAGE_INCOMPLETE`,e[e.CANCELLED_CHILD_NO_WAIVER=109]=`CANCELLED_CHILD_NO_WAIVER`})(ac||={}),RegExp(`;(?=\\s*(?:${[...[`commit`,`files`,`test-run`,`tool`,`url`,`note`,`decision`,`pr`,`loc-drop`,`callsite-coverage`,`satisfies`],`state`].join(`|`)})\\s*:)`,`g`),J(`kind`,[q({kind:Z(`commit`),sha:V().regex(/^[0-9a-f]{7,40}$/i,`commit sha must be 7-40 hex characters`)}),q({kind:Z(`files`),paths:K(V().min(1)).min(1,`files atom requires at least one path`)}),q({kind:Z(`test-run`),path:V().min(1,`test-run atom requires a non-empty path`)}),q({kind:Z(`tool`),tool:V().min(1,`tool atom requires a non-empty tool name`)}),q({kind:Z(`url`),url:V().min(1).regex(/^https?:\/\//,`url atom must start with http:// or https://`)}),q({kind:Z(`note`),note:V().min(1,`note atom must be non-empty`).max(512,`note atom is too long (max 512 chars)`)}),q({kind:Z(`decision`),decisionId:V().min(1,`decision atom requires a non-empty decision ID`)}),q({kind:Z(`pr`),prNumber:U().int().positive(`pr atom requires a positive integer PR number`)}),q({kind:Z(`loc-drop`),fromLines:U().int().nonnegative(`loc-drop fromLines must be ≥ 0`),toLines:U().int().nonnegative(`loc-drop toLines must be ≥ 0`)}),q({kind:Z(`callsite-coverage`),symbolName:V().min(1,`callsite-coverage atom requires a non-empty symbolName`),relativeSourcePath:V().min(1,`callsite-coverage atom requires a non-empty relativeSourcePath`)}),q({kind:Z(`satisfies`),targetTaskId:V().regex(/^T[0-9]{1,7}$/,`satisfies atom targetTaskId must match /^T[0-9]{1,7}$/`),targetAcId:V().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,`satisfies atom targetAcId must be a lowercase UUIDv4/v5`).optional(),targetAcAlias:V().regex(/^AC[0-9]{1,4}$/,`satisfies atom targetAcAlias must match /^AC[0-9]{1,4}$/`).optional(),versionPin:V().regex(/^[0-9]{14}$/,`satisfies atom versionPin must be 14 digits (YYYYMMDDhhmmss)`).optional()})]),Object.freeze({implemented:{oneOf:[[`commit`,`files`],[`commit`,`note`],[`decision`,`files`],[`decision`,`note`],[`pr`,`files`]]},testsPassed:{oneOf:[[`test-run`],[`tool`]]},qaPassed:{oneOf:[[`tool`]]},documented:{oneOf:[[`files`],[`url`]]},securityPassed:{oneOf:[[`tool`],[`note`]]},cleanupDone:{oneOf:[[`note`]]},nexusImpact:{oneOf:[[`tool`],[`note`]]}}),Object.freeze({commit:`commit:<sha>`,files:`files:path/a.ts,path/b.ts`,"test-run":`test-run:/tmp/vitest-out.json`,tool:`tool:test`,url:`url:https://example.com/docs`,note:`note:<short description>`,decision:`decision:D-arch-001`,pr:`pr:357`,"loc-drop":`loc-drop:<fromLines>:<toLines>`,"callsite-coverage":`callsite-coverage:<symbolName>:<relativeSourcePath>`,satisfies:`satisfies:T1234#AC2`});var oc=q({agentIdentity:V().min(1),attachmentSha256:V().length(64),ranAt:V().datetime(),durationMs:U().nonnegative()});J(`kind`,[oc.extend({kind:Z(`impl-diff`),phase:Z(`implement`),filesChanged:K(V().min(1)).min(1),linesAdded:U().int().nonnegative(),linesRemoved:U().int().nonnegative()}),oc.extend({kind:Z(`validate-spec-check`),phase:Z(`validate`),reqIdsChecked:K(V().min(1)).min(1),passed:W(),details:V().min(1)}),oc.extend({kind:Z(`test-output`),phase:Z(`test`),command:V().min(1),exitCode:U().int(),testsPassed:U().int().nonnegative(),testsFailed:U().int().nonnegative()}),oc.extend({kind:Z(`lint-report`),phase:X([`implement`,`test`]),tool:V().min(1),passed:W(),warnings:U().int().nonnegative(),errors:U().int().nonnegative()}),oc.extend({kind:Z(`command-output`),phase:X([`implement`,`validate`,`test`]),cmd:V().min(1),exitCode:U().int()})]),Object.freeze([`active`,`paused`,`satisfied`,`abandoned`,`impossible`]),Object.freeze([`satisfied`,`abandoned`,`impossible`]);var sc=Object.freeze([{adr:`ADR-056`,code:`D1`,name:`Database topology: keep per-domain split`,description:`CLEO retains the six per-domain SQLite databases (tasks, brain, conduit, nexus, signaldock, telemetry) documented in DATABASE-ERDS.md. Consolidation is rejected to preserve per-DB WAL throughput, per-DB rollback granularity, and avoid single-writer contention during multi-agent waves.`,severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-056`,code:`D2`,name:`Store-layer naming convention`,description:"New always-on store-layer domains MUST use the kebab-case pair `packages/core/src/store/<domain>-schema.ts` (Drizzle defs) + `packages/core/src/store/<domain>-sqlite.ts` (open/init/CRUD). Opt-in / isolated domains MAY use the folder variant `packages/core/src/<domain>/{schema,sqlite}.ts` (currently telemetry only).",severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-056`,code:`D3`,name:`Migration runner SSoT under migration-manager.ts`,description:"All six SQLite databases MUST be initialized via `packages/core/src/migration/migration-manager.ts` (`migrateWithRetry()` + `reconcileJournal()`). Per-DB bespoke runners are prohibited for new domains. Rust Diesel migrations for cloud signaldock-storage MUST NOT touch the local SQLite signaldock.db at runtime.",severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-056`,code:`D4`,name:`archiveReason 6-value enum with tombstone semantics`,description:`The tasks.archive_reason column is constrained to exactly six values (verified, reconciled, superseded, shadowed, cancelled, completed-unverified) via SQLite CHECK constraint AND Zod z.enum validation. Writing 'completed-unverified' from non-migration code MUST throw E_ARCHIVE_REASON_TOMBSTONE — the tombstone is reserved for the T1408 backfill migration only.`,severity:`error`,runtimeGate:{module:`packages/contracts/src/tasks/archive.ts`,functionName:`assertArchiveReason`},lintRule:null,doctorAudit:null,tests:[`packages/contracts/src/tasks/__tests__/archive.test.ts`]},{adr:`ADR-056`,code:`D5`,name:`Post-release reconciliation: registry-driven cleo verify --release`,description:"Post-release reconciliation flows through the executable invariants registry at packages/core/src/release/invariants/registry.ts. Customers register via registerInvariant() and the CLI runs every entry on `cleo verify --release <tag>`. First customer: archive-reason-invariant.ts (stamps verified tasks done; creates follow-up tasks for unverified references).",severity:`warning`,runtimeGate:{module:`packages/core/src/release/invariants/registry.ts`,functionName:`runInvariants`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/release/invariants/__tests__/archive-reason-invariant.test.ts`]},{adr:`ADR-056`,code:`D6`,name:`Commit-message lint for release commits`,description:"Every commit whose subject matches `^(chore|feat)\\(release\\):` MUST contain at least one `T\\d+` task reference in the commit body. Enforced by scripts/hooks/commit-msg-release-lint.mjs (T1410). Bypass via CLEO_OWNER_OVERRIDE=1 with audited justification.",severity:`info`,runtimeGate:null,lintRule:{lintScript:`scripts/hooks/commit-msg-release-lint.mjs`},doctorAudit:null,tests:[]}]),cc=`packages/core/src/orchestration/thin-agent.ts`,lc=`packages/core/src/sessions/index.ts`,uc=`packages/worktree/src/worktree-create.ts`,dc=`packages/skills/skills/ct-orchestrator/SKILL.md`,fc=`packages/core/src/orchestration/validate-spawn.ts`,pc=Object.freeze([{adr:`ADR-070`,code:`ORC-001`,name:`Orchestrator is the HITL interface`,description:`The Orchestrator (Cleo) is the single subagent that talks to the human operator. It plans, decomposes, and delegates — it never produces line-level implementation. Source-of-truth lives in ct-orchestrator/SKILL.md row ORC-001 and is injected into the Orchestrator prompt at spawn time. UNENFORCED at the dispatch layer: this is a prompt-time invariant with no runtime guard today.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-002`,name:`Orchestrator MUST NOT write or edit code`,description:`Every line of code is written by a spawned subagent. The Orchestrator delegates implementation work via cleo orchestrate spawn / delegate_task. UNENFORCED at the dispatch layer: this is a prompt-time invariant — there is no runtime gate that blocks the Orchestrator from calling Edit/Write, so the contract is held by the ct-orchestrator skill text.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-003`,name:`Orchestrator MUST NOT read full source files`,description:`Orchestrator reads only pipeline manifests, task envelopes, and rolled-up phase summaries returned by Phase Leads. Workers read code; the Orchestrator reads summaries. UNENFORCED at the dispatch layer — held by the ct-orchestrator skill text and reinforced by ORC-005 budget pressure.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-004`,name:`Dependency-ordered spawning`,description:`Spawns within a wave are ordered by task.depends — a Worker MUST NOT be dispatched until its declared dependencies are status=done. Surfaced by validateSpawnReadiness via V_MISSING_DEP / V_UNMET_DEP codes; surfaced by the skill-orchestrator validator via the ORC-004_DEPENDENCY_ORDER warning emitted from packages/core/src/skills/orchestrator/validator.ts. Tier: warning because the validator surfaces ordering issues but does not throw — workers can still proceed if the operator overrides.`,severity:`warning`,runtimeGate:{module:fc,functionName:`validateSpawnReadiness`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/validate-spawn.test.ts`,`packages/core/src/skills/orchestrator/__tests__/validator.orchestrator.test.ts`]},{adr:`ADR-070`,code:`ORC-005`,name:`Orchestrator context budget ≈ 10 K tokens`,description:`The Orchestrator MUST keep its working context under ~10 K tokens; delegate at 80 %. Surfaced by cleo orchestrate context (estimateContext) and by the skill-orchestrator validator (ORC-005_NO_MANIFEST / ORC-005_EMPTY_MANIFEST). UNENFORCED as a hard gate — the budget is advisory, surfaced to the Orchestrator as a warning so the human operator can intervene.`,severity:`warning`,runtimeGate:{module:`packages/core/src/orchestration/context.ts`,functionName:`estimateContext`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/`]},{adr:`ADR-070`,code:`ORC-006`,name:`Worker scope ≤ 3 files per spawn`,description:`Cross-file reasoning quality degrades beyond ~3 files for a single Worker. Enforced at spawn-time by validateSpawnReadiness — V_ATOMIC_SCOPE_MISSING when task.files is empty, V_ATOMIC_SCOPE_TOO_LARGE when files.length > MAX_WORKER_FILES (currently 3). Spawn-prompt builder injects a Worker Budget Constraints section so the Worker sees the budget inline. Tier: error because the gate refuses to spawn an over-scoped Worker.`,severity:`error`,runtimeGate:{module:fc,functionName:`validateSpawnReadiness`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/validate-spawn.test.ts`,`packages/core/src/orchestration/__tests__/spawn-prompt.test.ts`]},{adr:`ADR-070`,code:`ORC-007`,name:`All work traced to an Epic`,description:`Every Task and Subtask MUST attach to a parent Epic (directly or transitively). No orphan work — orphans are filed against the ADR-066 acceptance-criteria gate and surface via cleo find. UNENFORCED at the dispatch layer; the parent-id requirement is materialised through cleo add validation rather than a single ORC-named guard. R6 doctor audit should walk the task graph to surface orphans.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-008`,name:`Zero architectural decisions during execution`,description:`Architectural choices MUST be pre-decided via RCASD consensus or HITL — never inside a worker session. UNENFORCED at the dispatch layer: this is a behavioural invariant held by the ct-orchestrator skill text plus the ADR-066 acceptance criterion that every task must declare its architecture-relevant decisions before spawn.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-009`,name:`Manifest-mediated handoffs`,description:`Orchestrator reads only the key_findings field of pipeline_manifest rows when reconciling worker output. Subagents read the full task description and supporting files. UNENFORCED at the dispatch layer: the contract is held by the ct-orchestrator skill text and reinforced by ORC-003 + ORC-005 budget pressure.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[dc]},{adr:`ADR-070`,code:`ORC-010`,name:`Lead-interposition required for Epic-child Workers`,description:`A Worker spawn against a Task whose parent is type=epic MUST be preceded by a Lead spawn for the same Task (ADR-083 §2.4 / §6). The intended runtime gate (composeSpawnPayload throwing E_LEAD_REQUIRED_FOR_EPIC_CHILD) is FILED but UNSHIPPED — tracked under T10278. Registered here as a warning + runtimeGate:null so the gap is visible in the R6 doctor audit.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-070`,code:`ORC-011`,name:`Orchestrator-depth cap at 3`,description:`Recursive Orchestrator spawns (Cleo → sub-Orchestrator → sub-Orchestrator → …) MUST stop at depth 3 (ADR-083 §2.2 + §2.4). The intended runtime gate (composeSpawnPayload throwing E_ORCHESTRATOR_DEPTH_EXCEEDED) is FILED but UNSHIPPED — tracked under T10279. Registered here as a warning + runtimeGate:null so the gap is visible in the R6 doctor audit.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-070`,code:`ORC-012`,name:`Thin-agent inversion-of-control`,description:`Workers MUST NOT spawn other subagents. The spawn-capable tools (Agent / Task / TaskCreate) are stripped from the Worker tool list at .cant compile time, and any survivor at spawn time triggers ThinAgentViolationError → E_THIN_AGENT_VIOLATION (exit 68). The only ORC rule with a hard-enforced dispatch-time gate today.`,severity:`error`,runtimeGate:{module:cc,functionName:`enforceThinAgent`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/thin-agent.test.ts`,`packages/cant/src/__tests__/hierarchy.test.ts`]},{adr:`ADR-070`,code:`ORC-013`,name:`Worktree provisioning at canonical XDG location`,description:`Every agent worktree MUST be created under <cleoHome>/worktrees/<projectHash>/<taskId>/ (ADR-055 + Council D009). createWorktree throws E_WT_LOCATION_FORBIDDEN before any git worktree add call when the computed path falls outside the canonical root. CI gate lint-worktree-location.mjs enforces the same invariant on every PR. The single-most-load-bearing orchestration guard after ORC-012.`,severity:`error`,runtimeGate:{module:uc,functionName:`assertCanonicalWorktreeLocation`},lintRule:{lintScript:`scripts/lint-worktree-location.mjs`},doctorAudit:null,tests:[`packages/worktree/src/__tests__/`]},{adr:`ADR-070`,code:`ORC-014`,name:`Lead-bypass detection at session end`,description:`A Lead session (CLEO_AGENT_ROLE=lead) that ends with tasks_completed > 0 AND delegate_task_count = 0 is rejected with LeadBypassDetectedError → E_LEAD_BYPASS_DETECTED (exit 107). Leads MUST fan out work to Workers; a Lead that did the work itself defeats the three-tier topology. Override via CLEO_OWNER_OVERRIDE=1 (audited to force-bypass.jsonl).`,severity:`error`,runtimeGate:{module:lc,functionName:`endSession`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/sessions/__tests__/`]}]);pc.length;var mc=`packages/core/src/sagas/enforcement.ts`,hc=`packages/core/src/sagas/__tests__/enforcement.test.ts`,gc=Object.freeze([{adr:`ADR-073`,code:`I1`,name:`Storage uniformity`,description:`All task IDs are stored as T#### and the type column is the canonical tier discriminator. There is no separate ID space for Sagas, Epics, Tasks, or Subtasks; label="saga" elevates a type="epic" row to Saga semantics.`,severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[`packages/core/src/tasks/__tests__/id-generator.test.ts`]},{adr:`ADR-073`,code:`I2`,name:`Conceptual prefixes are display + import only`,description:`SG-, E-, T- (and Subtask's implicit absence) are documentation, CLI display, and import-mapping conventions only. They MUST NOT be used as DB primary keys — display-only with no runtime enforcement.`,severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-073`,code:`I3`,name:`Tier promotion mandatory when scope outgrows the tier`,description:`A Subtask whose change exceeds 2 files or crosses a module boundary MUST be split or promoted to a sibling Task. A Task that requires more than one PR or wave MUST be split. An Epic that spans more than one release MUST be regrouped under a Saga.`,severity:`error`,runtimeGate:{module:mc,functionName:`assertSagaInvariantI3`},lintRule:null,doctorAudit:null,tests:[hc]},{adr:`ADR-073`,code:`I4`,name:`Ownership non-overlapping`,description:`A single tier maps to a single orchestration role (per ADR-070). Workers MUST NOT spawn other Workers. Phase Leads MUST NOT own multiple Epics simultaneously. The Orchestrator MUST NOT spawn Workers directly when fan-out exceeds the ADR-070 migration threshold.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-073`,code:`I5`,name:`Sagas link via groups, not parent`,description:`task_relations.type="groups" is the ONLY relation type that links a Saga to its member Epics. The Saga row's parent_id MUST be NULL. Enforced at runtime by assertSagaInvariantI5 AND by the DB CHECK constraint from W1.B (T10329) on label="saga" rows.`,severity:`error`,runtimeGate:{module:mc,functionName:`assertSagaInvariantI5`},lintRule:null,doctorAudit:null,tests:[hc]},{adr:`ADR-073`,code:`I6`,name:`Acceptance criteria required at every tier`,description:`Per ADR-066 §"Ownership Matrix" invariant #5, all tasks regardless of type or kind MUST have --acceptance set at creation time. No tier exemption exists. Delegated to the ADR-066 --acceptance requirement on cleo add/add-batch.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-073`,code:`I7`,name:`No nested sagas`,description:`A saga-member candidate MUST NOT itself be saga-shaped. Enforced at runtime by assertSagaInvariantI7, which checks exactly this and nothing else. The depth clause this invariant used to carry — "the parent ladder Subtask → Task → Epic is fixed at depth 3; sagas do NOT consume depth, they attach via groups relations, not parent edges" — is SUPERSEDED BY ADR-088: member epics now attach via tasks.parent_id containment and task_relations.groups is non-containment provenance only, so a saga DOES consume a level. The canonical spine is saga(0) → epic(1) → task(2) → subtask(3) at hierarchy.maxDepth=3, inclusive; the depth rule lives in exceedsMaxDepth (core tasks/hierarchy.ts), never here. The stale clause outlived its premise by long enough for the write-path guards calibrated on it to make the subtask tier unreachable.`,severity:`error`,runtimeGate:{module:mc,functionName:`assertSagaInvariantI7`},lintRule:null,doctorAudit:null,tests:[hc]},{adr:`ADR-073`,code:`I8`,name:`Subtask-to-PR aggregation rule`,description:`A Task ships as exactly one PR. The PR's commit history is the union of the Task's Subtask commits. A Subtask never produces its own PR; if a unit of work warrants its own PR, it is a Task, not a Subtask. UNENFORCED at runtime today — load-bearing convention enforced via code review and the lifecycle decision table.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]}]);function _c(e){return`${e.adr}.${e.code}`}function vc(){let e=[...gc,...sc,...pc],t={};for(let n of e){let e=_c(n);if(t[e]!==void 0)throw Error(`Duplicate invariant key registered: ${e}`);t[e]=n}return Object.freeze(t)}vc(),Object.freeze({work:{requiresStagedPipeline:!0,rationale:`Default delivery work. The staged pipeline exists for exactly this: decide the design before completing the code that implements it.`},bug:{requiresStagedPipeline:!1,rationale:`A fix operates inside an existing design. Demanding consensus and architecture_decision before a fix can complete describes work that is not happening.`},research:{requiresStagedPipeline:!1,rationale:`The research IS the work. Requiring the epic to pass the research stage before its own research children can complete is circular.`},spike:{requiresStagedPipeline:!1,rationale:`A time-boxed exploration whose purpose is to produce the information the design stages would consume. It cannot be gated on having already done so.`},experiment:{requiresStagedPipeline:!1,rationale:`An experiment is run to learn whether an approach holds. Specifying and decomposing it first presumes the answer.`},release:{requiresStagedPipeline:!1,rationale:`Release epics are procedural — the design work they ship was decided in the epics being released.`}});var Q=X([`project`,`global`]),yc=X([`tasks`,`brain`,`bulk`]),bc=q({kind:Z(`lease_acquire`),scope:Q,lane:yc,holder_id:V().min(1),priority:U().int().min(0).max(255),ttl_ms:U().int().nonnegative(),reentrant:W()}).strict(),xc=q({kind:Z(`lease_release`),scope:Q,lane:yc,holder_id:V().min(1),epoch:U().int().nonnegative()}).strict(),Sc=q({kind:Z(`lease_renew`),scope:Q,lane:yc,holder_id:V().min(1),epoch:U().int().nonnegative()}).strict(),Cc=q({kind:Z(`rate_check`),scope:Q,lane:yc,est_bytes:U().int().nonnegative()}).strict(),wc=q({kind:Z(`tool_grant`),tool:V().min(1),holder_id:V().min(1)}).strict(),Tc=X([`lead`,`worker`,`background`]),Ec=J(`kind`,[bc,xc,Sc,Cc,wc,q({kind:Z(`queue_admit`),provider:V().min(1),priority_class:Tc,est_tokens:U().int().nonnegative(),child_id:V().min(1)}).strict(),q({kind:Z(`worker_heartbeat`),child_id:V().min(1),in_flight_llm:W()}).strict(),q({kind:Z(`resource_admit`),class:V().min(1),holder_id:V().min(1),budget:U().int().nonnegative()}).strict(),q({kind:Z(`resource_release`),class:V().min(1),holder_id:V().min(1)}).strict()]),Dc=q({kind:Z(`lease_granted`),scope:Q,lane:yc,holder_id:V().min(1),epoch:U().int().nonnegative(),ttl_ms:U().int().nonnegative(),expires_at_ms:U().int().nonnegative()}).strict(),Oc=q({kind:Z(`lease_queued`),scope:Q,lane:yc,ticket:U().int().nonnegative(),ahead:U().int().nonnegative()}).strict(),kc=q({kind:Z(`lease_denied`),scope:Q,code:V().min(1),message:V()}).strict(),Ac=q({kind:Z(`rate_result`),scope:Q,ok:W(),retry_after_ms:U().int().nonnegative(),tokens_remaining:U().int().nonnegative()}).strict(),jc=q({kind:Z(`tool_granted`),tool:V().min(1),holder_id:V().min(1)}).strict(),Mc=q({kind:Z(`lease_revoked`),scope:Q,lane:yc,holder_id:V().min(1),reason:V()}).strict(),Nc=q({kind:Z(`child_killed_unresponsive`),child_id:V().min(1),holder_id:V().min(1),scope:Q,reason:V()}).strict(),Pc=X([`admitted`,`deferred`]),Fc=q({kind:Z(`queue_admit_result`),disposition:Pc,retry_after_ms:U().int().nonnegative(),tokens_remaining:U().int().nonnegative(),queue_position:U().int().nonnegative()}).strict(),Ic=q({kind:Z(`heartbeat_ack`)}).strict(),Lc=X([`admitted`,`deferred`]),Rc=J(`kind`,[Dc,Oc,kc,Ac,jc,Mc,Nc,Fc,Ic,q({kind:Z(`resource_admit_result`),disposition:Lc,retry_after_ms:U().int().nonnegative(),slots_remaining:U().int().nonnegative()}).strict(),q({kind:Z(`resource_release_result`),released:W(),slots_remaining:U().int().nonnegative()}).strict(),q({kind:Z(`error`),code:V().min(1),message:V()}).strict()]);J(`direction`,[q({protocol_version:V(),id:V().min(1),direction:Z(`request`),request:Ec}).strict(),q({protocol_version:V(),id:V().min(1),direction:Z(`response`),response:Rc}).strict()]);var zc=[`lease_acquire`,`lease_release`,`lease_renew`,`rate_check`,`tool_grant`,`queue_admit`,`worker_heartbeat`,`resource_admit`,`resource_release`],Bc=[`lease_granted`,`lease_queued`,`lease_denied`,`rate_result`,`tool_granted`,`lease_revoked`,`child_killed_unresponsive`,`queue_admit_result`,`heartbeat_ack`,`resource_admit_result`,`resource_release_result`,`error`];[...zc,...Bc];var Vc=[`stable`,`beta`,`preview`,`deprecated`,`retired`],Hc=[`api_key`,`oauth`,`bedrock`,`vertex`],Uc=V().regex(/^\d{4}-\d{2}-\d{2}$/,`must be an ISO date (YYYY-MM-DD)`),Wc=V().regex(/^\d+\.\d+\.\d+$/,`must be semver (MAJOR.MINOR.PATCH)`),Gc=q({input:K(V()),output:K(V())}).strict(),Kc=q({input:U().optional(),output:U().optional(),cache_read:U().optional(),cache_write:U().optional(),context_over_200k:U().optional()}).strict(),qc=q({context:U(),output:U()}).strict(),Jc=q({npm:V(),api:V()}).strict(),Yc=q({id:V(),name:V(),family:V(),attachment:W(),reasoning:W(),temperature:W(),interleaved:W(),tool_call:W(),modalities:Gc,cost:Kc,limit:qc,status:X(Vc),release_date:Uc,provider:Jc}).strict(),Xc=q({id:V(),endpoint:V(),authTypes:K(X(Hc)).min(1),npm:V().optional()}).strict();q({$schema:V().optional(),version:Wc,lastUpdated:Uc,providers:Y(V(),Xc),models:Y(V(),Y(V(),Yc))}).strict(),q({id:V(),providerId:V(),name:V(),family:V(),attachment:W(),reasoning:W(),temperature:W(),interleaved:W(),toolCall:W(),modalities:V(),cost:V(),contextLimit:U().nullable().optional(),outputLimit:U().nullable().optional(),status:X(Vc),releaseDate:Uc,modelsDevId:V(),source:V(),seededAt:V().optional()}).strict().extend({seededAt:V()});var Zc=[`extraction`,`consolidation`,`derivation`,`hygiene`,`judgement`,`plugin`,`compression`],Qc=[`frontier`,`standard`,`fast`,`local`],$c=[`sentient`,`memory`,`task-executor`,`deriver`,`hygiene`,`plugin`,`compression`,`decision-validator`,`title-generation`,`embedding`];[...Qc.map(e=>({kind:`orchestration`,id:e})),...Zc.map(e=>({kind:`role`,id:e})),...$c.map(e=>({kind:`aux`,id:e}))];var el=[`pending`,`active`,`blocked`,`done`,`cancelled`,`archived`,`proposed`],tl=`E_WORKGRAPH_PARENT_TYPE_MATRIX`,nl=X([`saga`,`epic`,`task`,`subtask`]),rl=X([`critical`,`high`,`medium`,`low`]),il=X(el),al=X([`implemented`,`testsPassed`,`qaPassed`,`cleanupDone`,`securityPassed`,`documented`,`nexusImpact`]),ol=X([`contains`,`depends_on`,`blocks`,`relates_to`,`groups`,`satisfies`]),sl=X([`ancestors`,`descendants`,`upstream`,`downstream`]),cl=X([`out`,`in`,`both`]),ll=q({cursor:V().min(1).optional(),limit:U().int().positive().max(500).optional()}),ul=q({id:V().min(1),type:nl,title:V(),status:il,priority:rl,parentId:V().min(1).optional()}),dl=q({fromId:V().min(1),toId:V().min(1),kind:ol}),fl=q({fromId:V().min(1),toId:V().min(1),kind:Z(`contains`)}).strict(),pl=q({nextCursor:V().min(1).optional(),hasMore:W()}),ml=q({total:U().int().nonnegative(),byStatus:_o(il,U().int().nonnegative()),byType:_o(nl,U().int().nonnegative())}),hl=q({done:U().nonnegative(),active:U().nonnegative(),blocked:U().nonnegative(),pending:U().nonnegative(),cancelled:U().nonnegative()}),gl=q({field:V().min(1),expected:U().int().nonnegative(),actual:U().int().nonnegative()}),_l=ul.extend({role:V().min(1).optional(),dependencyBlockers:K(q({taskId:V().min(1),status:il})),gateBlockers:K(q({gate:al}))}),vl=dl.extend({source:Z(`relation`),relationType:X(ic),reason:V().min(1).optional()}),yl=dl.extend({source:Z(`dependency`),kind:Z(`depends_on`)}),bl=X([`budget_exceeded`,`not_requested`,`not_available`,`redacted`,`truncated`]),xl=q({tokenBudget:U().int().nonnegative(),estimatedTokens:U().int().nonnegative(),remainingTokens:U().int().nonnegative(),truncated:W()}),Sl=q({path:V().min(1),reason:bl,message:V().min(1),estimatedTokens:U().int().nonnegative().optional()}),Cl=J(`source`,[vl,yl]);ll.extend({rootId:V().min(1),tokenBudget:U().int().positive().optional(),includeRelations:W().optional(),includeReadiness:W().optional(),includeRollup:W().optional()}),ll.extend({rootId:V().min(1),direction:sl.optional(),maxDepth:U().int().nonnegative().optional(),includeRelations:W().optional()});var wl=q({rootId:V().min(1),direction:sl,nodes:K(ul),edges:K(dl),pageInfo:pl,omissions:K(Sl).optional()});q({rootId:V().min(1),role:V().min(1).optional(),includeGateBlockers:W().optional()});var Tl=q({rootId:V().min(1),role:V().min(1).optional(),ready:W(),warnings:K(V()),groups:q({ready:K(_l),blocked:K(_l),blockedBy:K(J(`kind`,[q({kind:Z(`dependency`),blockerId:V().min(1),blocks:K(V().min(1))}),q({kind:Z(`gate`),gate:al,blocks:K(V().min(1))})]))})});q({rootId:V().min(1),generatedAt:V().min(1),budget:xl,slice:wl,relationEdges:q({rootId:V().min(1),direction:cl,edges:K(Cl)}).optional(),readiness:Tl.optional(),rollup:Vo(()=>Al).optional(),omissions:K(Sl)});var El=q({rootId:V().min(1),nodes:K(q({id:V().min(1),type:nl,parentId:V().min(1).nullable().optional()})),edges:K(Cl).optional(),dryRun:W().optional()}),Dl=q({code:V().min(1),message:V().min(1),taskId:V().min(1).optional(),severity:X([`error`,`warning`])}),Ol=q({rootId:V().min(1),valid:W(),dryRun:W(),issues:K(Dl),hierarchy:q({valid:W(),violations:K(q({code:Z(tl),taskId:V().min(1),taskType:nl,parentId:V().min(1).nullable(),parentType:nl.optional(),message:V().min(1)}))})});El.extend({apply:W().optional()}),Ol.extend({applied:W(),nodesChanged:U().int().nonnegative(),edgesChanged:U().int().nonnegative()}),q({rootId:V().min(1),audience:X([`agent`,`maintainer`]),tokenBudget:U().int().positive().optional(),includeRelations:W().optional(),includeReadiness:W().optional(),includeRollup:W().optional()}),q({rootId:V().min(1),generatedAt:V().min(1),audience:X([`agent`,`maintainer`]),title:V().min(1),content:V(),sections:K(V().min(1)),estimatedTokens:U().int().nonnegative(),budget:q({tokenBudget:U().int().positive(),truncated:W()}).optional()}),ll.extend({rootId:V().min(1),direction:sl,maxDepth:U().int().nonnegative().optional(),includeRelations:W().optional()});var kl=q({rootId:V().min(1),direction:sl,nodes:K(ul),edges:K(dl),pageInfo:pl});ll.extend({rootId:V().min(1),maxDepth:U().int().nonnegative().optional()}),q({rootId:V().min(1),nodes:K(ul.extend({depth:U().int().positive()})),edges:K(fl),pageInfo:pl}),q({rootId:V().min(1),expectedDirectRollup:ml.optional()});var Al=q({rootId:V().min(1),direct:ml,subtree:ml,percentDenominator:q({basis:Z(`subtree-total`),total:U().int().nonnegative(),description:V().min(1)}),percentages:hl,staleProjection:W(),projectionMismatches:K(gl)});q({rootId:V().min(1),role:V().min(1).optional()});var jl=q({rootId:V().min(1),role:V().min(1).optional(),groups:q({ready:K(_l),blocked:K(_l),blockedBy:K(J(`kind`,[q({kind:Z(`dependency`),blockerId:V().min(1),blocks:K(V().min(1))}),q({kind:Z(`gate`),gate:al,blocks:K(V().min(1))})]))})});ll.extend({rootId:V().min(1),maxDepth:U().int().nonnegative().optional(),includeRelations:W().optional()}),q({rootId:V().min(1),hierarchy:q({valid:W(),violations:K(q({code:Z(tl),taskId:V().min(1),taskType:nl,parentId:V().min(1).nullable(),parentType:nl.optional(),message:V().min(1)}))}),traversal:kl,frontier:jl,rollup:Al,relationEdges:q({rootId:V().min(1),direction:cl,edges:K(J(`source`,[vl,yl]))}).optional()});var Ml=K(q({title:V({message:`title must be a non-empty string`}).refine(e=>e.trim().length>0,{message:`title must be a non-empty string`}),acceptance:K(G(),{message:`must have a non-empty acceptance array`}).min(1,{message:`must have a non-empty acceptance array`}).refine(e=>e.some(e=>typeof e==`string`&&e.trim().length>0),{message:`acceptance array contains no non-empty strings`}),id:V().optional(),parentId:V().optional(),depends:K(V()).optional()}),{message:`task_tree must be a non-empty array`}).min(1,{message:`task_tree is an empty array — decomposition produced no tasks`}),Nl=G().superRefine((e,t)=>{if(e==null){t.addIssue({code:`custom`,message:`evidence must be present (non-null, non-undefined)`});return}if(typeof e==`string`){e.trim().length===0&&t.addIssue({code:`custom`,message:`evidence string must not be empty`});return}if(Array.isArray(e)){e.length===0&&t.addIssue({code:`custom`,message:`evidence array must not be empty`});return}if(typeof e==`object`){Object.keys(e).length===0&&t.addIssue({code:`custom`,message:`evidence object must have at least one key (got {})`});return}t.addIssue({code:`custom`,message:`evidence must be a string, array, or object (got ${typeof e})`})}),Pl=G();new Map([[`task_tree`,{name:`task_tree`,contextKey:`task_tree`,schema:Ml}],[`evidence`,{name:`evidence`,contextKey:`evidence`,schema:Nl}],...[`version_bump_report`,`changelog_entry`,`publish_report`,`research_summary`,`consensus_decision`,`architecture_plan`,`specification_document`,`implementation_diff`,`validation_report`,`audit_report`,`test_report`,`release_confirmation`].map(e=>[e,{name:e,contextKey:e,schema:Pl}])]),q({kind:Z(`pr`),prNumber:U().int().positive()}),q({kind:Z(`state`),value:Z(`MERGED`)}),q({state:X([`OPEN`,`CLOSED`,`MERGED`]),mergedAt:V().nullable(),headRefOid:V().optional(),mergeCommit:q({oid:V()}).nullable().optional(),title:V().optional(),body:V().optional(),headRefName:V().optional(),files:K(q({path:V()})).optional(),changedFiles:U().int().nonnegative().optional(),mergeable:V().optional(),statusCheckRollup:K(q({__typename:V().optional(),name:V().optional(),workflowName:V().optional(),conclusion:V().nullable().optional(),status:V().optional()}).passthrough()).optional().default([])}).passthrough(),Object.freeze([`CI`,`Lockfile Check`,`Contracts Dep Lint`]);var Fl=[`latest`,`beta`,`alpha`,`rc`],Il=[`calver`,`semver`,`calver-suffix`],Ll=[`regular`,`hotfix`,`prerelease`],Rl=[`planned`,`pr-opened`,`pr-merged`,`published`,`reconciled`,`rolled_back`,`failed`,`cancelled`],zl=[`passed`,`failed`,`skipped`,`unresolved`],Bl=[`test`,`build`,`lint`,`typecheck`,`audit`,`security-scan`],Vl=[`linux-x64`,`linux-arm64`,`macos-x64`,`macos-arm64`,`windows-x64`,`any`],Hl=[`npm`,`cargo`,`docker`,`pypi`,`github-release`,`binary`],Ul=[`feat`,`fix`,`chore`,`docs`,`refactor`,`test`,`perf`,`revert`,`breaking`,`hotfix`],Wl=[`major`,`minor`,`patch`],Gl=[`project-context`,`language-default`,`legacy-alias`],Kl=X(Fl),ql=X(Il),Jl=X(Ll),Yl=X(Rl),Xl=X(zl),Zl=X(Bl),Ql=X(Vl),$l=X(Hl),eu=X(Ul),tu=X(Wl),nu=X(Gl),ru=fa({offset:!0}),$=V().min(1),iu=q({id:$,kind:eu,impact:tu,userFacingSummary:V(),evidenceAtoms:K($),ivtrPhaseAtPlan:V().optional(),epicAncestor:$}),au=q({name:Zl,atom:$,status:Xl,lastVerifiedAt:ru,resolvedCommand:V().optional(),resolvedSource:nu.optional()}),ou=q({platform:Ql,publisher:$l,package:$,smoke:W().default(!0).optional()}),su=q({esbuildExternalsDrift:W(),lockfileDrift:W(),epicCompletenessClean:W(),doubleListingClean:W(),preflightWarnings:K(V()).default([]).optional()}),cu=q({features:K($).default([]),fixes:K($).default([]),chores:K($).default([]),breaking:K($).default([])}),lu=q({firstEverRelease:W().optional(),unresolvedTools:K(V()).optional(),archetype:V().optional()}).catchall(G());q({$schema:V().optional(),version:$,resolvedVersion:$,suffixApplied:W(),scheme:ql,channel:Kl,epicId:$,releaseKind:Jl,createdAt:ru,createdBy:$,previousVersion:V().nullable(),previousTag:V().nullable(),previousShippedAt:ru.nullable(),tasks:K(iu),changelog:cu,gates:K(au),platformMatrix:K(ou),preflightSummary:su,workflowRunUrl:V().nullable(),prUrl:V().nullable(),mergeCommitSha:V().nullable(),status:Yl,meta:lu.optional()}),Object.freeze([`interactive-cli`,`agent-session`,`llm-call`,`test-run`,`scoped-build`,`full-build`,`db-heavy`,`background-autonomous`]);var uu=q({isClean:W(),findingsCount:U().int().nonnegative(),patterns:K(V()),totalScanned:U().int().nonnegative()}),du=q({noteExcerpt:V().max(200).optional(),tasksCompletedCount:U().int().nonnegative(),tasksFocused:K(V()).max(5).optional()});q({schemaVersion:Z(`1.0`),timestamp:V(),sessionId:V(),eventType:X([`session_start`,`session_end`,`observation`,`decision`,`error`]),agentIdentifier:V().optional(),providerId:V().optional(),scope:V().optional(),duration:U().int().nonnegative().optional(),tasksCompleted:K(V()).optional(),doctorSummary:uu.optional(),debriefSummary:du.optional(),prevEntryHash:V().optional()}),J(`kind`,[q({kind:Z(`file`),sha256:V().length(64),timestamp:V().datetime(),path:V().min(1),mime:V().optional(),description:V().optional()}),q({kind:Z(`log`),sha256:V().length(64),timestamp:V().datetime(),source:V().min(1),description:V().optional()}),q({kind:Z(`screenshot`),sha256:V().length(64),timestamp:V().datetime(),mime:X([`image/png`,`image/jpeg`,`image/webp`]).optional(),description:V().optional()}),q({kind:Z(`test-output`),sha256:V().length(64),timestamp:V().datetime(),passed:U().int().nonnegative(),failed:U().int().nonnegative(),skipped:U().int().nonnegative(),exitCode:U().int(),description:V().optional()}),q({kind:Z(`command-output`),sha256:V().length(64),timestamp:V().datetime(),cmd:V().min(1),exitCode:U().int(),description:V().optional()})]),X([`verified`,`reconciled`,`superseded`,`shadowed`,`cancelled`,`completed-unverified`]).options;var fu=X([`info`,`warning`]),pu=q({code:V().min(1),message:V().min(1),severity:fu.optional(),taskId:V().min(1).optional(),field:V().min(1).optional(),index:U().int().nonnegative().optional()}),mu=q({dryRun:Z(!0),wouldCreate:U().int().nonnegative(),wouldUpdate:U().int().nonnegative(),wouldDelete:U().int().nonnegative(),wouldAffect:U().int().nonnegative(),validatedCount:U().int().nonnegative(),insertedCount:Z(0),updatedCount:Z(0),deletedCount:Z(0),warnings:K(pu)}),hu=q({id:V().min(1)}).passthrough();q({dryRun:W().optional(),created:K(hu),updated:K(hu),deleted:K(hu),affectedCount:U().int().nonnegative(),mutationWarnings:K(pu),dryRunSummary:mu.optional()});var gu=X(el),_u=X([`text`,`evidence_bound`,`child_task`]),vu=X([`satisfied`,`unsatisfied`,`waived`,`replaced`]),yu=X([`missing_evidence_binding`,`child_not_done`,`child_cancelled_requires_waiver`,`child_replacement_not_done`,`child_missing`,`done_parent_stale`]),bu=X([`done_parent_has_unsatisfied_criteria`]),xu=X([`projection_not_stale`,`criteria_missing`,`binding_target_missing`,`repair_conflict`]),Su=q({criterionAcId:V().min(1),childTaskId:V().min(1),reason:V().min(1),actor:V().min(1),waivedAt:V().min(1)}),Cu=q({criterionAcId:V().min(1),originalChildTaskId:V().min(1),replacementChildTaskId:V().min(1),reason:V().min(1),actor:V().min(1),replacedAt:V().min(1)}),wu=q({acId:V().min(1),alias:V().min(1),text:V(),kind:_u,status:vu,reason:yu.optional(),targetTaskId:V().min(1).optional(),targetTaskStatus:gu.optional(),waiver:Su.optional(),replacement:Cu.optional(),replacementTaskStatus:gu.optional(),evidenceBindings:U().int().nonnegative()}),Tu=wu.extend({status:Z(`unsatisfied`),reason:yu}),Eu=q({criteria:U().int().nonnegative(),satisfied:U().int().nonnegative(),unsatisfied:U().int().nonnegative(),waived:U().int().nonnegative(),replaced:U().int().nonnegative()}),Du=q({taskId:V().min(1),generatedAt:V().min(1),source:Z(`audit_log`),window:q({limit:U().int().positive(),since:V().min(1).optional(),relationDepth:U().int().nonnegative(),relatedTaskIds:K(V().min(1))}),events:K(q({id:V().min(1),timestamp:V().min(1),action:X([`task_completed`,`task_reopened`,`task_cancelled`,`task_uncancelled`,`task_reparented`,`ac_projection_rebuilt`]),taskId:V().min(1),relation:X([`self`,`parent`,`child`,`sibling`,`related`]),actor:V().min(1),details:Y(V(),G()).optional(),before:Y(V(),G()).optional(),after:Y(V(),G()).optional()})),summary:q({totalEvents:U().int().nonnegative(),byAction:Y(V(),U().int().nonnegative()),byRelation:Y(V(),U().int().nonnegative()),latestEventAt:V().nullable()})});q({taskId:V().min(1),taskStatus:gu,ready:W(),stale:W(),staleReasons:K(bu),contextPack:Du.optional(),satisfied:K(wu),unsatisfied:K(Tu),waived:K(wu),replaced:K(wu),totals:Eu}),q({taskId:V().min(1),ready:W(),stale:W(),summary:V(),contextPack:Du.optional(),blockers:K(wu)}),q({taskId:V().min(1),status:vu.optional(),kind:_u.optional()}),q({taskId:V().min(1),criteria:K(wu),totals:Eu}),q({taskId:V().min(1),includeContext:W().optional(),limit:U().int().positive().optional(),since:V().min(1).optional(),relationDepth:U().int().nonnegative().optional()});var Ou=q({code:xu,message:V().min(1),taskId:V().min(1),acId:V().min(1).optional(),evidenceAtomId:V().min(1).optional()});q({taskId:V().min(1),dryRun:W().optional()}),q({taskId:V().min(1),repaired:W(),dryRun:W(),staleBefore:W(),staleAfter:W(),errors:K(Ou)});var ku=[{tag:`architecture`,label:`Architecture`,description:`Cross-cutting architectural decisions, patterns, and subsystem-level concerns`,axes:[`domain`,`type`],adhocAliases:[`architecture`]},{tag:`cli`,label:`CLI`,description:`Command-line interface, dispatch, and command infrastructure`,axes:[`domain`],adhocAliases:[`cli`]},{tag:`core`,label:`Core`,description:`Core engine, shared utilities, and foundational modules`,axes:[`domain`],adhocAliases:[`core`,`pm-core-v2`,`foundation`]},{tag:`contracts`,label:`Contracts`,description:`Type contracts, schemas, and public API surface definitions`,axes:[`domain`],adhocAliases:[`contracts`,`schema`]},{tag:`caamp`,label:`CAAMP`,description:`Cross-Agent Adaptive Messaging Protocol — hooks, adapters, providers`,axes:[`domain`],adhocAliases:[`caamp`,`cant`,`pi`,`cant-dsl`]},{tag:`skills`,label:`Skills`,description:`Agent skill definitions, injection, dispatch, and guard patterns`,axes:[`domain`],adhocAliases:[`skills`]},{tag:`brain`,label:`BRAIN`,description:`Cognitive memory system — decisions, patterns, observations, learnings`,axes:[`domain`],adhocAliases:[`brain`]},{tag:`nexus`,label:`Nexus`,description:`Code intelligence surface — project indexing, impact analysis, cross-repo`,axes:[`domain`],adhocAliases:[`nexus`]},{tag:`orchestration`,label:`Orchestration`,description:`Multi-agent orchestration, playbooks, LOOM lifecycle, spawn dispatch`,axes:[`domain`],adhocAliases:[`orchestration`,`orchestrate`]},{tag:`sessions`,label:`Sessions`,description:`Session lifecycle — handoff, debrief, briefing, snapshot, state`,axes:[`domain`],adhocAliases:[`sessions`]},{tag:`tasks`,label:`Tasks`,description:`Task management — CRUD, gates, evidence, acceptance criteria, lifecycle`,axes:[`domain`],adhocAliases:[`tasks`]},{tag:`docs`,label:`Documents`,description:`Document storage, retrieval, taxonomy, publish, and provenance`,axes:[`domain`],adhocAliases:[`docs`,`documentation`]},{tag:`cleoos`,label:`CleoOS`,description:`CleoOS runtime — gateway, daemon, injection facade, agents`,axes:[`domain`],adhocAliases:[`cleoos`,`facade`,`sentient`]},{tag:`worktrunk`,label:`Worktrunk`,description:`Git worktree management — spawn, adopt, prune, lifecycle`,axes:[`domain`],adhocAliases:[`worktrunk`,`worktrunk-ssot`]},{tag:`agents`,label:`Agents`,description:`Agent profiles, execution learning, registry, dispatch`,axes:[`domain`],adhocAliases:[`agents`]},{tag:`routing`,label:`Routing`,description:`Operation routing, capability matrix, dispatch path resolution`,axes:[`domain`],adhocAliases:[`routing`]},{tag:`studio`,label:`Studio`,description:`Web UI, dashboard, and visual interfaces`,axes:[`domain`],adhocAliases:[`studio`]},{tag:`architectural`,label:`Architectural Decision`,description:`Cross-cutting architectural decision with durable rationale`,axes:[`type`],adhocAliases:[`architectural`]},{tag:`technical`,label:`Technical Decision`,description:`Implementation-scoped technical decision (library, pattern, algorithm)`,axes:[`type`],adhocAliases:[`technical`]},{tag:`process`,label:`Process Decision`,description:`Workflow, methodology, or operational process decision`,axes:[`type`],adhocAliases:[`process`]},{tag:`strategic`,label:`Strategic Decision`,description:`Long-horizon direction-setting decision spanning multiple epics`,axes:[`type`],adhocAliases:[`strategic`]},{tag:`tactical`,label:`Tactical Decision`,description:`Short-horizon execution-level decision (AGT-* dispatch, within-sprint)`,axes:[`type`],adhocAliases:[`tactical`]},{tag:`operational`,label:`Operational Decision`,description:`Infrastructure, deployment, or runtime configuration decision`,axes:[`type`],adhocAliases:[`operational`]},{tag:`bugfix`,label:`Bug Fix`,description:`Defect correction or regression fix`,axes:[`type`],adhocAliases:[`bugfix`,`bug-fix`,`hygiene`]},{tag:`refactor`,label:`Refactor`,description:`Internal restructuring without functional change`,axes:[`type`],adhocAliases:[`refactor`]},{tag:`feature`,label:`Feature`,description:`New capability or user-facing enhancement`,axes:[`type`],adhocAliases:[`feature`]},{tag:`discovery`,label:`Discovery`,description:`Exploratory research, investigation, or spike outcome`,axes:[`type`],adhocAliases:[`discovery`,`exploration`,`research-type`]},{tag:`migration`,label:`Migration`,description:`Data or schema migration, backfill, or upgrade path`,axes:[`type`],adhocAliases:[`migration`,`migrations`]},{tag:`unification`,label:`Unification`,description:`Consolidation of fragmented systems into a single SSoT`,axes:[`type`],adhocAliases:[`unification`]},{tag:`bootstrap`,label:`Bootstrap`,description:`Initial setup, scaffolding, or seed infrastructure`,axes:[`type`],adhocAliases:[`bootstrap`]},{tag:`research`,label:`Research`,description:`LOOM stage 1: information gathering and domain understanding`,axes:[`lifecycle`],adhocAliases:[`research`,`wave-0`]},{tag:`consensus`,label:`Consensus`,description:`LOOM stage 2: multi-agent consensus and validation of findings`,axes:[`lifecycle`],adhocAliases:[`consensus`]},{tag:`design`,label:`Architecture Decision`,description:`LOOM stage 3: architecture decision recording and validation`,axes:[`lifecycle`],adhocAliases:[`design`,`architecture_decision`]},{tag:`specification`,label:`Specification`,description:`LOOM stage 4: technical specification authoring`,axes:[`lifecycle`],adhocAliases:[`specification`,`rfc`]},{tag:`decomposition`,label:`Decomposition`,description:`LOOM stage 5: task decomposition and dependency modeling`,axes:[`lifecycle`],adhocAliases:[`decomposition`]},{tag:`implementation`,label:`Implementation`,description:`LOOM stage 6: code authoring and unit-level verification`,axes:[`lifecycle`],adhocAliases:[`implementation`,`wave-1`,`wave-2`,`wave-3`,`wave-4`,`wave-5`,`wave.1`,`wave.2`,`wave.3`]},{tag:`validation`,label:`Validation`,description:`LOOM stage 7: integration testing and gate verification`,axes:[`lifecycle`],adhocAliases:[`validation`,`testing`]},{tag:`release`,label:`Release`,description:`LOOM stage 9: versioning, changelog, npm publish, tag push`,axes:[`lifecycle`,`type`],adhocAliases:[`release`]},{tag:`p0`,label:`P0 — Critical`,description:`Drop-everything critical: blocks release, data loss, security incident`,axes:[`priority`],adhocAliases:[`p0`,`critical`,`prime-tier1`]},{tag:`p1`,label:`P1 — High`,description:`High priority: blocks dependent work, user-visible degradation`,axes:[`priority`],adhocAliases:[`p1`]},{tag:`p2`,label:`P2 — Medium`,description:`Medium priority: should fix, not blocking current wave`,axes:[`priority`],adhocAliases:[`p2`]},{tag:`p3`,label:`P3 — Low`,description:`Low priority: nice-to-have, cleanup, future consideration`,axes:[`priority`],adhocAliases:[`p3`]},{tag:`adr`,label:`Architecture Decision Record`,description:`Formal architecture decision record with rationale and alternatives`,axes:[`doc_kind`],adhocAliases:[`adr`]},{tag:`spec`,label:`Specification`,description:`Technical specification for a feature, protocol, or subsystem`,axes:[`doc_kind`],adhocAliases:[`spec`]},{tag:`research`,label:`Research Note`,description:`Investigation findings, surveys, and domain analysis`,axes:[`doc_kind`],adhocAliases:[`research`]},{tag:`handoff`,label:`Handoff Note`,description:`Cross-session handoff with state, blockers, and next actions`,axes:[`doc_kind`],adhocAliases:[`handoff`]},{tag:`note`,label:`Note`,description:`General-purpose note, observation, or free-form documentation`,axes:[`doc_kind`],adhocAliases:[`note`]},{tag:`llmreadme`,label:`LLM README`,description:`Agent-consumable project overview, conventions, and context`,axes:[`doc_kind`],adhocAliases:[`llmreadme`,`llm-readme`]},{tag:`designmd`,label:`Design Doc`,description:`Google DESIGN.md token spec for agent interface contracts`,axes:[`doc_kind`],adhocAliases:[`designmd`,`design-md`]},{tag:`changeset`,label:`Changeset`,description:`User-facing changelog entry for a single change`,axes:[`doc_kind`],adhocAliases:[`changeset`]},{tag:`changelog`,label:`Changelog`,description:`Aggregated release changelog for a version`,axes:[`doc_kind`],adhocAliases:[`changelog`]}];ku.map(e=>e.tag),new Map(ku.map(e=>[e.tag,e]));var Au=new Map;for(let e of ku)for(let t of e.adhocAliases)Au.set(t,e.tag);var ju=new Map;for(let e of[`domain`,`type`,`lifecycle`,`priority`,`doc_kind`])ju.set(e,ku.filter(t=>t.axes.includes(e)));ju.get(`type`).map(e=>e.tag),ju.get(`domain`).map(e=>e.tag),ju.get(`doc_kind`).map(e=>e.tag);var Mu=class extends Error{invalidTags;constructor(e,t){super(e),this.invalidTags=t,this.name=`TaxonomyError`}};(class e{byId;adhocMap;constructor(e){this.byId=new Map(e.map(e=>[e.tag,e])),this.adhocMap=new Map;for(let t of e)for(let e of t.adhocAliases){let n=this.adhocMap.get(e);if(n!==void 0&&n!==t.tag)throw new Mu(`Ad-hoc alias '${e}' maps to both '${n}' and '${t.tag}' — aliases must be unique across targets`,[e]);this.adhocMap.set(e,t.tag)}}static default=new e(ku);isCanonical(e){return this.byId.has(e)}get(e){return this.byId.get(e)}list(){return[...this.byId.values()]}listByAxis(e){return this.list().filter(t=>t.axes.includes(e))}normalize(e){return this.adhocMap.get(e)}validate(e){return e.filter(e=>!this.byId.has(e))}validateOrThrow(e,t){let n=this.validate(e);if(n.length>0)throw new Mu(`${t}: unknown tags [${n.join(`, `)}]. Use canonical tags. Run 'cleo taxonomy list' to see all valid tags.`,n)}normalizeSet(e){let t=new Set;for(let n of e){let e=this.normalize(n);t.add(e??n)}return[...t]}});var Nu=[`workflow`,`config`,`agent`,`skill`,`provider`,`doc`],Pu=[`regex-tmpl`,`static`,`json-merge`],Fu=[`overwrite-on-bump`,`diff-prompt`,`immutable`,`manifest-merge`],Iu=q({name:V().min(1,`placeholder name must be non-empty`),source:X([`project-context`,`project-info`,`.cleo/config`,`~/.cleo/config`,`tool-resolver`,`literal`]),sourcePath:V().min(1,`placeholder sourcePath must be non-empty`),defaultValue:fo([V(),U(),W(),io()]).optional()});q({id:V().min(1,`id must be non-empty`),kind:X(Nu),sourcePath:V().min(1,`sourcePath must be non-empty`),installPath:V().min(1,`installPath must be non-empty`),substitution:X(Pu),placeholders:K(Iu),updateStrategy:X(Fu)});var Lu=/^validator-[a-z0-9][a-z0-9-]*$/,Ru=q({acId:V().min(1,`acId must be non-empty`),status:X([`pass`,`fail`,`inconclusive`]),reasoning:V().min(1,`reasoning must be non-empty`),evidenceRefs:K(V()).optional(),checkedAt:V().min(1,`checkedAt must be a non-empty ISO-8601 string`)});J(`verdict`,[q({verdict:Z(`attest`),taskId:V().min(1),validatorId:V().regex(Lu,`validatorId must match the pattern validator-<discriminator>`),findings:K(Ru).min(1,`attestation must contain at least one finding`).refine(e=>e.every(e=>e.status===`pass`),`attestation requires every finding to have status="pass"`),summary:V().optional(),attestedAt:V().min(1),schemaVersion:Z(`1`)}),q({verdict:Z(`reject`),taskId:V().min(1),validatorId:V().regex(Lu,`validatorId must match the pattern validator-<discriminator>`),findings:K(Ru).min(1,`rejection must contain at least one finding`).refine(e=>e.some(e=>e.status!==`pass`),`rejection requires at least one finding with status "fail" or "inconclusive"`),summary:V().min(1,`rejection summary must be non-empty`),remediationHints:K(V()).optional(),rejectedAt:V().min(1),schemaVersion:Z(`1`)})]);var zu=`[ \\t\\r]`,Bu=e=>`^${zu}*[<!-]{1,4}${zu}*CAAMP${zu}*:${zu}*${e}${zu}*[->]{1,3}${zu}*$`;Bu(`START`),Bu(`END`);var Vu=`hierarchy`,Hu=new Set([`hierarchy`,`graph`,`kanban`]),Uu=new Set([`critical`,`high`,`medium`,`low`]),Wu=150,Gu=!1;function Ku(e,t){if(!e)return[];let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=[],i=new Set;for(let e of n)t(e)&&!i.has(e)&&(r.push(e),i.add(e));return r}function qu(e){return el.includes(e)}function Ju(e){return Uu.has(e)}function Yu(e){return Hu.has(e)}function Xu(e){return e.length>0}function Zu(e){let t=e.searchParams,n=t.get(`cancelled`)===`1`,r=t.get(`deferred`)===`1`;r&&!Gu&&(Gu=!0,console.warn(`[task-filters] ?deferred=1 is deprecated; use ?cancelled=1. Alias removal tracked by T958.`));let i=t.get(`view`),a=i&&Yu(i)?i:Vu;return{query:t.get(`q`)??``,status:Ku(t.get(`status`),qu),priority:Ku(t.get(`priority`),Ju),labels:Ku(t.get(`labels`),Xu),epic:t.get(`epic`),selected:t.get(`selected`),cancelled:n||r,view:a}}function Qu(e,t){let n=new URL(e.toString()),r=n.searchParams;return r.delete(`deferred`),$u(r,`q`,t.query||null),$u(r,`status`,t.status.length?t.status.join(`,`):null),$u(r,`priority`,t.priority.length?t.priority.join(`,`):null),$u(r,`labels`,t.labels.length?t.labels.join(`,`):null),$u(r,`epic`,t.epic),$u(r,`selected`,t.selected),$u(r,`cancelled`,t.cancelled?`1`:null),$u(r,`view`,t.view===Vu?null:t.view),n}function $u(e,t,n){n===null||n===``?e.delete(t):e.set(t,n)}function ed(e){let t=h(Zu(e)),n=null,r=null;function i(){if(typeof window>`u`)return;let e=Qu(new URL(window.location.href),t);e.search!==window.location.search&&window.history.replaceState(window.history.state,``,e.toString())}function a(){typeof window>`u`||(n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,i()},Wu))}function o(){if(typeof window>`u`)return;let e=Zu(new URL(window.location.href));t.query=e.query,t.status=e.status,t.priority=e.priority,t.labels=e.labels,t.epic=e.epic,t.selected=e.selected,t.cancelled=e.cancelled,t.view=e.view}typeof window<`u`&&(r=o,window.addEventListener(`popstate`,r));function s(e,t){let n=e.indexOf(t);return n===-1?[...e,t]:[...e.slice(0,n),...e.slice(n+1)]}return{get state(){return t},setQuery(e){t.query=e,a()},toggleStatus(e){t.status=s(t.status,e),i()},togglePriority(e){t.priority=s(t.priority,e),i()},toggleLabel(e){t.labels=s(t.labels,e),i()},setEpic(e){t.epic=e,i()},setSelected(e){t.selected=e,i()},setCancelled(e){t.cancelled=e,i()},setView(e){t.view=e,i()},clear(){t.query=``,t.status=[],t.priority=[],t.labels=[],t.epic=null,t.selected=null,t.cancelled=!1,t.view=Vu,n!==null&&(clearTimeout(n),n=null),i()},dispose(){n!==null&&(clearTimeout(n),n=null),r!==null&&typeof window<`u`&&(window.removeEventListener(`popstate`,r),r=null)}}}function td(e){let t=e.trim();if(t.length===0)return{kind:`empty`};let n=/^[Tt]?(\d+)$/.exec(t);return n?{kind:`id`,id:`T${n[1]}`}:{kind:`title`,query:t}}var nd=t(`<span class="live-ts svelte-1pluywh"> </span>`),rd=t(`<button class="search-clear svelte-1pluywh" aria-label="Clear search">✕</button>`),id=t(`<div class="search-error svelte-1pluywh"> </div>`),ad=t(`<div class="search-empty svelte-1pluywh"> </div>`),od=t(`<div class="search-empty svelte-1pluywh"> </div>`),sd=t(`<span class="result-type svelte-1pluywh"> </span>`),cd=t(`<a class="search-result-row svelte-1pluywh"><span> </span> <div class="result-info svelte-1pluywh"><span class="result-id svelte-1pluywh"> </span> <!> <span class="result-title svelte-1pluywh"> </span></div> <div class="result-meta svelte-1pluywh"><span> </span> <span class="result-time svelte-1pluywh"> </span></div></a>`),ld=t(`<div class="search-results-header svelte-1pluywh"><span class="results-count svelte-1pluywh"> </span> <button class="results-close svelte-1pluywh" aria-label="Close results">✕</button></div> <div class="search-results-list svelte-1pluywh"></div>`,1),ud=t(`<div class="search-results-panel svelte-1pluywh"><!></div>`),dd=t(`<div class="priority-row svelte-1pluywh"><span> </span> <div class="priority-bar-track svelte-1pluywh"><div></div></div> <span class="priority-count svelte-1pluywh"> </span></div>`),fd=t(`<section class="rail-card svelte-1pluywh" aria-label="Task counts"><header class="rail-head svelte-1pluywh"><span class="rail-eyebrow svelte-1pluywh">Overview</span> <span class="rail-total svelte-1pluywh"> <span class="rail-total-lbl svelte-1pluywh">tasks</span></span></header> <div class="stat-grid svelte-1pluywh"><span class="stat-card status-active-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Active</span></span> <span class="stat-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Pending</span></span> <span class="stat-card status-done-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Done</span></span> <span class="stat-card status-cancelled-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Cancelled</span></span> <span class="stat-card muted svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Archived</span></span></div> <div class="priority-block svelte-1pluywh"><div class="section-label svelte-1pluywh">Priority</div> <div class="priority-bars svelte-1pluywh"></div></div> <div class="type-block svelte-1pluywh"><div class="section-label svelte-1pluywh">Type</div> <div class="type-chips svelte-1pluywh"><span class="type-chip svelte-1pluywh">Epics <strong class="svelte-1pluywh"> </strong></span> <span class="type-chip svelte-1pluywh">Tasks <strong class="svelte-1pluywh"> </strong></span> <span class="type-chip svelte-1pluywh">Subtasks <strong class="svelte-1pluywh"> </strong></span></div></div> <div class="filter-bar svelte-1pluywh" aria-label="Dashboard filters"><a data-sveltekit-noscroll="" title="Include cancelled epics in the Epic Progress panel"><span class="chip-check svelte-1pluywh"> </span> Cancelled epics</a> <a data-sveltekit-noscroll="" title="Include archived tasks in Recent Activity"><span class="chip-check svelte-1pluywh"> </span> Archived</a></div></section>`),pd=t(`<div class="no-db svelte-1pluywh">tasks.db not found — start CLEO in the project directory</div>`),md=t(`<div class="command-surface svelte-1pluywh"><section class="task-explorer svelte-1pluywh" aria-label="Task Explorer"><header class="explorer-header svelte-1pluywh"><div class="tabs svelte-1pluywh" role="tablist" aria-label="Task Explorer views"><button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">1</span> Hierarchy</button> <button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">2</span> Graph</button> <button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">3</span> Kanban</button></div> <div class="toolbar svelte-1pluywh"><!> <!> <!> <!></div></header> <div class="explorer-body svelte-1pluywh"><!></div></section> <aside class="side-rail svelte-1pluywh" aria-label="Dashboard summary"><!> <!> <!></aside></div> <!>`,1),hd=t(`<div class="tasks-page svelte-1pluywh"><div class="page-header svelte-1pluywh"><div class="header-left svelte-1pluywh"><h1 class="page-title svelte-1pluywh">Tasks</h1> <nav class="tasks-nav svelte-1pluywh"><a href="/tasks" class="nav-tab active svelte-1pluywh">Dashboard</a> <a href="/tasks/pipeline" class="nav-tab svelte-1pluywh">Pipeline</a> <a href="/tasks/sessions" class="nav-tab svelte-1pluywh">Sessions</a></nav></div> <div><span class="live-dot svelte-1pluywh"></span> <span class="live-label svelte-1pluywh"> </span> <!></div></div> <div class="search-section svelte-1pluywh"><div><span class="search-icon svelte-1pluywh" aria-hidden="true">⌕</span> <input class="search-input svelte-1pluywh" type="text" placeholder="Search by ID (T663, t663, 663) or title..." autocomplete="off" spellcheck="false"/> <!></div> <!></div> <!> <!></div>`);function gd(t,l){ce(l,!0);let le=()=>se(ve,`$page`,b),[b,x]=fe(),S=g(()=>l.data.stats),Oe=g(()=>l.data.recentTasks??[]),C=g(()=>l.data.epicProgress??[]),ke=g(()=>l.data.filters??{showCancelled:!1,showArchived:!1});function Ae(e){let t=new URL(le().url);return t.searchParams.get(e)===`1`?t.searchParams.delete(e):t.searchParams.set(e,`1`),e===`cancelled`&&t.searchParams.delete(`deferred`),t.pathname+(t.search?t.search:``)}let w=e(h(ed(new URL(le().url))));p(()=>{let e=new URL(le().url),{next:t,old:n}=ge(()=>{let t=ed(e),n=o(w);return f(w,t,!0),{next:t,old:n}});return()=>{t.dispose(),n?.dispose()}});function T(e){let t=e.replace(/^#/,``).toLowerCase();return t===`hierarchy`||t===`graph`||t===`kanban`?t:null}de(()=>{function e(){if(!o(w))return;let e=T(window.location.hash);e&&e!==o(w).state.view&&o(w).setView(e)}return e(),window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)});function E(e){if(o(w)&&(o(w).setView(e),typeof window<`u`&&window.location.hash!==`#${e}`)){let t=`${window.location.pathname}${window.location.search}#${e}`;window.history.replaceState(window.history.state,``,t)}}let je=g(()=>l.data.explorer?.tasks??[]),Me=g(()=>l.data.explorer?.deps??[]),D=g(()=>l.data.explorer?.labels??[]),Ne=g(()=>l.data.explorer?.epicProgress??{}),Pe=g(()=>(()=>{if(!o(w))return null;let e=o(w).state.selected;return e?o(je).find(t=>t.id===e)??null:null})()),Fe=[{value:`pending`,label:`Pending`,tint:`var(--status-pending)`},{value:`active`,label:`Active`,tint:`var(--status-active)`},{value:`blocked`,label:`Blocked`,tint:`var(--status-blocked)`},{value:`done`,label:`Done`,tint:`var(--status-done)`},{value:`cancelled`,label:`Cancelled`,tint:`var(--status-cancelled)`}],Ie=[{value:`critical`,label:`Critical`,tint:`var(--priority-critical)`},{value:`high`,label:`High`,tint:`var(--priority-high)`},{value:`medium`,label:`Medium`,tint:`var(--priority-medium)`},{value:`low`,label:`Low`,tint:`var(--priority-low)`}],Le=g(()=>o(D).map(e=>({value:e,label:e})));function Re(e,t,n){let r=new Set(e),i=new Set(t);for(let e of r)i.has(e)||n(e);for(let e of i)r.has(e)||n(e)}let O=e(``),k=e(!1),ze=e(null),Be=e(h([])),A=e(!1),j=e(null),M=e(!1),Ve=e(!1);p(()=>{let e=o(O);if(td(e).kind===`empty`){f(Be,[],!0),f(A,!1),f(j,null),f(M,!1),f(Ve,!1);return}let t=new AbortController,n=setTimeout(async()=>{f(k,!0),f(ze,null),f(A,!1),f(M,!1),f(j,null);try{let n=await fetch(`/api/tasks/search?q=${encodeURIComponent(e)}`,{signal:t.signal});if(!n.ok){f(ze,`Search failed (${n.status})`),f(k,!1);return}let r=await n.json();if(`error`in r){f(ze,r.error,!0),f(k,!1);return}if(r.kind===`id`)if(r.task)_e(`/tasks/${r.task.id}`);else{f(A,!0);let t=td(e);f(j,t.kind===`id`?t.id:null,!0),f(Ve,!0)}else r.kind===`title`?(f(Be,r.tasks,!0),f(M,r.total===0),f(Ve,!0)):f(Ve,!1)}catch(e){e.name!==`AbortError`&&f(ze,String(e),!0)}finally{f(k,!1)}},250);return()=>{clearTimeout(n),t.abort()}});function He(){f(O,``)}function Ue(e){return e===`critical`?`priority-critical`:e===`high`?`priority-high`:e===`medium`?`priority-medium`:`priority-low`}function We(e){return e===`done`?`✓`:e===`active`?`●`:e===`blocked`?`✗`:`○`}function Ge(e){return e===`done`?`status-done`:e===`active`?`status-active`:e===`blocked`?`status-blocked`:`status-pending`}function Ke(e){try{let t=new Date(e),n=Date.now()-t.getTime(),r=Math.floor(n/6e4);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}catch{return e}}let qe=e(!1),Je=e(``);p(()=>{let e=new EventSource(`/api/tasks/events`);return e.addEventListener(`connected`,()=>{f(qe,!0)}),e.addEventListener(`task-updated`,e=>{f(Je,JSON.parse(e.data).ts,!0)}),e.addEventListener(`heartbeat`,()=>{f(qe,!0)}),e.onerror=()=>{f(qe,!1)},()=>e.close()});function Ye(e){if(!o(w))return;let t=e.target;if(t instanceof HTMLElement){let e=t.tagName;if(e===`INPUT`||e===`TEXTAREA`||t.isContentEditable)return}e.key===`1`?(e.preventDefault(),E(`hierarchy`)):e.key===`2`?(e.preventDefault(),E(`graph`)):e.key===`3`&&(e.preventDefault(),E(`kanban`))}var Xe=hd();he(`1pluywh`,e=>{ee(()=>{c.title=`Tasks — CLEO Studio`})}),i(`keydown`,ue,Ye);var Ze=s(Xe),Qe=m(s(Ze),2);let N;var $e=m(s(Qe),2),et=s($e,!0);v($e);var tt=m($e,2),nt=e=>{var t=nd(),r=s(t);v(t),a(e=>n(r,`updated ${e??``}`),[()=>Ke(o(Je))]),u(e,t)};r(tt,e=>{o(Je)&&e(nt)}),v(Qe),v(Ze);var rt=m(Ze,2),it=s(rt);let at;var ot=m(s(it),2);pe(ot);var st=m(ot,2),ct=e=>{var t=rd();d(`click`,t,He),u(e,t)};r(st,e=>{o(O).length>0&&e(ct)}),v(it);var lt=m(it,2),ut=e=>{var t=id(),r=s(t,!0);v(t),a(()=>n(r,o(ze))),u(e,t)};r(lt,e=>{o(ze)&&e(ut)}),v(rt);var dt=m(rt,2),ft=e=>{var t=ud(),i=s(t),c=e=>{var t=ad(),r=s(t);v(t),a(()=>n(r,`Task ${o(j)??o(O)??``} not found.`)),u(e,t)},l=e=>{var t=od(),r=s(t);v(t),a(()=>n(r,`No tasks match "${o(O)??``}".`)),u(e,t)},f=e=>{var t=ld(),i=te(t),c=s(i),l=s(c);v(c);var f=m(c,2);v(i);var p=m(i,2);me(p,21,()=>o(Be),e=>e.id,(e,t)=>{var i=cd(),c=s(i),l=s(c,!0);v(c);var f=m(c,2),p=s(f),ee=s(p,!0);v(p);var te=m(p,2),h=e=>{var r=sd(),i=s(r,!0);v(r),a(()=>n(i,o(t).type)),u(e,r)};r(te,e=>{o(t).type!==`task`&&e(h)});var ne=m(te,2),re=s(ne,!0);v(ne),v(f);var ie=m(f,2),g=s(ie),oe=s(g,!0);v(g);var _=m(g,2),se=s(_,!0);v(_),v(ie),v(i),a((e,r,a,s)=>{ae(i,`href`,`/tasks/${o(t).id??``}`),y(c,1,`result-status-icon ${e??``}`,`svelte-1pluywh`),n(l,r),n(ee,o(t).id),n(re,o(t).title),y(g,1,`result-priority ${a??``}`,`svelte-1pluywh`),n(oe,o(t).priority),n(se,s)},[()=>Ge(o(t).status),()=>We(o(t).status),()=>Ue(o(t).priority),()=>Ke(o(t).updated_at)]),d(`click`,i,He),u(e,i)}),v(p),a(()=>n(l,`${o(Be).length??``} result${o(Be).length===1?``:`s`}`)),d(`click`,f,He),u(e,t)};r(i,e=>{o(A)?e(c):o(M)?e(l,1):e(f,-1)}),v(t),u(e,t)};r(dt,e=>{o(Ve)&&e(ft)});var pt=m(dt,2),mt=e=>{var t=md(),i=te(t),c=s(i),l=s(c),f=s(l),p=s(f);let ee;var h=m(p,2);let re;var ie=m(h,2);let se;v(f);var ce=m(f,2),ue=s(ce);we(ue,{get value(){return o(w).state.query},onChange:e=>o(w)?.setQuery(e),placeholder:`Filter explorer by id or title...`,registerSlashShortcut:!0});var de=m(ue,2);De(de,{label:`Status`,get options(){return Fe},get selected(){return o(w).state.status},onChange:e=>{o(w)&&Re(o(w).state.status,e,e=>o(w)?.toggleStatus(e))}});var fe=m(de,2);De(fe,{label:`Priority`,get options(){return Ie},get selected(){return o(w).state.priority},onChange:e=>{o(w)&&Re(o(w).state.priority,e,e=>o(w)?.togglePriority(e))}});var pe=m(fe,2),he=e=>{ye(e,{get options(){return o(Le)},get selected(){return o(w).state.labels},onChange:e=>{o(w)&&Re(o(w).state.labels,e,e=>o(w)?.toggleLabel(e))}})};r(pe,e=>{o(Le).length>0&&e(he)}),v(ce),v(l);var ge=m(l,2),_e=s(ge),ve=e=>{be(e,{get tasks(){return o(je)},get deps(){return o(Me)},get epicProgress(){return o(Ne)},get filters(){return o(w)}})},b=e=>{{let t=g(()=>le().data.activeProjectId??null);Ce(e,{get tasks(){return o(je)},get deps(){return o(Me)},get filters(){return o(w)},get labels(){return o(D)},get activeProjectId(){return o(t)}})}},x=e=>{Te(e,{get tasks(){return o(je)},get deps(){return o(Me)},get filters(){return o(w)}})};r(_e,e=>{o(w).state.view===`hierarchy`?e(ve):o(w).state.view===`graph`?e(b,1):e(x,-1)}),v(ge),v(c);var T=m(c,2),O=s(T),k=e=>{var t=fd(),r=s(t),i=m(s(r),2),c=s(i);_(),v(i),v(r);var l=m(r,2),d=s(l),f=s(d),p=s(f,!0);v(f),_(2),v(d);var ee=m(d,2),te=s(ee),h=s(te,!0);v(te),_(2),v(ee);var re=m(ee,2),ie=s(re),se=s(ie,!0);v(ie),_(2),v(re);var ce=m(re,2),le=s(ce),ue=s(le,!0);v(le),_(2),v(ce);var de=m(ce,2),fe=s(de),pe=s(fe,!0);v(fe),_(2),v(de),v(l);var he=m(l,2),ge=m(s(he),2);me(ge,21,()=>[[`critical`,o(S).critical],[`high`,o(S).high],[`medium`,o(S).medium],[`low`,o(S).low]],([e,t])=>e,(e,t)=>{var r=g(()=>oe(o(t),2));let i=()=>o(r)[0],c=()=>o(r)[1],l=g(()=>o(S).critical+o(S).high+o(S).medium+o(S).low),d=g(()=>o(l)>0?Math.round(Number(c())/o(l)*100):0);var f=dd(),p=s(f),ee=s(p,!0);v(p);var te=m(p,2),h=s(te);v(te);var re=m(te,2),ie=s(re,!0);v(re),v(f),a((e,t)=>{y(p,1,`priority-label ${e??``}`,`svelte-1pluywh`),n(ee,i()),y(h,1,`priority-bar-fill ${t??``}`,`svelte-1pluywh`),ne(h,`width:${o(d)??``}%`),n(ie,c())},[()=>Ue(String(i())),()=>Ue(String(i()))]),u(e,f)}),v(ge),v(he);var _e=m(he,2),ve=m(s(_e),2),ye=s(ve),be=m(s(ye)),xe=s(be,!0);v(be),v(ye);var Se=m(ye,2),Ce=m(s(Se)),we=s(Ce,!0);v(Ce),v(Se);var Te=m(Se,2),Ee=m(s(Te)),De=s(Ee,!0);v(Ee),v(Te),v(ve),v(_e);var b=m(_e,2),x=s(b);let Oe;var C=s(x),w=s(C,!0);v(C),_(),v(x);var T=m(x,2);let E;var je=s(T),Me=s(je,!0);v(je),_(),v(T),v(b),v(t),a((e,t)=>{n(c,`${o(S).total??``} `),n(p,o(S).active),n(h,o(S).pending),n(se,o(S).done),n(ue,o(S).cancelled),n(pe,o(S).archived),n(xe,o(S).epics),n(we,o(S).tasks),n(De,o(S).subtasks),ae(x,`href`,e),Oe=y(x,1,`filter-chip svelte-1pluywh`,null,Oe,{active:o(ke).showCancelled}),n(w,o(ke).showCancelled?`✓`:` `),ae(T,`href`,t),E=y(T,1,`filter-chip svelte-1pluywh`,null,E,{active:o(ke).showArchived}),n(Me,o(ke).showArchived?`✓`:` `)},[()=>Ae(`cancelled`),()=>Ae(`archived`)]),u(e,t)},ze=e=>{u(e,pd())};r(O,e=>{o(S)?e(k):e(ze,-1)});var Be=m(O,2),A=e=>{xe(e,{get epics(){return o(C)},get includingDeferred(){return o(ke).showCancelled}})};r(Be,e=>{o(C).length>0&&e(A)});var j=m(Be,2),M=e=>{Ee(e,{get tasks(){return o(Oe)}})};r(j,e=>{o(Oe).length>0&&e(M)}),v(T),v(i),Se(m(i,2),{get task(){return o(Pe)},onClose:()=>o(w)?.setSelected(null)}),a(()=>{ee=y(p,1,`tab svelte-1pluywh`,null,ee,{active:o(w).state.view===`hierarchy`}),ae(p,`aria-selected`,o(w).state.view===`hierarchy`),re=y(h,1,`tab svelte-1pluywh`,null,re,{active:o(w).state.view===`graph`}),ae(h,`aria-selected`,o(w).state.view===`graph`),se=y(ie,1,`tab svelte-1pluywh`,null,se,{active:o(w).state.view===`kanban`}),ae(ie,`aria-selected`,o(w).state.view===`kanban`)}),d(`click`,p,()=>E(`hierarchy`)),d(`click`,h,()=>E(`graph`)),d(`click`,ie,()=>E(`kanban`)),u(e,t)};r(pt,e=>{o(w)&&e(mt)}),v(Xe),a(()=>{N=y(Qe,1,`live-indicator svelte-1pluywh`,null,N,{connected:o(qe)}),n(et,o(qe)?`Live`:`Connecting...`),at=y(it,1,`search-box svelte-1pluywh`,null,at,{loading:o(k)})}),ie(ot,()=>o(O),e=>f(O,e)),u(t,Xe),re(),x()}l([`click`]);export{gd as component};